PrintDocument.PrinterSettings.Duplex网络打印机

时间:2011-08-22 10:21:05

标签: .net printing network-printers

我正在尝试将文档打印到特定的打印机,托盘并使用以下代码设置双面打印设置:

void PrintingSystem_StartPrint(object sender, PrintDocumentEventArgs e)
{
    //e.g. \\patch2\MIU Copier
    e.PrintDocument.PrinterSettings.PrinterName = printerName; 
    //e.g. Tray 2
    e.PrintDocument.DefaultPageSettings.PaperSource = paperSource; 

    if (e.PrintDocument.PrinterSettings.CanDuplex)
        e.PrintDocument.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Horizontal;
}

PrinterName和PaperSource设置工作正常,但CanDuplex属性始终为false,尽管知道复印机能够做到这一点。此外,如果我排除if语句并且只是设置属性它仍然以单面形式打印。有没有办法做我想要的东西我有一点谷歌,它似乎可能是一个特别与网络打印机的问题,但我没有找到任何解决方法。

修改 我已经尝试过几种不同的网络打印机(复印机),它似乎适用于某些而不是其他打印机。即不适用于Gestetner 2212 PCL 5e,但适用于Ricoh Aficio MP C2550。看起来可能是错误的司机报错,我现在就留下任何评论的问题。

1 个答案:

答案 0 :(得分:0)

我可以想象,设置与PrintDocument关联的PrinterSettings实例的PrinterName属性不会按预期更新CanDuplex等属性。

尝试创建新的PrinterSettings实例并设置PrinterName属性,然后查看CanDuplex属性以查看行为是否不同。接下来将PrinterSettings实例分配给PrintDocument.PrinterSettings。

我只是在大声思考,并没有尝试过这个......