使用GhostscriptProcessor打印PDF文件 - 边距很混乱

时间:2015-06-17 12:56:38

标签: c# pdf printing ghostscript margins

我一直在尝试将PDF文件发送到我的打印机,以便在C#中使用GhostscriptProcessor进行打印。一切进展顺利,文件正在打印,但正在应用轻微缩放(大约1.1x - 1.05x),我无法找到指定顶边距或更改渲染PDF的最终尺寸的方法。 / p>

看起来打印机的页面大小与我渲染的页面大小不同。有没有办法规避这个?

这就是我所拥有的:

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);
}

1 个答案:

答案 0 :(得分:1)

听起来像打印机的可打印区域,PDF文件的MediaBox略有不同。当渲染到位图(这是mswinpr2的工作方式)时,Ghostscript将缩放PDF,直到其声明的MediaBox与声明的打印机介质尺寸相匹配。