如何使用 Java SDK 開發條碼掃描器應用程序。在您的 Web、移動和桌面應用程序中實施 QR 掃描功能。

掃碼機

在線掃描條碼 |二維碼掃描器

在本文中,我們將討論如何使用 Java REST API 開發條碼掃描器和 QR 碼掃描器應用程序的細節。我們了解,在當今快節奏的經濟中,條形碼是供應商和商家存儲產品詳細信息的重要且可行的解決方案。多年來,它們已被證明是企業有價值且可行的選擇。它們大大提高了效率並減少了開銷。條形碼既經濟又可靠。在使用條碼的其他好處中,下面指定的是使用它們的更多好處

  • 條形碼消除了人為錯誤的可能性
  • 使用條形碼系統可減少員工培訓時間
  • 條形碼用途極為廣泛,可用於任何類型的必要數據收集
  • 它們可以實現精確的庫存控制,從而改善庫存控制
  • 此外,條形碼提供更好的數據,即單個條形碼可以提供庫存和定價詳細信息

與所有這些功能相關的是,Aspose.BarCode Cloud Java SDK 使 Java 開發人員能夠使用 Java 語言在線創建和掃描條碼。與我們的其他雲API類似,Aspose.BarCode Cloud Java SDK需要您在Cloud Dashboard註冊一個賬戶。如果您已經註冊了一個賬戶,您可以繼續使用它。準備好帳戶後,您就可以通過 AppKey 和 AppSID 使用雲服務了。

您可以考慮使用 Aspose 雲存儲,或使用任何第三方雲存儲服務進行文件存儲和檢索。

支持的條碼符號

SDK 支持多種條碼符號體系(超過 60 種),例如 EAN、UPC、Codabar、PDF417、QR、MicroQR、Postnet、Planet、RM4SCC 等。您還可以選擇加載現有條碼信息並將輸出保存到流行圖像中格式,例如 JPEGPNGGIFBMPTIFFEMFWMFSVGEXIFICON。有關支持的符號體系的完整列表,請訪問 Aspose.BarCode Cloud Java SDK

生成條碼

SDK 讓您可以創建多種格式的線性、二維和郵政條碼圖像。您可以指定條形碼圖像屬性,例如圖像寬度、高度、邊框樣式和輸出圖像格式。您還可以根據您的應用程序要求指定條碼類型和文本屬性,例如文本位置和字體樣式。它還提供了設置條形高度和以一定角度旋轉條形碼圖像的功能。

以下示例顯示了創建 Code39Standard 條形碼的步驟,該條形碼放置在頁面的頂部居中對齊方式上。文本顏色指定為 Navy,Horizontal,Vertical 分辨率指定為 200。BarColor 指定為 Orange,背景顏色設置為銀色,輸出格式為 JPEG 格式。

在我們繼續之前,我們建議您訪問以下鏈接,因為在使用 cURL 命令訪問 API 時需要 JWT 令牌。

捲曲

curl -X PUT "https://api.aspose.cloud/v3.0/barcode/MySample.jpeg/generate?Type=Code39Standard&Text=BarCode%20processing&TextLocation=Above&TextAlignment=Center&TextColor=Navy&FontSizeMode=Auto&Resolution=200&ResolutionX=200&BackColor=silver&BarColor=Orange&BorderColor=Blue&format=jpeg" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

請求網址

https://api.aspose.cloud/v3.0/barcode/MySample.jpeg/generate?Type=Code39Standard&Text=BarCode%20processing&TextLocation=Above&TextAlignment=Center&TextColor=Navy&FontSizeMode=Auto&Resolution=200&ResolutionX=200&BackColor=silver&BarColor=Orange&BorderColor=Blue&format=jpeg

爪哇

ApiClient client = new ApiClient(
"App SID from https://dashboard.aspose.cloud/#/apps",
"App Key from https://dashboard.aspose.cloud/#/apps");
		        
com.aspose.barcode.cloud.api.BarcodeApi api = new com.aspose.barcode.cloud.api.BarcodeApi(client);
String name = "MySample.jpeg";
String type = com.aspose.barcode.cloud.model.EncodeBarcodeType.CODE39STANDARD.getValue();	
String text = "Barcode processing API"; // String | Text to encode.
String twoDDisplayText = null;
String textLocation = com.aspose.barcode.cloud.model.CodeLocation.ABOVE.getValue();
String textAlignment = com.aspose.barcode.cloud.model.TextAlignment.CENTER.getValue();
String textColor = "Navy";
String fontSizeMode = com.aspose.barcode.cloud.model.FontMode.AUTO.getValue();
int resolution = 200;
double resolutionX = 200;
double resolutionY = 200;
String barColor = "Orange";
String format = "JPEG";
		        
