1

Google を徹底的に検索しましたが、問題の解決策が見つからないようです...

Java クラスから PDF ファイルを生成するために、Apache FOP 1.1 と Java を使用しています。この Java プロジェクトは、JAR ファイルから実行されます。JAR 自体の外部にあるイメージを使用しています。PDF の生成に使用される XSL ファイルには、次のものが含まれます。

<fo:external-graphic src="file:///C:/images/image.jpg" width="7.5in" />

多くの検索/読み取りに基づいて、src 属性のさまざまなバリエーションを試しました。

src="file:///C:/images/image.jpg"
src="C:/images/image.jpg"
src="url('file:///C:/images/image.jpg')"
src="url('C:/images/image.jpg')"

すべて成功せずに...

さて、ここが紛らわしい部分です。私はEclipse IDEから開発を行っており、src属性のバリエーションを使用する場合:

src="C:/images/image.jpg"
src="url('C:/images/image.jpg')"

画像が埋め込まれた PDF が適切に作成されます。

JARファイルから実行しているときに画像が表示されない理由がわかりません...

前もって感謝します!(うまくいけば)

デヴィン

4

2 に答える 2

0

構文

<fo:external-graphic src="url('C:/images/image.jpg')" content-height="100%" content-width="100%"/>

Eclipse からでも JAR からでも、私にとっては問題なく動作します。問題が何であるかを理解しましたか?

于 2013-07-01T08:10:29.957 に答える
0

これが古いスレッドであることは知っていますが、同様の問題があり、最終的に部分的な修正を見つけました。それは2つのことのコンボでした:

  1. 開発環境とデプロイ環境での JVM の違い (私にとっては生の太陽 ... err oracle と ibm websphere にバンドルされた Java)
  2. IBM JVM は、索引付けされた PNG ファイルを好みません。RGBに変換するとすぐに機能しました。

websphere jvm で fop.bat ファイルを手動で実行したときに表示されるエラー メッセージは次のとおりです。

SEVERE: Image not available. URI: /tmp/image.png. Reason: org.apache.xmlgraphics.image.loader.ImageException: I/O error while extracting image metadata: Error reading PNG metadata (See position 30:182)

ところで、私は fop 1.0 + Java 1.6 + WAS 7.0 (Java 1.6) を使用していました

これが他の誰かに役立つことを願っています!

于 2014-01-07T18:20:56.690 に答える