템플릿은 템플릿 키를 해당 값으로 대체하여 개인화된 문서를 생성하는 데 널리 사용됩니다. 이 문서는 Java의 PDF 문서에서 텍스트와 단어를 찾고 바꾸는 방법에 대해 안내합니다. 단어 및 구 검색, 대소문자 구분 단어 검색, 찾은 텍스트를 정규식으로 바꾸는 방법을 별도로 논의합니다. 마지막으로 자바를 사용하여 검색된 텍스트 부분을 숨기는 방법을 배웁니다.

다음 주제는 아래에서 다룹니다.

텍스트 교체를 위한 Java 수정 API

GroupDocs는 다양한 유형의 수정을 적용하기 위한 Java API를 제공합니다. 응용 프로그램 내에서 문서, 프레젠테이션, 스프레드시트, PDF 파일 및 이미지의 콘텐츠 및 메타데이터를 수정, 숨기기 또는 제거할 수 있습니다. API에 대한 자세한 내용은 해당 문서를 참조하십시오.

다운로드 또는 구성

다운로드 섹션에서 JAR 파일을 다운로드하거나 maven- 기반 Java 애플리케이션.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

좋은 점 중 하나는 PDF 편집을 위해 PDF 편집기나 다른 타사 소프트웨어를 설치할 필요가 없다는 것입니다. 다음은 편집을 위해 아래 예에서 사용된 PDF 문서의 내용입니다. 소스 코드에 거의 차이가 없는 다른 문서 형식에도 동일한 접근 방식이 적용됩니다.

Java의 PDF에서 단어 또는 구 찾기 및 바꾸기

이 기능을 사용하여 개인 데이터를 숨기고 템플릿에서 새 사용자 지정 문서를 만들 수도 있습니다. 다음 단계에서는 PDF 문서에서 단어/구를 찾고 Java 응용 프로그램 내에서 다른 텍스트로 바꾸는 방법을 설명합니다.

  • Redactor 클래스를 사용하여 PDF 파일을 로드합니다.
  • **ExactPhraseRedactionReplacementOptions.
  • 적용은 apply() 메서드를 사용하여 수정합니다.
  • save() 메서드를 사용하여 변경 사항이 있는 새 문서를 저장합니다.

다음 코드는 Java를 사용하여 PDF 파일에서 단어를 찾아 바꿉니다. 보다 정확하게는 “John Doe"를 “[censored]“라는 단어로 대체하여 “John Doe"의 모든 발생을 숨깁니다.

// PDF에서 정확한 구문을 찾아 Java를 사용하여 다른 텍스트로 대체
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// 수정된 파일을 다른 이름으로 다른 위치에 저장합니다.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.pdf");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

위 코드의 출력은 다음과 같습니다.

Java를 사용하여 PDF에서 대소문자 구분 텍스트 또는 구 찾기 및 바꾸기

대소문자를 구분하는 검색 및 수정을 수행할 수 있습니다. 다음 코드는 Java를 사용하는 PDF 문서 내에서 “John Doe"가 아닌 “John Doe"라는 단어의 대소문자 구분 발생을 대체합니다.

// PDF(대소문자 구분)에서 정확한 구문을 찾고 Java를 사용하여 다른 텍스트로 대체
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

코드의 출력은 다음과 같습니다.

PDF의 텍스트를 Java의 정규식(RegEx)으로 바꾸기

마찬가지로 정규식을 사용하여 특정 텍스트 패턴을 바꿀 수 있습니다. 다음 단계를 통해 Java 응용 프로그램 내에서 정규식(RegEx)을 사용하여 검색한 후 PDF를 수정할 수 있습니다.

  • Redactor 클래스를 사용하여 PDF 문서를 로드합니다.
  • ReplacementOptions와 함께 RegexRedaction 클래스를 사용하여 정규식 일치를 찾습니다.
  • apply() 메서드를 사용하여 문서의 변경 사항을 적용합니다.
  • 저장 적절한 save() 메서드를 사용하여 수정된 문서.

다음 Java 코드는 RegEx를 사용하여 PDF 문서에서 특정 텍스트 패턴을 찾고 나중에 이를 다른 텍스트로 바꾸거나 숨기는 방법을 보여줍니다.

// 정규 표현식을 사용하여 PDF에서 텍스트를 찾고 Java를 사용하여 다른 텍스트로 대체
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

위 코드의 출력은 다음과 같습니다.

Java에서 텍스트를 컬러 상자로 바꾸기

PDF 파일 내에서 검색된 기밀 정보를 숨기려면 단순히 덮개를 씌우면 됩니다. API를 사용하면 검색된 텍스트를 숨길 수 있습니다. 다음 코드는 Java에서 언급된 개인 텍스트 위에 검은색 사각형을 배치합니다.

// PDF에서 텍스트를 찾고 Java를 사용하여 그 위에 직사각형을 그려 숨깁니다.
final Redactor redactor  = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

위 코드의 출력은 다음과 같습니다.

무료 API 라이선스 받기

평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.

결론

요약하자면, 다양한 검색 기술을 사용하여 PDF 파일에서 특정 텍스트를 찾는 방법을 배웠습니다. 나중에 Java의 응용 프로그램 내에서 텍스트를 바꾸거나 숨김으로써 PDF 파일을 수정했습니다. 보다 정확하게는 대소문자를 구분하여 검색하고 Java에서 RegEx를 사용하여 단어, 구에 대한 간단한 검색을 수행했습니다. 마지막으로 다른 텍스트로 검색 결과를 변경하거나 단순히 색상으로 숨김으로써 검색 결과를 변경했습니다.

API에 대한 자세한 내용은 문서를 참조하세요. 문의사항은 포럼을 통해 문의해주세요.

또한보십시오