0

有没有办法通过python计算pdf文档中的图像数量(JPEG、PNG、JPG)?

4

2 回答 2

1
  1. 使用来自 poppler-utils 的 pdfimages

您可能想查看 poppler-utils 包中的pdfimages

我已经从 - Sample PDF中获取了样本 pdf

运行以下命令时,将提取 pdf 中存在的图像 -

pdfimages /home/tata/Desktop/4555c-5055cBrochure.pdf image

从这本小册子中提取的一些图像是——

提取的图像1

提取图像 2

因此,您可以使用 python 的 subprocess 模块执行此命令,然后提取所有图像。

注意:这种方法有一些缺点。它生成 ppm 格式的图像,而不是 jpg。此外,可能会提取一些额外的图像,这些图像实际上可能不是 pdf 中的图像。

  1. 使用 pdfminer

如果您想使用 pdfminer 执行此操作,请查看此博客文章 - 从 PDF 文件中提取文本和图像

Pdfminer 允许您遍历特定 pdf 页面的布局。下图显示了布局对象以及 pdfminer 生成的树结构 -

布局对象和树结构

图片来源 - Pdfminer Docs

因此,提取 LTFigure 对象可以帮助您提取/计算 pdf 文档中的图像。

注意:请注意,这两种方法可能都不准确,它们的准确性在很大程度上取决于您正在处理的 pdf 文档的类型。

于 2017-11-02T06:24:54.870 回答
0

我认为这不能直接完成。尽管我使用以下方法做了类似的事情

  1. 使用 ghostscript 将 pdf 转换为页面图像。
  2. 在每一页上,使用计算机视觉 (OpenCV) 来提取感兴趣的区域(在您的案例图像中)。
于 2017-11-02T04:32:22.417 回答