我目前使用 Foxit 的 PDF 阅读器,最近从互联网上下载了一张图片,但它在 PDF 文件中。我该如何提取这张图片?
操作系统是Windows 7。
答案1
如果您不需要图像的原始像素分辨率,快捷方法是只需按下 ALT 和 Print Screen 按钮。然后选择将图像粘贴到您想要的任何位置。
保持分辨率的另一种方法是在图像编辑程序(例如 Adobe 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.