Java에서 GroupDocs.Redaction을 사용한 민감한 데이터 가리기

GroupDocs.Redaction은 70개 이상의 문서 형식에서 기밀 정보를 프로그래밍 방식으로 제거하면서 원본 레이아웃을 유지하는 Java 라이브러리입니다. 이 튜토리얼에서는 Java 애플리케이션에서 민감한 데이터를 가리는 방법, 파일 배치에 가리기 정책을 적용하는 방법, 서식을 잃지 않고 결과를 저장하는 방법을 배웁니다.

빠른 답변

  • 보안 문서 처리란 무엇을 의미합니까? 파일을 처리, 가리기 및 저장하는 전체 워크플로우에서 기밀 데이터가 보호되는 것을 의미합니다.
  • 한 번에 여러 파일을 처리할 수 있나요? 예—폴더를 순회하면서 동일한 가리기 정책을 모든 문서에 자동으로 적용할 수 있습니다.
  • 민감한 데이터를 어떻게 가릴 수 있나요? 숨길 패턴이나 객체를 정의하는 가리기 정책을 만든 다음 해당 정책으로 Redactor를 실행합니다.
  • 프로덕션에 라이선스가 필요합니까? 프로덕션에서는 유효한 GroupDocs.Redaction 라이선스가 필요합니다; 평가용으로는 체험 라이선스를 사용할 수 있습니다.
  • 래스터화 없이 가린 문서를 저장할 수 있나요? RasterizationOptions.setEnabled(false)를 설정하면 원본 파일 형식이 변경되지 않습니다.

GroupDocs.Redaction을 사용하여 Java 문서에서 민감한 데이터를 가리는 방법은?

가리기 정책을 로드하고 디렉터리의 각 파일에 적용한 뒤 출력물을 저장합니다—몇 단계만으로 완료됩니다. GroupDocs.Redaction API를 사용하면 레이아웃을 유지하면서 지정한 데이터를 안전하게 제거하고, 래스터화, 출력 형식 및 성능 특성을 제어할 수 있는 옵션을 제공합니다.

Java용 GroupDocs.Redaction을 사용하는 이유는?

GroupDocs.Redaction은 70개 이상의 입력 및 출력 형식(PDF, DOCX, PPTX, 이미지 등)을 지원하며 정확한 텍스트, 이미지 또는 메타데이터를 대상으로 하는 세밀한 정책을 정의할 수 있습니다. 라이브러리는 배치를 효율적으로 처리하며, 래스터화를 토글하여 원본 형식을 유지하거나 보안을 강화하기 위해 페이지를 이미지로 변환할 수 있습니다.

필수 조건

  • Java Development Kit (JDK) 8 이상이 설치되어 있어야 합니다.
  • Maven 또는 기타 빌드 도구를 사용하여 종속성을 관리합니다.
  • 기본 Java 지식 및 파일 I/O에 대한 이해가 필요합니다.

Java용 GroupDocs.Redaction 설정

Maven 설정

다음 의존성을 pom.xml에 추가합니다:

다음 Maven 의존성은 프로젝트에 GroupDocs.Redaction을 추가합니다.

<!-- Maven dependency placeholder -->
<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에서 다운로드합니다.

라이선스 획득

체험 라이선스는 개발에 사용할 수 있지만, 프로덕션 배포에는 영구 라이선스 파일을 애플리케이션의 리소스 폴더에 배치하고 런타임에 참조해야 합니다.

기본 초기화 및 설정

필요한 클래스를 가져오고 Redactor 인스턴스를 생성합니다. Redactor는 문서에 대한 가리기 작업을 수행하는 주요 클래스입니다.

// Initialization code placeholder
import com.groupdocs.redaction.*;

구현 가이드

가리기 정책이란?

가리기 정책은 Redactor에게 어떤 텍스트 패턴, 이미지 또는 메타데이터를 숨기거나 삭제할지 알려주는 재사용 가능한 규칙 집합입니다. 한 번 정의하면 여러 문서에 적용할 수 있어 모든 처리 파일에 일관된 규정 준수를 보장합니다.

RedactionPolicy policy = RedactionPolicy.load("YOUR_POLICY_FILE_PATH");

가리기 정책 로드 및 적용

XML 또는 JSON 파일에서 정책을 로드하고 폴더의 각 문서에 적용합니다:

// Load and apply policy code placeholder
for (final File fileEntry : new File("YOUR_DOCUMENT_DIRECTORY").listFiles()) {
    final Redactor redactor = new Redactor(fileEntry.getPath());
    try {
        // Apply the loaded redaction policy
        RedactorChangeLog result = redactor.apply(policy);
        
        // Determine output directory based on processing status
        File resultFolder = new File(result.getStatus() != RedactionStatus.Failed ? "YOUR_OUTPUT_DIRECTORY_DONE" : "YOUR_OUTPUT_DIRECTORY_FAILED");
        
        // Save the processed file
        try (FileOutputStream fileStream = new FileOutputStream(resultFolder.getPath() + "/" + fileEntry.getName())) {
            RasterizationOptions options = new RasterizationOptions();
            options.setEnabled(false);
            redactor.save(fileStream, options);
        }
    } finally {
        redactor.close(); // Ensure resources are released
    }
}

