如何将PDF转换为图像?
我要求将PDF页面转换为图像。 有一个背景图像写有一些文字,所以当我将其保存为图像时,只保存背景图像。
有没有可用的软件,以便完整的页面可以转换为图像?
-
安装imagemagick 。
-
使用PDF所在的终端:
-
完整文件:
convert -density 150 input.pdf -quality 90 output.png
-
对于单个页面:
convert -density 150 input.pdf[666] -quality 90 output.png
-
因此:
-
可以选择PNG,JPG或(虚拟)任何其他图像格式。
-
-density xxx
将DPI设置为xxx
(常见的是150和300)。 -
-quality xxx
将压缩设置为xxx
用于PNG,JPG和MIFF文件格式(100表示不压缩)。 -
[666]
将仅将第667页转换为PNG(从零开始编号,因此[0]
是第1页)。 -
所有其他选项(如修剪,灰度等)都可以在Image Magic的网站上查看 。
您可以使用pdftoppm
将PDF转换为PNG:
pdftoppm input.pdf outputname -png
这将使用outputname-01.png
格式输出PDF中的每个页面, 01
表示页面的索引。
转换PDF的单页
pdftoppm input.pdf outputname -png -f {page} -singlefile
将{page}
更改为页码。 它的索引为1,所以-f 1
将是第一页。
指定转换后图像的分辨率
此命令的默认分辨率为150 DPI。 增加它将导致更大的文件大小和更多细节。
要提高已转换PDF的分辨率,请添加选项-rx {resolution}
和-ry {resolution}
。 例如:
pdftoppm input.pdf outputname -png -rx 300 -ry 300
IIRC GIMP能够使用PDF,即将它们转换为图像。 因此,如果您想立即编辑图像 – GIMP是您的朋友。
目前接受的答案可以完成这项工作,但会产生更大的输出并且会受到质量损失的影响。
这里给出的答案中的方法产生的输出在尺寸上与输入相当,并且不会遭受质量损失。
TLDR – 使用pdfimages
: pdfimages -j input.pdf output
引用链接的答案:
目前尚不清楚“质量损失”是什么意思。 这可能意味着很多不同的事情。 你能发一些样品来说明吗? 也许从劣质和优质版本中切出相同的部分(作为PNG以避免进一步的质量损失)。
也许你需要使用
-density
以更高的dpi进行转换:convert -density 300 file.pdf page_%04d.jpg
(如果需要,你可以预先安装
-units PixelsPerInch
或-units PixelsPerCentimeter
。我的副本默认为ppi。)更新:正如您所指出的,
gscan2pdf
(您使用它的方式)只是pdfimages
的包装器(来自poppler )。 当给定PDF作为输入时,pdfimages
不会执行与convert
相同的操作。
convert
获取PDF,以某种分辨率呈现它,并使用生成的位图作为源图像。
pdfimages
通过PDF查看嵌入的位图图像,并将每个图像导出到文件中。 它只是忽略PDF中的任何文本或矢量绘图命令。因此,如果您拥有的PDF只是一系列位图的包装器,
pdfimages
可以更好地提取它们,因为它可以获得原始大小的原始数据。 您可能还想对pdfimages
使用-j
选项,因为PDF可以包含原始JPEG数据。 默认情况下,pdfimages
将所有内容转换为PNM格式,转换JPEG> PPM> JPEG是一个有损的过程。所以,试试吧
pdfimages -j file.pdf page
您可能需要或不需要使用
convert
为.jpg
步骤(取决于PDF使用的位图格式)。我在PDF上尝试了这个命令,这是我从一系列JPEG图像中创建的。 提取的JPEG与源图像的字节逐字节相同。 你不可能获得更高的质量。
如果扫描了pdf,则图像已作为pdf的一部分存储。 你只需要用pdfimages
提取它们:
pdfimages my-file.pdf prefix
要从gm convert获取单个页面,请将[N](N页面编号从0开始)添加到PDF名称,即gm convert foo.pdf[11] out.png
以从PDF获取第12页。
对于pdftoppm
使用-f N -singlefile
,其中N是从1开始的页码,即pdftoppm -f 12 -singlefile foo.pdf out
得到相同的结果。 它似乎总是在输出文件名中添加“.png”,并且无法阻止它。
您可以使用转换并使用-density
选项指定更高的密度。
例如。 convert -d 300 foo.pdf bar.png
如果您只想将PDF的特定页面转换为PNG,您可以管道pdftk
进行convert
( 如上所述 ),如下所示:
pdftk document.pdf cat 12 output - | convert - document-page-12.png
Master PDF Editor(版本2.2)有此选项可用。打开PDF文件,然后转到文件>导出到>图像。 它会显示一个对话框,您可以在其中为输出定义不同的选项。 非常有用。 希望此信息有所帮助。
PDF Mod还允许导出PDF文件的所有页面或单个页面的图像。
- 在PDF Mod中打开PDF文件
- 选择页面 –
- 编辑>导出图像