try {
com.aspose.barcode.cloud.model.ResultImageInfo result = api.putBarcodeGenerateFile(
    name, 
		type, 
		text, 
		twoDDisplayText, 
		textLocation, 
		textAlignment, 
		textColor, 
		fontSizeMode, 
		(double) resolution, 
		resolutionX, 
		resolutionY, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		"Silver", 
		barColor, 
		"Blue",
		null, 
		null, 
		true, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null,
		format);
		            
  System.out.println(result);
	} catch (ApiException e) {
  System.err.println("Exception when calling BarcodeApi#PutBarcodeGenerateFile");
	e.printStackTrace();
}
在線條碼掃描器

圖片 1:- 結果條碼預覽。

在線條形碼閱讀器

二維碼掃描

圖 2:二維碼掃描儀

Cloud API 還能夠識別現有條形碼中的信息。您可以選擇指定條碼類型詳細信息以便快速檢索或讓 API 自動確定類型。您還可以指定 ChecksumValidation 詳細信息、DetectEncoding,或讓 API 在運行時確定它們。

捲曲

curl -X POST "https://api.aspose.cloud/v3.0/barcode/recognize?Type=all&DetectEncoding=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-H  "x-aspose-client: Containerize.Swagger" -d {"image":{}}

請求網址

https://api.aspose.cloud/v3.0/barcode/recognize?Type=all&DetectEncoding=true

爪哇

// 完整的示例和數據文件,請訪問 https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/

String type = null;
String checksumValidation = ChecksumValidation.OFF.toString();
Boolean detectEncoding = null;
String preset = PresetType.HIGHPERFORMANCE.toString();

Integer rectX = null;
Integer rectY = null;
Integer rectWidth = null;
Integer rectHeight = null;
Boolean stripFNC = null;
Integer timeout = null;
Integer medianSmoothingWindowSize = null;
Boolean allowMedianSmoothing = null;
Boolean allowComplexBackground = null;
Boolean allowDatamatrixIndustrialBarcodes = null;
Boolean allowDecreasedImage = null;
Boolean allowDetectScanGap = null;
Boolean allowIncorrectBarcodes = null;
Boolean allowInvertImage = null;
Boolean allowMicroWhiteSpotsRemoving = null;
Boolean allowOneDFastBarcodesDetector = null;
Boolean allowOneDWipedBarsRestoration = null;
Boolean allowQRMicroQrRestoration = null;
Boolean allowRegularImage = null;
Boolean allowSaltAndPepperFiltering = null;
Boolean allowWhiteSpotsRemoving = null;
Double regionLikelihoodThresholdPercent = null;
List<Integer> scanWindowSizes = null;
Double similarity = null;
Boolean skipDiagonalSearch = null;
String australianPostEncodingTable = null;
String rectangleRegion = null;
String url = null;

Path currentRelativePath = Paths.get("");
String currentPath = currentRelativePath.toAbsolutePath().toString();
Path filePath = Paths.get(currentPath, "data", "sample.png");

File image = new File(String.valueOf(filePath));

BarcodeResponseList response = 
   	 api.postBarcodeRecognizeFromUrlOrContent( 
      		type,checksumValidation,detectEncoding,preset,rectX,rectY,rectWidth,rectHeight,
      		stripFNC,timeout,medianSmoothingWindowSize,allowMedianSmoothing,allowComplexBackground,
      		allowDatamatrixIndustrialBarcodes,allowDecreasedImage,allowDetectScanGap,
		allowIncorrectBarcodes,allowInvertImage,allowMicroWhiteSpotsRemoving,allowOneDFastBarcodesDetector,
      		allowOneDWipedBarsRestoration,allowQRMicroQrRestoration,allowRegularImage,allowSaltAndPepperFiltering,
      		allowWhiteSpotsRemoving,regionLikelihoodThresholdPercent,scanWindowSizes,similarity,skipDiagonalSearch,
      		australianPostEncodingTable,rectangleRegion,url,image);

assertNotNull(response);
assertFalse(response.getBarcodes().isEmpty());

BarcodeResponse barcode = response.getBarcodes().get(0);
assertEquals(DecodeBarcodeType.CODE11.getValue(), barcode.getType());
assertEquals("1234567812", barcode.getBarcodeValue());
二維碼

圖 3:- 二維條碼預覽。

如果您在上面指定的圖像上運行上面的代碼,響應主體將輸出呈現為

響應體

{  "barcodes":  [  {  "barcodeValue":  "12345678",  "type":  "Code39Standard",  "region":  [  {  "x":  **28**,  "y":  **3**  },  {  "x":  **222**,  "y":  **3**  },  {  "x":  **222**,  "y":  **74**  },  {  "x":  **28**,  "y":  **74**  }  ],  "checksum":  ""  }  ]  }

結論

在本文中,我們了解瞭如何使用 Java REST API 開發條碼掃描器應用程序的步驟。同樣,該 API 還使您能夠從圖像文件中實現二維碼閱讀器。除了使用 Java SDK,我們還可以選擇使用 cURL 命令在線掃描條碼。不需要額外的軟件下載或安裝。如果您在使用 API 時遇到任何問題,請隨時通過免費產品支持論壇 與我們聯繫。

相關文章

我們還建議訪問以下鏈接以了解更多信息: