ImageMagick:将多个 PNG 图像裁剪并合并为单个 PDF 时,页面会移出视图

ImageMagick: when cropping and merging multiple PNG images into a single PDF, pages are shifted out of view

我有多个屏幕截图,保存为 PNG,我想将其批量裁剪并合并为一个 PDF。给定所需的偏移量和大小,裁剪就足够简单了:

mogrify screenshot01.png -crop 123x456+42+42

这会从屏幕截图中裁剪出一张 123×456 像素的图像,其左上角距离顶部和左侧边缘均为 42 像素,并覆盖现有文件。 (注意:如果您不想覆盖原来的内容,请使用 convert 而不是 mogrify。)

然后,将屏幕截图合并为一个 PDF 应该也很容易:

convert screenshot*.png merged.pdf

...但是,这会导致文件的所有页面都稍微移出视图。为什么会发生这种情况,我应该如何预防?

裁剪图像时,偏移量(示例中的 +42+42)存储在生成的 PNG 文件中:

$ identify screenshot01.png
screenshot01.png PNG 123x456+42+42 DirectClass 8-bit 42.4Ki 0.000u 0m:0.000007s

然后,在合并时,ImageMagick 会遵守此偏移量。打开文件时,gimp也会报告偏移量,询问您是否应用它;不过,gThumb 等其他应用程序会默默地忽略它。

要删除偏移量,请在裁剪时使用 +repage 选项...

mogrify screenshot01.png -crop 123x456+42+42 +repage

...或合并时:

convert +repage screenshot*.png merged.pdf