Ghostscript.net печать pdf ориентация страницы
Я попробовал ниже команду 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 ответ
Решение
PDFFitPage будет ориентировать вывод так, чтобы он лучше подходил для носителя, поэтому, если у вас выбрана портретная бумага, то PDFFitPage повернет содержимое (игнорируя другие инструкции) в портретное.
Один из способов справиться с этим - установить размер носителя, используя -dFIXEDMEDIA и -dDEVICEHIGHTPOINTS и -dDEVICEWIDTHPOINTS, чтобы установить определенный фиксированный размер носителя. Затем PDFFitPage подгонит контент под размер бумаги.