
แยกตารางจาก PDF ใน Java
ในอดีตที่ผ่านมา เราได้เผยแพร่ บทความ ที่เกี่ยวข้องกับวิธีแยกข้อความจากไฟล์ PDF ใน Java โดยทางโปรแกรม ในบล็อกโพสต์นี้ เราจะได้เรียนรู้วิธีแยกตารางจาก PDF ใน Java โดยใช้ Java API สำหรับ PDF ไลบรารีนี้มีคุณสมบัติอันทรงพลังในการแยกวิเคราะห์และจัดการเอกสาร PDF นอกจากนี้ คุณยังสามารถแยกข้อมูลได้โดยอัตโนมัติด้วยการสร้างตัวแยกตาราง PDF โดยใช้ไลบรารีนี้ อย่างไรก็ตาม โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Java บนเครื่องของคุณก่อนดำเนินการต่อ
ประเด็นต่อไปนี้จะครอบคลุมอยู่ในคู่มือนี้:
โปรแกรมแยกตาราง PDF - การติดตั้ง API
กระบวนการติดตั้งไลบรารีนี้ตรงไปตรงมาและเรียบง่าย ที่จริงแล้ว คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<classifier>jdk17</classifier>
</dependency>
แยกตารางจาก PDF ใน Java
เมื่อติดตั้ง API แล้ว คุณสามารถเริ่มเขียนโค้ดเพื่อสร้างตัวแยกตาราง PDF โดยทางโปรแกรมได้
คุณสามารถทำตามขั้นตอนและข้อมูลโค้ดที่กล่าวถึงด้านล่าง:
- สร้างออบเจ็กต์ของคลาส Document และโหลดไฟล์ PDF ต้นฉบับ
- สร้างอินสแตนซ์ของคลาส TableAbsorber ที่ทำการค้นหาและให้สิทธิ์ในการเข้าถึงผลการค้นหา
- วนซ้ำหน้าเอกสาร PDF โดยการเรียกเมธอด getPages
- เรียกใช้เมธอด visit เพื่อแยกตารางออกจากเพจ
- เรียกใช้เมธอด getTableList ที่ส่งคืน IList แบบอ่านอย่างเดียวที่มีตารางที่พบ
- รับแถวโดยการเรียกเมธอด getRowList วนซ้ำผ่านรายการแถว
- วนซ้ำรายการเซลล์โดยเรียกใช้เมธอด getCellList
- เรียกใช้เมธอด getTextFragments เพื่อรับคอลเลกชันของออบเจ็กต์ TextFragment ที่อธิบายข้อความที่มีอยู่ในเซลล์
- เรียกใช้เมธอด getSegments ที่ได้รับส่วนข้อความสำหรับ TextFragment ปัจจุบัน
- พิมพ์ผลลัพธ์
คัดลอกและวางโค้ดต่อไปนี้ลงในไฟล์หลักของคุณ:
String filePath = "table.pdf";
// สร้างอ็อบเจ็กต์ของคลาส Document และโหลดไฟล์ PDF ต้นฉบับ
Document pdfDocument = new Document(filePath);
// สร้างอินสแตนซ์ของคลาส TableAbsorber ที่ทำการค้นหาและให้สิทธิ์เข้าถึงผลการค้นหา
TableAbsorber absorber = new TableAbsorber();
// วนซ้ำหน้าเอกสาร PDF โดยการเรียกเมธอด getPages
for (Page page : pdfDocument.getPages()) {
// เรียกใช้วิธีการเยี่ยมชมเพื่อแยกตารางออกจากเพจ
absorber.visit(page);
// เรียกใช้เมธอด getTableList ที่ส่งคืน IList แบบอ่านอย่างเดียวที่มีตารางที่พบ
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table");
// รับแถวโดยการเรียกเมธอด getRowList วนซ้ำผ่านรายการแถว
for (AbsorbedRow row : table.getRowList()) {
// วนซ้ำรายการเซลล์โดยเรียกใช้เมธอด getCellList
for (AbsorbedCell cell : row.getCellList()) {
// เรียกใช้เมธอด getTextFragments เพื่อรับคอลเลกชันของออบเจ็กต์ TextFragment ที่อธิบายข้อความที่มีอยู่ในเซลล์
for (TextFragment fragment : cell.getTextFragments()) {
StringBuilder sb = new StringBuilder();
// เรียกใช้เมธอด getSegments ที่ได้รับส่วนข้อความสำหรับ TextFragment ปัจจุบัน
for (TextSegment seg : fragment.getSegments())
sb.append(seg.getText());
System.out.print(sb.toString() + "|");
}
}
System.out.println();
}
}
}
รับใบอนุญาตฟรี
คุณสามารถใช้ [ใบอนุญาตชั่วคราวฟรี] เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
สรุป
สิ่งนี้นำเราไปสู่จุดสิ้นสุดของโพสต์บล็อกนี้ คุณได้เรียนรู้วิธีแยกตารางจาก PDF ใน Java โดยทางโปรแกรมแล้ว คู่มือนี้จะช่วยคุณได้จริงๆ หากคุณต้องการสร้างโปรแกรมแยกตาราง PDF สำหรับแอปพลิเคชันธุรกิจของคุณ นอกจากนี้ คุณยังอาจไปที่ เอกสารประกอบ เพื่อทราบคุณสมบัติอื่นๆ
นอกจากนี้ เราขอแนะนำให้คุณปฏิบัติตาม คู่มือการเริ่มต้นใช้งาน
สุดท้ายนี้ conholdate.com กำลังเขียนบล็อกโพสต์ใหม่ ดังนั้นโปรดติดต่อเพื่อรับข้อมูลอัปเดตล่าสุด
ถามคำถาม
คุณสามารถแจ้งให้เราทราบเกี่ยวกับคำถามหรือข้อสงสัยของคุณได้ใน ฟอรั่ม
คำถามที่พบบ่อย
ฉันสามารถแยกตารางจาก PDF ได้หรือไม่
โปรดไปที่ ลิงก์ นี้เพื่อทราบขั้นตอนและข้อมูลโค้ดที่แยกตารางจากเอกสาร PDF โดยทางโปรแกรม