Ghostscript打印PDF无法保留页面方向的问题求助
解决Ghostscript打印混排方向PDF时强制纵向的问题
我太懂你这种 frustration 了——明明Adobe Reader能完美识别PDF里的横竖页面,换成Ghostscript就全部打成纵向,试过网上的方案还没用,确实闹心。咱们来一步步调整参数解决这个问题:
核心问题分析
你的PDF本身没问题(Adobe能正常打印就是证明),问题出在Ghostscript的mswinpr2打印设备默认可能忽略了PDF页面的旋转属性(Rotate),或者强制使用了打印机的默认纵向纸张设置。
解决方案:调整Ghostscript参数
试试在你的命令里添加两个关键参数,让Ghostscript逐页识别页面方向并适配:
gswin64c.exe -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -dAutoRotatePages=/PageByPage -dFIXEDMEDIA -sDEVICE=mswinpr2 -sOutputFile="%printer%HP Officejet 4500 G510g-m" "myFile.pdf"
参数解释:
-dAutoRotatePages=/PageByPage:告诉Ghostscript不要统一处理所有页面,而是逐页检查PDF的旋转属性,自动调整打印方向匹配页面本身的横竖设置-dFIXEDMEDIA:强制Ghostscript使用PDF页面定义的媒体尺寸,而不是硬套打印机的默认纵向纸张尺寸
如果上面的命令还是没效果,再加上-dPDFFitPage参数(确保页面内容适配纸张尺寸,同时保留方向):
gswin64c.exe -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -dAutoRotatePages=/PageByPage -dFIXEDMEDIA -dPDFFitPage -sDEVICE=mswinpr2 -sOutputFile="%printer%HP Officejet 4500 G510g-m" "myFile.pdf"
终极排查:升级Ghostscript版本
如果参数调整后依然无效,大概率是你用的Ghostscript版本存在mswinpr2设备的旋转处理bug。建议去官网下载最新的稳定版(比如10.x系列),替换旧版本后再试上面的命令,很多这类方向识别问题在新版本里都被修复了。
内容的提问来源于stack exchange,提问作者Sarah Sh
相关产品推荐
相关产品推荐

