我从github上扯了一堆png,看起来有点像这样:
所有宽度均为912,但高度各不相同。
我正在尝试将它们全部转换为可读的A4 pdf,使用:
convert -page A4 *.png -format pdf file.pdf
我可以将它们全部放入pdf中,但无法得到结果:
如何将它们放在页面顶部(居中,或左边对齐一点边距),以及分割它们的奖励积分?
答案 0 :(得分:3)
ImageMagick将图片添加到左下角的PDF中。可以设置偏移量以将其推到页面顶部。以下是您修改的代码以使用示例png:
convert -page A4+0+593 example.png -format pdf file.pdf
但是,垂直偏移(此处为593px)需要与每个png的高度相关。您可以找到文件的高度(使用identify xyz.png
)并从842(A4 PDF的高度)中减去它。这将为每个文件提供必要的垂直偏移量。
你的复杂性是你的png是912px宽,A4 pdf只有595px宽,所以你的png按比例减少以适应。您可以使用ImageMagick将图像按比例缩小到595px宽(使用convert example.png -resize 595x595 reducedExample.png
)。然后找到缩小的png的新高度,从842减去该值,并使用该数字作为偏移量。
这可以帮助您解决第二个问题。一旦你确定了缩小的png的高度,你就会知道它对于一个页面来说是否太高了。任何高于842px(或更低,如果包含边距)的东西都需要使用-chop
运算符进行切割以适合页面(有关详细信息,请参阅ImageMagick Usage manual)。
答案 1 :(得分:1)
而不是计算你可以使用-gravity参数。我建议" -gravity north"将图像粘贴到顶部边缘或" - 重心中心"把它们集中起来。结果取决于图像是否适合页面。如果它们的大小都相同,它应该可以工作。
因此,如果您在所有png:s的文件夹中,我将执行以下操作: convert -gravity north -page A4 * .png -format pdf output.pdf