私はdocxをjavaを使用してpdfに変換できる必要があります。私はdocx4jを使ってみましたが、かなり良いですが、私が持っているdocxは扱えるものよりもはるかに複雑です。私はPDFプリンタがそれらを扱うことができるかどうかを見てみることにしました。今、私はJAVAから自動化する方法の問題に直面しています。私が見つけた唯一の解決策は、MS Word(Open Office APIを使ってみましたが、docxの書式設定も処理できませんでした)です。DocxからJavaへのPDF変換
jacobのようなJava用の複数のCOMマッピングが見つかりましたが、それらを試しましたが、Wordの印刷に適切なCOMコマンドが見つからないようです。私は(私は一緒にウェブ上で見つかったいくつかの作品をスタック)されて使用していますコード:
String sInputDoc = "fi.docx";
boolean tVisible = false;
ActiveXComponent oWord = new ActiveXComponent("Word.Application");
oWord.setProperty("Visible", new Variant(tVisible));
Object oDocuments = oWord.getProperty("Documents").toDispatch();
Object oDocument = Dispatch.call((Dispatch)oDocuments, "Open", sInputDoc).toDispatch();
Dispatch oSelection = oWord.getProperty("Selection").toDispatch();
Dispatch oFind = oWord.call(oSelection, "Find").toDispatch();
Dispatch oWordBasic = (Dispatch) Dispatch.call(oWord, "WordBasic").getDispatch();
Dispatch.call(oWordBasic, "FilePrint");
このコードは、しかしのみ(理由はわからない)を印刷しようとすると、保存したファイルをしていないプログラムが発生します。
今質問があります:印刷の操作をWordに送信するにはどうすればよいですか? (私は研究をしましたが、コメントは基本的に開かれた言葉で、pdfに印刷しますが、実際に印刷する方法は決してありません)もっと良いオプションがあれば、それは何ですか?私は無料のライセンスを持っているものと一緒に働くことができてうれしいです。
ありがとうございます。
docx4jに関するアップデート:最近では、オープンソースのXSL FOベースの変換に加えて、FO以外の商業的な代替手段もあります。詳細はhttp://www.docx4java.org/forums/pdf-output-f27/higher-fidelity-pdf-output-now-available-t2117.html – JasonPlutext