VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼
如果您想知道如何在實際應用程式中處理 VB .NET 條碼字體,您並不孤單。 條碼字體(例如Code 39或 Code 128)一旦超出簡單的演示範圍,就經常會引發問題,字體需要安裝到各個地方,印表機並不總是能識別它們,而且如果缺少某些東西,部署可能會失敗。
本文展示了一種更簡單的方法:使用 IronBarcode 在 VB.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 條碼?
使用 IronBarcode 在 VB.NET 中產生 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 參考。
結論
本文介紹如何在 VB.NET 中擺脫傳統的條碼字體,並使用 IronBarcode 以程式方式產生條碼。 無論您需要 Code 39 條碼、Code 128 條碼、QR 條碼還是其他線性和二維條碼,IronBarcode 都是一個有用的條碼產生器,它可以在編譯後的 Visual Basic .NET 應用程式中產生高品質的條碼映像,對於任何在 dotnet 專案中開發人員的功能都是一項非常有價值的開發人員。 本文中的原始程式碼範例可以適用於您的應用程式所需的任何條碼符號體系。
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--
準備好申請生產許可證了嗎? 探索 IronBarcode 的授權選項,找到適合您專案的方案,或從 NuGet 下載免費試用版。
常見問題解答
在VB.NET中使用條碼字體有哪些挑戰?
條碼字體如Code 39和Code 128在VB.NET應用中可能會引發問題,因為它們需要在每台機器上安裝,而打印機可能無法正確渲染這些字體。如果缺少任何組件,會導致部署問題。
IronBarcode如何簡化VB.NET中的條碼生成?
IronBarcode允許您在VB.NET中生成條碼圖像,而不依賴於條碼字體。這消除了字體安裝的需求,並確保在不同平台和打印機上的一致渲染。
我能使用IronBarcode生成Code 128條碼嗎?
是的,您可以輕鬆地使用IronBarcode生成Code 128條碼。它提供生成條碼圖像的功能,無需處理字體的複雜性。
IronBarcode有免費試用版嗎?
是的,IronBarcode提供免費試用。這允許您在購買之前在VB.NET應用中測試條碼生成功能。
IronBarcode相比傳統條碼字體有什麼優勢?
使用IronBarcode消除了字體依賴,確保了打印機更好的相容性,並簡化了部署。它提供了一種在VB.NET應用中處理條碼的更可靠和更高效的方法。

