图像魔术:ImageMagick轻松转换PDF和图片

ImageMagick 是一套开源的图像处理工具,主要用于命令行和其他图形软件后台调用,其功能非常强大。当然,对于 Linux 桌面用户而言,尤其是新手朋友,可能对命令行望而生畏。其实,只要掌握 ImageMagick 最常用、也是最简单的两条命令就可以了。

薄荷君本文主要介绍的是如何使用 ImageMagick 工具中的命令把 JPG、PNG 等图片转换为一个连续页面的 PDF 文档,以及如何使用 ImageMagick 工具中的命令将 PDF 文档转换成单独的多张图片。

其实 Ubuntu 及其衍生版(LinuxMint/PopOS/ZorinOS 等)中一般均预装了 ImageMagick,可以直接使用。如果没有安装的,请在终端中使用如下命令安装:
sudo apt install imagemagick

PART A:图片合并为 PDF
在图片所在的文件夹中打开终端,使用如下命令,将多张图片连续地整合成一个 PDF 文档(1.pdf,输出文档名可以自己设置)。注意:默认情况下是按照图片文件名排序进行合并,同时最好是同样大小的图片,这样输出的 PDF 更美观。
将当前文件夹下所有 JPG 图片合并为一个 PDF 文档:convert *.jpg 1.pdf
将当前文件夹下指定的图片合并为一个 PDF 文档:conert 01.jpg 02.png 1.pdf

可能有些发行版在使用 ImageMagick 工具的 convert 命令时会出现没有权限的错误,如图所示。

这时候需要使用如下命令修改一下 ImageMagick 的配置文件:
sudo gedit /etc/ImageMagick-6/policy.xml

将 PDF 那一行权限中的 none 修改为 read|write,同时在该行下面增加一行:
<policy domain="coder" rights="read|write" pattern="LABEL" />

保存后,再次使用 convert 命令就没问题了。

PART B:PDF 分解为图片
如果要将一个 PDF 文档分解为多张单独的图片,也是非常简单,只要反用 convert 命令就行了:
convert 1.pdf 11.jpg

但是这样分解出来的图片分辨率很低,基本上没啥价值。因此,我们需要为命令添加 2 个参数,让分解输出的图片质量更好。
convert -density 300 -trim 1.pdf -quality 95 11.jpg

density:设定 DPI
trim:修剪边缘
quality:设定输出图片质量

注意:
1.对于分辨率很高的图片,建议先用 gThumb 或 Pix 批量调低后再合并,以控制 PDF 文档大小。
2.如果 convert 合并大量图片时出错,推荐使用 graphicsmagick。graphicsmagick 是源于 ImageMagick 的一个同类工具,用法非常相似。
安装:sudo apt install graphicsmagick
合并:gm convert 1.jpg 1.pdf

小结:对于批量处理图片和合并图片为 PDF 文档,使用 gThumb+ImageMagick 是非常高效的,强烈推荐有需要的朋友使用!

作者: 专注刑事辩护和科技企业风控的胡久辉律师 18817109985

本文链接: 图像魔术:ImageMagick轻松转换PDF和图片