Busca archivos PDF en C++

Búsqueda de documentos PDF nativos y de alto rendimiento mediante Aspose.PDF del lado del servidor para C++ API, sin el uso de ningún software como Microsoft o Adobe PDF.

Cómo buscar un archivo PDF con C++

Para buscar archivos PDF, usaremos la API Aspose.PDF for C++, que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma cpp. Abra el administrador de paquetes NuGet, busque Aspose.pdf e instálelo. También puede usar el siguiente comando desde la consola de Package Manager.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Buscar archivo PDF a través de C++


Necesita Aspose.PDF for C++ para probar el código en su entorno.

  1. Cargue el PDF con una instancia de Document.
  2. Cree el objeto TextFragmentAbsorber con texto para encontrarlo como parámetro.
  3. Obtenga toda la colección de fragmentos de texto extraídos.
  4. Recorre cada fragmento para obtener toda su información.

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