2011-10-18 25 views
0

次の問題があります。XSLスタイルシートを含むXMLファイルがあります。このXMLファイルをWebブラウザで読み込んだHTMLのHTMLとしてレンダリングしています。今度は、すべてのファイルに対してカスタムFOを作成する必要なしに、WebブラウザーでそのXSLスタイルのXMLとまったく同じように見えるPDFを作成する必要があります。すべてはJavaで行う必要があります。XSLのスタイルを使用してXMLをPDFに変換する

答えて

0

XSL-FOは、まさにあなたが必要とするように聞こえます。しかし、それがオプションではない場合は、最初にJavaでXMLに対してXSLT変換を明示的に実行してから、結果のHTML(それによってString /バイト配列/ DOM /任意のもの)をPDFに変換しますトリック。 iTextのように、HTMLからPDFをサポートするライブラリがいくつかあります。 JavaのXSLT変換は本当に簡単です。そこには小さなコードが含まれています。

Webブラウザで私はまさにそれXSLスタイルXMLのように見ているPDFを作成する必要があり
+0

ありがとうございます。残念ながら私は解決策が必要です。それは、XMLをHTMLに変換する途中のステップを経ることなく行われます。 – DoktorNo

+0

これをJavaで行うつもりなら、なぜ中間ステップができないのですか?とにかく、ある種の変換が必要になります。 XSLT、XSL-FO、またはHTMLからPDFへのコンバータを使用することは、構文解析イベントをPDF構造に直接変換するコードを作成するよりも確実です。 XMLをPDFに直接変換するものがあるかもしれませんが、私はそのようなツールやライブラリを知らないので、私のものと同じくらい良いと思います。うまくいけば、誰かが良い提案を持っているといいですね –

3

この要件についてもう一度考えてみてください。 PDFのようなページングされたメディアやHTMLのようなページングされていないメディアは、「十分に近い」としか見えませんが、決してお互いに「まったく同じ」ものにはなりません。これは、HTMLが異なる画面サイズのデバイスに表示されていると考えると、さらに明らかです。

上記の要件を多少緩和すると、おそらくXSL-FOが最適な選択であることに同意するでしょう。 「すべてのファイルにカスタムFOを作成する」必要はありません.XSLTを一度書き、それをオンザフライで使用してXMLをXSL-FOに変換し、レンダリングエンジンを使用してXSL-FOを処理しますPDF。シンプル。

+0

http://xmlgraphics.apache.org/fop/ – JustinKSU

関連する問題