通过python计算pdf文档中的图像

时间:2017-11-02 04:07:23

标签: python pdfminer pypdf2

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

2 个答案:

答案 0 :(得分:1)

  1. 使用poppler-utils的pdfimages
  2. 您可能需要查看poppler-utils包中的pdfimages

    我从 - Sample PDF

    中取了样本pdf

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

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

    本手册中提取的部分图片是 -

    Extracted Image1

    Extracted Image 2

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

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

    1. 使用pdfminer
    2. 如果您想使用pdfminer执行此操作,请查看此博客文章 - Extracting Text & Images from PDF Files

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

      Layout Objects and Tree Structure

      图片来源 - Pdfminer Docs

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

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

答案 1 :(得分:0)

我不认为这可以直接完成。虽然我使用以下方法做了类似的事情

  1. 使用ghostscript将pdf转换为页面图像。
  2. 在每个页面上使用计算机视觉(OpenCV)来提取感兴趣的区域(在您的案例图像中)。