
Mogelijk moet u naar een specifieke tekst zoeken in Word- of PDF-documenten. Als Java-ontwikkelaar kunt u programmatisch elke tekst in PDF-documenten doorzoeken. In dit artikel leert u hoe u met Java naar een woord kunt zoeken in PDF-documenten. In dit artikel worden de volgende onderwerpen besproken/behandeld:
- [Java API voor het zoeken naar tekst][2]
- [Tekst zoeken in PDF met Java][3]
Java API voor het zoeken naar tekst
Ik zal [GroupDocs.Search for Java][4] API gebruiken om te zoeken in [PDF][5] documenten. Hiermee kunt u tekstzoekacties uitvoeren in alle populaire documentindelingen zoals PDF, Word, Excel, PowerPoint en nog veel meer. Met deze API kunt u eenvoudig uw vereiste informatie ophalen uit bestanden, documenten, e-mails en archieven. Het stelt u ook in staat om meerdere indexen te creëren en samen te voegen. U kunt eenvoudige, Booleaanse, Reguliere expressie (Regex), Fuzzy en andere soorten zoekopdrachten gebruiken om snel en slim door indexen te zoeken.
Downloaden en configureren
Je kunt de JAR van de API [downloaden][6] of gewoon de volgende pom.xml configuratie toevoegen aan je op Maven gebaseerde Java-applicaties om de onderstaande codevoorbeelden te proberen.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>20.11</version>
</dependency>
Zoek tekst in PDF met behulp van Java
U kunt eenvoudig elke tekst of een specifiek woord in uw PDF-documenten doorzoeken door de onderstaande eenvoudige stappen te volgen:
- Maak een [Index][7]
- Specificeer het pad naar de indexmap
- Abonneer u op [indexevenementen][8]
- Voeg bestanden toe aan Index door de methode [add][9] aan te roepen
- Voer een zoekopdracht uit met behulp van de methode [zoeken][10].
- Gebruik [SearchResult][11] en druk samenvatting af
- Markeer de gezochte resultaten in de uitvoer met behulp van de methode [highlight][12].
Het volgende codevoorbeeld laat zien hoe u een woord uit een PDF-document kunt zoeken met Java.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
String indexFolder = "C:\\Index\\"; // Specify the path to the index folder String documentsFolder = "C:\\Files\\"; // Specify the path to a folder containing documents to search // Create a new index or // Open an existing index Index index = new Index(indexFolder); // Subscribe to index events index.getEvents().ErrorOccurred.add(new EventHandler<IndexErrorEventArgs>() { public void invoke(Object sender, IndexErrorEventArgs args) { System.out.println(args.getMessage()); // Writing error messages to the console } }); // Add files synchronously index.add(documentsFolder); // Synchronous indexing documents from the specified folder // Perform search String query = "elementum"; // Specify a search query SearchResult result = index.search(query); // Searching in the index // Use search results // Printing the result System.out.println("Documents found: " + result.getDocumentCount()); System.out.println("Total occurrences found: " + result.getOccurrenceCount()); for (int i = 0; i < result.getDocumentCount(); i++) { FoundDocument document = result.getFoundDocument(i); System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath()); System.out.println("\tOccurrences: " + document.getOccurrenceCount()); } // Highlight occurrences in text if (result.getDocumentCount() > 0) { FoundDocument document = result.getFoundDocument(0); // Getting the first found document String path = "C:\\Output\\Highlighted.html"; OutputAdapter outputAdapter = new FileOutputAdapter(path); // Creating the output adapter to a file HtmlHighlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the HtmlHighlighter object index.highlight(document, highlighter); // Generating output HTML formatted document with highlighted search results System.out.println(); System.out.println("Generated HTML file can be opened with Internet browser."); System.out.println("The file can be found by the following path:"); System.out.println(Paths.get(path).toAbsolutePath().toString()); }
Documents found: 1
Total occurrences found: 6
Document: C:\Files\Lorem ipsum.pdf
Occurrences: 6
Generated HTML file can be opened with Internet browser.
The file can be found by the following path:
C:\Output\Highlighted.html

