【问题标题】:.net pos printer roll printing.net pos 打印机卷筒打印
【发布时间】:2012-10-11 11:30:54
【问题描述】:

我正在为超市开发一个系统,该系统将在使用 .net 开发票后打印 pos bill。

对于账单打印,我在 .net 中使用 System.Drawing.Printing。

问题是当项目列表太长时,当它增加一页限制时,pos打印机只打印第一页并切纸。

以下是我使用的打印代码示例。请帮我解决这个问题。

Private Sub printInvoice()

     Dim printDocument As New PrintDocument
     Dim printController As New StandardPrintController
     printDocument.PrintController = printController
     AddHandler printDocument.PrintPage, AddressOf PrintDocumnet_Event
     printDocument.Print()

End Sub

Public Sub PrintDocumnet_Event(ByVal sender As Object, ByVal e As PrintPageEventArgs)
    Try
        Dim dataFont As Font = New Font("Courier New", 9, FontStyle.Bold)
        Dim leftMargin As Integer = 15
        Dim topMargin As Integer = 65


        For Each invoiceRow As DataRow In dtInvoice.Rows
            Dim code As String = invoiceRow("Item_Code").ToString.Trim
            Dim name As String = invoiceRow("Print_Name").ToString.Trim
            Dim price As String = String.Format("{0:0.00}", Double.Parse(invoiceRow("Price"))) + "x"
            Dim qty As String = String.Format("{0:0.###}", Double.Parse(invoiceRow("Qty")))
            Dim amont As String = String.Format("{0:0.00}", Double.Parse(invoiceRow("Amount")))
            Dim discount As String = String.Format("{0:0.00}", Double.Parse(invoiceRow("Discount")))


            e.Graphics.DrawString(String.Format("{0,-8}", name), dataFont, Brushes.Black, leftMargin, topMargin)
            topMargin += 15
            e.Graphics.DrawString(String.Format("{0,-10} {1,7} {2,5} {3,8}", code, price, qty, amont), dataFont, Brushes.Black, leftMargin, topMargin)
            topMargin += 20
        Next
End Sub

【问题讨论】:

  • 你指的是什么POS打印机? ESC代码控制打印机会不会更容易?
  • 我正在使用 EPSON TM-T81 POS 打印机。打印完成后会自动切纸。这里的问题是打印机在打印一页后剪纸。其余页面未打印。
  • 首先我会仔细检查你的页面长度设置是什么,因为它是一个卷,你应该可以让它变得很长。我找不到 TM-181 手册,但其他 Epson 打印机最大为 1289 英寸,并确保您使用一个 PrintDocument
  • 谢谢回复,我只用了一个文档
  • @las 那么打印机设置的页长是多少?

标签: .net printing


【解决方案1】:

谢谢大家。我找到了解决方案。我必须根据项目列表检查页面高度,并在页面超出时添加以下内容。

 e.HasMorePages = True 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2014-03-06
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多