如何打印带有自增十六进制序列号的标签? (vb.net)

How to print labels with an auto increasing hexadecimal serial number? (vb.net)

我如何使用自动递增方法打印 1000 个标签,并且每个标签都有自己唯一的序列号?

打印机是 Avery AP 4.4

2 个解决方案:

解决方案 1

  1. 有一个class变量来存储序列号。
  2. 创建打印文档。
  3. 在打印文档中绘制字符串(序号变量) 打印页。
  4. 调用将打印此打印文档的打印方法,从 在 for 循环中(运行次数不限) 增加序列号并打印它)
  5. 5.Increase序号加1

剩下的将由触发 printdocument 的 printpage 事件的 print 方法完成,每次都会绘制一个新的序列号,因为序列号变量将增加 1。

这会创建多个打印机作业,但到目前为止,似乎没有问题。

解决方案 2(使用 EPL2 打印机语言)

  1. 使用这样的数组创建您的 EPL2 代码:

       Dim RawData_array(7) As String
    RawData_array(0) = "450"
    RawData_array(1) = "#!A1"
    RawData_array(2) = "#IMS38/12.0/"
    RawData_array(3) = "#ERN"
    RawData_array(4) = "#R-3.6/-2.4"
    RawData_array(5) = "#J6#T6#YT108/0///"
    RawData_array(6) = "#J6#T24.5#YT108/0///"
    RawData_array(7) = "#Q1/"
    
  2. 创建一个 For 循环

  3. 在循环内将序列号(作为字符串)附加到元素 5 和元素 6 的末尾

  4. 使用像这样的 stringbuilder 构建一个包含所有数组元素的字符串:

    For i As Integer = 0 To RawData_array.Length - 1 sb.AppendLine(RawData_array(i)) Next

  5. 像这样将字符串发送到打印机: RawPrinterHelper.SendStringToPrinter("Your_Printers_Name", sb.ToString)

这第二种解决方案是我最终使用的解决方案,因为某些原因它更轻巧

我希望它有时能对某人有所帮助!..

PS。此 EPL2 设置适用于每个标签卷行中有两个的 16x8mm 标签。