Java 에서 PDF 파일 검색

마이크로소프트나 어도비 PDF와 같은 소프트웨어를 사용하지 않고도 Java API용 서버 측 Aspose.PDF 를 사용하여 네이티브 및 고성능 PDF 문서를 검색할 수 있습니다.

Java 를 사용하여 PDF 파일을 검색하는 방법

PDF를 검색하기 위해 기능이 풍부하고 강력하며 사용하기 쉬운 Java 플랫폼용 변환 API인 Aspose.PDF for Java API를 사용합니다.Maven 에서 직접 최신 버전을 다운로드하고 pom.xml에 다음 구성을 추가하여 Maven 기반 프로젝트에 설치할 수 있습니다.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Java 를 통해 PDF 파일 검색


사용자 환경에서 코드를 테스트하려면 Aspose.PDF for Java 가 필요합니다.

1.문서 인스턴스와 함께 PDF를 로드합니다. 1.매개 변수로 찾을 텍스트를 사용하여 TextFragmentAbsorber 객체를 만듭니다. 1.추출된 모든 텍스트 조각 컬렉션을 가져옵니다. 1.각 프래그먼트를 반복해서 모든 정보를 얻으세요.

PDF 파일 검색 - Java


// Load PDF document
Document pdfDocument = new Document("source.pdf");

// Create TextAbsorber object to find all instances of the input search phrase
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\d{4}-\d{4}"); // like 1999-2000

// Set text search option to specify regular expression usage
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// Accept the absorber for first page of document
pdfDocument.getPages().accept(textFragmentAbsorber);

// Get the extracted text fragments into collection
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Loop through the fragments
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	System.out.println("Text :- " + textFragment.getText());
	System.out.println("Position :- " + textFragment.getPosition());
	System.out.println("XIndent :- " + textFragment.getPosition().getXIndent());
	System.out.println("YIndent :- " + textFragment.getPosition().getYIndent());
	System.out.println("Font - Name :- " + textFragment.getTextState().getFont().getFontName());
	System.out.println("Font - IsAccessible :- " + textFragment.getTextState().getFont().isAccessible());
	System.out.println("Font - IsEmbedded - " + textFragment.getTextState().getFont().isEmbedded());
	System.out.println("Font - IsSubset :- " + textFragment.getTextState().getFont().isSubset());
	System.out.println("Font Size :- " + textFragment.getTextState().getFontSize());
	System.out.println("Foreground Color :- " + textFragment.getTextState().getForegroundColor());
}