LibreOffice Writer - コマンドライン (CLI) からファイルを読み込み、保存する

LibreOffice Writer - コマンドライン (CLI) からファイルを読み込み、保存する

LibreOffice Writer には優れた品質があることに気付きました。.docx ファイルを読み込んですぐに保存すると、保存されたファイルの構造が元のファイルとは少し異なりますが、これは良い意味で、.docx 構造の問題などが解決されるようなものです (これにより、後で Apache POI を使用してより適切に処理できるようになります)。

私は、コマンドラインから、または何らかの方法で Writer 関数を直接呼び出して、.docx ファイルを読み込んですぐに保存することで、.docx ファイルを修正するためにこれを使用したいと思います。

解決策のヒントをいただければ幸いです。

答え1

CLIツールを使うとlibreoffice、ファイルを変換するオプションがあり--convert-to、希望する形式に変換することができます。出力ディレクトリを指定せずにこれを使用すると、上書きするただし、元のファイルには別の出力ファイル名が付けられないため、別の出力ファイル名を付けることはできません。この問題を回避するには、まずファイルを変換し/tmp/、その後で元に戻します。

libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv /tmp/NAME.DOCX ./NEWNAME.DOCX

太字の大文字部分を変更するだけで、NAME.DOCX入力ファイル名にNEWNAME.DOCX希望する出力ファイル名に変更します。

コマンドラインではbash、これを次のように短縮できます。

libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv !#:4!#:5 ./NEWNAME.!#:2

これはbash歴史の拡張パスとファイル名を何度も入力する必要がなくなり、変更するだけで済みます。NAME.DOCX入力ファイル名にNEWNAME拡張子を除いた希望の出力ファイル名に変更します。

関連情報