Busca en PDF a través de Java

Búsqueda avanzada de documentos PDF. Utilice Aspose.PDF para Java para modificar documentos PDF mediante programación

Cómo buscar un archivo PDF con Java

Para buscar PDF, usaremos la API Aspose.PDF for Java, que es una API de conversión para la plataforma Java con muchas funciones, potente y fácil de usar. Puede descargar su última versión directamente desde Maven e instalarla en su proyecto basado en Maven añadiendo las siguientes configuraciones apom.xml.

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>

Buscar archivo PDF a través de Java


Necesita Aspose.PDF for Java 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: 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());
}