我有一堆由iText创建的PDF文件,我想将其转换为图像。我正在使用JPedal这样做,它在99%的情况下有效但有时图像不完整。这意味着表单或表格的内容丢失,或者如果页面仅包含图片(扫描页面),则生成的图像完全空白。
我注意到只有在PDF文件包含扫描页面时才会发生这种情况。这些与文档的其余部分不完全相同。
我尝试用iText读取文件,在临时bytearray中创建一个新文件,其中只包含A4页面并将其提供给JPedal。我也将扁平化为真。但一切都没有改变。
任何想法是什么导致了这个问题?
编辑:我在版本4.70中使用jpedal-lgpl.jar。我搜索了一个更新的包,发现版本4.92b23。有了这个,表格的内容就可以正确转换,但扫描的页面仍然是空白的,部分看起来就像旧电视没有信号时所显示的那样。
我想使用最新版本但我找不到下载链接。 IDR Solutions是否停止发布lgpl版本?
答案 0 :(得分:1)
您是否使用了iText或jPedal的展平功能?
"经典"自版本4.92b23以来,jpedal LGPL版本已停止。 LGPL未发布的第一个版本是4.93及更高版本5.0。作者从sourceforge完全删除了,这与开源的想法imho相矛盾,但这是另一个故事......
但是,根据您使用的java版本,有一个新的LGPL JPedal。它使用JavaFX而不是Swing / AWT,但您仍然可以像以前一样转换图像。因此,如果您可以使用Java 1.8,那么您可以使用该LGPL版本并查看是否可以解决您的问题......
<强>更新强>
要解决表单问题,您还可以使用jpedal展平:-Dorg.jpedal.flattenForm=true
(或System.setProperty("org.jpedal.flattenForm","true");
)
最后一种可能的想法是摆弄其他jpedal选项:https://www.idrsolutions.com/jpedal/support/jvm-flags/
您是否有可能提供这样一个有问题的PDF文件进行分析?
答案 1 :(得分:0)
我们正在向JPedal的客户付款,而且我们在一段时间之前偶然遇到了一些线程问题。 IDR很快就解决了这个问题。
尝试在同步块中渲染,看看问题是否仍然存在。