0

在使用 droidText lib 创建 pdf 时,我不断收到 unstaisfied 链接错误。它是随机的,不会每次都发生

抛出它的行是:

Image image = Image.getInstance(url);

堆栈跟踪

02-19 12:09:02.534: E/AndroidRuntime(14477): FATAL EXCEPTION: Thread-10
02-19 12:09:02.534: E/AndroidRuntime(14477): java.lang.UnsatisfiedLinkError: cmmOpenProfile
02-19 12:09:02.534: E/AndroidRuntime(14477):    at org.apache.harmony.awt.gl.color.NativeCMM.cmmOpenProfile(Native Method)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at harmony.java.awt.color.ICC_Profile.<init>(ICC_Profile.java:324)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at harmony.java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:645)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.readPng(PngImage.java:425)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:515)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:230)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:212)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.Image.getInstance(Image.java:275)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.test.view.pdf.PdfCreation.getLogo(PdfCreation.java:1094)

关于我做错了什么或如何解决这个问题的任何指示。

4

2 回答 2

1

droidtext 将部分 Apache Harmony 用于 awt 依赖项。当 png 图像具有 iCCP 块 ( http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.iCCP )时使用的 Harmony 的 ICC_Profile 实现依赖于本机图书馆。这个本机代码现在不是 droidtext 的一部分。

我在这里打开了一个问题:http ://code.google.com/p/droidtext/issues/detail?id=6并将对其进行调查。如果您可以在出现此问题的错误处附加一个 png,那就太好了。

作为一种解决方法,您可以从 png 中删除颜色配置文件或通过取消对 PngImage.java 中的第 424-429 行的注释来阻止 droidText 应用它

于 2013-02-21T01:12:03.697 回答
0

我有一个类似的问题,我以这种方式解决了:

检查您的 png 图像是否有一些奇怪的颜色配置文件。如果您使用 Photoshop 设计 png 图像,请使用“转换为配置文件...”并选择“sRGB IEC61966”,然后在“保存为 Web”时选中“转换为 sRGB”选项。

有关颜色配置文件的更多信息,请阅读:https ://imageoptim.com/color-profiles.html和http://viget.com/inspire/the-mysterious-save-for-web-color-shift

于 2015-05-06T12:33:48.083 回答