设置纸张大小打印 Ghostscript.NET

set papersize Printing with Ghostscript.NET

我正在使用 Ghostscript.NET 打印一些 pdf 这是我的配置。

List<string> switches = new List<string>
{
    "-empty",
    "-dPrinted",
    "-dFirstPage=1",
    "-dLastPage=1",
    "-dPrinted",
    "-dBATCH",
    "-dNOPAUSE",
    "-dNOSAFER",
    "-dNumCopies=1",
    "-sDEVICE=mswinpr2",
    @"-sFONTPATH=" + System.Environment.GetFolderPath(System.Environment.SpecialFolder.Fonts),
    "-sOutputFile=%printer%" + printQueue.FullName,
    "-f",
    inputFile
};

它工作得很好,但我的纸张尺寸是 6.5 英寸 x 8.5 英寸的自定义纸张,我的问题是当我用我的 ricoh 打印机无声打印时,尝试以字母打印。

如何在我的开关中设置我的纸张尺寸或强制打印机正确渲染它。

如果我手动打印,必须 select 手动打印纸张和纸盒,所有打印都完美无缺。

mswinpr2 设备使用 Windows 进行打印,特别是介质尺寸由打印机设置 canvas。

所以答案是在开始打印之前将打印机的默认介质选择设置为所需的介质尺寸。

你可以设置纸张大小"-sPAPERSIZE=a4"你可以看到Paper sizes known to Ghostscript。 或者你可以通过高度和宽度来设置它 "-dDEVICEWIDTHPOINTS=w" "-dDEVICEHEIGHTPOINTS=h" 其中 w 是所需的纸张宽度,h 是所需的纸张高度(以磅为单位)(单位为 1/72 英寸)。