0

.NET で IKVM 0.44.5 を使用して FOP 1.0 を正常にコンパイルして使用しましたが、結果の PDF に画像を表示できません。

コマンドラインで ikvm を介して FOP を実行すると、java.io.EOFException が発生します。Javaを使用して同じファイルを変換すると、画像が完全に表示されます。

java.lang.reflect.UndeclaredThrowableException
    at $Proxy0.readUTF(Unknown Source)
    at java.lang.reflect.Method.invoke(Method.java:612)
    at org.apache.xmlgraphics.image.loader.util.ImageUtil$1.invoke(ImageUtil.java:246)
    at $Proxy0.readUTF(Unknown Source)
    at com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk(PNGImageReader.java:469)
    at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:710)
    at com.sun.imageio.plugins.png.PNGImageReader.getImageMetadata(PNGImageReader.java:1543)
    at org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO.preloadImage(PreloaderImageIO.java:71)
    at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:176)
    at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128)
    at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122)
    at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81)
Caused by: java.io.EOFException
    at javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:346)
    at java.io.DataInputStream.readUTF(DataInputStream.java:607)
    at javax.imageio.stream.ImageInputStreamImpl.readUTF(ImageInputStreamImpl.java:332)
    ... 49 more

FOP+IKVM を使用して画像を動作させた人はいますか? 解決策への助けや指針をいただければ幸いです。

4

1 に答える 1

1

私は FOP についてあまり知りませんが、画像を使った簡単な例で動作します:

C:\j\fop-1.0>set JAVACMD=\ikvm-0.44.0.5\bin\ikvm.exe
C:\j\fop-1.0>fop -fo examples\fo\basic\images.fo -pdf images.pdf

これにより、見栄えの良い images.pdf が生成されます。

この再現シナリオがある場合は、遠慮なく私 (jeroen@frijters.net) にメールしてください。確認します。

更新:問題の原因となった .png に感謝します。0.44で問題を再現しましたが、現在の開発版では正常に動作します。最新の開発スナップショットは、http: //weblog.ikvm.net/ で入手できます。

于 2011-02-16T13:34:11.530 に答える