如何创建一个 bash 脚本来从 pdf 文件创建图像,然后将所有 *.png 图像裁剪为 1920x1080(使用 mogrify)?

如何创建一个 bash 脚本来从 pdf 文件创建图像,然后将所有 *.png 图像裁剪为 1920x1080(使用 mogrify)?

我想创建一个可以从任何地方执行的 bash 脚本,它执行以下操作:

  1. 它使用以下方法从 pdf 文件创建图像pdftoppm

    pdftoppm 文件输入.pdf -png img -r 305.3

在所有 png 图像都存在之后。

  1. 它使用以下方法裁剪所有 png 图像 10 1920x1080 mogrify

    mogrify -裁剪 1920x1080+2+2 *.png


简而言之,我想创建一个执行以下命令的 bash 脚本:

pdftoppm inputfile.pdf -png img -r 305.3 && mogrify -crop 1920x1080+2+2 *.png 

它会是这样的:

  ./mybashscript inputfile.pdf

运行脚本后,输出的 png 图像将被裁剪为 1920x1080。


注意:我知道我可以通过更改 pdftoppm 中的 -r 值来设置输出图像的尺寸。但由于某种原因,我不想改变它。

答案1

您可能希望将这些任务分开,先完成任务 1(从 pdf 创建图像文件),然后完成任务 2(调整图像大小)。有关如何循环和调整图像大小的示例,请参阅https://stackoverflow.com/questions/14304480/batch-resize-images-and-output-images-to-new-folder-with-imagemagick

更新:我还没有使用过pdftoppm,所以你必须自己完善脚本的这一部分,但看起来你可能已经掌握了这一部分。以下是一些起始代码:

pdftoppm $1 -png img -r 305.3
magick mogrify -resize 1920x1080 *.png

更多信息向脚本传递参数。然后确保保存并将此脚本放入您的 PATH 中,以便您可以从任何地方执行它。请注意,更强大的脚本会进行错误检查(例如,确保您传入了输入文件)。

相关内容