プログラムで [〜#〜] rtf [〜#〜] ドキュメントを [〜#〜] pdf [〜#〜] に変換するにはどうすればよいですか?
OpenOffice.org サーバーモードで(つまりGUIなしで)実行でき、RTFファイルを読み取り、PDFファイルを出力できます。
以下に応じていくつかのオプションがあります:
ここにいくつかのオプションがあります:
[〜#〜]編集[〜#〜]
これが 古い投稿 です。これはあなたの質問といくつかの共通点があります。
編集2
あなたのコメントから、あなたはLinuxを使用していて、C++またはJavaのいずれかを開いていることがわかります。 必ずオプション2を使用してください。
JODConverter
(Java):ライブラリは、ヘッドレスモードでOpenOffice
を生成し、ユーザーに代わってUno
と通信します。 JODConverter
に入力ファイル名と出力ファイル名、および入力タイプと出力タイプ(rtfやpdfなど)を指定すると、出力ファイルの準備が整います。JODConverter
と同じ方法で変換を実行するようにOpenOfficeに指示します(これを行う方法については、JODConverter
ソースコードを参照してください)。
/opt/openoffice.org3/program/soffice.bin \
-accept=socket,Host=127.0.0.1,port=8100;urp; \
-headless -nocrashreport -nodefault \
-nolockcheck -nologo -norestore
JavaアプリからJODConverter
を使用して、その他のドキュメントタイプ(テンプレートから動的に生成された一部のドキュメント)をpdf
に変換しています。 。
無料のPDFプリンターであるPDFCreatorを使用してください。 PDFに印刷するだけです。これはCOMを介して制御できます。サンプルコードは、インストールディレクトリのCOMフォルダにあります。
PDFCreator for Windows は単一のドキュメントに最も簡単です。
また、ドキュメントをXMLに変換し、XSLTおよびXSL-FOを使用することで、大量のドキュメントセットのPDF作成を自動化することもできます。 たくさんのチュートリアル これにはそこにあります。
Pythonなどの特定の言語の場合、PDFに出力するライブラリが存在します。
他のより単純なソリューションに対するXMLの唯一の利点は、拡張性です。また、RTF、HTML、TXT、またはその他のほぼすべてのテキスト形式でドキュメントをプログラムで出力することもできます。
LibreOfficeは、コマンドラインを介してRTFドキュメントをPDFに変換できます。
Here CentOSにインストールする手順です。
そして、これはPHPコードから変換を開始する例です:
<?php Shell_exec('libreoffice4.2 --headless --invisible --norestore --convert-to pdf test.rtf'); ?>
PrimoPDF 。これは仮想プリンターとして機能するため、印刷するだけでPDFが表示されます。