PDF에서 민감한 데이터 마스킹하기 – GroupDocs OCR Redaction 사용
오늘날 디지털 환경에서 개인 및 기밀 정보를 보호하는 것은 최우선 과제입니다. 이 튜토리얼에서는 GroupDocs Redaction과 Microsoft Azure OCR을 결합하여 PDF 파일의 민감한 데이터를 마스킹하는 방법을 배웁니다. 이 접근 방식은 스캔된 페이지에 대해 신뢰할 수 있는 텍스트 인식을 제공하고, PDF Java 문서를 정밀하게 Redact하여 개인정보 보호 규정을 준수하도록 합니다.
빠른 답변
- “민감한 데이터 마스킹”이란 무엇인가요? 식별된 기밀 텍스트를 자리표시자(예:
[REDACTED])로 교체합니다. - OCR을 담당하는 라이브러리는? GroupDocs Redaction을 통해 사용되는 Microsoft Azure OCR 커넥터입니다.
- 라이선스가 필요합니까? 평가용 무료 체험판을 사용할 수 있으며, 프로덕션에서는 영구 라이선스가 필요합니다.
- 스캔된 PDF를 Redact 할 수 있나요? 예—OCR이 숨겨진 텍스트를 추출한 후 정규식 Redaction을 적용합니다.
- 이 솔루션은 Java 전용인가요? 예제는 Java 기반이지만, GroupDocs는 .NET 및 기타 플랫폼용 유사 API를 제공합니다.
OCR 기반 Redaction이란?
OCR 기반 Redaction은 문서의 각 페이지에 대해 광학 문자 인식을 실행하여 텍스트 이미지 를 검색 가능한 문자열로 변환합니다. 텍스트가 검색 가능해지면 정규식(regex) 규칙을 적용해 사회보장번호, 신용카드 번호, 개인 식별자 등 민감한 정보를 찾아 [REDACTED] 와 같은 마스크로 교체할 수 있습니다.
GroupDocs Redaction과 Azure OCR을 함께 사용하는 이유
- 스캔된 PDF 및 이미지에 대한 높은 정확도.
- Maven 또는 직접 JAR 다운로드를 통한 원활한 Java 통합.
- 유연한 정규식 엔진으로 모든 데이터 유형에 대한 맞춤 패턴 정의 가능.
- 대량 문서 처리에 적합한 확장성, 비동기 처리 옵션 제공.
사전 요구 사항
- Java Development Kit (JDK) 8+ 설치.
- Maven(의존성 관리 선호) 또는 수동 JAR 다운로드 가능 환경.
- Microsoft Azure OCR 자격 증명(엔드포인트 및 구독 키).
- 기본 Java 지식 및 정규식에 대한 이해.
GroupDocs Redaction for Java 설정
Maven 설정
pom.xml에 GroupDocs 저장소와 의존성을 추가합니다:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/redaction/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>24.9</version>
</dependency>
</dependencies>
직접 다운로드
수동 JAR 관리를 원한다면 GroupDocs.Redaction for Java releases에서 최신 릴리스를 받아 주세요.
라이선스 획득
- 무료 체험 – 모든 기능을 비용 없이 체험.
- 임시 라이선스 – 평가 기간 연장.
- 정식 라이선스 – 프로덕션 준비 기능 활성화.
기본 초기화 및 설정
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.RedactorSettings;
import com.groupdocs.redaction.options.LoadOptions;
import com.groupdocs.redaction.examples.java.helper_classes.MicrosoftAzureOcrConnector;
// Initialize the OCR connector with Microsoft Azure
RedactorSettings settings = new RedactorSettings(new MicrosoftAzureOcrConnector());
OCR Redaction으로 민감한 데이터 마스킹하기
단계 1: OCR 설정과 함께 문서 로드
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.LoadOptions;
// Load your document with OCR settings
try (Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF_FOR_4OCR.pdf",
new LoadOptions(), settings)) {
// Further operations will go here
}
YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF_FOR_4OCR.pdf– PDF 파일 경로로 교체합니다.LoadOptions– 기본 로드 옵션이며, 필요 시 커스터마이징 가능.settings– 앞서 만든 Azure OCR 커넥터를 포함합니다.
단계 2: 정규식 Redaction 정의 및 적용
import com.groupdocs.redaction.redactions.RegexRedaction;
import com.groupdocs.redaction.redactions.ReplacementOptions;
// Define the regex for sensitive data (e.g., Social Security Numbers)
RegexRedaction redaction = new RegexRedaction("\\b\\d{3}-\\d{2}-\\d{4}\\b",
new ReplacementOptions("[REDACTED]"));
// Apply redaction
redactor.apply(redaction);
// Save the document after redactions
redactor.save(new SaveOptions());
- 정규식
\b\d{3}-\d{2}-\d{4}\b은 미국 사회보장번호와 일치합니다. ReplacementOptions("[REDACTED]")은 각 매치를 마스크로 교체하여 민감한 데이터를 마스킹합니다.
민감한 데이터 마스킹 일반 사용 사례
- 법률 문서 관리 – 초안 공유 전 클라이언트 식별자를 숨김.
- 재무 보고 – 계좌 번호와 거래 ID 보호.
- 의료 기록 – HIPAA 준수를 위해 환자 식별자를 Redact.
- 정부 발행물 – 공개 기록에서 개인 데이터 삭제.
- 기업 계약 – 외부 검토 시 독점 조항 은폐.
성능 향상 팁
- 정규식 최적화 – 처리 시간을 늘리는 과도하게 포괄적인 패턴을 피하세요.
- 메모리 관리 –
Redactor인스턴스를 즉시 닫습니다(try‑with‑resources가 자동으로 처리). - 비동기 실행 – 대량 처리 시 별도 스레드 또는 작업 큐를 사용해 Redaction 작업을 실행합니다.
문제 해결
- Azure 자격 증명 오류 –
MicrosoftAzureOcrConnector에 설정된 엔드포인트 URL과 구독 키를 재확인하세요. - 문서 로드 실패 – 파일 경로를 확인하고 PDF가 암호로 보호되지 않았는지 확인합니다(필요 시
LoadOptions에 비밀번호 제공). - Redaction이 적용되지 않음 – 먼저 간단한 문자열로 정규식을 테스트하고,
Pattern.compile을 이용한 단위 테스트로 매치를 확인합니다.
자주 묻는 질문
Q: OCR Redaction이란 무엇인가요?
A: OCR Redaction은 광학 문자 인식을 사용해 이미지 또는 스캔된 PDF에서 숨겨진 텍스트를 추출한 뒤, Redaction 규칙을 적용해 해당 텍스트를 마스크하는 방식입니다.
Q: Azure OCR 없이 GroupDocs Redaction을 사용할 수 있나요?
A: 예, 가능하지만 스캔된 문서에서 기본 텍스트 추출이 실패할 경우 OCR을 사용하면 정확도가 크게 향상됩니다.
Q: 복잡한 정규식 패턴은 어떻게 다루나요?
A: Java의 Pattern 클래스를 활용해 샌드박스 환경에서 단계별로 구축·테스트한 후 대형 문서에 적용합니다.
Q: 일반적인 성능 병목 현상은 무엇인가요?
A: 대용량 PDF, 과도하게 복잡한 정규식, 동기식 OCR 호출이 처리 속도를 저하시키며, 배치 처리와 최적화된 패턴 사용을 권장합니다.
Q: 구현 관련 지원을 받을 수 있나요?
A: 물론입니다—GroupDocs 포럼에서 커뮤니티 도움을 받거나 GroupDocs 지원팀에 문의하세요.
추가 자료
- 문서: https://docs.groupdocs.com/redaction/java/
- API 레퍼런스: https://reference.groupdocs.com/redaction/java
- 다운로드: https://releases.groupdocs.com/redaction/java/
- GitHub: https://github.com/groupdocs-redaction/GroupDocs.Redaction-for-Java
- 무료 지원: https://forum.groupdocs.com/c/redaction/33
- 임시 라이선스: https://purchase.groupdocs.com/temporary-license/
최종 업데이트: 2026-02-08
테스트 환경: GroupDocs.Redaction 24.9 (Java)
작성자: GroupDocs