.NET条形码字体:如何在不依赖字体的情况下生成和打印条形码
如果您想知道如何在实际应用程序中处理 VB .NET条形码字体,您并不孤单。 条形码字体(例如Code 39或 Code 128)一旦超出简单的演示范围,就经常会引发问题,字体需要安装到各个地方,打印机并不总是能识别它们,而且如果缺少某些东西,部署可能会失败。
本文展示了一种更简单的方法:使用IronBarcode在.NET中生成条形码图像。 这是我们内部推荐的方法,因为它避免了条形码字体容易带来的部署和打印机问题。
最后,您将了解条形码字体为何不足,以及如何使用 Visual Basic 中的几行代码以编程方式生成 Code 39 条形码(以及更多条形码)。
立即开始IronBarcode的免费试用,并按照以下示例在几分钟内生成条形码。
条形码字体是什么?它们为何存在不足?
条形码字体是一种特殊的字体,它将字符映射到条形码图案。 要使用 Code 39 字体创建条形码,开发人员会将数据编码为字符串,用开始字符和结束字符(通常是星号)将其包裹起来,然后使用已安装的字体渲染文本。 该字体可以将字符串在视觉上转换为可扫描的条形码。
这种基于字体的方法要求每台机器和打印机都安装条形码字体。 Code 39 字体要求在源代码中手动处理停止字符和校验位,条形码下方的人类可读文本需要使用 Arial 等标准字体进行单独格式化。 兼容性问题经常出现,无论是在 Crystal Reports 集成、Visual Studio 设计器视图中,还是在开发用于跨不同系统环境部署时。
像IronBarcode这样的程序化条形码生成器可以解决这些问题。 它直接生成条形码图像文件(PNG、JPEG、GIF、TIFF 或 BMP),无需安装字体,无需分发,省时省力。 每个生成的条形码图像都遵循条形码符号类型规范,输出的是可移植的条形码图像,可用于任何打印机或文档。 本文余下部分将采用这种方法。
如何在不使用字体的情况下用 Visual Basic 生成 Code 39 条形码?
在.NET中,使用IronBarcode生成 Code 39 条形码只需要几行代码。 以下代码演示了如何对数据进行编码并导出:
Imports IronBarCode
Module Program
Sub Main(args As String())
' Generate a Code 39 barcode from a string value
Dim myBarcode = BarcodeWriter.CreateBarcode("HELLO-2025", BarcodeWriterEncoding.Code39)
' Export the generated barcode as a PNG file
myBarcode.SaveAsPng("Code39Barcode.png")
End Sub
End Module
输出条形码图像
! VB .NET 条形码字体:如何在不依赖字体的情况下生成和打印条形码:图 1 - 代码示例的输出图像
BarcodeWriter.CreateBarcode接受数据字符串和条形码符号作为参数。 使用 BarcodeWriterEncoding.Code39, IronBarcode可以处理完整的编码规范,起始字符、停止字符和校验位都会自动添加,无需手动操作字符串。 这比 Code 39 条形码字体有了很大的改进,Code 39 条形码字体如果忘记添加星号或校验位计算错误,就会产生无法读取的条形码。
Code 39 是一种线性条形码符号体系,可对大写字母、数字和特殊字符进行编码,因此 Code 39 条形码广泛适用于标签和库存场景。 IronBarcode 的条形码生成器还支持 Code 128、QR 码、EAN-13、UPC-A、Data Matrix 以及数十种其他格式,均通过相同的 CreateBarcode 方法生成。 上面的源代码适用于任何 VB .NET项目、控制台、桌面或 Web 应用程序。 每个条形码图像还可以导出为 TIFF 或 BMP 格式,以满足特殊的打印需求。
如何设置条形码样式并将其导出为多种格式?
IronBarcode 的流畅 API 使条形码的定制变得简单。 以下示例代码展示了如何设置边距大小、调整条形码大小以及在 Code 128 条形码上添加注释文本:
Imports IronBarCode
Imports IronSoftware.Drawing
Module Program
Sub Main(args As String())
' Generate a Code 128 barcode with styling
Dim styledBarcode = BarcodeWriter.CreateBarcode("PKG-98765", BarcodeWriterEncoding.Code128)
' Set margin size in pixels around the barcode
styledBarcode.SetMargins(10, 10, 10, 10)
' Resize — x dimension (width) and y dimension (height) in pixels
styledBarcode.ResizeTo(400, 120)
' Add annotation with Arial font above barcodes
styledBarcode.AddAnnotationTextAboveBarcode("Package Label")
' Display encoded value as readable text below barcodes
styledBarcode.AddBarcodeValueTextBelowBarcode()
' Export barcodes to JPEG and GIF formats
styledBarcode.SaveAsJpeg("Styled.jpeg")
styledBarcode.SaveAsGif("Styled.gif")
End Sub
End Module
输出样式条形码
! VB .NET 条形码字体:如何在不依赖字体的情况下生成和打印条形码:图 2 - 具有特定样式的示例条形码
SetMargins接受每边的像素值,或者接受一个用于统一边距大小(条形码图像周围的空白)的单个值。 ResizeTo 控制条形码的 x 尺寸和 y 尺寸(以像素为单位)。 对于物理单位,ResizeToMil 以千分之一英寸为单位指定宽度,支持在可配置的 DPI 下实现真正的单位精度,这在精确测量对扫描仪兼容性至关重要时非常有用。
AddBarcodeValueTextBelowBarcode 会自动将编码字符串作为人类可读文本添加到条形码图像下方,无需单独的字体或绘图代码。 这些功能复制了条形码字体提供的功能,但作为一个可生成条形码的便携式条形码图像对象,您可以将其保存为 BMP、TIFF 或任何其他受支持的格式。 有关导出选项的更多信息,请参阅输出数据格式指南。
如何使用 Visual Basic 应用程序生成和打印条形码标签?
条形码生成后,将其打印成标签非常简单。 条形码生成器导出任何打印机都能处理的标准图像,无需考虑字体依赖性。 以下代码为产品标签生成二维码:
Imports IronBarCode
Module Program
Sub Main(args As String())
' Generate a QR code barcode for a product label
Dim qrBarcode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 300)
' Export barcode to file path for printer output
qrBarcode.SaveAsJpeg("ProductLabel.jpeg")
' Send the exported file to a printer via System.Drawing
Console.WriteLine("Barcode saved — ready for printer")
End Sub
End Module
从示例代码生成条形码
! VB .NET 条形码字体:如何在不依赖字体的情况下生成和打印条形码:图 3 - 已生成的条形码,可直接打印
无论是打印 Code 39 条形码、Code 128 运输条形码还是用于库存的 QR 条形码,以下过程都是相同的:将条形码生成为条形码图像,导出到文件,然后发送到打印机。 条形码方向在生成过程中得到正确处理。 对于高级场景,请注意 VB .NET条形码打印教程详细介绍了配置和方向选项。 本文还可以与VB .NET条形码生成器教程配合使用,以获取更多示例图案;也可以与IronBarcode文档网站配合使用,以获取完整的 API 参考。
结论
本文介绍了如何在.NET中摆脱传统的条形码字体,并使用IronBarcode以编程方式生成条形码。 无论您需要 Code 39 条形码、Code 128 条形码、QR 条形码还是其他线性和二维条形码, IronBarcode都是一个有用的条形码生成器,它可以在编译后的 Visual Basic .NET应用程序中生成高质量的条形码图像,对于任何在 dotnet 项目中开发条形码功能的开发人员来说,这都是一项非常有价值的功能。 本文中的源代码示例可以适用于您的应用程序所需的任何条形码符号体系。
准备好申请生产许可证了吗? 探索IronBarcode 的许可选项,找到适合您项目的方案,或者从NuGet下载免费试用版。
常见问题解答
在.NET中使用条形码字体会面临哪些挑战?
条形码字体(例如 Code 39 和 Code 128)在 VB .NET应用程序中可能会出现问题,因为它们需要在每台计算机上安装,而且打印机可能并非总能正确渲染。如果缺少任何组件,都可能导致部署问题。
IronBarcode如何简化.NET中的条形码生成?
IronBarcode允许您在.NET中生成条形码图像,而无需依赖条形码字体。这省去了安装字体的麻烦,并确保在不同平台和打印机上呈现一致的效果。
我可以使用IronBarcode生成 Code 128 条形码吗?
是的,您可以使用IronBarcode轻松生成 Code 128 条形码。它提供了创建条形码图像的功能,无需处理复杂的字体。
IronBarcode提供免费试用吗?
是的, IronBarcode提供免费试用。这使您可以在购买前测试其在 VB .NET应用程序中的条形码生成功能。
与传统条形码字体相比,使用IronBarcode有哪些优势?
使用IronBarcode可以消除对字体的依赖,确保与打印机更好的兼容性,并简化部署。它为在 VB .NET应用程序中处理条形码提供了一种更可靠、更高效的方法。

