Java PDF에서 QR 코드를 읽는 방법 - GroupDocs.Parser 사용
현대 비즈니스 워크플로우에서 PDF 문서에서 QR 코드를 읽는 방법은 수동 데이터 입력 병목 현상과 완전 자동화 파이프라인 사이의 차이를 만들 수 있습니다. 선적 명세서, 소매 영수증, 제품 카탈로그 등을 처리하든, QR 정보를 빠르고 신뢰성 있게 추출하는 것이 필수적입니다. 이 튜토리얼에서는 GroupDocs.Parser for Java를 사용하여 PDF에서 QR 코드(및 기타 바코드)를 읽고, 결과를 하위 시스템이 사용할 수 있는 깔끔한 XML 파일로 내보내는 방법을 단계별로 안내합니다.
빠른 답변
- GroupDocs.Parser for Java는 무엇을 하나요? PDF 파일을 읽고 바코드와 같은 구조화된 데이터를 추출합니다.
- QR 코드를 추출하려면?
BarcodeOptions에 QR 유형을 설정하고parser.getBarcodes()를 호출합니다. - Java에서 QR 코드를 읽을 수 있나요? 예—옵션에서 바코드 유형을
"QR"로 설정합니다. - 라이선스가 필요합니까? 테스트용으로는 트라이얼이 작동하지만, 프로덕션에서는 상용 라이선스가 필요합니다.
- 필요한 Java 버전은? Java 8 이상을 권장합니다.
PDF 처리 맥락에서 “QR 코드 읽기”란 무엇인가요?
PDF에서 QR 코드를 읽는다는 것은 각 페이지를 스캔하여 QR‑인코딩된 그래픽을 찾고, 포함된 데이터를 디코딩하여 프로그램이 사용하기 쉬운 형식으로 반환하는 것을 의미합니다. GroupDocs.Parser는 저수준 이미지 분석을 추상화하여 픽셀 조작 대신 비즈니스 로직에 집중할 수 있게 합니다.
QR 추출에 GroupDocs.Parser를 사용하는 이유
- 높은 정확도: 내장 이미지 처리 알고리즘이 저해상도 스캔을 처리합니다.
- 성능 옵션: 속도를 위해
QualityMode.Low를, 최대 정밀도를 위해QualityMode.High를 선택합니다. - 다중 포맷 지원: PDF, 이미지, Office 문서에서도 작동하므로 다양한 파일 유형에 동일한 코드베이스를 재사용할 수 있습니다.
사전 요구 사항
- GroupDocs.Parser for Java (버전 25.5 이상).
- Maven 또는 수동 JAR 다운로드.
- Java 8+ 개발 환경 (IntelliJ IDEA, Eclipse 또는 기타 편집기).
GroupDocs.Parser for Java 설정
Maven 사용
Add the GroupDocs repository and dependency to your pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
직접 다운로드
또는 최신 JAR를 GroupDocs.Parser for Java releases에서 다운로드합니다.
라이선스 획득 단계
- 무료 체험: 전체 기능을 제공하는 30일 체험.
- 임시 라이선스: 연장 평가를 위한 임시 키를 요청합니다.
- 구매: 프로덕션 배포를 위한 상용 라이선스를 획득합니다.
기본 초기화 및 설정
Create a Parser instance that points to the PDF you want to analyze:
import com.groupdocs.parser.Parser;
class BarcodeExtractor {
public static void main(String[] args) {
// Initialize Parser object with the path to your PDF document.
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY")) {
// Additional setup and usage will follow in the next sections.
} catch (Exception e) {
e.printStackTrace();
}
}
}
GroupDocs.Parser를 사용하여 Java PDF에서 QR 코드를 읽는 방법
단계 1: 바코드 지원 확인
Before attempting extraction, confirm that the document format supports barcode scanning:
if (!parser.getFeatures().isBarcodes()) {
System.out.println("Document does not support barcode extraction.");
return; // Exit if the document does not support barcode extraction
}
설명: 이 검사는 지원되지 않는 파일 형식에서 발생할 수 있는 런타임 오류를 방지합니다.
단계 2: 바코드 옵션 구성 (Java에서 QR 코드 읽기)
Set the scanning quality and specify that you’re interested in QR codes:
import com.groupdocs.parser.options.BarcodeOptions;
import com.groupdocs.parser.options.QualityMode;
BarcodeOptions options = new BarcodeOptions(QualityMode.Low, QualityMode.Low, "QR");
설명: QualityMode.Low는 처리 속도를 높이고, 추가 정확도가 필요하면 High로 전환합니다. "QR" 인자는 엔진에게 QR 유형 바코드만 찾도록 지시합니다.
단계 3: QR 데이터 추출
Pull the barcode information from every page of the PDF:
import com.groupdocs.parser.data.PageBarcodeArea;
import java.util.List;
Iterable<PageBarcodeArea> barcodes = parser.getBarcodes(options);
설명: parser.getBarcodes는 PageBarcodeArea 객체의 반복 가능한 컬렉션을 반환하며, 각 객체는 디코딩된 QR 값과 페이지 내 위치를 포함합니다.
추출된 데이터를 XML로 내보내기
단계 4: XML 익스포터 초기화
Create an exporter that will transform the barcode collection into a well‑structured XML file:
import com.groupdocs.parser.export.XmlExporter;
XmlExporter exporter = new XmlExporter();
설명: XmlExporter는 바코드 객체를 표준 XML로 직렬화하여 ERP 또는 재고 시스템과의 연동에 준비합니다.
단계 5: XML 파일 쓰기
Save the extracted QR information to disk:
exporter.exportBarcodes(barcodes, "YOUR_OUTPUT_DIRECTORY/data.xml");
설명: 결과 data.xml 파일은 QR 코드당 하나의 <Barcode> 요소를 포함하며, 페이지 번호, 좌표, 디코딩된 값을 속성으로 가집니다.
실용적인 적용 사례
- 재고 관리: 들어오는 선적 PDF의 QR 태그를 읽어 재고 데이터베이스를 자동으로 채웁니다.
- 공급망 가시성: 물류 문서에 포함된 QR 식별자를 추출하여 실시간으로 패키지를 추적합니다.
- 소매 영수증: 디지털 영수증에 인쇄된 QR 코드에서 프로모션 또는 보증 정보를 가져옵니다.
성능 고려 사항
- 메모리 관리: 매우 큰 PDF의 경우 전체 파일을 메모리에 로드하는 대신 스트리밍 방식으로 페이지를 처리합니다.
- QualityMode 선택: 대량 처리 시
Low를 사용하고, 저해상도 스캔을 다룰 때는High로 전환합니다. - 라이브러리 업데이트: 최신 성능 향상 및 버그 수정을 위해 GroupDocs.Parser를 최신 상태로 유지합니다.
일반적인 문제 및 해결 방법
| 증상 | 가능한 원인 | 해결 방법 |
|---|---|---|
| 바코드가 반환되지 않음 | 잘못된 바코드 유형 지정 | "QR"을 적절한 유형(예: "CODE_128" )으로 변경합니다. |
| 대형 PDF에서 메모리 부족 오류 | 전체 문서를 한 번에 로드 | 페이지를 개별적으로 처리하거나 JVM 힙 크기(-Xmx2g)를 늘립니다. |
| XML 파일이 비어 있음 | exportBarcodes가 추출 전에 호출됨 | 내보내기 전에 parser.getBarcodes(options)가 데이터를 반환하는지 확인합니다. |
자주 묻는 질문
Q: GroupDocs.Parser를 사용하여 이미지 파일에서 바코드를 추출할 수 있나요?
A: 예, 라이브러리는 일반 이미지 포맷(PNG, JPEG, TIFF)에서 바코드 추출을 지원합니다.
Q: 어떤 바코드 형식을 인식하나요?
A: QR, Code 39, Code 128, DataMatrix, PDF417 등 다수. 전체 목록은 API 문서를 참고하세요.
Q: 비밀번호로 보호된 PDF를 어떻게 처리하나요?
A: 비밀번호를 Parser 생성자에 전달합니다: new Parser(filePath, "password").
Q: 트라이얼 버전으로 프로덕션 테스트가 충분한가요?
A: 트라이얼은 전체 기능을 제공하지만 추출된 데이터에 워터마크가 추가됩니다. 프로덕션에서는 상용 라이선스를 획득하세요.
Q: PDF에 QR와 선형 바코드가 모두 포함되어 있으면 어떻게 하나요?
A: 여러 BarcodeOptions 인스턴스를 만들거나 유형 배열을 전달하여 한 번에 모든 필요한 형식을 스캔합니다.
마지막 업데이트: 2026-02-19
테스트 환경: GroupDocs.Parser 25.5
작성자: GroupDocs