私はこれを行う方法を多かれ少なかれ知っていますが、経験不足のためにこのコマンドの複雑さに悩まされていると思います.
生のhtmlをにフィードしようとしていwkhtmltopdf
ます。次のようにコマンドラインからこれを行うことができます:
echo "<p>Hello</p>" | wkhtmltopdf - ~/somePdf.pdf
それは問題なく動作しますが、Java アプリからこれを行うにはどうすればよいですか? ここに私が試したいくつかのことがあります:
String[] cmd = { "echo", html.body(), "|", "wkhtmltopdf", "-", "/home/sam/yourPdf.pdf" };
Runtime.getRuntime().exec(cmd);
また
Runtime.getRuntime().exec("echo " + html.body() + " | wkhtmltopdf - /home/sam/yourPdf.pdf");
これらのいずれも、ホーム フォルダーにファイルを生成しません。
STDERRに出力されることを読みましたwkhtmltopdf
が、Eclipseからそれを表示する方法がわかりません。コンソール ビューで使用できるはずだと言われましたが、何も表示されません。
どんな助けでも大歓迎です、ありがとう!
編集
受け入れられた答えはwkhtmltopdf
、しかし Play! この投稿を見つけたフレームワークには、Play があります。scala テンプレートに基づいて PDF を生成するモジュール。それは非常にうまく機能しますが、スタイルシートに設定することを忘れないmedia="print"
でください:)