2015-05-29 77 views
0

我正在使用PDFClown,我试图从PDF文件中提取图像。我使用源代码提供的示例代码,可以在http://pdfclown.org找到。PDFClown图像提取图像反转

ImageExtractionSample.java。

问题是图像是负片和水平翻转。有谁知道如何解决这个问题?

+1

也许图像以这种方式存储。提供一个示例PDF链接,我们来看看。 – usr2564301

+0

为了响应您的请求,我在该项目的跟踪器上打开了一张票:https://sourceforge.net/p/clown/bugs/77/ –

回答

1

请与其他PDF文件一起检查以查看其他PDF文件是否也提供了旋转或翻转的图像。 ImageExtractionSample.java没有检查图像对象的旋转或矩阵定义的转换,而只是将内容写入文件(因此它对JPG图像有效,但对CCIT编码图像不起作用)。

所以有些事情当你从PDF中提取图像来考虑:

  • 图像可以使用附带的转换矩阵(CTM)进行旋转;
  • 图像可以被转换/转换为被转换的形式的一部分;
  • 图像可以放置在一个页面上而不转换,但页面本身被旋转;
  • 图像可能在其顶部包含覆盖蒙版(并且蒙版可以旋转和变形);
  • JPG图像保存的非常多,但还有其他格式的PDF支持,如CCIT压缩,LZW压缩图像等;

但一般的建议是,当您使用PDFClown从PDF中提取JPG图像时,应该只需翻转并旋转提取的图像,如suggested on the SourceForge project discussion page

如果您可以指向特定的PDF示例文件,那么建议解决方案会更容易。

如果你在Windows上,那么你可以使用这个免费的PDF Multitool实用程序来比较图像提取对话框中使用“提取原始图像(无转换)”选项从PDF中的非转换和转换图像。

声明:我为ByteScout工作,PDF Multitool实用程序对于商业和非商业目的都是免费的。

+0

这并没有真正回答这个问题,是吗? OP *正在与PDFClown *合作,因此,似乎要求使用PDFClown的解决方案。这只是Multitool的广告吗? – mkl

+0

没有。我检查了ImageExtractionSample.java的代码,它没有检查应用于图像的任何转换,只是将图像正文转储到文件中。并且无法找到使用API​​获取链接转换矩阵的方式。因此,无论如何,我建议免费(用于非商业和商业用途的机器人!)工具,可用于即时比较有无应用转换的输出。 –

+0

*没有... * - 嗯,好的。顺便说一下,downvote并不是由我自己发生的,而是在我创建我的评论的同时发生的,我在写完它后刷新时看到它......似乎有人也认为这是垃圾邮件,并没有花时间问。 – mkl