使用 GhostscriptProcessor 打印 PDF 文件 - 边距很乱
本文关键字:文件 GhostscriptProcessor 打印 PDF 使用 | 更新日期: 2023-09-27 17:56:40
我一直在尝试将PDF文件发送到我的打印机,以便在C#中使用GhostscriptProcessor进行打印。一切进展顺利,文件正在打印,但应用了轻微的缩放(大约 1.1 倍 - 1.05 倍),我找不到指定上边距或更改渲染 PDF 的最终大小的方法。
打印机的页面大小似乎与我正在渲染的页面大小不同。有什么办法可以规避吗?
这是我所拥有的:
string printerName = "MIAUMIAUMIAU";
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("-dDuplex");
switches.Add("-dTumble=0");
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文件的MediaBox略有不同。当渲染到位图(这就是mswinpr2的工作方式)时,Ghostscript将缩放PDF,直到其声明的MediaBox与打印机声明的媒体大小匹配。