Zoeken naar een woord in een PDF-document met behulp van Java
De index en indexgebeurtenis
De klasse [Index][7] is de hoofdklasse voor het indexeren van documenten en het doorzoeken ervan. Een index kan in het geheugen of op schijf worden gemaakt door de constructor van deze klasse aan te roepen. Ik heb het op schijf gemaakt zodat het opnieuw kan worden gebruikt. Om informatie over indexeringsfouten te ontvangen, heb ik me aangemeld voor het evenement [ErrorOccurred][8]. Het toont de fouten die zijn opgetreden tijdens het indexeren van de bestanden.
Voeg bestanden toe aan index
De methode [add][9] van de klasse Index voegt een bestand of alle bestanden in een map of submappen toe via een absoluut of relatief pad. Alle documenten op het opgegeven pad worden geïndexeerd.
Voer een zoekactie uit
De Index-klasse biedt verschillende [search][10]-methoden om de zoekbewerking uit te voeren. U kunt zoeken op eenvoudig trefwoord of door een [SearchQuery][14] te definiëren. De klasse [SearchResult][11] biedt details van een zoekresultaat dat overeenkomt met een zoekopdracht. Enkele methoden worden hier beschreven:
- De methode [getOccurrenceCount]15 retourneert het totale aantal gevonden exemplaren
- De methode getDocumentCount() levert het aantal documenten dat in de Index is gevonden
- De methode [getFoundDocument(int)][16] retourneert de methode [FoundDocument][17]
- De methode [FoundDocument.getOccurrenceCount()][18] retourneert het aantal gevonden exemplaren in het document
Markeer de zoekresultaten
De klasse [HtmlHighlighter][19] vergemakkelijkt het markeren van de zoekresultaten in een volledige documenttekst die is opgemaakt in HTML. De methode [highlight][12] van de klasse Index genereert HTML-uitvoer die de gevonden termen markeert. Meer details over “[Zoekresultaten markeren][20]” vindt u in de documentatie.
Ontvang een gratis licentie
U kunt de API uitproberen zonder evaluatiebeperkingen door [een gratis tijdelijke licentie][21] aan te vragen.
Conclusie
In dit artikel heb je geleerd hoe je met Java naar een woord in een PDF-document kunt zoeken. U kunt meer leren over GroupDocs.Search for Java API met behulp van de [documentatie][22]. Neem bij onduidelijkheden gerust contact met ons op via het [forum][23].
Zie ook
- [Tekst zoeken in Word-, Excel-, PDF- en ZIP-documentindelingen met C# .NET][24]
- [Bouw uw volledige tekstzoekoplossing programmatisch in C#][25] [1]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/05/Search-in-PDF-1.jpg [2]: #api-for-searching-text [3]: #search-text-from-pdf [4]: https://products.groupdocs.com/search/java [5]: https://docs.fileformat.com/pdf/ [6]: https://releases.groupdocs.com/search/java/ [7]: https://apireference.groupdocs.com/search/java/com.groupdocs.search/Index [8]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.events/EventHub#ErrorOccurred [9]: https://apireference.groupdocs.com/search/java/com.groupdocs.search/Index#add(java.lang.String) [10]: https://apireference.groupdocs.com/search/java/com.groupdocs.search/Index#search(java.lang.String) [11]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.results/SearchResult [12]: https://apireference.groupdocs.com/search/java/com.groupdocs.search/Index#highlight(com.groupdocs.search.results.FoundDocument,%20com.groupdocs.search.highlighters.Highlighter) [13]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/05/Search-word-in-PDF-1.jpg [14]: https://apireference.groupdocs.com/search/java/com.groupdocs.search/SearchQuery [15]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.results/SearchResult#getOccurrenceCount() [16]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.results/SearchResult#getFoundDocument(int) [17]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.results/FoundDocument [18]: https://apireference.groupdocs.com/search/java/com.groupdocs.search.results/FoundDocument#getOccurrenceCount() [19]: https://reference.groupdocs.com/search/java/com.groupdocs.search.highlighters/documenthighlighter/ [20]: https://docs.groupdocs.com/search/java/highlighting-search-results/ [21]: https://purchase.groupdocs.com/temporary-license [22]: https://docs.groupdocs.com/search/java/ [23]: https://forum.groupdocs.com/c/search/16 [24]: https://blog.groupdocs.com/2020/05/29/search-text-in-word-excel-pdf-zip-document-formats-using-csharp-net/ [25]: https://blog.groupdocs.com/2019/11/22/build-your-full-text-search-solution-in-csharp/