
คุณอาจต้องค้นหาข้อความเฉพาะจากเอกสาร Word หรือ PDF ในฐานะนักพัฒนา Java คุณสามารถค้นหาข้อความจากเอกสาร PDF โดยทางโปรแกรมได้ ในบทความนี้ คุณจะได้เรียนรู้วิธีค้นหาคำในเอกสาร PDF โดยใช้ Java
หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:
Java API สำหรับการค้นหาข้อความ
ฉันจะใช้ GroupDocs.Search for Java API เพื่อค้นหาในเอกสาร PDF ช่วยให้คุณสามารถดำเนินการค้นหาข้อความในรูปแบบเอกสารยอดนิยมทั้งหมด เช่น PDF, Word, Excel, PowerPoint และอื่นๆ อีกมากมาย คุณสามารถดึงข้อมูลที่ต้องการจากไฟล์ เอกสาร อีเมล และเอกสารสำคัญได้อย่างง่ายดายโดยใช้ API นี้ นอกจากนี้ยังช่วยให้คุณสร้างและรวมดัชนีหลายรายการได้ คุณสามารถใช้แบบสอบถามแบบง่าย บูลีน นิพจน์ปกติ (Regex) แบบคลุมเครือ และประเภทอื่นๆ เพื่อค้นหาผ่านดัชนีได้อย่างรวดเร็วและชาญฉลาด
ดาวน์โหลดและกำหนดค่า
คุณสามารถ ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven ของคุณเพื่อลองใช้ตัวอย่างโค้ดที่กล่าวถึงด้านล่าง
<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>
ค้นหาข้อความในรูปแบบ PDF โดยใช้ Java
คุณสามารถค้นหาข้อความหรือคำเฉพาะในเอกสาร PDF ของคุณได้อย่างง่ายดายโดยทำตามขั้นตอนง่ายๆ ที่ระบุไว้ด้านล่าง:
- สร้าง ดัชนี
- ระบุเส้นทางไปยังโฟลเดอร์ดัชนี
- สมัครสมาชิก กิจกรรมดัชนี
- เพิ่มไฟล์ลงในดัชนีโดยการเรียกเมธอด เพิ่ม
- ทำการค้นหาโดยใช้วิธี ค้นหา
- ใช้ SearchResult และพิมพ์สรุป
- เน้นผลลัพธ์การค้นหาในผลลัพธ์โดยใช้เมธอด highlight
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาคำจากเอกสาร PDF โดยใช้ Java
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
// สร้างดัชนีใหม่หรือ
// เปิดดัชนีที่มีอยู่
Index index = new Index(indexFolder);
// สมัครสมาชิกกิจกรรมดัชนี
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
}
});
// เพิ่มไฟล์พร้อมกัน
index.add(documentsFolder); // Synchronous indexing documents from the specified folder
// ดำเนินการค้นหา
String query = "elementum"; // Specify a search query
SearchResult result = index.search(query); // Searching in the index
// ใช้ผลการค้นหา
// กำลังพิมพ์ผลลัพธ์
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());
}
// เน้นเหตุการณ์ที่เกิดขึ้นในข้อความ
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

ค้นหาคำในเอกสาร PDF โดยใช้ Java
เหตุการณ์ดัชนีและดัชนี
คลาส ดัชนี เป็นคลาสหลักสำหรับการจัดทำดัชนีเอกสารและค้นหาเอกสารเหล่านั้น สามารถสร้างดัชนีในหน่วยความจำหรือบนดิสก์ได้โดยการเรียกตัวสร้างของคลาสนี้ ฉันได้สร้างมันไว้บนดิสก์เพื่อให้สามารถนำมาใช้ซ้ำได้
หากต้องการรับข้อมูลเกี่ยวกับข้อผิดพลาดในการจัดทำดัชนี ฉันได้สมัครเข้าร่วมกิจกรรม ErrorOccurred มันจะแสดงข้อผิดพลาดหากเกิดขึ้นระหว่างการจัดทำดัชนีไฟล์
เพิ่มไฟล์ลงในดัชนี
เพิ่ม วิธีการของชั้นดัชนีเพิ่มไฟล์หรือไฟล์ทั้งหมดในโฟลเดอร์หรือโฟลเดอร์ย่อยโดยเส้นทางที่แน่นอนหรือสัมพันธ์ เอกสารทั้งหมดบนเส้นทางที่กำหนดจะถูกจัดทำดัชนี
ดำเนินการค้นหา
คลาสดัชนีจัดเตรียมวิธีการ ค้นหา ต่างๆ เพื่อดำเนินการค้นหา คุณสามารถค้นหาด้วยคำสำคัญง่ายๆ หรือโดยการกำหนด SearchQuery
คลาส SearchResult ให้รายละเอียดของผลการค้นหาที่ตรงกับคำค้นหา วิธีการบางส่วนได้อธิบายไว้ที่นี่:
- getOccurrenceCount() วิธีการส่งกลับจำนวนครั้งทั้งหมดที่พบ
- เมธอด getDocumentCount() ระบุจำนวนเอกสารที่พบในดัชนี
- getFoundDocument(int) วิธีการส่งกลับ FoundDocument
- FoundDocument.getOccurrenceCount() วิธีการส่งกลับจำนวนครั้งที่พบในเอกสาร
เน้นผลการค้นหา
คลาส HtmlHighlighter อำนวยความสะดวกในการเน้นผลการค้นหาในข้อความเอกสารทั้งหมดที่จัดรูปแบบเป็น HTML
highlight วิธีการของชั้นดัชนีสร้างเอาท์พุท HTML ที่เน้นการเกิดขึ้นของคำที่พบ ดูรายละเอียดเพิ่มเติมเกี่ยวกับ “เน้นผลลัพธ์การค้นหา” ได้ในเอกสารประกอบ
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีค้นหาคำในเอกสาร PDF โดยใช้ Java คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Search สำหรับ Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม