【发布时间】:2017-04-12 15:46:40
【问题描述】:
以下代码用于打印两页。以单面模式打印时,打印在纸张的正确面。在双面模式下打印时,纸张以正确的方向从打印机中出来,但在打印过程中纸张已翻转,并且前/后页打印在纸张的错误面上,即使已装入纸张在打印机中正确。在特殊库存上打印作业时,这是一个重大问题。此问题已在多种 HP 双面打印机型号上进行了测试和重现。该行为似乎是打印机端的不一致,但唯一的解决方法是反转代码中的页面打印顺序。
- 这是常见的打印机问题吗?
-
有没有更好的办法在代码中解决这个问题?
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 挑战在于使用这种特殊纸张的一些打印作业是单面的,有些是双面的。