USING IRONBARCODE How to Print Barcodes in Crystal Reports with VB.NET Jordi Bardia 已更新:2026年3月1日 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 要使用 VB .NET在 Crystal Reports 中打印条形码,请通过NuGet安装IronBarcode ,使用 BarcodeWriter.CreateBarcode() 生成条形码图像,并将生成的二进制数据绑定到 Crystal Report 中的图像字段。 这种方法消除了对字体的依赖性,并在几分钟内生成可扫描、可直接打印的条形码。 在 Crystal Reports 中添加条形码可以增强您的业务流程,使其更快、更准确——从跟踪库存到生成详细报告。 如果您曾经尝试在.NET中使用基于字体的条形码,您就会知道,复杂的公式、有限的格式和打印机问题会多么棘手,令人沮丧。 现代条形码生成器 SDK(例如IronBarcode)使创建和打印条形码变得简单。 在本指南中,您将找到所需的一切:在 Visual Studio 中设置IronBarcode 、生成条形码以及直接在 Crystal Reports 中显示它们。 到最后,您将能够轻松制作出专业、可靠的条形码。 在Crystal Reports中打印条形码的方法是什么? 在Crystal Reports中添加条形码有两种主要方法:基于字体的方法和SDK解决方案。 基于字体的方法需要在字体文件夹中安装特殊的条形码字体(True Type字体),并使用公式或用户函数库(UFL)来编码数据。 虽然这种方法可以工作,但通常涉及复杂的编码公式、有限的条形码格式支持(如Code 39或数据矩阵),以及跨不同打印机和系统可能出现的字体渲染问题,如微软的字体渲染文档中所述。 基于 SDK 的解决方案提供了一种更可靠的替代方案。这些库以编程方式生成条形码图像,具有更高的可靠性、更广泛的格式支持和更简便的实现方式。 IronBarcode正是这种现代方法的典范,它允许开发人员生成条形码图像,并通过标准数据库字段或 DataTable 对象将其集成到 Crystal Reports 中。 此方法确保在所有平台上一致呈现,并消除在使用VB.NET的Crystal Report中打印条形码时的字体依赖问题。 Crystal Reports 中基于字体的条形码方法与基于 SDK 的条形码方法 因素 基于字体的方法 基于 SDK 的方法(IronBarcode) 设置复杂性 高阶——需要安装字体和编码公式 低——单个NuGet包安装 条形码格式支持 有限公司(代码 39,代码 128) 支持 30 多种格式,包括 QR 码、Data Matrix 格式、PDF417 格式等。 跨打印机一致性 不一致——取决于已安装的字体。 一致的——基于图像的渲染 维护负担 高字体必须由每台机器单独管理。 低——通过NuGet更新进行管理 扫描可靠性 多变的 高IronBarcode生成已验证图像 如何为.NET安装IronBarcode ? 在VB.NET项目中设置IronBarcode需要最小化配置。 首先,通过NuGet包管理器安装库,运行以下命令: Install-Package BarCode Install-Package BarCode SHELL 或者,您也可以使用 Visual Studio 中的程序包管理器 UI 来搜索并安装"BarCode"。 安装后,在您的VB.NET代码中导入命名空间: Imports IronBarCode 确保您的项目面向.NET Framework 4.6.2 或更高版本,或者任何版本的.NET Core、 .NET 5 或.NET 6+。 IronBarcode适用于支持图像字段的所有版本的Crystal Reports,广泛兼容现有项目。 有关详细的设置说明,请参阅IronBarcode入门指南。 立即下载IronBarcode,开始在你的Crystal Reports中创建专业条形码。 IronBarcode支持哪些.NET版本? IronBarcode可兼容多种.NET运行时环境: .NET Framework 4.6.2 及以上版本 .NET Core 3.1+ .NET 5、6、7、8 和 9 .NET Standard 2.0+ 这种广泛的兼容性意味着您可以将IronBarcode集成到运行在.NET Framework上的旧版 VB .NET应用程序中,就像集成到面向.NET 8 或更高版本的现代应用程序中一样容易。 请查看IronBarcode兼容性文档以获取完整的支持列表。 如何生成条形码并将其存储在数据库中? 使用IronBarcode创建条形码并将其存储到 Crystal Reports 中,需要生成条形码图像,并使用 SqlConnection 或 OleDbConnection 将其保存到数据库中。 以下是一个完整的示例: 方案一:使用 SQL 数据库 Imports IronBarCode Imports System.Data.SqlClient Module BarcodeGenerator Sub CreateAndStoreBarcode() ' Generate a Code128 barcode Dim myBarcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128) ' Add readable text below the barcode myBarcode.AddBarcodeValueTextBelowBarcode() ' Resize to appropriate dimensions myBarcode.ResizeTo(400, 150) ' Connect to your database Using connection As New SqlConnection("YourConnectionString") Dim cmd As New SqlCommand( "INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)", connection) cmd.Parameters.AddWithValue("@Code", "PROD-12345") cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream) connection.Open() cmd.ExecuteNonQuery() End Using End Sub End Module 此示例生成Code 128 条形码并将其作为二进制数据存储在 SQL Server 中。 AddBarcodeValueTextBelowBarcode() 方法在条形码符号下方添加人类可读的文本,使其既可用于扫描也可用于目视检查。 ResizeTo() 方法会调整尺寸以适应您的报表布局。 选项2:使用DataTable 对于不需要持久存储的场景,DataTable 方法可以完全避免使用数据库: Imports IronBarCode Imports System.Data Function CreateBarcodeDataTable() As DataTable Dim dt As New DataTable() dt.Columns.Add("ProductCode", GetType(String)) dt.Columns.Add("Barcode", GetType(Byte())) ' Generate a barcode for each product Dim row As DataRow = dt.NewRow() row("ProductCode") = "PROD-12345" Dim barcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128) barcode.AddBarcodeValueTextBelowBarcode() barcode.ResizeTo(400, 150) row("Barcode") = barcode.BinaryStream dt.Rows.Add(row) Return dt End Function 这种数据表方法非常适合报表预览、一次性打印作业或数据库基础架构不可用的情况。 您可以遍历产品列表,并为每个商品添加一行,按需生成条形码。 如需了解更多条形码格式,请浏览支持的条形码类型或IronBarcode教程。 如何自定义条形码外观? 除了简单的生成功能外, IronBarcode还提供多种自定义选项,这些选项在打印报表时非常有用: -边距-- 使用 myBarcode.SetMargins() 在条形码周围添加空白,提高扫描可靠性 -颜色-- 更改品牌报告设计的前景和背景颜色 -注释-- 使用 AddBarcodeValueTextAboveBarcode() 在条形码上方或下方添加自定义文本 -分辨率-- 使用 myBarcode.SetDPI() 设置 DPI 以获得高质量打印输出 请参阅条形码定制指南,其中包含涵盖每种选项的代码示例。 如何在 Crystal Reports 中显示条形码? 一旦条形码被存储在您的数据库中,在Crystal Reports中显示它们遵循标准的图像字段程序: 打开Crystal Reports并创建一个新报告或打开现有报告 在字段浏览器中,右键单击"数据库字段"并选择"数据库专家" 连接到您的数据库并选择包含条形码图像的表 将条形码图像字段拖到报表设计界面上 根据需要调整字段的大小和位置 您的报告设计器应类似于此: 要在报表运行时动态生成条形码,请修改您的数据表或数据库查询,以便动态生成条形码。 以下示例展示了如何将动态创建的 DataTable 绑定到 CrystalReportViewer: Imports IronBarCode Imports System.Data Function GetReportData() As DataTable Dim dt As New DataTable() dt.Columns.Add("ProductCode", GetType(String)) dt.Columns.Add("Barcode", GetType(Byte())) Dim row As DataRow = dt.NewRow() row("ProductCode") = "CUSTOMER-12345" Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128) barcode.AddBarcodeValueTextBelowBarcode() barcode.ResizeTo(400, 150) row("Barcode") = barcode.BinaryStream dt.Rows.Add(row) Return dt End Function 这种方法在报告加载时动态生成条形码,消除了预先存储图像在数据库中的需求。 您可以使用 Crystal Reports 的内置导出功能将报表导出为 PDF 文件。 有关Crystal Reports数据源的更多信息,请参阅SAP的Crystal Reports文档。 输出 您的 Crystal Report 将显示带有可读文本和正确尺寸的条形码。 根据扫描仪、打印机或标签的需要调整字段大小或边距。 条形码可以直接从您的 VB .NET应用程序添加到 PDF、打印表格或标签模板中。 如何处理常见的条形码打印问题? 在使用.NET在 Crystal Reports 中实现条形码时,可能会出现一些问题。 以下故障排除提示针对最常见的问题: Crystal Reports 条形码打印常见问题及解决方案 问题 原因 解决方案 模糊的条形码 低图像分辨率 使用`ResizeTo()`函数调整尺寸或设置更高的 DPI 扫描失败 静音区不足 使用`SetMargins()`添加边距;为代码 39 添加星号 数据库连接错误 连接参数错误 验证 OleDbConnection 或 SqlConnection 字符串和数据集绑定 数据库中的数据类型错误 字段未设置为二进制类型 使用`image`或`varbinary(max)`列类型 条形码不显示 权限或路径问题 验证 Crystal Reports 查看器是否具有数据库/数据表访问权限 缺少 DLL 错误 安装不完整 通过NuGet重新安装;验证项目中是否引用了IronBarcode DLL。 如需更多故障排除支持,请访问IronBarcode故障排除指南。 对于文档中未涵盖的具体问题和特殊情况,您还可以访问IronBarcode支持论坛。 如何选择合适的条形码格式? 选择正确的条形码格式对扫描硬件的兼容性和数据容量至关重要。 最常见的商业报告格式有: Code 128 -- 通用线性条形码; 高数据密度; 适用于大多数扫描仪。 使用 BarcodeWriterEncoding.Code128。 -代码 39 -- 旧标准; 得到广泛支持; 对字母数字字符进行编码。 使用 BarcodeWriterEncoding.Code39。 -二维码-- 二维条形码; 存储大量数据,包括网址。 使用 BarcodeWriterEncoding.QRCode。 -数据矩阵-- 紧凑型二维条码; 在制造业和物流业中很常见。 使用 BarcodeWriterEncoding.DataMatrix。 PDF417 -- 高容量二维条码; 用于制作货运标签和ID。 使用 BarcodeWriterEncoding.PDF417。 在为您的使用场景选择合适的编码时,请参考完整的支持的条形码格式列表。 要读取 Crystal Report 输出图像中的条形码,请参阅条形码读取器教程。 下一步计划是什么? 使用 VB .NET和IronBarcode在 Crystal Reports 中实现条形码,为报表增强提供了一个可靠的解决方案。 这种基于SDK的方法消除了字体依赖,同时提供了广泛的自定义选项。 无论使用数据库还是数据表,您都可以在 Crystal Reports 应用程序中实现专业条形码,包括数据矩阵、代码 39 和二维码。 要继续构建您的条形码工作流程: 下载IronBarcode -- 获取免费试用版,立即开始生成条形码 -阅读入门指南.NET项目的分步设置 -探索条形码生成示例-- 所有常见用例的代码示例 -查看支持的格式-- 为您的应用找到合适的条形码类型 -查看条形码读取教程——学习如何从 PDF 和图像中读取条形码 -访问许可页面-- 比较个人和团队使用方案 立即开始在您的项目中实施条形码,探索IronBarcode 的免费试用版,了解其使用.NET在 Crystal Reports 中打印条形码的全部功能。 SAP Crystal Reports SDK 的相关文档可在SAP 开发者门户网站上找到,其中包含更多集成模式。 常见问题解答 在使用VB.NET的Crystal Reports中使用IronBarcode有什么好处? 在使用VB.NET的Crystal Reports中使用IronBarcode可以无缝集成条形码,增强如跟踪库存和生成详细报告等业务流程。它比基于字体的解决方案简化了条形码生成。 IronBarcode如何改善Crystal Reports中的条形码生成? IronBarcode通过提供一个简单的SDK来改善条形码生成,消除了复杂公式的需求,减少了Crystal Reports中格式限制和打印机兼容性的问题。 IronBarcode能否在Crystal Reports中处理不同的条形码格式? 是的,IronBarcode支持广泛的条形码格式,使其在Crystal Reports中的各种应用中都具有多功能性,确保兼容性和可靠性。 将IronBarcode集成到VB.NET项目中是否困难? 不,将IronBarcode集成到VB.NET项目中设计为用户友好,具有清晰的文档和支持,使过程顺畅高效。 为什么我应该选择IronBarcode而非基于字体的条形码解决方案? IronBarcode提供比基于字体的条形码更强大和灵活的解决方案,避免了复杂的公式和打印问题,并提供广泛的格式支持和可靠性。 IronBarcode是否支持直接从Crystal Reports打印条形码? 是的,IronBarcode允许从Crystal Reports直接打印条形码,确保高质量输出并减少通常与其他方法相关的复杂性。 在VB.NET中基于字体的条形码常见问题是什么? 基于字体的条形码通常涉及复杂的公式、有限的格式选项和打印机兼容性问题,而IronBarcode通过其综合SDK帮助克服这些问题。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已发布2026年3月8日 为.NET应用程序创建条码专业SDK 一个全面的.NET条码SDK,用于QR码、GS1、数据矩阵等。支持.NET 6-10、Core和Framework。 阅读更多 已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多 已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多 在 C# 中构建条形码扫描器 API(开发者指南)如何使用IronBarcode在 C# 中...
已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多
已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多