我有一张包含文字和图片的PDF。我想使用linux命令行从PDF中提取图像。我可以使用pdfimages
来提取图像,但我还想在每个页面上找到该图像所在的位置。 pdfimages
可以告诉我每个图像(来自文件名)的页面,但这就是它给我的全部内容。有没有其他FLOSS工具可以做到这一点?
答案 0 :(得分:15)
我认为PDF必须包含放置它们的信息,所以这应该是可能的。另一方面,解决方案可以是例如:
pdftoppm
pdfimages
cvCvtColor
matchTemplate
步骤1可能类似于第2步:
for i in {0..99} ; do pdfimages -f $((i)) -l $((i+1)) file.pdf page$((i)); done
这里的步骤3 *一个简单的例子
在第4步中,您不应该遇到培训问题,因为图像将完全匹配。 matchTemplate( imageToSearch, pdfPageImg, outputMap, 'CV_TM_SQDIFF')
(* - 链接已删除,因为它现在似乎指向勒索软件网站)
答案 1 :(得分:7)
-xml
命令的pdftohtml
开关将提供图像位置,尺寸和来源信息。
pdftohtml -xml file.pdf
答案 2 :(得分:6)
PDF无法保证如果重复使用图像,则不会是单独的图像。除了页面位置及页面上的实际大小之外,PDF文件中的图像元数据非常少。我写了一篇文章,解释了如何在http://www.jpedal.org/PDFblog/2010/09/understanding-the-pdf-file-format-images/
的PDF中存储图像