如何从 PDF 文件中提取图像

如何从 PDF 文件中提取图像

我目前使用 Foxit 的 PDF 阅读器,最近从互联网上下载了一张图片,但它在 PDF 文件中。我该如何提取这张图片?

操作系统是Windows 7。

答案1

如果您不需要图像的原始像素分辨率,快捷方法是只需按下 ALT 和 Print Screen 按钮。然后选择将图像粘贴到您想要的任何位置。

保持分辨率的另一种方法是在图像编辑程序(例如 Adob​​e Photoshop)中打开 PDF 并在那里处理它。

答案2

如果您下载适用于 Windows 的 XPDF (这里),你会发现里面有几个 .exe 文件。你可以运行它们而不需要“安装”。使用方式pdfimages.exe如下:

pdfimages.exe -help

这将显示帮助屏幕。

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

这会将所有 JPEG 提取为 prefix-00N.jpg,并将所有其他图像提取为 prefix-00N.ppm(便携式像素图)。

[由 ComFreek 编辑:请注意目标路径中的尾部斜杠,如果您不想将所有图像提取到其父目录中,这一点很重要。--
{KurtPfeifle 编辑:我不同意 ComFreek 的评论,但请读者自己测试并找出结果的差异。我的原始参数不使用尾部斜杠,因为..\prefix将为图像添加前缀名称用于提取的文件。}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

与之前相同,但将图像提取限制到第 11 页(“f”=第一页)至第 13 页(“l”=最后一页)。


更新:

与此同时,我更喜欢波普勒的版本pdfimages—— 尤其是因为它获得了这个新功能:添加-list到命令行以便仅列出(而不是提取)PDF 中包含的图像,以及它们的一些属性。示例:

pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf

  页码 类型 宽度 高度 颜色 压缩 bpc enc 插值 对象 ID
  ---------------------------------------------------------------------
     7 0 图像 581 838 rgb 3 8 jpeg 否 39 0
     7 1 图像 4 4 rgb 3 8 图像编号 40 0
     7 2 图像 314 332 rgb 3 8 jpx 否 44 0
     7 3 图像 358 430 rgb 3 8 jpx 否 45 0
     7 4 图像 4 4 rgb 3 8 图像编号 46 0
     7 5 图像 4 4 rgb 3 8 图像编号 47 0
     7 6 图像 4 6 rgb 3 8 图像编号 48 0
     7 7 图像 596 462 rgb 3 8 jpx 否 49 0
     7 8 图像 4 6 rgb 3 8 图像编号 50 0
     7 9 图像 4 4 rgb 3 8 图像编号 51 0
     7 10 图像 8 10 rgb 3 8 图像编号 41 0
     7 11 图像 6 6 rgb 3 8 图像编号 42 0
     7 12 图像 113 27 rgb 3 8 jpx 编号 43 0
     8 13 图像 582 839 灰色 1 8 jpeg 否 2080 0
     8 14 图像 344 364 灰色 1 8 jpx 否 2079 0

笔记再次:这个版本pdfimages是 Poppler 的版本(XPDF 的版本不是(还) 支持此新功能),并且版本必须是 v0.20.2 或更新版本。

答案3

您可以尝试将 PDF 导入Inkscape,然后从那里开始工作。Inkscape 每次只能打开一页,但可以让您完全控制页面内容。您将能够非常轻松地从 PDF 中提取和操作矢量图形。

但是,如果你想从 PDF 中提取光栅图像,我确信pdfimages从 XPDF 中提取更容易(但你仍然可以在学习后尝试使用 Inkscape如何从 SVG 文件中提取嵌入的图像)。

答案4

多媒体PDF是一款新的(创建于 2006 年)多平台(桌面和移动)PDF 查看器,根据 AGPL 许可发布。它由Ghostscript

它包含一个从 PDF 中提取图像的命令行工具:

mutool extract [options] file.pdf [object numbers]

extract 命令可用于从 PDF 中提取图像和字体文件。如果命令行中未给出对象编号,则将提取所有图像和字体。

-p password
       Use the specified password if the file is encrypted.

-r     Convert images to RGB when extracting them.

相关内容