【问题标题】:Duplex Printing uses the wrong side of the paper双面打印使用错误的纸张面
【发布时间】:2017-04-12 15:46:40
【问题描述】:

以下代码用于打印两页。以单面模式打印时,打印在纸张的正确面。在双面模式下打印时,纸张以正确的方向从打印机中出来,但在打印过程中纸张已翻转,并且前/后页打印在纸张的错误面上,即使已装入纸张在打印机中正确。在特殊库存上打印作业时,这是一个重大问题。此问题已在多种 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);  
    }
    

【问题讨论】:

  • 不是可以选择将纸张从另一侧向上装入吗?
  • @RowlandShaw 挑战在于使用这种特殊纸张的一些打印作业是单面的,有些是双面的。

标签: c# .net printing


【解决方案1】:

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

理光和惠普打印机都有打印机设置来处理这个问题。在信头纸处理设置下查找它。

话虽如此,我们遇到了检查库存的问题。我们通过将每一页都打印为双面来解决这个问题,即使页面背面没有任何内容。我们嵌入了一些 HP PCL 命令以始终为我们提供第二页,即使它是空白的。

【讨论】:

    猜你喜欢
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多