PDF에서 민감한 데이터 마스킹하기 – GroupDocs OCR Redaction 사용

오늘날 디지털 환경에서 개인 및 기밀 정보를 보호하는 것은 최우선 과제입니다. 이 튜토리얼에서는 GroupDocs RedactionMicrosoft 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]") 은 각 매치를 마스크로 교체하여 민감한 데이터를 마스킹합니다.

민감한 데이터 마스킹 일반 사용 사례

  1. 법률 문서 관리 – 초안 공유 전 클라이언트 식별자를 숨김.
  2. 재무 보고 – 계좌 번호와 거래 ID 보호.
  3. 의료 기록 – HIPAA 준수를 위해 환자 식별자를 Redact.
  4. 정부 발행물 – 공개 기록에서 개인 데이터 삭제.
  5. 기업 계약 – 외부 검토 시 독점 조항 은폐.

성능 향상 팁

  • 정규식 최적화 – 처리 시간을 늘리는 과도하게 포괄적인 패턴을 피하세요.
  • 메모리 관리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 지원팀에 문의하세요.

추가 자료


최종 업데이트: 2026-02-08
테스트 환경: GroupDocs.Redaction 24.9 (Java)
작성자: GroupDocs