Apache FOPとXSLTに近づいています。XSLT:外部リソースの代わりにEclipseプロジェクトのリソースから出力PDFに画像を表示
私は単純なことをしたかった:私のJavaプロジェクトからEclipseを生成する出力pdfでは、最初のページにイメージとタイトルを置く。
今のところ、タイトルのみを置くことができますが、出力pdf上の画像はありません。私のXSLファイルで
、私は最初のページのみで、画像を得ることが
<fo:block text-align="center" space-after="4cm">
<fo:external-graphic content-height="50%" scaling="uniform" width="50%" content-width="scale-down-to-fit" src="url('file:c:///UPLOAD/logo.png')"/>
</fo:block>
と作品を、この「コード」を入れています。これは、私がWeb上で外部リソースの直接パスについて見つけた方法です。しかし、このの方法ではマシンに関連しています。
だから、どのように私は、プロジェクトのパスを「相対的」からイメージを持つことができ、私は
PDF出力は(私がアプリを展開するときにJARファイルにそう)ファイルシステムにないプロジェクトに関連していることを必要としますウェブ上で検索すると、コンフィグレーションFOPなどに関する多くの質問が見つかりました。
簡単な方法があります。私はEclipseプロジェクトディレクトリにイメージを使用したいと考えています内部リソースを使用してください)XSLTドキュメント(外部ファイルと同じように動作します)で?
私はこの方法
<fo:external-graphic content-height="50%" scaling="uniform" width="50%" content-width="scale-down-to-fit" src='url("///mtproject/WebContent/resources/default/img/logo.jpg")'/>
を試してみたが、ログにこのエラーがあります:
FOUserAgent - Image not found. URI: ///mtproject/WebContent/resources/default/img/logo.jpg. (No context info available)
は、どのように私は、プロジェクトのリソースへの参照を使用できますか?
ありがとうございました。
1つの場合、url()関数の引数は文字列であり、引用符で囲む必要があります。 FOPログにはどのようなメッセージがありますか? –
私はより明確な質問について私の記事を更新しました。私のファイルシステム上の外部リソースは動作しますが、どうすればeclipseプロジェクトのリソースを使用できますか? – Domenico