使用IRONBARCODE 如何使用VB.NET在Crystal Reports中打印條碼 Jordi Bardia 發表日期:10月 19, 2025 Download IronBarcode NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 將條碼添加到 Crystal Reports 可以增強您的業務流程,從跟蹤庫存到生成詳細報告,使其更快且更準確。 如果您曾在 VB.NET 中嘗試使用基於字體的條碼,您就會知道使用複雜的公式、有限的格式和打印機問題多麼棘手,使其令人沮喪。 幸運的是,如IronBarcode這樣的現代條碼生成器 SDK 使創建和打印條碼變得簡單。 在本指南中,我們將引導您完成所有操作:在 Visual Studio 中設置 IronBarcode,生成條碼,並將其直接顯示在您的 Crystal Reports 中。 到最後,您將能夠生成專業、可靠的條碼,幾乎沒有麻煩。 在 Crystal Reports 中打印條碼的方法是什麼? 為 Crystal Reports 添加條碼主要有兩種方法:基於字體的方法和 SDK 解決方案。 基於字體的方法需要在字體文件夾中安裝特殊條碼字體(True Type 字體)並使用公式或用戶函數庫(UFL)來編碼數據。 雖然這種方法有效,但它通常涉及複雜的編碼公式、有限的條碼格式支持(例如 Code 39 或數據矩陣),以及在不同打印機和系統中的潛在字體渲染問題,正如Microsoft 的字體渲染文檔中所討論的。 基於 SDK 的解決方案提供了更強大的替代方案。這些庫以程序方式生成條碼圖像,提供更好的可靠性、廣泛的格式支持和更簡單的實施。 IronBarcode exemplifies this modern approach, allowing developers to 生成條碼作為圖像,通過標準數據庫字段或 DataTable 對象無縫集成到 Crystal Reports。 此方法確保在所有平台上的一致渲染,並消除在使用 VB.NET 打印 Crystal Report 中的條碼時的字體依賴問題。 如何為 VB.NET 設置 IronBarcode? 在 VB.NET 項目中設置 IronBarcode 需要最少的配置。 首先,通過 NuGet 包管理器運行以下命令安裝庫: Install-Package BarCode 或者,使用 Visual Studio 中的包管理器 UI 搜索並安裝 "IronBarcode"。 安裝後,在 VB.NET 代碼中導入命名空間: Imports IronBarCode Imports IronBarCode VB .NET 確保您的項目目標是 .NET Framework 4.0 或更高版本,或任何版本的 .NET Core/.NET 5+。 IronBarcode 與所有支持圖片字段的 Crystal Reports 版本兼容,使其能夠廣泛與現有項目兼容。 有關詳細的設置說明,請參閱 IronBarcode 文檔。 立即下載 IronBarcode,開始在您的 Crystal Reports 中創建專業條碼。 我如何生成條碼並將其存儲在數據庫中? 使用 IronBarcode 創建條碼並將其存儲在 Crystal Reports 的過程涉及生成條碼圖像並使用新 OleDbConnection 或 SqlConnection 將其保存到您的數據庫。 以下是完整示例: 選項 1:使用數據庫 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 and adjust font size myBarcode.ResizeTo(400, 150) ' Connect to your database (example uses connection string) Using connection As New SqlConnection("YourConnectionString") ' SQL command to post barcode data Dim cmd As New SqlCommand("INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)", connection) ' Add parameters cmd.Parameters.AddWithValue("@Code", "CUSTOMER-12345") cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream) ' Execute the command connection.Open() cmd.ExecuteNonQuery() End Using End Sub End Module 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 and adjust font size myBarcode.ResizeTo(400, 150) ' Connect to your database (example uses connection string) Using connection As New SqlConnection("YourConnectionString") ' SQL command to post barcode data Dim cmd As New SqlCommand("INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)", connection) ' Add parameters cmd.Parameters.AddWithValue("@Code", "CUSTOMER-12345") cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream) ' Execute the command connection.Open() cmd.ExecuteNonQuery() End Using End Sub End Module VB .NET 通過創建一個新的 SqlConnection(或新的 OleDbConnection)來連接到您的數據庫並發布您的條碼數據。 選項 2:使用 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())) ' Add table row for each product Dim row As DataRow = dt.NewRow() row("ProductCode") = "PROD-12345" ' Create barcode on-the-fly and convert to binary 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 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())) ' Add table row for each product Dim row As DataRow = dt.NewRow() row("ProductCode") = "PROD-12345" ' Create barcode on-the-fly and convert to binary 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 VB .NET 此代碼生成一個值為 "PROD-12345" 的Code 128 條碼。 AddBarcodeValueTextBelowBarcode() 方法在條碼下方添加可讀文本。 ResizeTo() 方法調整尺寸以適應您的報告佈局。 有關更多條碼格式,請瀏覽 支持的條碼類型。 如何在 Crystal Reports 中顯示條碼? 一旦條碼存儲在數據庫中,在 Crystal Reports 中顯示它們遵循標準圖像字段程序: 打開 Crystal Reports 並創建一個新的報告或打開一個現有的報告 在 Field Explorer 中右鍵單擊 "Database Fields" 並選擇 "Database Expert" 連接到您的數據庫並選擇包含條碼圖像的表 將條碼圖像字段拖到報告設計界面上 根據需要調整字段的大小和位置 您的報告設計器應如下圖所示: 為在報告運行時動態生成條碼,修改 DataTable 或數據庫查詢以動態生成條碼: Function GetReportData() As DataTable Dim dt As New DataTable() dt.Columns.Add("ProductCode", GetType(String)) dt.Columns.Add("Barcode", GetType(Byte())) ' Add table row Dim row As DataRow = dt.NewRow() row("ProductCode") = "CUSTOMER-12345" ' Create barcode on-the-fly and convert to binary Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128) row("Barcode") = barcode.BinaryStream dt.Rows.Add(row) Return dt End Function Function GetReportData() As DataTable Dim dt As New DataTable() dt.Columns.Add("ProductCode", GetType(String)) dt.Columns.Add("Barcode", GetType(Byte())) ' Add table row Dim row As DataRow = dt.NewRow() row("ProductCode") = "CUSTOMER-12345" ' Create barcode on-the-fly and convert to binary Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128) row("Barcode") = barcode.BinaryStream dt.Rows.Add(row) Return dt End Function VB .NET 此方法在加載報告時動態生成條碼,消除此之前需要在數據庫中預存儲圖像的需求。 您還可以使用 Crystal Reports 的導出功能將報告轉換為 PDF。 有關 Crystal Reports 數據源的更多信息,請參閱 SAP 的 Crystal Reports 文檔。 輸出 您的 Crystal Report 應顯示具有可讀文本和適當字體大小的條碼。根據需要調整字體、字段大小或邊距以符合掃描器、打印機或標籤的需求。 條碼現在可以直接從您的 VB 程式或項目中包含在 PDF、打印表單或模板中。 常見問題和解決方案是什麼? 在使用 VB.NET 在 Crystal Reports 中實施條碼時可能會出現幾個問題: 條碼模糊:使用 myBarcode.ResizeTo() 增加分辨率以獲得更大的尺寸。 掃描問題:確保在條碼周圍有足夠的空白區域或為 Code 39 包含星號標記。 數據庫連接問題:檢查您的新 OleDbConnection 或新 OleDbDataAdapter 參數。 確保正確的數據集綁定。 數據類型問題:始終使用圖像或 varbinary(max) 字段存儲條碼二進制數據。 條碼未顯示:確保 Crystal Reports 檢視器具有對數據庫、DataTable 或文件資源的正確訪問權限。 系統問題:確保安裝所有必需的 DLL,並且您的項目引用了正確的 IronBarcode DLL。 字體或打印機問題:確認 True Type 字體已安裝在字體文件夾中並為您的打印機配置。 有關其他故障排除支持,請訪問 IronBarcode 故障排除指南。 結論 在 Crystal Reports 中使用 VB.NET 和 IronBarcode 實施條碼提供了一個可靠且簡單的報告增強解決方案。 這種基於 SDK 的方法消除了字體依賴性,同時提供了廣泛的自定義選項。 無論是使用數據庫還是 DataTable,您都可以在 Crystal Reports 應用程序中實施專業條碼,包括數據矩陣、Code 39 和其他格式。 立即通過下載IronBarcode 的免費試用版,在您的項目中開始實施條碼,以探索其在使用 VB.NET 打印 Crystal Reports 中的條碼方面的全部功能。 常見問題解答 在 Crystal Reports 中使用 IronBarcode 與 VB.NET 有哪些好處? 在 Crystal Reports 中使用 IronBarcode 與 VB.NET 可以無縫集成條碼,增強業務流程,例如庫存跟踪和生成詳細報告。與基於字體的解決方案相比,它簡化了條碼生成。 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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 9月 29, 2025 IronBarcode對比.NET中的開源條碼閱讀器 了解如何使用IronBarcode在C#中讀取條碼 閱讀更多 發表日期 9月 29, 2025 如何在ASP.NET應用程式中掃描條碼 了解如何在ASP.NET中使用IronBarcode掃描條碼 閱讀更多 發表日期 9月 29, 2025 如何在C#中創建USB條碼掃描器 使用IronBarcode在C#中構建USB條碼掃描器應用程式以進行驗證和生成。包括完整的代碼示例和錯誤處理。 閱讀更多 IronBarcode對比.NET中的開源...