创建PDF,其中每个页面都是图像和SVG文件的合并



我有一系列图像1.jpg、2.jpg、…、10.jpg和一系列svg 1.svg、2.svg、…、10.9vg。是否可以将它们转换为单个PDF文档,其中第I页是I.svg在I.jpg上的组合?也就是说,我想把I.svg放在I.jpg之上,作为文档中的第I页。

我知道pdfTk有时对这类任务有帮助,但我想不出实现这一点的方法。我还尝试了ImageMagick,使用以下命令:

composite -compose atop -geometry "20%+10%" -gravity southwest "1.svg" "2.jpg" "output.pdf"

但是输出失真。

您应该能够在Imagemagik中使用以下的-layers复合来实现这一点

convert -density XX *.svg null: *.jpg -compose atop -layers composite result.pdf

您可以将*.svg替换为svg文件列表,将*.jpg替换为jpg文件列表。通配符*将按字母顺序将它们全部放在当前目录中。null:分隔符对于-layers组合非常重要。设置SVG所需的密度以控制光栅化SVG文件的大小。

您可以在顶部合成之前添加几何体,但它不能以百分比为单位工作。您需要将其计算为像素。如果你需要每个图像偏移相同的百分比,那么你需要使用Imagemagik 7,这样你就可以进行

magick -density XX *.svg null: *.jpg -geometry "+%[fx:20*w/100]+%[fx:10*h/100]" -compose atop -layers composite result.pdf

不幸的是,Imagemagik 6不支持该功能。

最新更新