배치에서 여러 파일 처리

디렉터리를 순회하면서 각 파일을 Redactor로 열고 동일한 정책을 적용합니다:

// Batch processing code placeholder
File inputFile = new File("YOUR_DOCUMENT_DIRECTORY/input.docx");

래스터화 옵션으로 처리된 문서 저장

입력 파일에 대한 Redactor 초기화

가리기 대상 파일을 엽니다:

// Open file code placeholder
try (Redactor redactor = new Redactor(inputFile.getPath())) {
    try (FileOutputStream fileStream = new FileOutputStream(outputFileDirectory.getPath() + "/processed_output.docx")) {
        RasterizationOptions options = new RasterizationOptions();
        options.setEnabled(false);  // Example option to disable rasterization
        redactor.save(fileStream, options);
    }
}

래스터화 옵션으로 저장

RasterizationOptions를 구성하여 원본 형식을 유지하거나 페이지를 이미지로 변환한 뒤 저장합니다:

// Save options code placeholder

핵심 옵션

  • setEnabled(false) – 원본 파일 유형을 보존합니다.
  • setResolution(150) – 이미지를 래스터화할 때 DPI를 설정합니다.

래스터화 없이 가린 문서를 서식 손실 없이 저장하려면?

save를 호출하기 전에 래스터화 플래그를 false로 설정합니다. 이렇게 하면 GroupDocs.Redaction이 소스와 동일한 형식으로 출력을 작성하므로 표, 글꼴 및 레이아웃이 그대로 유지되면서도 필요한 가리기가 적용됩니다.

실용적인 적용 사례

  1. 법률 문서 처리 – 초안 공유 전에 클라이언트 식별자를 가립니다.
  2. 헬스케어 데이터 관리 – 환자 정보를 제거하여 HIPAA 규정을 준수합니다.
  3. 재무 보고 – 보고서를 배포할 때 계좌 번호를 숨깁니다.
  4. 계약 검토 – 협상 중에 독점 조항을 보호합니다.
  5. 이메일 보관 – 기업 이메일 아카이브를 저장할 때 프라이버시 규정을 보장합니다.

성능 고려 사항

  • 리소스 관리 – 메모리를 해제하려면 항상 Redactor를 닫습니다.
  • 배치 처리 – 속도와 메모리 사용량의 균형을 맞추려면 10‑20개 파일씩 그룹화합니다.
  • 최적화된 정책 – 필요한 패턴만 제한하면 처리 시간이 단축됩니다; 광범위한 패턴은 처리 시간을 늘립니다.

일반적인 함정 및 문제 해결

  • 라이선스 누락 예외 – 라이선스 파일 경로가 정확하고 파일을 읽을 수 있는지 확인합니다.
  • 지원되지 않는 파일 형식 – 지원 형식 목록을 확인하십시오; 지원되지 않는 파일은 UnsupportedFormatException을 발생시킵니다.
  • 대용량 PDF에서 메모리 부족 오류 – JVM 힙을 늘리세요(-Xmx2g) 또는 가리기 전에 PDF를 작은 청크로 분할합니다.

자주 묻는 질문

Q: 한 번의 명령으로 여러 파일을 처리할 수 있나요?
A: “문서에 정책 적용” 예제에 표시된 디렉터리 순회 루프를 사용하면 지정된 폴더의 모든 파일을 자동으로 가릴 수 있습니다.

Q: “민감한 데이터 가리기”는 실제로 무엇을 제거하나요?
A: 정책은 일반 텍스트 패턴, 이미지 또는 메타데이터를 대상으로 할 수 있으며, 구성에 따라 검은 상자로 대체하거나 완전히 제거합니다.

Q: 적용 전에 가리기 정책을 미리 볼 수 있는 방법이 있나요?
A: 예—redactor.preview(policy)(지원되는 경우)를 호출하면 숨겨질 내용이 정확히 표시된 미리보기 PDF를 생성합니다.

Q: 원본 서식을 잃지 않고 가린 문서를 저장하려면 어떻게 해야 하나요?
A: 앞서 설명한 대로 RasterizationOptions.setEnabled(false)를 설정하면 파일이 원본 형식으로 유지됩니다.

Q: 개발 테스트에 라이선스가 필요합니까?
A: 개발에는 임시 또는 체험 라이선스로 충분하지만, 프로덕션 배포에는 정식 라이선스가 필요합니다.

리소스

결론

이 가이드를 따르면 GroupDocs.Redaction의 강력한 정책 엔진과 배치 처리 기능을 활용해 Java 문서에서 민감한 데이터를 대규모로 안전하게 가릴 수 있습니다. 정책을 귀사의 규정 준수 요구에 맞게 조정하고, 성능을 위해 래스터화 설정을 튜닝하며, 워크플로를 모든 Java 기반 백엔드 서비스에 통합하십시오.


마지막 업데이트: 2026-08-31
테스트 환경: GroupDocs.Redaction 24.9 for Java
작성자: GroupDocs

관련 튜토리얼