在开始使用Ubuntu之前,我使用Nitro PDF阅读器自动从PDF文件提取图像。

我希望能够比拍摄快照时更快/更轻松地提取图像。

评论

您还记得NitroPDF对矢量图像的处理能力吗? pdfimages是否可以比NitroPDF更好/更差?

可能会重复使用命令行工具来从pdf批量提取图像吗?

@ funky-future显然,这两个问题是重复的,但您的重复目标只有两个答案,而这两个答案之一是垃圾邮件答案,因此,应将重复的方向反向,以免该问题被假人锤打。

对于在此问题上绊脚石以寻求如何将PDF转换为一堆图像的任何人,此问题与该问题略有不同,但很容易与之混淆,并且相关,请参阅我在这里刚刚添加的答案:askubuntu.com/ a / 1187844/327339。

使用应用程序提取图像不仅更快,更容易,而且更重要的是,它更精确,因为您可以一点一点保留原始图像格式。

#1 楼

使用pdfimages


pdfimages是PDF图像提取工具,可将PDF文件中的图像保存为PPM,PBM,JPEG或JPEG 2000文件格式。

这是poppler-utils软件包的一部分,您需要安装它。

用法:pdfimages [options] <PDF-file> <image-root>


选项-all将提取原始格式的图像。
选项-j将图像提取为.jpg(小凹:图像被转换并且通常比原始尺寸大)。

示例1:以下示例从PDF文件中提取所有图像,并将其保存在原始格式。

pdfimages -all in.pdf /tmp/out


示例2:以下示例从PDF文件中提取所有图像,并将其保存为JPEG格式。

pdfimages -j in.pdf /tmp/out


将从PDF文件in.pdf中保存图像到文件/tmp/out-000.jpg(或/tmp/out-000.pbm;请参见下文),/tmp/out-001.jpg等中。


pdfimages手册页说明:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.


评论


有一个以原始格式提取图像的解决方案会很不错。重新编码JPEG并不是很理想。

–基督徒
2014年1月14日22:26

手册页中的@Christian-全部以其原始格式写入JPEG,JPEG2000,JBIG2和CCITT图像。 CMYK文件被写为TIFF文件。所有其他图像均被写入PNG文件。这等效于指定选项-png -tiff -j -jp2 -jbig2 -ccitt。

–wil93
2014年9月4日下午16:01

请注意-all选项仅在最新的poppler-utils修订版中受支持。例如,如果您仍在12.04上,则将无法访问此选项

–谷氨酸
2014-09-11 13:22



如果您不能使用-all,则使用PNM格式。它们是无损的,您可以对图像进行后处理,例如到PNG。

– Tomasz Gandor
15年7月1日在11:12

@Christian,使用$ pdfimages -list 来检查“ enc”列中的原始格式,因此您不必将图像重新编码为另一种格式。

–乔斯·巴拉卡特(Jose Barakat)
17年5月20日在1:19

#2 楼

我经常为此使用Inkscape。加载页面,然后删除所有其他内容。优点是您可以在SVG中获取矢量图像并根据需要对其进行修改。

评论


某些PDF只能通过Inkscape内部导入正确导入(poppler / cairo导入或pdfimage无法正确解析)。导入后,将图像复制并粘贴到新文件,然后调整页面大小以选择graphicdesign.stackexchange.com/a/21638/95041

–sdaffa23fdsf
17年5月23日在19:32



对我来说没问题,那是最好的解决方案,请注意您必须一次选择一页!

–吉米·奥拉诺(Jimmy Olano)
19-09-19在22:20

#3 楼

您也可以尝试pdfmod。它是一个GUI(图形界面),可以提取图像并进行其他基本的pdf操作。

评论


嗯,对我来说似乎有点马车。插入主要包含紫罗兰色图像的PDF并获得绿色图像。

– DBX12
18年10月10日在16:48

对我来说,它运作良好,最重要的是,它确实保留了图像的原始格式。就像pdfimages一样。

–耶稣的喜爱
20年5月29日在19:59

#4 楼

请注意,此问题专门询问“从PDF提取嵌入的图像”。关键字正在提取!那意味着:我有一个PDF。它内嵌了一些图像;我怎么把它们弄出来!如果这是您的问题,请使用pdfimages作为@ pl1nk状态的主要答案。

如何将PDF转换为一堆图像:

