GroupDocs.Redaction Java로 편집할 수 없는 PDF 만들기

많은 규제 산업에서는 변경하거나 복사할 수 없는 문서를 제공해야 합니다. 이를 보장하는 가장 신뢰할 수 있는 방법은 민감한 텍스트를 먼저 가리고 전체 문서를 래스터화하여 편집할 수 없는 PDF 파일을 만드는 것입니다. GroupDocs.Redaction for Java는 두 단계를 한 줄 API로 수행할 수 있게 해주어 맞춤형 PDF 엔진을 구축하지 않고도 규정 준수 요구 사항을 충족할 수 있습니다.

빠른 답변

  • “redact text”란 무엇인가요? 민감한 문자열을 영구적으로 제거하거나 가려서 읽히거나 복구될 수 없게 합니다.
  • 어떤 라이브러리가 작업을 처리하나요? GroupDocs.Redaction for Java는 내장된 가리기 및 래스터화 기능을 제공합니다.
  • 라이선스가 필요합니까? 무료 체험으로 테스트가 가능하며, 프로덕션에서는 영구 라이선스가 필요합니다.
  • DOCX를 한 번에 래스터화된 PDF로 변환할 수 있나요? 예 – 먼저 가린 후, 래스터화가 활성화된 SaveOptions를 사용합니다.
  • 출력이 정말 편집할 수 없나요? 래스터화된 PDF는 이미지로 렌더링되어 텍스트 추출이나 수정이 방지됩니다.

텍스트 가리기란 무엇인가요?

텍스트 가리기는 문서에서 개인 식별자, 재무 데이터, 법적 조항 등과 같은 기밀 정보를 영구적으로 제거하거나 가리는 작업입니다. 단순한 찾기‑바꾸기와 달리, 가리기는 숨겨진 내용이 어떤 도구로도 복구될 수 없도록 보장합니다. 원본 문자를 지우고 선택적으로 자리표시자로 교체함으로써, 가리기는 민감한 데이터가 복구 불가능하도록 하고, 문서는 권한이 있는 사용자가 읽을 수 있게 유지합니다.

왜 GroupDocs.Redaction for Java를 사용하나요?

GroupDocs.Redaction for Java는 보안 문서 처리를 간소화하는 포괄적인 기능 세트를 제공합니다. 다양한 파일 형식을 지원하고, 여러 종류의 가리기 기능을 제공하며, 원클릭 래스터화로 PDF를 잠글 수 있습니다. 이 라이브러리는 성능에 최적화되어 있으며 Windows와 Linux 모두에서 작동하고, 기존 Java 애플리케이션에 쉽게 통합되어 대규모로 민감한 정보를 보호해야 하는 기업에 신뢰할 수 있는 선택이 됩니다.

전제 조건

  • Java Development Kit (JDK 11 이상) 및 IntelliJ IDEA 또는 Eclipse와 같은 IDE.
  • GroupDocs.Redaction 라이브러리 (버전 24.9 이상).
  • 기본 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>

직접 다운로드

Maven을 사용하지 않는다면 공식 릴리스 페이지에서 JAR 파일을 받을 수 있습니다: GroupDocs.Redaction for Java releases.

라이선스 획득

  • 무료 체험 – 비용 없이 API를 탐색합니다.
  • 임시 라이선스 – 장기 테스트에 적합합니다.
  • 정식 라이선스 – 프로덕션 배포에 필요합니다.

기본 초기화

Redactor는 메모리에서 문서를 로드하고 수정하는 GroupDocs.Redaction의 핵심 클래스입니다. 네임스페이스를 가져온 후, 소스 파일 경로를 사용해 Redactor를 인스턴스화하면 가리기 규칙을 적용할 준비가 됩니다.

import com.groupdocs.redaction.Redactor;

final Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX");

구현 가이드

Java에서 편집할 수 없는 PDF를 만드는 방법?

소스 문서를 로드하고 원하는 가리기 규칙을 적용한 뒤, 래스터화가 활성화된 상태로 결과를 저장합니다. 이 세 단계 흐름—로드, 가리기, 래스터화—은 편집, 복사 또는 검색이 불가능한 PDF를 생성하여 가장 엄격한 규정 준수 기준을 충족합니다. 각 페이지를 이미지로 변환함으로써 최종 파일은 나중에 추출될 수 있는 숨겨진 텍스트 레이어를 제거합니다.

Java에서 텍스트를 가리는 방법

아래에서는 정확한 구문 가리기를 단계별로 살펴보며, 이는 사람 이름과 같은 알려진 식별자를 제거하는 데 적합합니다. 이 과정은 필요한 클래스를 가져오고, 가리기 규칙을 정의한 뒤, 저장하기 전에 문서에 적용하는 것을 포함합니다.

단계 1: 필요한 클래스 가져오기

ExactPhraseRedaction은 리터럴 문자열을 대상으로 하는 가리기 규칙입니다. ReplacementOptions는 원본 텍스트 대신 삽입할 자리표시자를 엔진에 알려줍니다.

import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.redactions.ExactPhraseRedaction;
import com.groupdocs.redaction.redactions.ReplacementOptions;

단계 2: 정확한 구문 가리기 적용

