PDF Java에서 텍스트 찾기 및 바꾸기

다양한 경우에 PDF 문서에서 특정 텍스트를 찾아서 바꿔야 할 수도 있습니다. 그러나 각 항목을 수동으로 검색하고 업데이트하면 추가 시간과 노력이 필요할 수 있습니다. 이러한 경우 찾기 및 바꾸기 옵션을 사용하면 더 쉽게 사용할 수 있습니다. 이 기사에서는 Java를 사용하여 PDF 문서에서 텍스트를 찾고 바꾸는 방법을 배웁니다.

PDF에서 텍스트 찾기 및 바꾸기를 위한 Java API - 무료 다운로드

Aspose.PDF for Java는 Java 응용 프로그램 내에서 PDF 파일을 생성하고 조작하도록 설계되었습니다. API는 텍스트 찾기 및 바꾸기를 포함하여 다양한 기본 및 고급 PDF 조작 기능을 제공합니다. API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.1</version>    
</dependency>

Java를 사용하여 PDF에서 텍스트 찾기 및 바꾸기

PDF의 특정 텍스트를 바꾸려면 먼저 검색 문자열과 일치하는 모든 텍스트 조각을 가져와야 합니다. 일단 가지고 있으면 각 조각을 업데이트된 텍스트로 하나씩 교체하십시오.

다음은 Java를 사용하여 PDF 파일에서 텍스트를 찾고 바꾸는 단계입니다.

다음 코드 샘플은 PDF에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("source.pdf");

// 입력 검색 구문의 모든 인스턴스를 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// 문서의 모든 페이지에 대해 흡수 장치를 수락하십시오.
pdfDocument.getPages().accept(textFragmentAbsorber);

// 추출된 텍스트 조각을 컬렉션으로 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// 조각을 통해 루프
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// 텍스트 및 기타 속성 업데이트
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// 업데이트된 PDF 파일 저장
pdfDocument.save("Updated_Text.pdf");

PDF의 특정 페이지에서 텍스트 검색 및 바꾸기

전체 PDF에서 텍스트를 찾아 바꾸는 대신 텍스트 발생을 바꿀 단일 페이지를 지정할 수 있습니다. 이 경우 페이지 인덱스를 지정해야만 특정 페이지에 대해 TextFragmentAbsorber를 수락합니다.

다음은 Java의 PDF에서 특정 페이지의 텍스트를 검색하고 바꾸는 단계입니다.

다음 코드 샘플은 Java를 사용하여 PDF의 특정 페이지에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("source.pdf");

// 입력 검색 구문의 모든 인스턴스를 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// 문서의 첫 페이지에 대한 흡수 장치를 수락합니다.
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// 추출된 텍스트 조각을 컬렉션으로 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// 조각을 통해 루프
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// 텍스트 및 기타 속성 업데이트
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// 업데이트된 PDF 파일 저장
pdfDocument.save("Updated_Text.pdf");

PDF에서 정규 표현식을 사용하여 텍스트 찾기 및 바꾸기

이메일, SSN 등과 같은 특정 패턴과 일치하는 텍스트를 검색하기 위해 정규식을 지정할 수도 있습니다. 다음은 Java를 사용하여 PDF에서 텍스트를 검색하고 바꾸기 위해 정규식을 정의하고 사용하는 단계입니다.

다음 코드 샘플은 정규식을 사용하여 PDF에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("input.pdf");

// 입력 검색 구문의 모든 인스턴스를 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

// 정규식 사용을 활성화하도록 텍스트 검색 옵션 설정
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// 문서의 모든 페이지에 대해 흡수 장치를 수락합니다.
pdfDocument.getPages().accept(textFragmentAbsorber);

// 추출된 텍스트 조각을 컬렉션으로 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// 조각을 통해 루프
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// 텍스트 및 기타 속성 업데이트
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// 업데이트된 PDF 파일 저장
pdfDocument.save("Updated_Text.pdf");

무료 API 라이선스 받기

평가 제한 없이 API를 무료로 사용해 볼 수 있습니다. 무료 임시 라이선스 받기 지금.

결론

이 기사에서는 Java를 사용하여 PDF에서 텍스트를 찾고 바꾸는 방법을 배웠습니다. 또한 정규 표현식을 사용하여 특정 패턴에 따라 텍스트를 검색하고 바꾸는 방법을 살펴보았습니다. 문서를 사용하여 Java PDF API에 대해 자세히 알아볼 수 있습니다.

또한보십시오