私の現在のワークフローは次のとおりです。生成されたXHTML文書を使用する際にURLリゾルバディレクトリを設定していますか?
- データベースからPOJOをロードします。
- Velocityに渡して、HTMLテンプレートをメモリ内にレンダリングします。
- 次に、出力されたHTMLをFlying SaucerとiTextを使用してPDFにレンダリングします。
画像などのような相対URLを解決しようとすると問題が発生します。私の文書はメモリに記憶されているので、イメージやスタイルシートの解決方法はまったく分かりません。どのようにして、メモリ内のStringオブジェクトにドキュメントを設定し、その中にリソースをロードするディレクトリを渡すことができますか?
String velocityOutput = VelocityEngineUtils.mergeTemplateIntoString(...);
ByteArrayOutputStream output = new ByteArrayOutputStream(...);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(velocityOutput);
renderer.layout();
renderer.createPDF(output);
クライアントに電子メールで送信するレポートを生成するだけで、すべての処理をメモリ内で行う必要があります。 <img src="..."/>
をHTMLテンプレートの相対URLをPDFに生成する際に解決するにはどうすればよいですか?