Suchen Sie nach PDF-Dateien in C++

Native und leistungsstarke PDF-Dokumentensuche mit serverseitiger Aspose.PDF für C++ APIs, ohne die Verwendung von Software wie Microsoft oder Adobe PDF.

So durchsuchen Sie eine PDF-Datei mit C++

Um eine PDF-Datei zu durchsuchen, verwenden wir die API Aspose.PDF for C++, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung für die cpp Plattform. Öffnen Sie den NuGet -Paketmanager, suchen Sie nach Aspose.pdf und installieren Sie es. Sie können auch den folgenden Befehl von der Package Manager Console aus verwenden.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Durchsuchen Sie die PDF-Datei über C++


Sie benötigen Aspose.PDF for C++, um den Code in Ihrer Umgebung auszuprobieren.

  1. Laden Sie das PDF mit einer Instanz von Document.
  2. Erstellen Sie ein TextFragmentAbsorber-Objekt mit Text, der als Parameter gesucht werden soll.
  3. Holen Sie sich alle extrahierten Textfragmente Sammlung.
  4. Durchlaufen Sie jedes Fragment, um alle Informationen zu erhalten.

Durchsuchen von PDF-Dateien — 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());
}