在 LANDSCAPE 中使用 GhostScript 打印 PDF
Posted
技术标签:
【中文标题】在 LANDSCAPE 中使用 GhostScript 打印 PDF【英文标题】:Print PDF using GhostScript in LANDSCAPE 【发布时间】:2015-07-01 10:34:30 【问题描述】:我正在按如下方式打印 PDF 文件:
using (GhostscriptProcessor processor = new GhostscriptProcessor())
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNumCopies=1");
switches.Add("-sDEVICE=mswinpr2");
switches.Add("-sOutputFile=%printer%" + printerName);
switches.Add("-f");
switches.Add(inputFile);
processor.StartProcessing(switches.ToArray(), null);
它工作得很好,但我有一个问题。我不能(并且真的尝试过)横向打印任何 PDF 文件。我尝试使用方向,调整大小,更改打印机的系统首选项。我所做的一切都是徒劳的,因为它总是以纵向打印。
有什么想法吗?
【问题讨论】:
尝试添加-dORIENT1=false
作为选项。如果这不起作用,请尝试将其设置为 true。这会翻转页面方向的内部表示,如果 PDF 具有明确的嵌入方向,这可能会有所帮助。
也不工作... :(
可能会有帮助:***.com/questions/3089773/…
【参考方案1】:
你想解决什么问题?如果您试图让打印机在横向介质上打印,而这不是默认设置,那么 mswinpr2 设备无法更改托盘选择。
【讨论】:
是的。 mswinpr2 不会覆盖打印机默认值。谢谢。【参考方案2】:尝试类似:
using (GhostscriptProcessor processor = new GhostscriptProcessor())
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNumCopies=1");
switches.Add("-sDEVICE=mswinpr2");
switches.Add("-sOutputFile=%printer%" + printerName);
switches.Add("-c");
switches.Add("<</Orientation 3>> setpagedevice");
switches.Add("-f");
switches.Add(inputFile);
processor.StartProcessing(switches.ToArray(), null);
【讨论】:
我试过了,并在 *** 的另一个问题中提出了建议......它也不起作用:(以上是关于在 LANDSCAPE 中使用 GhostScript 打印 PDF的主要内容,如果未能解决你的问题,请参考以下文章
活动 setRequestedOrientation Landscape 与 reverseLandscape?
如何让 Android 系统强制所有 apk 使用 LANDSCAPE?
如何在 iPhone sdk 中以 LandScape 模式启动启动画面
iOS iPhone LaunchImage Landscape