1. Inkscape
Inkscape 作为一款强大的矢量设计软件,也能用来将 PDF 文件转为图片,主要用于在转换为图片时对原 PDF 页面进行一定调整。
【注】Inkscape 有个缺点,即每次只能处理一个 PDF 页面,不能同时将整个 PDF 文档导入 Inkscape。
1.1 GUI 操作
Inkscape 可以直接打开 PDF 的页面进行操作,然后可以导出成各种格式的图片。有关 Inkscape GUI 操作教程可以参见官方资料以及 Youtube 视频教程。
1.2 终端操作
1
|
inkscape --export-type="svg" --export-filename="output" --pdf-page=1 input.pdf # 指定 PDF 页面导出 svg 图片
|
其中,如果 --pdf-page
参数未指定,则默认处理 PDF 首页。inkscape
命令还可以指定导出图片的长宽等参数,详细参数参见官方文档。
2. Ghostscript
Ghostscript 是一款 PDF 文件和 PostScript 编程语言之间的转换器,安装了 Ghostscript 的 Linux 发行版都会有 gs
命令。gs
命令可以用来操作图片和 PDF 文件之间的转换,使用 gs
命令将整个 PDF 转为一系列图片的命令如下:
1
|
gs -sDEVICE=pngalpha -o output-%03d.png input.pdf # 转换为 png 图片
|
其中,-sDEVICE
参数指定了转换引擎,Ghostscript 提供了很多转换引擎,更详细的参数参见 gs -h
。
【注】Ghostscript 并没有提供 PDF 文件和 svg 图片之间的转换引擎,因此 gs
命令不支持将 PDF 文件转为 svg 图片。
3. Xpdf
Xpdf 是一款 PDF 阅读器,但它也带有 pdftopng
工具,因此可以使用该工具来将 PDF 转为 png 图片:
1
|
pdftopng -alpha -f <sn> -l <en> intput.pdf output
|
其中,-alpha
表明输出的 png 图片具有 Alpha 通道,-f
选项后接起始页号 <sn>
,-l
选项后接终止页号 <en>
。最终输出的 png 图片名会在 output
自动接上数字序号。
4. Poppler
Poppler 是一个基于 Xpdf 的 PDF 渲染库,如果你的 Linux 发行版上没有该命令,需要安装 poppler-utils(Debian 系)或 poppler(Arch 系)软件。它提供了 pdftoppm
工具用于将 PDF 转换为图片:
1
|
pdftoppm -png -f <sn> -l <en> input.pdf output # 转换为 png 图片
|
其中,-f
和 -l
参数和上文 pdftopng
的含义一致,output
为输出的图片文件前缀。
【注】pdftoppm
工具转换成的 png 图片没有 Alpha 通道。