Ghostscript.net打印pdf页面方向

时间:2016-06-03 15:57:01

标签: pdf ghostscript ghostscript.net

我尝试使用ghostscript命令在网络打印机上以横向方向打印pdf但是获得了纵向打印输出。请帮我找出解决方案。

GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(new Version(0, 0, 0), Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "gsdll32.dll"), string.Empty, GhostscriptLicense.GPL);
Ghostscript.NET.Processor.GhostscriptProcessor processor = new Ghostscript.NET.Processor.GhostscriptProcessor(gvi, true);
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNOPROMPT");               
switches.Add("-dPDFFitPage");  
switches.Add("-dNumCopies=" + copies.ToString());
switches.Add("-sDEVICE=mswinpr2");
switches.Add(Convert.ToString("-sOutputFile=%printer%") + printer);
switches.Add("-c");
switches.Add("<</Orientation 3>> setpagedevice");
switches.Add("-f");
switches.Add(pdfFileName);

processor.StartProcessing(switches.ToArray(), null);   

1 个答案:

答案 0 :(得分:0)

PDFFitPage将使输出定向,使其最适合媒体,因此如果您选择了纵向纸,则PDFFitPage会将内容(忽略其他说明)旋转为纵向。

解决此问题的一种方法是使用-dFIXEDMEDIA和-dDEVICEHIGHTPOINTS以及-dDEVICEWIDTHPOINTS设置媒体大小,以设置特定的固定媒体大小。然后执行PDFFitPage将使内容符合该大小的纸张