You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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来排版:

    1. 第一步,用img2pdf生成单页PDF:
      img2pdf *.png --imgsize 6.3cmx8.8cm --output single_pages.pdf
      
    2. 第二步,用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:给每张图片加个边框(可选,不需要可以去掉)

要是你的图片总数不是8的倍数,最后一页会自动补空白,完全不用手动调整。另外要注意,得先安装对应的工具:比如在Ubuntu这类Debian系系统上,可以用sudo apt install imagemagick pdfjam来安装。

备注:内容来源于stack exchange,提问作者rurickdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:55:29