Ghostscript PS转PDF:如何保留页面方向避免内容截断?
解决Ghostscript转换PS到PDF时横向页面被强制转为纵向的问题
这个问题在Ghostscript 9.18版本里挺常见的——默认情况下,pdfwrite设备会自动调整页面方向或者强制使用默认的纵向页面尺寸,导致你的横向页面内容被截断。下面是具体的解决方案:
核心修复命令
直接修改你的Ghostscript命令,添加两个关键参数来保留原文档的页面方向和尺寸:
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dAutoRotatePages=/None -dFIXEDMEDIA -sOutputFile=./test.pdf test.ps
参数解释
-dAutoRotatePages=/None:禁用pdfwrite的自动页面旋转功能。默认情况下,这个参数会根据内容方向自动旋转页面,这就是你的横向页被转成纵向的原因。设置为/None后,Ghostscript会严格遵循原PS文档里的页面方向设置。-dFIXEDMEDIA:强制Ghostscript使用PS文件中定义的原始页面尺寸,而不是替换成默认的纵向尺寸(比如Letter或A4纵向)。这样就能保证横向页面的宽度和高度完全匹配原文档,不会出现内容截断。
额外排查点
如果用了上面的命令还是有问题,可能是你的PS文件本身的页面定义有小问题:
- 有些PS文件的横向效果是通过旋转内容而非设置页面尺寸实现的,这种情况可以尝试加上
-dPDFFitPage参数(但这会缩放内容以适应页面,如果你需要保留原尺寸的话不推荐)。 - 确认你的PS文件里确实正确定义了横向页面的媒体框(MediaBox),如果PS本身的页面尺寸定义错误,Ghostscript也没法正确识别。
内容的提问来源于stack exchange,提问作者Romu
相关产品推荐
相关产品推荐

