今回はオープンソースのオフィスソフトとして人気のlibreoffice(リブレオフィス)のコマンドオプションについて紹介します。
libreofficeには豊富なオプションが用意されているので、サーバー、特にLinuxサーバーで使用する時にはとても役に立ちます。
処理速度はMicrosoftOfficeに大きく劣りますが、大量のデータを処理しない用途なら活用できそうです。
コマンドオプション一覧 日本語Ver
libreofficeのコマンドオプションのヘルプは以下のコマンドで確認できます。
Windows:soffice.exe ‐‐help (soffice.exeはフルパスで指定)
Linux:libreoffice6.4 ‐‐help (libreofficeの数字はversion)
ヘルプは英語でしか表示されないので、今回は日本語に機械翻訳した一覧を紹介します。※あまりにも酷かった日本語訳は修正しました。
LibreOffice 6.4.2 コマンド日本語ver
使用法:(Linux) libreoffice6.4 [引数...]
(Windows) soffice.exe [引数...]
引数-スイッチ、スイッチパラメータ、およびドキュメントURI(ファイル名)
特別な引数なしで使用:
引数なしで使用した場合、開始センターを開きます。
{file} ファイルに適したコンポーネントでオープンしようとします。
{ファイル} {macro:///Library.Module.MacroName}
ファイルを開き、指定されたマクロを実行します。
ヘルプと情報の入手:
--help | -h | -? このヘルプを表示して終了します。
--helpwriter Writerの組み込みヘルプまたはオンラインヘルプを開きます。
--helpcalc Calcの組み込みヘルプまたはオンラインヘルプを開きます。
--helpdraw Drawの組み込みヘルプまたはオンラインヘルプを開きます。
--helpimpress Impressの組み込みまたはオンラインヘルプを開きます。
--helpbase Baseの組み込みヘルプまたはオンラインヘルプを開きます。
--helpbasic BASICスクリプトに関する組み込みヘルプまたはオンライン
ヘルプを開きます。
--helpmath Mathの組み込みヘルプまたはオンラインヘルプを開きます。
--version バージョンを表示して終了します。
--nstemporarydirectory
(MacOS Xサンドボックスのみ)一時ファイルのパスを返します
現在のユーザーのディレクトリと終了。
他のすべての引数オーバーライド。
全般に関する引数:
--quickstart [= no] Quickstarterサービスをアクティブ化[非アクティブ化]します。
--nolockcheck 1つを使用したリモートインスタンスのチェックを無効にします。
--infilter = {filter}可能であれば、入力フィルタータイプを強制します。例えば:
--infilter = "Calc Office Open XML"
--infilter = "Text(encoded):UTF8、LF ,,,"
--pidfile = {file} soffice.bin pidを{file}に保存します。
--display {display} UNIX-likeでDISPLAY環境変数を設定します。
プラットフォームを値{display}に設定します(
起動スクリプト)。
ユーザー/プログラムによるインターフェース制御:
--nologo プログラムの起動時にスプラッシュスクリーンを無効にします。
--minimized 最小化して起動します。スプラッシュ画面は表示されません。
--nodefault スプラッシュ以外は何も表示せずに起動します。
--invisible 非表示モードで起動します。スタートアップのロゴも
初期プログラムウィンドウが表示されます。応用
制御することができ、ドキュメントとダイアログを
APIを介して制御され、開かれます。パラメータを使用して、
プロセスはタスクマネージャーを使用してのみ終了できます
(Windows)またはkillコマンド(UNIXシステム)。
--quickstartと組み合わせて使用することはできません。
--headless GUIなしで使用できる「ヘッドレスモード」で起動します。
この特別なモードは、アプリケーションがAPI経由で
外部クライアントによって制御されているときに使用できます。
--norestore システムクラッシュ後の再起動とファイルリカバリを無効にします。
--safe-mode セーフモードで起動します。つまり、新たなユーザープロファイルと
壊れた復元に役立ちます。
--accept = {connect-string} UNO接続文字列を指定してUNOを作成します。
他のプログラムが接続できるアクセプター
APIにアクセスします。 任意のコマンドのAPIアクセスは
実行を許可することに注意してください。
{connect-string}の構文は次のとおりです。
接続タイプ、パラメータ;プロトコル名、パラメータ
例えばpipe、name = {some name}; urp
またはsocket、host = localhost、port = 54321; urp
--unaccept = {connect-string} -accept --unaccept = allを使用している、すべての
アクセプターを閉じます。
--language = {lang} UIに対して言語が選択されていない場合は、指定された言語を使用
します。langはIETFの言語のタグです。
開発者の引数:
--terminate_after_init 初期化の完了後に終了します(ドキュメントは読み込まれません)
--eventtesting ドキュメントのロード後に終了します。
新しいドキュメント作成引数:
引数は、指定された種類の空のドキュメントを作成します。そのうちの1つだけが
1つのコマンドラインで使用できます。引数の後にファイル名を指定すると、
次に、指定されたコンポーネントでそれらのファイルを開こうとします。
--writer 空のWriterドキュメントを作成します。
--calc 空のCalcドキュメントを作成します。
--draw 空のDrawドキュメントを作成します。
--impress 空のImpressドキュメントを作成します。
--base 新しいデータベースを作成します。
--global 空のWriterマスター(グローバル)ドキュメントを作成します。
--math 空のMathドキュメント(式)を作成します。
--web 空のHTMLドキュメントを作成します。
ファイルオープン引数:
引数は、次のファイル名の処理方法を定義します。新しい治療が始まります
引数の後、次の引数で終了します。デフォルトの扱いは、編集用にドキュメントを開き
ドキュメントテンプレートから新しいドキュメントを作成します。
-n 新しいファイルを作成するためのテンプレートとして、次のファイルを扱います。
-o テンプレートかどうかに関わらず、指定ファイルを開いて編集します。
--pt {Printername} 次のファイルをプリンタ{Printername}に出力します。
その後、それらのファイルは閉じられます。スプラッシュスクリーン
表示されません。複数回使用する場合、最後のみ
{Printername}は、すべてのドキュメントに有効です
--pt実行します。また、--printer-name引数
--print-to-fileスイッチは{Printername}に干渉します。
-p 次のファイルをデフォルトのプリンターに印刷します。これらのファイルは
閉じられます。スプラッシュ画面は表示されません。ファイル名にスペースが
含まれている場合は、引用符で囲む必要があります。
--view 以下のファイルをビューアモードで開きます(読み取り専用)。
--show 次のプレゼンテーションドキュメントを開いて開始します。
終了後、ファイルは閉じられます。Impressドキュメント以外のファイルが
開かれるのは以前のモードに関係なく、デフォルトモード。
--convert-to OutputFileExtension [:OutputFilterName] \
[--outdir output_dir] [--convert-images-to]
ファイルをバッチ変換します(--headlessを意味します)。
--outdirが指定されていない場合、現在の作業ディレクトリが
output_dirとして使用されます。
--convert-images-toが指定されている場合、パラメータは* all *の
ターゲットフィルター形式として使用されます。
--convert-toが複数回使用された場合、最後の
OutputFileExtension [:OutputFilterName]が有効です。もし
--outdirは複数回使用された場合も、最後の値が有効です。
例えば:
--convert-to pdf * .odt
--convert-to epub * .doc
--convert-to pdf:writer_pdf_Export --outdir /home/user * .doc
--convert-to "html:XHTML Writer File:UTF8" \
--convert-images-to "jpg" * .doc
--convert-to "txt:Text(encoded):UTF8" * .doc
--print-to-file [--printer-name printer_name] [--outdir output_dir]
ファイルをファイルにバッチ印刷します。 --outdirが指定されて
いない場合は現在の作業ディレクトリがoutput_dirとして使用されます。
--printer-nameまたは--outdirが複数回使用された場合、
それぞれの最後の値が有効です。また、{Printername} /
--ptスイッチは--printer-nameと干渉します。
--cat 次のファイルのテキストコンテンツをコンソールにダンプします。
(暗黙の--headless)--convert-toと共に使用することはできません。
--script-cat ファイルに埋め込まれたスクリプトのテキストコンテンツをダンプします。
コンソールへ(--headlessを意味します)。とは併用できません。
-env:<VAR> [= <VALUE>] ブートストラップ変数を設定します。
例:設定するには
デフォルト以外のユーザープロファイルパス:
-env:UserInstallation = file:/// tmp / test
無視されたスイッチ:
-psn 無視(MacOS Xのみ)。
-Embedding (COM +関連、Windowsのみ)。
--nofirststartwizard 何もせず、下位互換性のためにのみ受け入れられます。
--protector {arg1} {arg2}
単体テストでのみ使用され、2つの引数が必要です。
サーバー運用で使用したオプション
実際にサーバー運用で使用したオプションを紹介します。
-o [ファイル名] : テンプレートやマクロを含んだodsファイルを指定して開く
引数に指定したファイルを開くことができます。サンプルとして、”/home/libre/tmp/template.ods”というファイルを起動する方法です。
[libre@localhost ~]$ libreoffice6.4 --calc -o /home/libre/tmp/template.ods
‐‐headless:GUIなしで使用できる「ヘッドレスモード」で起動
サーバーで運用するならGUIは必要ないのでヘッドレスモードで起動します。
‐‐norestore:システムクラッシュ後の再起動とファイルリカバリを無効
何らかの原因でlibreofficeが強制終了した場合に次にプロセスが実行された際に、壊れたファイルをリカバリしようとします。
この警告が出てしまうと、それ以降は自動で実行できなくなってしまうので–norestoreで無効化しておきます。(※前提としてテンプレートは壊れても大丈夫なようにコピーしたものを使います。)
‐‐pidfile = {file}:そのプロセスのPIDを記述したテキストファイルを作成する。
libreofficeの場合は起動したファイルをVBA・マクロで終了させても親プロセスは殺されずに残ってしまいます。その時に、親プロセスをバックグラウンド側からkillコマンドで殺すために必要となるオプションです。ファイル名は下のように書きます。
--pidfile=/home/libre/tmp/pid.txt
pid.txtというファイルにプロセス番号が出力されます。
※なお、バックグラウンドからこの方法で強制終了させると、0KBのディレクトリがpidfileを作成した場所に出力されるので忘れず削除する処理も必要です。
以上でサーバーで使えるコマンドオプションの紹介を終わります。
今回は使用しませんでしたが、convertやprintのオプションを使えば変換や印刷もできます。機会があれば使用してみてください。
コメント