我目前使用Foxit的PDF阅读器,最近我从互联网上下载了一张图片,但它在PDF文件中。如何提取此图像?
操作系统是Windows 7。
我目前使用Foxit的PDF阅读器,最近我从互联网上下载了一张图片,但它在PDF文件中。如何提取此图像?
操作系统是Windows 7。
Answers:
如果您不需要图像的原始像素分辨率,快速方法是只按ALT和打印屏幕按钮。然后选择粘贴到您想要图像的位置。
保留分辨率的另一种方法是在Adobe Photoshop等图像编辑程序中打开PDF并在那里使用它。
pdfimages.exe
派上用场了。
如果您下载XPDF for Windows( 这里 ),你会在里面找到一些.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(Portable PixMap)。
[ 由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'=最后一个)。
同时我更喜欢 Poppler的版本 pdfimages
- 特别是因为它获得了这个新功能:添加 -list
到命令行,只是列出(不提取)PDF中包含的图像,以及它们的一些属性。例:
pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf page num type width height color comp bpc enc interp object ID --------------------------------------------------------------------- 7 0 image 581 838 rgb 3 8 jpeg no 39 0 7 1 image 4 4 rgb 3 8 image no 40 0 7 2 image 314 332 rgb 3 8 jpx no 44 0 7 3 image 358 430 rgb 3 8 jpx no 45 0 7 4 image 4 4 rgb 3 8 image no 46 0 7 5 image 4 4 rgb 3 8 image no 47 0 7 6 image 4 6 rgb 3 8 image no 48 0 7 7 image 596 462 rgb 3 8 jpx no 49 0 7 8 image 4 6 rgb 3 8 image no 50 0 7 9 image 4 4 rgb 3 8 image no 51 0 7 10 image 8 10 rgb 3 8 image no 41 0 7 11 image 6 6 rgb 3 8 image no 42 0 7 12 image 113 27 rgb 3 8 jpx no 43 0 8 13 image 582 839 gray 1 8 jpeg no 2080 0 8 14 image 344 364 gray 1 8 jpx no 2079 0
注意 再次:这个版本的 pdfimages
是来自Poppler的那个(来自XPDF的那个) 不 (但?)支持这个新功能),版本必须是v0.20.2或更新版本。
convert
。适用于Linux,Windows,MacOS X以及您拥有的产品。最简单的用例: convert some.ppm some.jpeg
。
您可以尝试将PDF导入 Inkscape中 ,从那里工作。 Inkscape只会打开一个页面,但会让您完全控制页面内容。您将能够非常轻松地从PDF中提取和操作矢量图形。
但是,如果你想从PDF中提取光栅图像,我很确定 pdfimages
从XPDF更容易(但你仍然可以尝试在学习后使用Inkscape 如何从SVG文件中提取嵌入的图像 )。
无需安装任何软件,您可以切换到 PDF-XChange Viewer (选择 便携版 )这种能力已经内置
可以将多个页面保存为多页TIFF
请注意,虽然此方法将整个PDF页面转换为图像,但@Laurenz解释了该方法 使用苏门答腊PDF 如果要从具有混合内容(图像+文本)的PDF页面中提取图像以仅获取图像,则更为出色。
MuPDF 是一个新的(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.
使用 pdftocairo
从 poppler toolkit
。它可以提取PDF格式的图像并将其转换为任何所需的格式。它总是生成图像,永远不会产生ppm或类似的骰子。以下命令将pdf页面转换为jpg图像:
pdftocairo.exe -jpeg "my.pdf" "my"
你可以从这里获取它的窗口: http://blog.alivate.com.au/poppler-windows/
它也可以在Linux上使用。
http://www.sumnotes.net/ 是一个提取笔记,高亮和图像的在线工具。我在大学里广泛使用它作为我的论文,我真的很满意。
通常我用原始分辨率的'pdfimages'提取嵌入图像,然后使用ImageMagick转换为所需的格式:
$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName # save in .ppm format
$ convert fileName-000.ppm fileName-000.png
这会生成最佳和最小的结果文件。
注意:对于有损JPG嵌入图像,您必须使用-j:
$ pdfimages -j fileName.pdf fileName # save in .jpg format
在很少提供的Win平台上,您必须从以下位置下载最近的(0.37,2015)'poppler-util'二进制文件: http://blog.alivate.com.au/poppler-windows/
更新: 在最近的“poppler-util”0.50+(2016)中,pdfunite有一个选项“-all”来提取无损压缩位图为.png和有损压缩位图为.jpg,所以很简单:
$ pdfimages -all fileName.pdf fileName
始终从PDF中提取最佳质量内容