Flying Saucerをしばらく使用していますが、素晴らしい結果が得られています。
そのようにuri経由でドキュメントを設定できます
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(xhtmlUri);
指定された URI に関連するすべての相対 css リソースなどを解決するので、これは素晴らしいことです。ただし、現在 xhtml を生成しており、(ファイルを保存せずに) PDF に直接レンダリングしたいと考えています。ITextRendererの適切なメソッドは次のようです。
private Document loadDocument(final String uri) {
return _sharedContext.getUac().getXMLResource(uri).getDocument();
}
public void setDocument(String uri) {
setDocument(loadDocument(uri), uri);
}
public void setDocument(Document doc, String url) {
setDocument(doc, url, new XhtmlNamespaceHandler());
}
ご覧のとおり、私の既存のコードは uri を提供するだけで、私のためITextRenderer
に を作成する作業をDocument
行います。
Document
フォーマットされた xhtml 文字列からを作成する最短の方法は何ですか? 別の XML 解析 jar をインポートせずに、既存の Flying Saucer ライブラリを使用することをお勧めします (一貫したバグと機能のためだけに)。