Rechercher des fichiers PDF dans Java

Recherche de documents PDF native et hautes performances à l’aide de Aspose.PDF côté serveur pour les API Java, sans utiliser de logiciel tel que Microsoft ou Adobe PDF.

Comment rechercher un fichier PDF à l'aide de Java

Afin de rechercher des fichiers PDF, nous utiliserons l’API Aspose.PDF for Java qui est une API de conversion riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme Java. Vous pouvez télécharger sa dernière version directement sur Maven et l’installer dans votre projet basé sur Maven en ajoutant les configurations suivantes au pom.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>

Rechercher un fichier PDF via Java


Vous avez besoin de Aspose.PDF for Java pour essayer le code dans votre environnement.

  1. Chargez le PDF avec une instance de Document.
  2. Créez un objet TextFragmentAbsorber avec du texte à rechercher comme paramètre.
  3. Obtenez la collection de tous les fragments de texte extraits.
  4. Parcourez chaque fragment pour obtenir toutes ses informations.

Rechercher des fichiers 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());
}