如何让Ghostscript对PDF纵向和横向页面分别执行不同边距添加操作
Ghostscript自动适配横竖页加边距解决方案
直接给出完整可用的Windows命令:
gswin64 -o c:\temp\output.pdf -sDEVICE=pdfwrite -dFIXEDMEDIA -dPDFFitPage -c "<</Install { currentpagedevice /PageSize get aload pop gt { % 判定为横向页面 9270 6550 setpagesize 42 30 translate } { % 判定为纵向页面 6550 9270 setpagesize 30 42 translate } ifelse }>> setpagedevice" -f "mysource.pdf"
逻辑说明
- 命令内置了页面方向自动判断逻辑:读取当前页面的宽高数值,宽度大于高度时按横向规则处理,否则按纵向规则处理
- 你需求的纵向页30点宽/42点高边距、横向页边距数值互换、对应A4加倍的页面尺寸已经直接写入逻辑,无需额外调整
- 新增的
-dFIXEDMEDIA和-dPDFFitPage参数用于强制页面适配指定尺寸,避免原PDF的页面参数覆盖设置
自定义调整说明
如果后续需要修改边距数值,只需调整对应分支里的两个参数即可:
- 横向分支修改
42 30 translate的偏移值,同时同步修改9270 6550 setpagesize的页面尺寸,保持纵横比一致 - 纵向分支修改
30 42 translate的偏移值,同时同步修改6550 9270 setpagesize的页面尺寸,保持纵横比一致
内容的提问来源于stack exchange,提问作者finch
相关产品推荐
相关产品推荐

