使用pdfcpu实现保留原页面尺寸的PDF两页合并对页排版需求咨询
你好,我来帮你搞定这个用pdfcpu做对页拼接还保留原尺寸的需求!
首先得明确你的核心诉求:把原尺寸4.85×7.85英寸的PDF页面,两两横向拼成对页,输出的对页尺寸必须是9.7×7.85英寸,不能被强制改成A4这类固定尺寸对吧?结合开发者提到的orientation和enforce参数,我给你几个具体的尝试方案,你可以挨个试试:
第一步先确认原页面的准确尺寸,避免后续参数设置出错,执行这个命令:
pdfcpu info input.pdf输出里能看到每页的宽高,确保是4.85英寸宽、7.85英寸高,这样两页横向拼起来就是9.7×7.85英寸的对页。
方案一:关闭强制尺寸,让pdfcpu自动计算拼接后的尺寸
这个方案是核心,把enforce设为false,就是告诉pdfcpu不要强制用固定的纸张尺寸,自动适配内容的实际尺寸,再加上禁止自动旋转页面避免方向混乱:pdfcpu nup -- "enforce:false, noAutoRotate:true" output.pdf 2 input.pdf方案二:明确指定拼接后的目标尺寸,强制应用
如果方案一没达到预期,你可以直接把拼接后的对页尺寸写进参数里,同时强制启用这个尺寸,结合方向参数:pdfcpu nup -- "formsize:9.7x7.85in, orientation:landscape, enforce:true" output.pdf 2 input.pdf方案三:调整方向参数配合无强制尺寸
有些时候页面方向的默认处理会干扰尺寸,你可以指定拼接后的方向为横向,同时不强制固定尺寸:pdfcpu nup -- "orientation:landscape, enforce:false" output.pdf 2 input.pdf
如果还是有问题,你可以用pdfcpu nup --help再仔细核对下参数的说明,重点关注enforce(是否强制使用指定纸张尺寸)、orientation(拼接后页面的方向)、noAutoRotate(禁止自动旋转源页面)这几个参数的组合。另外如果拼接后出现多余边距,还可以加上margin:0参数,确保没有额外边距占用尺寸空间。
备注:内容来源于stack exchange,提问作者jsx97

