双面打印使用纸张的错误一面

时间:2017-04-12 15:46:41

标签: c# .net printing

以下代码用于打印两页。以单面模式打印时,将打印纸张的正确面。以双面模式打印时,纸张以正确的方向从打印机中出来,但是在打印过程中纸张已翻转,并且前页/后页已打印在纸张的错误两侧,即使纸张已装入正确地在打印机中。在特殊库存上打印作业时,这是一个重要的问题。此问题已在多台HP双面打印机型号上进行测试和重现。该行为似乎是打印机方面的不一致,但唯一的解决方法是在代码中反转页面打印顺序。

  1. 这是常见的打印机问题吗?
  2. 在代码中解决此问题是否更好?

    private int _pageCnt = 0;
    
    private void PrintTest(string printerName, bool duplex)
    {
      System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument();
    
      pDoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pDoc_PrintPage);
    
      _pageCnt = 1;
    
      pDoc.PrinterSettings.PrinterName = printerName;
      pDoc.PrinterSettings.Duplex = (duplex) ? System.Drawing.Printing.Duplex.Vertical : System.Drawing.Printing.Duplex.Simplex;
      pDoc.Print();
    }
    
    private void pDoc_PrintPage(Object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
      e.Graphics.DrawString(_pageCnt.ToString(), new System.Drawing.Font("Arial", 40), Brushes.Black, new System.Drawing.PointF(50, 50));
      _pageCnt += 1;
    
      e.HasMorePages = (_pageCnt <= 2);  
    }
    

1 个答案:

答案 0 :(得分:0)

这是某些型号的HP和Ricoh打印机的已知问题。 以单面打印时,它从纸张的一侧开始。在双面打印时,它将在输入纸的另一面开始打印页面。 如果您使用预打印纸(例如信签纸或支票纸),并且同时具有单面和双面页面,则会出现问题。

Ricoh和HP打印机中都有打印机设置来处理此问题。在信头纸处理设置下查找。

话说回来,我们遇到了支票存货的问题。我们通过将每页打印为双面打印来解决了该问题,即使页面的背面没有任何内容。我们嵌入了一些HP PCL命令,即使在空白的时候也总是给我们第二页。