将多个 GraphicsMagick (ImageMagick) 命令合并为一个

将多个 GraphicsMagick (ImageMagick) 命令合并为一个

很多时候,我收到单页 PDF,想将其转换为 JPEG 并剪掉多余的空白。

以下是我目前拥有的一组可以完成我想要的操作的命令:

gm convert -density 300 -trim INPUT.PDF TMP.PNG
gm convert -bordercolor white -border 10 TMP.PNG OUTPUT.JPG
rm TMP.PNG

我试图弄清楚如何将这些命令压缩为单个命令,并避免创建临时 TMP.PNG 进行处理。

这是我当前尝试合并上述命令的尝试:

gm convert INPUT.PDF -density 300 -trim -bordercolor white -border 10 OUTPUT.JPG

我对这个命令的问题是它生成了非常模糊的 JPEG。下面的第一张图片(左侧)是我的单命令尝试生成的不良结果的示例。第二张图片(右侧)是我正在寻找的清晰、高质量结果的示例,我目前必须使用多个命令才能实现。合并帖子开头的命令的正确方法是什么?

单命令解决方案生成的图像样本 多命令解决方案生成的图像样本

答案1

关于 ImageMagick,我通过惨痛的经历学到的为数不多的一件事之一是,参数的顺序至关重要。特别是,您提供一个输入 pdf 文件,然后建议将其转换为图像时使用的密度,而您需要在读取 pdf 之前设置密度。只需反转这两项,您应该会发现与以前相同的输出分辨率:

gm convert -density 300 INPUT.PDF -trim -bordercolor white -border 10 OUTPUT.JPG

相关内容