我需要将 PDF 页面转换为图像。我的文件中有一个带有一些文本的背景图像,当我将其保存为图像时,只有背景图像被保存。
是否有可用的软件可以将整个页面转换为图像?
答案1
您可以使用pdftoppm
该poppler-utils
包将 PDF 转换为 PNG:
pdftoppm input.pdf outputname -png
这将使用 格式输出 PDF 中的每一页outputname-01.png
,并01
以页面索引的形式。
转换 PDF 中的单页或一系列页面
pdftoppm input.pdf outputname -png -f {page} -singlefile
更改{page}
为页码。它的索引为 1,因此-f 1
是第一页。
如果您想要处理一系列页面,您还可以为标志-l
(最后一页)指定一个数字,因此-f 1 -l 30
将指定从 1 到 30 的页面。
再次注意,.png
将自动附加到outputname
,因此无需包含扩展名。此外,-singlefile
删除-01
上面引用的后缀,因为已知输出只有一个文件。
指定转换后图像的分辨率
此命令的默认分辨率为 150 DPI。增加分辨率将导致文件大小更大且细节更多。
要提高转换后的 PDF 的分辨率,请添加选项-rx {resolution}
和-ry {resolution}
。例如:
pdftoppm input.pdf outputname -png -rx 300 -ry 300
答案2
您可以使用 ImageMagick 来实现这一点。请注意,由于安全漏洞正在被利用,较新版本的 ImageMagick 已禁用将 PDF 文件转换为图像的功能。请参阅评论了解更多详细信息和解决方法。
安装
imagemagick
方式点击这里或者运行:sudo apt install 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 页)。所有其他选项(如修剪、灰度等)均可在网站上查看图像魔法。
答案3
据我所知,GIMP 能够使用 PDF,即将其转换为图像。因此,如果您想立即编辑图像 - GIMP 就是您的好帮手。
答案4
如果您的 pdf 是扫描的,那么图像已经作为 pdf 的一部分存储。您只需使用以下命令提取它们pdfimages
:
pdfimages my-file.pdf prefix