Код39, напечатанный на этикетке, не читается - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь напечатать код 39 с этикетировщиком (argox x-2300e), поэтому код такой (я удалил все материалы, чтобы распечатать только штрих-код для проверки):

Imports System.ComponentModel
Imports System.Drawing.Printing

Public Class Form1

  Dim linea1 As String = "*A0-121244$K0001196AA-UK*"

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim psz2 As New Printing.PaperSize
    psz2.RawKind = Printing.PaperKind.Custom
    psz2.Width = 217
    psz2.Height = 314

    PrintDocument2.DefaultPageSettings.PaperSize = psz2
    PrintDocument2.DefaultPageSettings.Margins = New Margins(0, 0, 0, 0)
    PrintDocument2.DefaultPageSettings.Landscape = False
    PrintDocument2.PrinterSettings.Copies = 1

    PrintDocument2.PrinterSettings.PrinterName = "\\ETIC1\Argox X-2300E series PPLB"

    PrintPreviewDialog2.Size = New System.Drawing.Size(500, 750)
    PrintPreviewDialog2.ShowDialog()
  End Sub

  Private Sub PrintDocument2_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDocument2.PrintPage
    Dim drawFormat As New StringFormat
    drawFormat.Alignment = StringAlignment.Center

    e.Graphics.ScaleTransform(1, 3)
    e.Graphics.DrawString(linea1, New Font("IDAHC39M Code 39 Barcode", 6, FontStyle.Regular), Brushes.Black, New Rectangle(0, 2, 217, 50), drawFormat)
    e.Graphics.DrawString(linea1, New Font("Free 3 of 9", 14, FontStyle.Regular), Brushes.Black, New Rectangle(0, 55, 217, 50), drawFormat)
    e.Graphics.ScaleTransform(1, 1 / 3)
    e.Graphics.DrawLine(New Pen(Brushes.Black, 0.5), New Point(15, 250), New Point(202, 250))
  End Sub

  Private Sub PrintPreviewDialog2_Closing(sender As Object, e As CancelEventArgs) Handles PrintPreviewDialog2.Closing
    Application.Exit()
  End Sub
End Class

сейчаспроблема заключается в следующем:

Я печатаю этикетку, но наш сканер не может прочитать штрих-код (сканер такой же, как у нашего крупнейшего клиента)

Использование шрифта «free 3 to 9»размер 16 - минимальный размер кода, который должен быть доступен для чтения каждый раз, но он превышает размеры этикетки.

При использовании шрифта "IDAHC39M Code 39 Barcode" он должен быть не меньше размера 8быть читабельным(но это по-прежнему превышает размеры этикетки)

Я рисую линию под кодом 2, она представляет ширину того же штрих-кода, сгенерированного с помощью программного обеспечения для этикетирования, которое поставляется с самим принтером, и хотя ономеньше, она полностью читаема, этикетка имеет размер 55 мм x 80 мм

enter image description here

Как получить код внутри этикетки, который будет читаемым?Чего мне не хватает?

...