在 LANDSCAPE 中使用 GhostScript 打印 PDF
Print PDF using GhostScript in LANDSCAPE
我正在打印如下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 文件。我尝试使用方向,调整大小,更改打印机的系统首选项。我做任何事都是徒劳的,因为它总是纵向打印的。
有什么想法吗?
试试这样的东西:
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);
}
你想解决什么问题?如果您试图让打印机在横向介质上打印,而这不是它的默认设置,那么它不会工作,mswinpr2 设备无法更改纸盘选择。
我正在打印如下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 文件。我尝试使用方向,调整大小,更改打印机的系统首选项。我做任何事都是徒劳的,因为它总是纵向打印的。
有什么想法吗?
试试这样的东西:
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);
}
你想解决什么问题?如果您试图让打印机在横向介质上打印,而这不是它的默认设置,那么它不会工作,mswinpr2 设备无法更改纸盘选择。