Java SDK를 사용하여 바코드 스캐너 앱을 개발하는 방법. 웹, 모바일 및 데스크탑 애플리케이션에서 QR 스캔 기능을 구현하십시오.

바코드 스캐너

온라인 바코드 스캔 | QR 코드 스캐너

이 기사에서는 Java REST API를 사용하여 바코드 스캐너 및 QR 코드 스캐너 앱을 개발하는 방법에 대해 자세히 설명합니다. 우리는 오늘날 급변하는 경제에서 바코드가 제품 세부 정보를 저장하기 위한 공급업체 및 판매자에게 필수적이며 실행 가능한 솔루션이라는 것을 알고 있습니다. 수년에 걸쳐 그들은 비즈니스에 가치 있고 실행 가능한 선택임이 입증되었습니다. 그들은 효율성을 크게 개선하고 오버헤드를 줄였습니다. 바코드는 비용 효율적이고 신뢰할 수 있습니다. BarCode 사용의 다른 이점 중 아래에 지정된 몇 가지 추가 이점이 있습니다.

  • 바코드는 인적 오류의 가능성을 제거합니다.
  • 바코드 시스템을 사용하여 직원 교육 시간 단축
  • 바코드는 매우 다재다능하며 모든 종류의 필요한 데이터 수집에 사용할 수 있습니다.
  • 정확한 재고 관리가 가능하므로 재고 관리가 향상됩니다.
  • 또한 바코드는 더 나은 데이터를 제공합니다. 즉, 단일 바코드가 재고 및 가격 세부 정보를 제공할 수 있습니다.

이러한 모든 기능과 관련하여 Aspose.BarCode Cloud Java SDK는 Java 개발자가 Java 언어를 사용하여 온라인에서 바코드를 생성하고 스캔할 수 있도록 합니다. 다른 Cloud API와 마찬가지로 Aspose.BarCode Cloud Java SDK는 클라우드 대시보드에서 계정을 등록해야 합니다. 이미 계정을 등록한 경우 계속 사용할 수 있습니다. 계정이 준비되면 AppKey 및 AppSID를 통해 클라우드 서비스를 사용하는 것이 좋습니다.

Aspose Cloud 스토리지 사용을 고려하거나 파일 저장 및 검색을 위해 타사 클라우드 스토리지 서비스를 사용할 수 있습니다.

지원되는 바코드 기호

SDK는 EAN, UPC, Codabar, PDF417, QR, MicroQR, Postnet, Planet, RM4SCC 등과 같은 수많은 바코드 기호(60개 이상)를 지원합니다. 또한 기존 BarCode 정보를 로드하고 출력을 인기 있는 이미지로 저장하는 옵션도 제공됩니다. JPEG, PNG, GIF, BMP, TIFF, EMF, [WMF][와 같은 형식 9], SVG, EXIF, ICON. 지원되는 기호의 전체 목록을 보려면 Aspose.BarCode Cloud Java SDK를 방문하십시오.

바코드 생성

SDK는 선형, 2D 및 우편 바코드 이미지를 다양한 형식으로 생성할 수 있도록 합니다. 이미지 너비, 높이, 테두리 스타일 및 출력 이미지 형식과 같은 바코드 이미지 속성을 지정할 수 있습니다. 응용 프로그램 요구 사항에 따라 텍스트 위치 및 글꼴 스타일과 같은 바코드 유형 및 텍스트 속성을 지정할 수도 있습니다. 또한 바의 높이를 설정하고 바코드 이미지를 비스듬히 회전하는 기능도 제공합니다.

다음 예는 페이지의 상단 중앙 정렬에 배치되는 Code39Standard 바코드를 생성하는 단계를 보여줍니다. 텍스트 색상은 Navy, Horizontal, Vertical 해상도는 200으로 지정합니다. BarColor는 Orange, 배경색은 Silver로 지정하고 출력 형식은 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>"

요청 URL

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:- 결과 바코드 미리보기.

바코드 리더 온라인

QR 스캔

이미지 2: QR 코드 스캐너

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":{}}

요청 URL

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());
2d 바코드

이미지 3:- 2D 바코드 미리보기.

위에서 지정한 이미지에서 위의 코드를 실행하면 응답 본문이 출력을 다음과 같이 렌더링합니다.

응답 본문

{  "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를 사용하면 이미지 파일에서 QR 코드 판독기를 구현할 수도 있습니다. Java SDK를 사용하는 것 외에도 cURL 명령을 사용하여 온라인에서 바코드를 스캔하는 옵션도 있습니다. 추가 소프트웨어 다운로드나 설치가 필요하지 않습니다. API를 사용하는 동안 문제가 발생하는 경우 무료 제품 지원 포럼을 통해 언제든지 문의하십시오.

관련 기사

또한 다음 링크를 방문하여 자세히 알아보는 것이 좋습니다.