在本文中,我將向您展示如何使用 Java 以編程方式生成條形碼。此外,您還將學習如何使用 Java 掃描和讀取不同類型的條碼。
條形碼 技術是一種流行且廣泛使用的方式,以不同圖案的形式直觀地表示有關對象的數據。條碼是數據的編碼和機器可讀形式,可以使用條碼掃描儀進行解碼或讀取。如今,幾乎每個產品都包含一個條形碼,可以掃描該條形碼以檢索有關該產品的信息。此外,越來越多的在線業務也影響了不同類型條形碼在購買過程中的使用。關注當今的趨勢,本文旨在向您展示如何使用 Aspose 的條碼生成器和掃描器庫在您的 Java 應用程序中生成和掃描各種類型的條碼。
在本文中,您將學習如何:
Java 條形碼生成器和掃描器庫
為了在基於 Java 的應用程序(即控制台應用程序、Java Swing 應用程序)中生成條碼,Aspose.BarCode for Java 已被證明是一個靈活且功能豐富的 Java 條碼生成器和掃描器庫。您可以下載 Aspose.BarCode for Java 的 JAR 或使用以下配置將其安裝在基於 Maven 的應用程序中。
存儲庫:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依賴:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-barcode</artifactId>
<version>20.3</version>
<classifier>jdk17</classifier>
</dependency>
使用 Java 生成條形碼
以下是將條形碼生成為圖像的簡單步驟。
- 創建 BarcodeGenerator 類的對象。
- 使用編碼類型和要編碼的文本初始化 BarcodeGenerator 對象。
- 設置結果圖像的分辨率(可選)。
- 使用 BarcodeGenerator.save(string) 方法生成條形碼。
以下代碼示例顯示瞭如何使用 Java 生成條形碼。
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.CODE_128, "Aspose.BarCode");
// 設置分辨率
generator.getParameters().setResolution(400);
// 生成條形碼
generator.save("generate-barcode.png");
生成的條碼
使用 Java 生成二維碼
您可以使用 Aspose.BarCode for Java 生成各種條形碼類型。 API 支持的條碼符號體系包括但不限於:
- Code128
- 代碼11
- 代碼39
- 二維碼
- 數據矩陣
- EAN13
- EAN8
- ITF14
- PDF417
- 和更多。
在初始化 BarcodeGenerator 的對象時,您可以通過使用 EncodeTypes 參數指定相應的編碼類型來生成上述任何條形碼類型。為了演示,我們將生成一個 QR 條形碼。以下代碼示例顯示瞭如何在 Java 中生成 QR 條碼:
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "Aspose.BarCode");
// 設置分辨率
generator.getParameters().setResolution(400);
// 生成條形碼
generator.save("generate-qr-barcode.png");
生成二維碼
使用 Java 生成自定義條形碼
默認情況下,條形碼以黑白顏色組合生成。但是,在某些情況下,您可能希望或需要自定義其外觀。 Aspose.BarCode for Java 允許您自定義條碼的前景色、背景色、文本顏色、字體等。以下是生成自定義條碼的方法。
- 創建 BarcodeGenerator 類的對象。
- 使用編碼類型和要編碼的文本初始化 BarcodeGenerator。
- 使用 BarcodeGenerator.getParameters() 訪問和設置與條形碼外觀相關的參數。
- 使用 BarcodeGenerator.save(string) 方法生成條形碼。
以下代碼示例展示瞭如何使用 Java 生成具有自定義外觀的 AZTEC 條形碼。
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.AZTEC, "Aspose.BarCode");
// 設置條形碼的背景顏色
generator.getParameters().setBackColor(Color.DARK_GRAY);
// 設置條形碼的條形顏色
generator.getParameters().getBarcode().setBarColor(Color.ORANGE);
// 設置邊框顏色
generator.getParameters().getBorder().setColor(Color.BLACK);
// 設置文字顏色
generator.getParameters().getBarcode().getCodeTextParameters().setColor(Color.ORANGE);
// 設置圖像分辨率
generator.getParameters().setResolution(300);
// 生成條形碼
generator.save("generate-barcode-customized.png");
具有自定義外觀的條形碼
在 Java 中生成帶標題的條形碼
條形碼圖像也可能包含它們的標題。您可以在條形碼下方、條形碼上方或同時在兩個位置添加標題。以下步驟用於設置條形碼的標題:
- 創建 BarcodeGenerator 類的對象並使用編碼類型和代碼文本對其進行初始化。
- 使用 BarcodeGenerator.getParameters().getCaptionAbove().setText() 或 getCaptionBelow().setText() 方法訪問和設置標題。
- 使用 setVisible() 方法設置字幕的可見性。
- 使用 BarcodeGenerator.save(string) 方法生成條形碼。
以下代碼示例顯示瞭如何在 Java 中生成帶有標題的條形碼。
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.CODE_128, "Aspose.BarCode");
// 設置條形碼的標題
generator.getParameters().getCaptionAbove().setText("The caption above.");
generator.getParameters().getCaptionAbove().setVisible(true);
generator.getParameters().getCaptionBelow().setText("The caption below.");
generator.getParameters().getCaptionBelow().setVisible(true);
// 設置圖像分辨率
generator.getParameters().setResolution(200);
// 生成條形碼
generator.save("generate-barcode-with-caption.png");
帶標題的條形碼
在 Java 中讀取或掃描條形碼
除了生成條形碼,您還可以掃描條形碼圖像以解碼和讀取其中包含的信息/數據。由於一幅圖像可能包含多個條形碼,您可以同時訪問和讀取所有條形碼。以下是掃描和讀取條碼圖像的步驟:
- 創建一個 BarCodeReader 類的對象,並使用條碼圖像文件的路徑對其進行初始化。
- 您還可以將 DecodeType 作為第二個參數傳遞給 BarCodeReader 的構造函數,以僅讀取具有特定符號體系的條形碼。
- 使用 BarCodeReader.readBarCodes() 方法讀取條形碼。
以下代碼示例顯示瞭如何使用 Java 掃描和讀取條碼圖像。
// 初始化條碼閱讀器
BarCodeReader reader = new BarCodeReader("generate-barcode-with-caption.png", DecodeType.CODE_128);
// 掃描並讀取條形碼
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
輸出
CodeText: Aspose.BarCode
Symbology type: Code128
結論
在本文中,我們了解瞭如何使用 Java 生成不同類型的條形碼。分步指南和代碼示例演示瞭如何自定義條形碼的外觀以及如何在 Java 應用程序中掃描條形碼。您可以使用其 文檔 探索更多關於 Aspose.BarCode for Java 的信息。