许多人在谷歌搜索和着陆然而,关于这个问题(包括我自己)的问题,正在寻求一个稍有不同的问题,即直到几小时无奈之后才意识到差异。因此,如果您要查找“如何将PDF转换为一堆图像”,而不是与“如何从PDF提取图像”不同,请使用以下方法:使用pdftoppm。 “ PPM”是一种图像格式,因此仅表示“ PDF到图像”。它运行良好,尽管对于现代多核系统来说速度较慢,因为它是单线程应用程序,并且没有利用多核的处理能力。

Ubuntu 18.04随附pdftoppm版本0.62 .0。使用pdftoppm -v检查您的版本:

$ pdftoppm -v
pdftoppm version 0.62.0
Copyright 2005-2017 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC


阅读带有man pdftoppm的手册页,以查看其所有许多有用的功能。

支持的输出图像格式:

如手册页所示,pdftoppm允许您以以下格式输出图像:


PPM(默认)
PNG(带有-png-jpeg)
TIFF(带有-tiff

它还允许您指定单色输出(-mono )或灰度级(-gray)(默认为彩色),以指定页码,将输出图像放置在文件夹中,进行裁剪和调整大小,指定分辨率,指定jpeg质量(0到100之间),指定TIFF压缩,甚至仅处理或奇数页等。它工作得非常好,非常有用!

以下是使用pdftoppm将PDF转换为一堆图像文件的一些示例:



将ppm文件输出为pg-1.ppm,pg-2.ppm,pg-3.ppm等,默认为150 DPI x和y分辨率:

pdftoppm mypdf.pdf pg



与1相同,除了将所有输出文件放在名为images的文件夹中:

mkdir -p images && pdftoppm mypdf.pdf images/pg



[我的收藏夹]将图像输出到“ jpeg格式的“ images”文件夹,分辨率为300 DPI x和y,而不是默认的150 DPI。请注意,输出图像处于某种默认的jpeg压缩级别,对于300 DPI分辨率,并假设使用标准的8.5“ x 11” PDF页面,每个文件将占用大约0.1〜1 MB的空间。

mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg



将图像以300 DPI x和y分辨率以jpeg格式输出到jpeg格式的“ images”文件夹中,并尽可能达到最高质量jpeg! quality值的范围可以从0到100。请参见手册页。质量设置为100且分辨率设置为300 DPI时,每个jpeg文件的存储量应为上述的2倍,大小在〜0.​​2〜2MB之间,具体取决于内容,并假定使用8.5“ x 11” PDF页面。 br />
mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg



以** 300 DPI x和y分辨率输出未压缩的.tif *图像。对于300 DPI和8.5“ x 11” PDF页面,输出文件大小约为25 MB。

mkdir -p images && pdftoppm -tiff -r 300 mypdf.pdf images/pg



请注意,以300 DPI的分辨率输出上述每个页面例如,对于300张DPI jpeg图像,在我运行缓慢的计算机上需要15〜45秒,这意味着100 pg PDF可能需要100 x 45/60 = 75分钟左右的时间。

该过程在您的计算机上需要花费多长时间,只需将time命令放在上述任何命令的pdftoppm部分前面即可。例如:这是转换具有3页的PDF的输出:

$ mkdir -p images && time pdftoppm -tiff -r 300 testpdf.pdf images/pg

real    1m47.572s
user    1m45.675s
sys 0m1.536s


,这意味着实际总时钟时间为1m47.572s,即60 + 〜48 = 108秒,即每页108/3 = 36秒。

相关的内容:


[如何将PDF转换为可搜索的PDF w / pdf2searchablepdf]如何将pdf转换为可文本搜索的pdf?

如何将pdf转换为可文本搜索的pdf?
如何将PDF转换为图像?
https://stackoverflow.com/questions/6605006/convert-pdf-to-image-with-high- resolution / 58795684#58795684
https://www.linuxuprising.com/2019/03/how-to-convert-pdf-to-image-png-jpeg.html
如何以编程方式确定PDF文件中的图像?


评论


这是一个很好的答案,但它回答的是另一个问题。我建议改为找一个问您正在回答的问题的人,并将此信息发布为答案。

– Alex
20 Mar 9 '20 at 13:28

那是我最初想要做的,但是每次我用谷歌搜索要回答的问题时,如果我没记错的话,这个问题就会首先出现。因此,我想我还是应该在这里回答这个问题,无论如何Google都会派人去那里。也许我应该再次谷歌并移动它。不确定移动它是否值得。

–加百利·斯台普斯
20 Mar 9 '20在15:24



请参阅我的答案顶部的第二段。那是我当时的理由。

–加百利·斯台普斯
20 Mar 9 '20在15:30

当然,我看到了。并不意味着您不能将其张贴在所属位置。

– Alex
20 Mar 9 '20 at 16:03

#5 楼

我有一个双列PDF文件,其中包含用LaTeX创建的嵌入图像,其中原始图像作为EPS提供。我尝试了基于pdfimages提出的解决方案,但不幸的是,它没有返回任何图像。后来我尝试使用Inkscape,但是生成的SVG图像却失真了,也没有运气将它们导出为EPS。

对我们有用的软件是MasterPdfEditor。

以下是步骤


使用Master PDF Editor打开文件
使用编辑工具(Alt + 1)选择所需的图像提取
复制图形(Ctrl + C)
单击图像周围的虚线框,然后检出右侧栏(对象检查器),然后单击“ Geomerty”。您可以在其中看到所选内容的大小
创建一个新文件(Ctrl + N)。它将提示您提供页面大小。提供图像的确切大小并创建新文件
现在有点棘手:粘贴图像(Ctrl + V)。该图像可能不会显示在新文件中。使用箭头将其移动,直到可以对其进行跟踪。
使用箭头将图像居中在新页面中
另存为PDF

结果非常好质量,但该软件不是免费的。有一个演示版,“允许您尝试所有功能”,但附带“在输出文件上添加水印”。坦率地说,我在生成的PDF中没有发现任何水印。

评论


这是Ask Ubuntu ...我们在这里喜欢开源,您的解决方案是一种开源商业解决方案。 (平均时间为-1)

–法比
16年4月14日在10:06

@Fabby谢谢您的反馈。我不知道askubuntu.com上有这样的规定吗?但是,一旦打开Ubuntu软件中心,就会获得有关非免费应用程序的建议。

– Pantelis Sopasakis
16年4月15日在18:35

不,没有“规则”,这就是为什么我没有投票删除该答案的原因,但是有更好的免费工具(例如免费啤酒和言论自由),这只是一种意见。

–法比
16年4月16日在7:15

+1。我使用过ImageMagick命令行,但这对于寻找GUI的人来说是一个有趣的解决方案。

– rpmcruz
16年7月18日在16:41

它对某些人有效,足够了。不要成为纳粹...。我不知道“我们”是谁。你可以只为自己说话。 +1为答案

–sdaffa23fdsf
17年5月23日在18:57



#6 楼

如果您需要的是裁切成pdf / eps格式的图像,请使用pdfmod(根据“待办事项”的建议)提取包含图像的页面。反复试验:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf


#7 楼

使用pdfimages时,提取的图像可能分为两个或更多部分。将它们重新组合在一起而无需担心提取格式的一种简单方法是将零件导入LibreOffice Draw中,通过图像裁剪对话框进行裁剪,放置零件,调整页面大小并以您喜欢的任何格式导出。

#8 楼

如果要使用pdfviewer从pdf裁剪图像,可以尝试okular。它可以裁剪png或jpeg格式的任何内容(文本或图像)。如果要从pdf中提取png格式的图像,则可以使用pdftohtml用最少的命令来完成。它将pdf转换为html加图像。在这里您可以找到一个示例-https://www.youtube.com/watch?v=CG1rf7k3xo8。如果要从pdf提取很多图像,建议您尝试一下。

#9 楼

使用的软件:Xreader
操作系统:Antergos

步骤:


打开PDF
右键单击图像
选择保存图像As ..
输入文件名和扩展名。
保存。


#10 楼

我使用pdfimages这是一个命令行工具,对我来说非常有用。它非常易于使用,您可以使用--help选项来了解有关其用法的更多信息。我使用Ubuntu,并且已预装。如果您的pdf文件已加密或受密码保护,则可以使用其他选项,因此此工具非常有用。您可以在此处阅读有关pdfimages的更多信息

评论


在发布您的答案之前,请阅读其他答案。请注意,还有其他涵盖了这一点。

– edwin
13年7月24日在2:02



好的,很抱歉:)我想发布我的信息,因为它具有有关受密码保护的pdf文件的一些信息,并且我解释说该工具具有此选项,另外我还发布了一个链接,该链接是有关此工具的教程。

–正磷酸盐
13年7月24日在2:37

如果您获得足够的声誉,则可以评论他人的答案或对其进行投票。

– edwin
13年7月24日在4:28