【问题标题】:How can I extract images from a PDF file? [closed]如何从 PDF 文件中提取图像? [关闭]
【发布时间】:2010-09-30 15:36:54
【问题描述】:

我需要从服务器上的 PDF 文件中提取所有图像。我不想要 PDF 页面,只想要原始大小和分辨率的图像。

如何使用 Perl、PHP 或任何其他基于 UNIX 的应用程序(我会使用 PHP 的 exec 函数调用)来做到这一点?

【问题讨论】:

  • 您如何知道每张图片在页面上的位置?据我所知,PDF 文件不会记录此信息。

标签: php perl pdf


【解决方案1】:

pdfimages 很好,因为它不会重新编码,而只会提取 jpeg。但是有个bug:

pdfimages 来自包“poppler-utils”或来自更大的“xpdf-utils”。至少在 Ubuntu 中已经预装了“poppler-utils”。 poppler-utils 10.0.3 (Ubuntu 9.04 Jaunty) 中的 pdfimages 仍然没有对提取“.jpg”的选项“-j”做出反应。它总是提取“.ppm”。

作为一种解决方法,您可以将“poppler-utils”替换为“xpdf-utils”: $ sudo apt-get install xpdf-utils

致以诚挚的问候,

+++奥利弗

【讨论】:

  • 在我的 ubuntu 服务器上,xpdf 和 poppler 都无法识别 -j 开关
【解决方案2】:

pdfimages 就是这样做的。它是 poppler-utils 和 xpdf-utils 软件包的一部分。

来自手册页:

Pdfimages 将可移植文档格式 (PDF) 文件中的图像保存为可移植像素图 (PPM)、可移植位图 (PBM) 或 JPEG 文件。

Pdfimages 读取 PDF 文件,扫描一页或多页 PDF 文件,并为每个图像写入一个 PPM、PBM 或 JPEG 文件 image-root-nnn.xxx,其中 nnn 是图像编号,xxx 是图像类型(.ppm、.pbm、.jpg)。

注意:pdfimages 从 PDF 文件中提取原始图像数据,而不执行任何额外的转换。由 PDF 内容流完成的任何旋转、剪切、颜色反转等都将被忽略。

【讨论】:

  • 我认为安装 xpdf 时会安装该软件包。
  • 这也是正确的,两个包都有pdfimages。
【解决方案3】:

关于 Perl,你检查过CPAN吗?

  • PDF::GetImages - 从 pdf 文档中获取图片
  • PDF::OCR - 从 pdf 文件中获取 ocr 和图像
  • PDF::OCR2 - 从 pdf 中提取所有文本和所有图像 ocr

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 2010-12-09
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多