Per cercare file PDF, useremo l’API Aspose.PDF for C++ che è un’API di manipolazione dei documenti ricca di funzionalità, potente e facile da usare per la piattaforma cpp. Apri il gestore pacchetti NuGet, cerca Aspose.pdf e installa. È inoltre possibile utilizzare il seguente comando dalla console di Gestione pacchetti.
PM > Install-Package Aspose.PDF.Cpp
Cerca file PDF tramite C++
È necessario Aspose.PDF for C++ per provare il codice nel proprio ambiente.
- Carica il PDF con un’istanza di Document.
- Creare un oggetto TextFragmentAbsorber con testo da trovare come parametro.
- Ottieni tutta la raccolta di frammenti di testo estratti.
- Esegui un ciclo di ogni frammento per ottenere tutte le sue informazioni.
Cerca file 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());
}