C++ 에서 PDF 파일 검색

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

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

PDF 파일을 검색하기 위해 cpp 플랫폼을 위한 기능이 풍부하고 강력하며 사용하기 쉬운 문서 조작 API인 Aspose.PDF for C++ API를 사용할 것입니다.NuGet 패키지 관리자를 열고 Aspose.pdf를 검색하여 설치합니다.패키지 관리자 콘솔에서 다음 명령을 사용할 수도 있습니다.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

C++ 를 통해 PDF 파일 검색


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

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

PDF 파일 검색 - C++


// 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());
}