我有一堆由iText创建的PDF文件,我想将其转换为图像。我正在使用JPedal这样做,并且在99%的情况下都可以使用,但有时图像不完整。这意味着缺少表单或表格的内容,或者如果页面仅包含图片(扫描页面),则生成的图像将完全空白。
我注意到只有在PDF文件包含扫描的页面时才会发生这种情况。这些与文档的其余部分不完全相同。
我试图用iText读取文件,在仅包含A4页面的临时字节数组中创建一个新文件,并将其提供给JPedal。我也将展平设置为true。但是什么都没有改变。
任何想法导致此问题的原因?
编辑:我在版本4.70中使用jpedal-lgpl.jar。我搜索了一个较新的软件包,并找到了4.92b23版本。通过这一步骤,表格的内容可以正确转换,但是扫描的页面仍然空白,部分看起来像旧电视没有信号时显示的内容。
我希望使用最新版本,但找不到下载链接。 IDR Solutions是否停止发布lgpl版本?
最佳答案
您是否使用了iText或jPedal的展平功能?
从版本4.92b23开始,“经典” jpedal LGPL版本停止。 LGPL未发行的第一个版本是4.93,然后是5.0。作者不久前将其完全从sourceforge中删除,这与开源想法恕我直言相矛盾,但这是另一个故事。
但是,根据您使用的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文件进行分析?