다음 코드 조각은 모든 “John Doe” 발생을 자리표시자 [personal] 로 교체합니다:

final Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX");
try {
    redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[personal]"));
} finally { 
    redactor.close(); 
}

왜 이렇게 동작하나요:

  • ExactPhraseRedaction은 리터럴 문자열 “John Doe”를 대상으로 합니다.
  • ReplacementOptions는 원본 텍스트 대신 삽입할 내용을 엔진에 알려줍니다.

팁 및 일반적인 함정

  • 문서 경로를 다시 확인하세요; 잘못된 경로는 FileNotFoundException을 발생시킵니다.
  • Java 프로세스가 출력 폴더에 대한 쓰기 권한을 가지고 있는지 확인하세요.

래스터화된 PDF로 저장하는 방법

가리기 후에는 편집할 수 없는 PDF가 필요할 것입니다. 래스터화는 각 페이지를 이미지로 변환하여 텍스트 선택이나 편집을 불가능하게 합니다. 이 단계는 최종 PDF가 스캔된 문서처럼 동작하도록 하여 텍스트 추출 도구와 실수로 인한 수정에 강하게 만듭니다.

단계 1: SaveOptions 가져오기

SaveOptions는 문서 저장 방식을 구성하며, 래스터화 및 파일 명명 옵션을 포함합니다.

import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.SaveOptions;

단계 2: 래스터화된 PDF 구성 및 저장

아래 코드 조각은 자동 “_redacted” 접미사를 비활성화하고, 래스터화를 활성화하며, 출력 파일을 기록합니다.

final Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX");
try {
    SaveOptions tmp0 = new SaveOptions();
    tmp0.setAddSuffix(false);
    tmp0.setRasterizeToPDF(true);

    redactor.save(tmp0);
} finally { 
    redactor.close(); 
}

설명:

  • setAddSuffix(false)는 원본 파일 이름을 유지합니다 (“_redacted”를 추가하려면 활성화할 수 있습니다).
  • setRasterizeToPDF(true)는 GroupDocs에 각 페이지를 PDF 내부 이미지로 렌더링하도록 알려주어 문서가 편집할 수 없게 보장합니다.

문제 해결

  • 래스터화가 실패하면 Java 런타임에 PDF 렌더링 종속성이 포함되어 있는지 확인하세요 (라이브러리에 번들되어 있습니다).

실용적인 적용 사례

  1. 법률 문서 처리 – 상대 변호사와 공유하기 전에 클라이언트 이름을 가립니다.
  2. HR 기록 관리 – 내부 보고서에서 직원 ID를 숨깁니다.
  3. 재무 보고 – 감사 요약을 배포할 때 계좌 번호를 보호합니다.

이 단계들을 자동 워크플로우로 연결하여 GroupDocs.Redaction을 문서 관리 시스템이나 클라우드 스토리지 버킷과 연동할 수 있습니다.

성능 고려 사항

  • 배치 처리: 많은 파일을 처리할 때 단일 Redactor 인스턴스를 재사용하면 오버헤드를 최대 40 %까지 줄일 수 있습니다.
  • 메모리 관리: 큰 문서의 경우 각 redactor.close() 후 System.gc()를 호출하거나 별도의 JVM에서 프로세스를 실행합니다.
  • 종속성 최신 유지: 새로운 릴리스에는 PDF 래스터화에 대한 성능 개선이 포함되는 경우가 많으며, 멀티코어 시스템에서 20 % 속도 향상이 있습니다.

일반적인 문제와 해결책

문제해결책
파일을 찾을 수 없음절대 경로를 확인하고 서버에 파일이 존재하는지 확인하세요.
권한 거부JVM을 충분한 OS 권한으로 실행하거나 출력 폴더의 ACL을 변경하세요.
래스터화가 빈 페이지를 생성함소스 문서가 이미 래스터 이미지가 아닌지 확인하고 최신 라이브러리 버전을 사용하세요.
가리기가 숨겨진 텍스트를 남김ExactPhraseRedaction을 ReplacementOptions와 함께 사용하고 단순 찾기‑바꾸기 방법은 피하세요.

자주 묻는 질문

Q: 정확한 구문 가리기란 무엇인가요?
A: 특정 문자열(예: 이름)을 자리표시자로 교체하여 원본 텍스트가 복구될 수 없도록 합니다.

Q: PDF를 래스터화하면 보안이 어떻게 향상되나요?
A: 래스터화된 PDF는 각 페이지를 이미지로 렌더링하여 텍스트 선택, 복사 또는 편집을 방지합니다.

Q: 한 번에 여러 파일을 처리할 수 있나요?
A: 예—파일 경로 목록을 순회하면서 각 문서에 동일한 Redactor 구성을 재사용합니다.

Q: 클라우드 연동이 가능한가요?
A: 물론입니다. AWS S3, Azure Blob, Google Cloud Storage에서 스트림을 읽고 쓰며 API에 직접 전달할 수 있습니다.

Q: 초보자에게 흔한 함정은 무엇인가요?
A: Redactor를 닫지 않아 파일이 잠기게 되는 것과 래스터화 지원이 없는 구버전 라이브러리를 사용하는 것입니다.

리소스

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

관련 튜토리얼