我有一个包含文本和图像的PDF。 我想使用linux命令行从PDF中提取图像。 我可以使用pdfimages来提取图像,但我也想find该图像所在的每个页面上的位置。 pdfimages可以告诉我每个图像(从文件名)哪个页面,但是这只是它给了我。 有没有其他的FLOSS工具可以做到这一点?
如何等待进程完成使用IO.popen?
FOR循环variables中的空格问题 – 批处理脚本
在batch file中将input传递给程序提示
在Linux shell上并行运行多个Gradle命令
那么我认为PDF必须包含放置它们的信息,所以这应该是可能的。 另一方面,解决方案可以是例如:
使用pdftoppm将每个pdf页面转换为图像
使用cvCvtColor将图像转换为单个8位灰度通道(用于快速分析)
使用matchTemplate对象检测
步骤1可能看起来类似于这个步骤2:
for i in {0..99} ; do pdfimages -f $((i)) -l $((i+1)) file.pdf page$((i)); done
这里的第3步*一个简单的例子
在第四步,你不应该有训练的问题,因为图像将是一个完全匹配。 matchTemplate( imagetoSearch,pdfpageImg,outputMap,'CV_TM_SQDIFF')
在PDF中没有保证,如果一个图像被重用,它不会是一个单独的图像。 PDF文件中的页面位置和页面上的实际大小以外的图像元数据非常少。 我写了一篇文章,解释如何将图像存储在PDF中,位于http://www.jpedal.org/PDFblog/2010/09/understanding-the-pdf-file-format-images/
有一个pdftohtml命令的-xml开关,它将给出图像的位置,尺寸和源信息。
pdftohtml -xml file.pdf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。