ODTファイルをPDFに変換するにはどうすればよいですか?



How Can I Convert An Odt File Pdf



解決:

次のコマンドラインを使用することもできますあなたの目的のためのlibreoffice。それはあなたにバッチ変換の利点を与えます。ただし、単一のファイルも可能です。この例では、現在のディレクトリ内のすべてのODTファイルをPDFに変換します。

libreoffice --headless --convert-to pdf * .odt

次のコマンドラインオプションの詳細を取得します。



男libreoffice 

libreofficeでドキュメントを開いて選択するだけです PDFとしてエクスポート...

ここに画像の説明を入力してください



コマンドラインソリューションの場合、コマンドラインからファイルを変換するunoconvがあります。

unoconv -f pdf mydocument.odt

ノート: unoconvはLibreOfficeに依存しています。


「非GUI」メソッドの詳細を次に示します。



  1. この方法は、ODTファイルをPDFに変換するだけでなく使用できます。また、MS Word DOCXファイル(LibreOfficeが特定のODTを処理できるのと同様に機能します)、および一般にLibreOfficeが開くことができるすべてのファイルタイプに対しても機能します。

  2. 私はという名前のバイナリがあるとは思わない他の答えの1つとしてlibreofficeが提案しました。ただし、soffice(.bin)-コマンドラインからLibreOfficeを起動するために使用できるバイナリ。それは通常にあります/ usr / lib / libreoffice / program /;そして非常に頻繁に、シンボリックリンク/ usr / bin / sofficeはその場所を指します。

  3. 次に、ほとんどの場合、パラメータ--headless --convert-topdfでは不十分です。次のようにする必要があります。

    --headless --convert-to pdf:writer_pdf_Export

    必ずこの大文字と小文字を区別してください。

  4. 次に、システムでLibreOffice GUIインスタンスがすでに稼働している場合、コマンドは機能しません。これは、2011年以降に知られているバグ#37531が原因です。コマンドに次の追加パラメーターを追加します。

    '-env:UserInstallation = file:/// tmp / LibreOffice_Conversion _ $ {USER}'

    これにより、同じユーザーによって開始された可能性のある最初のGUI LOインスタンスに干渉することなく、2番目のヘッドレスLOインスタンスで使用できる新しい別個の環境が作成されます。

  5. また、-指定したoutdir / pdfが存在し、書き込み権限があること。または、別の出力ディレクトリを使用します。最初のテストとデバッグのラウンドだけであっても、次のようになります。

    $ mkdir $ {HOME} / lo_pdfs
  6. したがって:

    / path / to / soffice  --headless  '-env:UserInstallation = file:/// tmp / LibreOffice_Conversion _ $ {USER}'  --convert-to pdf:writer_pdf_Export  --outdir $ {HOME} / lo_pdfs  /path/to/test.docx

    これは、LibreOfficev5.1.2.2を搭載したMacOS X Yosemite 10.10.5で機能します(バイナリの特定のパスを使用)とにかくUbuntuでは異なるsoffice ...)。 Debian Jessie 8.0でも動作します(パスを使用)/ usr / lib / libreoffice / program / soffice)。申し訳ありませんが、現在Ubuntuでテストすることはできません。

    これがすべて機能しない場合、DOCXを処理しようとすると次のようになります。

  7. コマンドを試す特定のDOCXファイルに問題がある可能性があります...したがって、最初に独自の非常に単純なDOCXドキュメントを作成します。これにはLibreOffice自体を使用してください。 「HelloWorld!」と書くそれ以外の場合は空のページ。 DOCXとして保存します。

  8. 再試行。 単純なDOCXで動作しますか?

  9. それでも機能しない場合は、手順7を繰り返しますが、今回はODTとして保存します。

  10. 手順8を繰り返しますが、今回は必ずODTを参照してください。

  11. 最後:フルパスを使用して柔らかく、soffice.binおよびlibreofficeを使用して、それぞれを実行します。-hパラメーター:

    $ / path / to / libreoffice -h#そのパスが存在する場合、これは疑わしいです! $ / path / to / soffice -h $ /path/to/soffice.bin -h
    • ここに出力がありますか?
    • 3つのバイナリ/シンボリックリンクのどれですか?
    • 出力を記録します。
    • あなたのアウトプットを教えてください!!!

    それらを使用したコマンドラインと比較します。

    • パラメータ名、大文字、使用するダッシュの数などに変更はありますか?

    比較のために、私自身の(Mac OS X)出力はここにあります:

    $ /Applications/LibreOffice.app/Contents/MacOS/soffice -h LibreOffice 5.1.2.2 d3bf12ecb743fc0d20e0be0c58ca359301eb705f使用法:soffice [options] [documents ...]オプション:-minimizedスタートアップビットマップを最小化しておく。 -非表示起動画面、デフォルトドキュメント、UIはありません。 --norestoreは、致命的なエラー後の再起動/復元を抑制します。 --quickstartはクイックスタートサービスを開始します--nologoは起動画面を表示しません。 --nolockcheckは、インストールを使用してリモートインスタンスをチェックしません。--nodefaultは、空のドキュメントで開始しません。--非表示のようにヘッドレスですが、ユーザーの操作はまったくありません。 --help / -h /-?このメッセージを表示して終了します。 --versionバージョン情報を表示します。 --writerは新しいテキストドキュメントを作成します。 --calcは新しいスプレッドシートドキュメントを作成します。 --draw新しい図面を作成します。 --impress新しいプレゼンテーションを作成します。 --baseは新しいデータベースを作成します。 --mathは新しい数式を作成します。 --global新しいグローバルドキュメントを作成します。 --webは新しいHTMLドキュメントを作成します。 -oテンプレートであるかどうかに関係なく、ドキュメントを開きます。 -n常にドキュメントを新しいファイルとして開きます(テンプレートとして使用)。 --display Unix / X11バージョンで使用するX-Displayを指定します。 -p指定したドキュメントをデフォルトのプリンターで印刷します。 --pt指定されたドキュメントを指定されたプリンターで印刷します。 --view指定したドキュメントをビューア-(読み取り専用-)モードで開きます。 --show指定されたプレゼンテーションを開いてすぐに開始します--accept = UNO接続文字列を指定して、他のプログラムがAPIにアクセスするために接続できるUNOアクセプターを作成します--unaccept =-acceptで作成されたアクセプターを閉じます= --unnaccept = allを使用して、開いているすべてのアクセプターを閉じます--infilter = [:filter_options]可能であれば、入力フィルタータイプを強制します。 --infilter = 'Calc Office Open XML' --infilter = 'Text(encoded):UTF8、LF ,,,' --convert-to output_file_extension [:output_filter_name [:output_filter_options]] [--outdiroutput_dir]ファイルバッチ変換ファイル(--headlessを意味します)。 --outdirが指定されていない場合、現在の作業ディレクトリがoutput_dirとして使用されます。例えば。 --convert-to pdf * .doc --convert-to pdf:writer_pdf_Export --outdir / home / user * .doc --convert-to'html:XHTML Writer File:UTF8 '* .doc --convert-to' txt:Text(エンコード):UTF8 '* .doc --print-to-file [-printer-name printer_name] [--outdir output_dir] filesファイルをファイルにバッチ印刷します。 --outdirが指定されていない場合、現在の作業ディレクトリがoutput_dirとして使用されます。例えば。 --print-to-file * .doc --print-to-file --printer-name nasty_lowres_printer --outdir / home / user * .doc --catfilesファイルのテキストコンテンツをコンソールにダンプします。 --cat * .odt --pidfile = file soffice.binpidをファイルに保存します。 -env:[=]ブートストラップ変数を設定します。例えば。 -env:UserInstallation = file:/// tmp / testを使用して、デフォルト以外のユーザープロファイルパスを設定します。残りの引数は、開くドキュメントのファイル名またはURLとして扱われます。
  12. コマンドラインにもう1つの引数を追加して、次の場合に入力フィルターの適用を強制します。sofficeはDOCXファイルを開きます。

    --infilter = 'Microsoft Word 2007/2010/2013 XML'

    また

    --infilter = 'Microsoft Word 2007/2010/2013 XML' --infilter = 'Microsoft Word 2007-2013 XML' --infilter = 'Microsoft Word 2007-2013XMLテンプレート' --infilter = 'Microsoft Word95テンプレート'- -infilter = 'MS Word95テンプレート' --infilter = 'Microsoft Word 97/2000 / XPテンプレート' --infilter = 'MS Word97テンプレート' --infilter = 'Microsoft Word 2003 XML' --infilter = 'MS Word 2003 XML '-infilter =' Microsoft Word 2007XMLテンプレート '--infilter =' MS Word 2007XMLテンプレート '--infilter =' Microsoft Word 6.0 '-infilter =' MS WinWord 6.0 '-infilter =' Microsoft Word 95 '-infilter =' MS Word 95 '-infilter =' Microsoft Word 97/2000 / XP '-infilter =' MS Word 97 '-infilter =' Microsoft Word 2007 XML '-infilter =' MS Word 2007 XML '-infilter =' Microsoft WinWord 5 '-infilter =' MS WinWord 5 '