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

求助:如何通过GhostScript或系统预装命令将两个A5 PDF合并为单页A4横向PDF以制作缝纫小册子

求助:如何通过GhostScript或系统预装命令将两个A5 PDF合并为单页A4横向PDF以制作缝纫小册子

嘿Claudio,太懂这种折腾小册子排版的烦躁了——本来搞页码顺序就够费神,还要装一堆陌生工具确实闹心。其实只用GhostScript就能搞定把两个A5页面合并成横向A4单页的需求,你之前的命令只是参数细节没调对而已!

先给你修正后的可行命令,我再解释下问题出在哪:

你之前的GhostScript命令里,PageOffset的单位错了!GhostScript的-g参数用的是1/10点(比如-g8420x5950对应横向A4的尺寸),但setpagedevice里的PageOffset是按整点数算的,所以右边页面的偏移量应该是4210(A4宽度的一半,8420/2),而不是421——这就是为什么两个页面被打到不同页的原因!

正确的GhostScript命令

gs -o combined-a4.pdf -sDEVICE=pdfwrite -g8420x5950 -c "<</PageOffset[0 0]>> setpagedevice" -f left-a5.pdf -c "<</PageOffset[4210 0]>> setpagedevice" -f right-a5.pdf

我给你拆解下关键参数:

  • -g8420x5950:指定输出页面为横向A4(8420对应297mm宽度,5950对应210mm高度,单位是1/10点)
  • <</PageOffset[0 0]>>:把左侧A5页面放在A4的左半部分
  • <</PageOffset[4210 0]>>:把右侧A5页面偏移到A4的右半部分(正好是宽度的一半)
  • -dPDFFitPage(可选):如果担心A5页面尺寸有偏差,可以加上这个参数,确保页面完全适配偏移区域:
gs -o combined-a4.pdf -sDEVICE=pdfwrite -g8420x5950 -dPDFFitPage -c "<</PageOffset[0 0]>> setpagedevice" -f left-a5.pdf -c "<</PageOffset[4210 0]>> setpagedevice" -f right-a5.pdf

系统预装工具的替代方案

如果你的Slackware默认装了ImageMagick,用montage会更直观:

montage left-a5.pdf right-a5.pdf -geometry 100% -page A4 -orientation landscape combined-a4.pdf

这个命令直接把两个A5页面并排放在横向A4上,-geometry 100%保持原尺寸,不用纠结偏移量。

适配你的小册子工作流

你可以把这个合并逻辑整合到现有bash脚本里:先按小册子需要的页码顺序生成单页A5 PDF,然后每两个一组用上面的GS命令合并成A4横向页,最后用pdfunite把所有A4页拼成最终的小册子PDF——这样打印时直接选打印机的“小册子”模式就能自动完成双面排版了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 09:54:40