web-dev-qa-db-ja.com

RTFをPDFに変換する無料の方法はありますか?

プログラムで [〜#〜] rtf [〜#〜] ドキュメントを [〜#〜] pdf [〜#〜] に変換するにはどうすればよいですか?

17
user63898

OpenOffice.org サーバーモードで(つまりGUIなしで)実行でき、RTFファイルを読み取り、PDFファイルを出力できます。

16
Joachim Sauer

以下に応じていくつかのオプションがあります:

  • アプリケーションが実行されるプラットフォーム
  • アプリケーションがサーバーアプリケーション(たとえば、一度セットアップしてから実行するWebサービス)であるか、広く利用可能なデスクトップアプリケーション(たとえば、多くの人が簡単にダウンロードしてインストールできる必要があるもの)であるかどうか。
  • ソリューションを機能させるためにプログラミングの労力をほとんどまたはそれ以上費やしても構わないと思っているかどうか
  • 使用するプログラミング言語に柔軟性があるかどうか

ここにいくつかのオプションがあります:

  1. PDFCreator + [〜#〜] com [〜#〜]
    • Windowsのみ
    • デスクトップアプリケーションとサーバーアプリケーションの両方に適しています
    • 中程度のプログラミング作業
    • cOMを話すことができる任意の言語
  2. OpenOffice (+ JODConverter -オプション)
    • クロスプラットフォーム(Windows、Linuxなど)
    • openOfficeは100MB以上のダウンロードであるため、サーバーアプリケーションに適しています
    • プログラミングの労力が少ない
    • Java(JODConverterを使用している場合)、または OpenOfficeのUNO とインターフェースできる任意の言語
  3. IText + Apache POI
    • クロスプラットフォーム(Windows、Linuxなど)
    • デスクトップアプリケーションとサーバーアプリケーションの両方に適しています
    • 高いプログラミング努力
    • Java

[〜#〜]編集[〜#〜]

これが 古い投稿 です。これはあなたの質問といくつかの共通点があります。


編集2

あなたのコメントから、あなたはLinuxを使用していて、C++またはJavaのいずれかを開いていることがわかります。 必ずオプション2を使用してください。

  • JODConverter(Java):ライブラリは、ヘッドレスモードでOpenOfficeを生成し、ユーザーに代わってUnoと通信します。 JODConverterに入力ファイル名と出力ファイル名、および入力タイプと出力タイプ(rtfやpdfなど)を指定すると、出力ファイルの準備が整います。
  • C++:ヘッドレスモードで1つ(または複数、負荷分散)のOpenOfficeインスタンスをfork + execできます(sofficeはポート8100などのソケットでUNO要求をリッスンします)。アプリケーションから no/CPPJODConverterと同じ方法で変換を実行するように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に変換しています。 。

14
vladr

無料のPDFプリンターであるPDFCreatorを使用してください。 PDFに印刷するだけです。これはCOMを介して制御できます。サンプルコードは、インストールディレクトリのCOMフォルダにあります。

2
jle

PDFCreator for Windows は単一のドキュメントに最も簡単です。

また、ドキュメントをXMLに変換し、XSLTおよびXSL-FOを使用することで、大量のドキュメントセットのPDF作成を自動化することもできます。 たくさんのチュートリアル これにはそこにあります。

Pythonなどの特定の言語の場合、PDFに出力するライブラリが存在します。

他のより単純なソリューションに対するXMLの唯一の利点は、拡張性です。また、RTF、HTML、TXT、またはその他のほぼすべてのテキスト形式でドキュメントをプログラムで出力することもできます。

2
Jon W

LibreOfficeは、コマンドラインを介してRTFドキュメントをPDFに変換できます。

Here CentOSにインストールする手順です。

そして、これはPHPコードから変換を開始する例です:

<?php Shell_exec('libreoffice4.2 --headless --invisible --norestore --convert-to pdf test.rtf'); ?>
1
shasi kanth

PrimoPDF 。これは仮想プリンターとして機能するため、印刷するだけでPDFが表示されます。

0
Steve Melnikoff