【问题标题】:PrintDocument.PrinterSettings.Duplex Network PrinterPrintDocument.PrinterSettings.Duplex 网络打印机
【发布时间】:2011-08-22 10:21:04
【问题描述】:

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

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。看起来可能是坏司机报错了,我现在把这个问题留给任何 cmets。

【问题讨论】:

    标签: .net printing network-printers


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2012-05-28
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      相关资源
      最近更新 更多