如何使用 GenCode128 生成带有嵌入文本的条形码

How to generate a barcode with embedded text using GenCode128

我正在尝试生成一个条形码,其文本嵌入在条形码本身下方,但我只能生成没有嵌入文本的条形码。

这是我的代码:

Public Function process_printbarcode(lbl169 As Label)

    Dim length As Integer = 1

    Dim mybarcode As Image = Code128Rendering.MakeBarcodeImage(lbl169.Text.ToString, Integer.Parse(length.ToString()), False)

    Admin_Menu.PictureBox3.Image = mybarcode

    Return True

End Function

GenCode128 不包含将编码值作为图像的一部分显示在条形码下方的选项。您可以使用位图和图形 类 来修改图像并向其添加文本,但我认为使用具有该功能的不同 DLL 会更容易。我个人使用的一个是 BarcodeLib。您可以通过几种方式将其添加到您的项目中:

  1. 通过 运行 Install-Package BarcodeLib -Version 1.0.0.23 在您的包管理器控制台中将其添加为 Nuget Package
  2. 自己下载项目的GitHub source-code and build the BarcodeLib.dll

无论哪种方式,只需将其作为参考添加到您的解决方案中即可。 BarcodeLib 有更多的条码参数可供您设置(以及其他几种编码类型),并且创建它们非常容易:

Private Function Code128Image(ByVal value As String, _
                      Optional height As Integer = 100, _
                      Optional barWidth As Integer = 1, _
                      Optional labelIncluded As Boolean = True, _
                      Optional labelPosition As BarcodeLib.LabelPositions = LabelPositions.BOTTOMCENTER, _
                      Optional barcodeRotation As System.Drawing.RotateFlipType = System.Drawing.RotateFlipType.RotateNoneFlipNone) _
                  As System.Drawing.Image
    Using barcodeImage As New BarcodeLib.Barcode
        With barcodeImage
            .Height = height
            .BarWidth = barWidth
            .IncludeLabel = labelIncluded
            .LabelPosition = labelPosition
            .RotateFlipType = barcodeRotation
            Return .Encode(BarcodeLib.TYPE.CODE128, value)
        End With
    End Using
End Function

调用 Admin_Menu.PictureBox3.Image = Code128Image("123456789") 会得到: