現在メモリ内文字列として保存されている XML ドキュメントがあり、それを PDF としてレンダリングしたいと考えています。つまり、PDF コンテンツは XML ドキュメントになります。メソッドによってレンダリングされる XML は汎用的です。複数の種類の XML ドキュメントが送信される可能性があります。
さまざまな Java ベースのフレームワークを使用して達成する方法を理解するのに少し苦労しています。
アパッチ FOP
このフレームワークでは、ドキュメント内の XML 要素を FOP エンティティに特定の変換する必要があるように見えます。問題のメソッドは一般的な XML を受け入れる必要があるため、このフレームワークは私の要件に合わないと思います。
iText
iText/Flying Saucer (org.xhtmlrenderer) の組み合わせを使用してドキュメントをレンダリングしようとしましたが、PDF をレンダリングしますが、コンテンツにはスペースで区切られたデータ値のみが含まれ、xml 要素や属性は含まれません。以下のコードとテストデータを使用します。
ファイル
<?xml version="1.0" encoding="UTF-8"?>
<root>
<elem1>value1</elem1>
<elem2>value2</elem2>
</root>
コード
File inputFile = new File(PdfGenerator.class.getResource("test.xml").getFile());
OutputStream os = new FileOutputStream("c:\\temp\\Sample.pdf");
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(inputFile);
renderer.layout();
renderer.createPDF(os);
os.close();
content 値を含むvalue1 value2
がタグを含まない PDF が生成されます。
私の質問は 、誰かが上記のフレームワークのいずれかを使用して XML コンテンツを含む PDF をレンダリングするためのコード スニペットを提供できるか、それとも私のニーズにより適した別のフレームワークがあるかということです。
編集: 同じ質問がここで尋ねられたことは理解していますが、提示された解決策には、css ファイル内の着信 XML ドキュメントの構造に関する詳細な知識が必要なようです。