如何使用img2pdf实现单页多图排版(每页8张图片,2列4行)?
如何使用img2pdf实现单页多图排版(每页8张图片,2列4行)?
哎,我太懂这种明明想要紧凑排版却出不来的郁闷了!其实img2pdf本身没有内置多图排版的功能,它的核心逻辑就是把每张图片单独塞进一页PDF里,所以你现在的命令才会每张图占一页。别慌,给你两个实用的解决办法:
方案一:用ImageMagick的convert命令直接排版转PDF
ImageMagick是处理图片的神器,能直接把多张图片拼成你要的2列4行布局,再输出成PDF。命令如下:convert *.png -resize 6.3x8.8cm! -tile 2x4 -page letter+2cm+2cm cards.pdf简单解释下参数:
-resize 6.3x8.8cm!:强制把所有图片调整到你要的尺寸,!是忽略原图比例强制适配(如果你的图比例本来就匹配,可以去掉!)-tile 2x4:指定排版为2列4行-page letter+2cm+2cm:设置页面为letter尺寸,同时添加2cm的边距
方案二:先转单页PDF再用pdfjam合并排版
如果你更习惯用img2pdf处理图片转PDF的部分,可以先把所有图片转成单页PDF,再用pdfjam来排版:- 第一步,用img2pdf生成单页PDF:
img2pdf *.png --imgsize 6.3cmx8.8cm --output single_pages.pdf - 第二步,用pdfjam把单页PDF拼成2列4行的布局:
pdfjam --nup 2x4 --paper letterpaper --offset '2cm 2cm' --frame true single_pages.pdf --outfile cards.pdf
参数说明:
--nup 2x4:设置每页的行列数(2列4行)--paper letterpaper:指定页面尺寸为letter--offset '2cm 2cm':调整图片和页面边缘的距离(边距)--frame true:给每张图片加个边框(可选,不需要可以去掉)
- 第一步,用img2pdf生成单页PDF:
要是你的图片总数不是8的倍数,最后一页会自动补空白,完全不用手动调整。另外要注意,得先安装对应的工具:比如在Ubuntu这类Debian系系统上,可以用sudo apt install imagemagick pdfjam来安装。
备注:内容来源于stack exchange,提问作者rurickdev
相关产品推荐
相关产品推荐

