Pdf 将-c选项添加到Ghostscript命令时,打印机弹出窗口会出现,即使它已被抑制

Pdf 将-c选项添加到Ghostscript命令时,打印机弹出窗口会出现,即使它已被抑制,pdf,ghostscript,postscript,Pdf,Ghostscript,Postscript,考虑以下在windows上从命令行调用的ghostscript命令 "C:\Program Files\gs\gs9.23\bin\gswin64c.exe" -sDEVICE=mswinpr2 -dORIENT1=false -dNOPROMPT -dNOPAUSE -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dFIXEDMEDIA -dDEVICEWIDTHPOINTS=398 -dDEVICEHEIGHTPOINTS=157 -dNOPAGEPRO

考虑以下在windows上从命令行调用的ghostscript命令

"C:\Program Files\gs\gs9.23\bin\gswin64c.exe" -sDEVICE=mswinpr2  -dORIENT1=false -dNOPROMPT -dNOPAUSE -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dFIXEDMEDIA -dDEVICEWIDTHPOINTS=398 -dDEVICEHEIGHTPOINTS=157 -dNOPAGEPROMPT -dQUIET -dNumCopies=1 -sOutputFile="\\spool\BWLAB05" "c:\print\download\133679.pdf"
这个命令非常有效。打印出来时没有弹出框。现在我添加以下内容

-c "<</Orientation 2>>setpagedevice"
-c“设置页面设备”
按上面的命令进行

"C:\Program Files\gs\gs9.23\bin\gswin64c.exe" -sDEVICE=mswinpr2 -c "<</Orientation 2>>setpagedevice" -c "quit"  -dORIENT1=false -dNOPROMPT -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dFIXEDMEDIA -dDEVICEWIDTHPOINTS=398 -dDEVICEHEIGHTPOINTS=157 -dNumCopies=1 -sOutputFile="\\spool\BWLAB05" "c:\print\download\133679.pdf"
“C:\Program Files\gs\gs9.23\bin\gswin64c.exe”-sDEVICE=mswinpr2-C“setpagedevice”-C“quit”-dORIENT1=false-dNOPROMPT-dPrinted-dBATCH-dNOPAUSE-dNOSAFER-q-dfexedmedia-dDEVICEWIDTHPOINTS=398-ddeviceheighttpoints=157-dNumCopies=1-soutfile=“\\spool\BWLAB05”C:\print\download\133679.pdf”

此时将显示“打印”窗口。我没有改变命令的其他部分。是什么导致了这种情况?如何停止显示打印窗口?

操作数到重影脚本的顺序很重要。特别是在使用
-c
开关时,它引入了要执行的PostScript

实际上,您在这里运行两个命令:

-sDEVICE=mswinpr2 -c "<</Orientation 2>>setpagedevice" -c "quit"  

-dORIENT1=false -dNOPROMPT -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dFIXEDMEDIA -dDEVICEWIDTHPOINTS=398 -dDEVICEHEIGHTPOINTS=157 -dNumCopies=1 -sOutputFile="\\spool\BWLAB05" "c:\print\download\133679.pdf"
这样会更好。注意,初始命令行有一个重复的NOPAUSE,并指定NOPROMPT和NOPAGEPROMPT(如果设置了NOPROMPT,则不需要NOPAGEPROMPT,如果设置了NOPAUSE,则两者都不需要)

最后,我敦促您不要使用
-dNOSAFER
,虽然它目前没有任何效果(因为这是默认设置),但我们很快会使默认设置更安全,并且设置
-dNOSAFER
将大大降低您运行文件时的安全性

您现在应该真正使用
-dSAFER
。有许多CVE反对这一点,目前正在流传的概念证明如果您不使用
-dSAFER
,可能会对您的计算机产生不良影响(运行任意可执行文件、打开、写入、删除文件等)。如果您不知道为什么要使用
-dNOSAFER
,请改用
-dSAFER

哦,你也应该升级到当前版本,9.27,你使用的版本已经有一年了

"C:\Program Files\gs\gs9.23\bin\gswin64c.exe" -sDEVICE=mswinpr2 -dORIENT1=false -dNOPROMPT -dPrinted -dBATCH -dNOSAFER -q -dFIXEDMEDIA -dDEVICEWIDTHPOINTS=398 -dDEVICEHEIGHTPOINTS=157 -dNumCopies=1 -sOutputFile="\\spool\BWLAB05" -c "<</Orientation 2>>setpagedevice" -f "c:\print\download\133679.pdf"