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이 소스와 동일한 형식으로 출력을 작성하므로 표, 글꼴 및 레이아웃이 그대로 유지되면서도 필요한 가리기가 적용됩니다.
실용적인 적용 사례
- 법률 문서 처리 – 초안 공유 전에 클라이언트 식별자를 가립니다.
- 헬스케어 데이터 관리 – 환자 정보를 제거하여 HIPAA 규정을 준수합니다.
- 재무 보고 – 보고서를 배포할 때 계좌 번호를 숨깁니다.
- 계약 검토 – 협상 중에 독점 조항을 보호합니다.
- 이메일 보관 – 기업 이메일 아카이브를 저장할 때 프라이버시 규정을 보장합니다.
성능 고려 사항
- 리소스 관리 – 메모리를 해제하려면 항상
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 for Java releases – 최신 JAR 파일을 다운로드합니다.
- GroupDocs.Redaction Java Docs – 공식 문서 및 사용 예제.
- API Reference – 상세 클래스 및 메서드 레퍼런스.
- Latest Releases – 버전 기록 및 변경 로그 확인.
- Source Code on GitHub – 오픈소스 저장소 탐색.
- GroupDocs Forum – 커뮤니티 지원 및 토론.
결론
이 가이드를 따르면 GroupDocs.Redaction의 강력한 정책 엔진과 배치 처리 기능을 활용해 Java 문서에서 민감한 데이터를 대규모로 안전하게 가릴 수 있습니다. 정책을 귀사의 규정 준수 요구에 맞게 조정하고, 성능을 위해 래스터화 설정을 튜닝하며, 워크플로를 모든 Java 기반 백엔드 서비스에 통합하십시오.
마지막 업데이트: 2026-08-31
테스트 환경: GroupDocs.Redaction 24.9 for Java
작성자: GroupDocs