วิธีการแยกตารางใน Java ด้วย GroupDocs.Parser

ในบทแนะนำนี้ คุณจะได้เรียนรู้ วิธีการแยกตาราง ใน Java โดยใช้ GroupDocs.Parser ซึ่งเป็นไลบรารีที่ทรงพลังสำหรับการสกัดข้อมูลเชิงโครงสร้างจาก PDF, ไฟล์ Word, และสเปรดชีต การสกัดตารางอย่างมีประสิทธิภาพสามารถเร่งความเร็วในการประมวลผลใบแจ้งหนี้, การย้ายข้อมูล, และงานรายงานได้อย่างมาก มาดูขั้นตอนทั้งหมดตั้งแต่การตั้งค่าไลบรารีจนถึงการกำหนดเทมเพลตตารางและสุดท้ายการดึงข้อมูลที่คุณต้องการออกมา

บทนำ

การแยกเอกสารอย่างมีประสิทธิภาพเป็นสิ่งสำคัญสำหรับธุรกิจที่ต้องการสกัดข้อมูลเชิงโครงสร้างจากรูปแบบต่าง ๆ เช่น PDF, เอกสาร Word, หรือสเปรดชีต การทำกระบวนการนี้อัตโนมัติช่วยประหยัดเวลาและลดข้อผิดพลาด คู่มือฉบับเต็มนี้จะสอนคุณวิธีใช้ GroupDocs.Parser สำหรับ Java เพื่อกำหนดและแยกตารางในเอกสารของคุณ — ทักษะสำคัญสำหรับการทำให้กระบวนการประมวลผลเอกสารเป็นอัตโนมัติ

คำตอบสั้น

  • วัตถุประสงค์หลักคืออะไร? สกัดข้อมูลตารางเชิงโครงสร้างจากเอกสารโดยใช้ Java.
  • ต้องใช้ไลบรารีใด? GroupDocs.Parser สำหรับ Java (v25.5+)
  • ต้องมีลิขสิทธิ์หรือไม่? มีการทดลองใช้ฟรี; ต้องมีลิขสิทธิ์เชิงพาณิชย์สำหรับการใช้งานในโปรดักชัน.
  • สามารถประมวลผล PDF และไฟล์ Word ได้หรือไม่? ได้, ไลบรารีรองรับ PDF, DOCX, XLSX, และรูปแบบอื่น ๆ อีกหลายประเภท.
  • รองรับการประมวลผลแบบแบชหรือไม่? แน่นอน — สามารถประมวลผลหลายไฟล์ในลูปหรือใช้ parallel streams.

สิ่งที่คุณจะได้เรียนรู้

  • การตั้งค่า GroupDocs.Parser สำหรับ Java
  • การสร้างเทมเพลตตารางด้วยเลย์เอาต์เฉพาะ
  • การแยกเอกสารโดยใช้เทมเพลตที่กำหนดไว้ล่วงหน้า
  • การประยุกต์ใช้คุณลักษณะเหล่านี้ในโลกจริง

เมื่ออ่านจบคู่มือนี้ คุณจะพร้อมที่จะนำไปใช้และปรับแต่งโซลูชันการแยกเอกสารของคุณเอง มาเริ่มกันเลย!

“how to parse tables” หมายถึงอะไรในบริบทของ GroupDocs.Parser?

การแยกตารางหมายถึงการค้นหาโซนตารางภายในเอกสาร, ทำแผนที่แถวและคอลัมน์, และสกัดข้อความจากแต่ละเซลล์ GroupDocs.Parser มีวิธีการที่ขับเคลื่อนด้วยเทมเพลต ซึ่งให้คุณอธิบายเลย์เอาต์ที่แน่นอนของตาราง (ความกว้างของคอลัมน์, ความสูงของแถว) เพื่อให้เอนจินสามารถดึงข้อมูลที่ต้องการได้อย่างแม่นยำ — แม้ไฟล์ต้นทางจะมีขนาดหรือสไตล์ที่แตกต่างกัน

ทำไมต้องใช้ GroupDocs.Parser สำหรับการสกัดตาราง?

  • ความแม่นยำ: เทมเพลตที่อิงเลย์เอาต์ช่วยลดผลบวกเท็จ.
  • ความเร็ว: การแยกโดยเทมเพลตเร็วกว่าเทคนิคสกัดข้อความทั่วไป.
  • ความยืดหยุ่น: ทำงานกับ PDF, DOCX, XLSX, และรูปแบบอื่น ๆ อีกหลายประเภทโดยไม่ต้องใช้คอนเวอร์เตอร์เพิ่มเติม.
  • ความสามารถขยายตัว: เหมาะสำหรับการประมวลผลแบชของใบแจ้งหนี้, รายงาน, และพายป์ไลน์การย้ายข้อมูล.

ข้อกำหนดเบื้องต้น

ก่อนจะลงมือเขียนโค้ด โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้พร้อมแล้ว:

ไลบรารีและการพึ่งพาที่จำเป็น

  • GroupDocs.Parser สำหรับ Java (เวอร์ชัน 25.5 หรือใหม่กว่า)
  • Maven ติดตั้งบนเครื่องของคุณ
  • ความเข้าใจพื้นฐานเกี่ยวกับการเขียนโปรแกรม Java

ความต้องการในการตั้งค่าสภาพแวดล้อม

  • Java Development Kit (JDK) เวอร์ชัน 8 หรือสูงกว่า
  • IDE เช่น IntelliJ IDEA, Eclipse, หรือ NetBeans

การตั้งค่า GroupDocs.Parser สำหรับ Java

เพื่อใช้ GroupDocs.Parser ในโปรเจกต์ของคุณ ให้เพิ่มเป็น dependency ดังนี้:

การกำหนดค่า Maven

เพิ่ม repository และ dependency ต่อไปนี้ในไฟล์ pom.xml ของคุณ:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

ดาวน์โหลดโดยตรง

หรือคุณสามารถดาวน์โหลดเวอร์ชันล่าสุดจาก GroupDocs.Parser for Java releases

การรับลิขสิทธิ์

GroupDocs มีการทดลองใช้ฟรีเพื่อสำรวจคุณลักษณะต่าง ๆ หากต้องการใช้งานต่อเนื่อง ควรพิจารณาซื้อไลเซนส์หรือขอรับไลเซนส์ชั่วคราว

คู่มือการนำไปใช้

เมื่อทุกอย่างพร้อมแล้ว เราจะไปดูวิธีการกำหนดและแยกตารางด้วย GroupDocs.Parser

กำหนดเทมเพลตตารางด้วยเลย์เอาต์

คุณลักษณะนี้ช่วยให้คุณสร้างเทมเพลตตารางโดยระบุความกว้างของคอลัมน์และความสูงของแถว ดังนี้:

ขั้นตอนที่ 1: สร้างเลย์เอาต์ของเทมเพลตตาราง

กำหนดเลย์เอาต์โดยระบุความกว้างของคอลัมน์และความสูงของแถว

TemplateTableLayout layout = new TemplateTableLayout(
        Arrays.asList(new Double[]{30.0, 100.0, 320.0, 400.0, 480.0, 550.0}),
        Arrays.asList(new Double[]{320.0, 345.0, 375.0}));

ขั้นตอนที่ 2: สร้างเทมเพลตตาราง

ใช้เลย์เอาต์ที่กำหนดเพื่อสร้างอ็อบเจ็กต์เทมเพลตตาราง

TemplateTable table = new TemplateTable(layout, "Details", null);

ขั้นตอนที่ 3: สร้างเทมเพลตที่บรรจุไอเท็มตาราง

รวบรวมเทมเพลตของคุณทั้งหมดเป็นอ็อบเจ็กต์ Template เดียว

Template template = new Template(Arrays.asList(new TemplateItem[]{table}));

แยกเอกสารโดยใช้เทมเพลต

เมื่อเรามีเทมเพลตพร้อมแล้ว ให้ทำการแยกเอกสารตามเทมเพลตนั้น

ขั้นตอนที่ 1: สร้างอินสแตนซ์ของคลาส Parser

เริ่มต้น parser ด้วยเอกสารเป้าหมายของคุณ

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleInvoicePdf.pdf")) {
    // Assume 'template' is already defined as in the DefineTemplateTable feature
    Template template;
    
    // Step 2: Parse the Document by Predefined Template
    DocumentData data = parser.parseByTemplate(template);

ขั้นตอนที่ 2: วนลูปผ่านรายการข้อมูลที่สกัดได้

ทำลูปผ่านข้อมูลที่สกัดและพิมพ์ค่าของแต่ละเซลล์

for (int i = 0; i < data.getCount(); i++) {
    PageTableArea area = data.get(i).getPageArea() instanceof PageTableArea 
            ? (PageTableArea) data.get(i).getPageArea()
            : null;

    if (area != null) {
        for (int row = 0; row < area.getRowCount(); row++) {
            for (int column = 0; column < area.getColumnCount(); column++) {
                PageTextArea cellValue = area.getCell(row, column).getPageArea() instanceof PageTextArea
                        ? (PageTextArea) area.getCell(row, column).getPageArea()
                        : null;

                System.out.print(cellValue == null ? "" : cellValue.getText());
            }
            System.out.println();
        }
    }
}

เคล็ดลับการแก้ไขปัญหา

  • ปัญหาที่พบบ่อย: ตรวจสอบให้แน่ใจว่าเส้นทางไฟล์ถูกต้องและเข้าถึงได้.
  • ข้อควรพิจารณาด้านประสิทธิภาพ: ใช้เทมเพลตที่เล็กลงเมื่อเป็นไปได้เพื่อให้การประมวลผลเร็วขึ้น.

การประยุกต์ใช้ในเชิงปฏิบัติ

ต่อไปนี้เป็นกรณีการใช้งานจริงที่การกำหนดและแยกตารางมีประโยชน์:

  1. การประมวลผลใบแจ้งหนี้: อัตโนมัติการสกัดข้อมูลจากใบแจ้งหนี้เพื่อเร่งกระบวนการบัญชี.
  2. การย้ายข้อมูล: โอนย้ายข้อมูลเชิงโครงสร้างระหว่างระบบหรือรูปแบบต่าง ๆ อย่างมีประสิทธิภาพ.
  3. เครื่องมือรายงาน: สร้างรายงานโดยสกัดเมตริกสำคัญโดยตรงจากเอกสาร.

ข้อควรพิจารณาด้านประสิทธิภาพ

เพื่อให้ได้ประสิทธิภาพสูงสุด ควรปฏิบัติตามคำแนะนำต่อไปนี้:

  • ปรับแต่งเลย์เอาต์ของตาราง: ทำให้เลย์เอาต์ของตารางเฉพาะเจาะจงที่สุดเพื่อลดเวลาการแยก.
  • การจัดการหน่วยความจำ: ตรวจสอบการใช้หน่วยความจำเมื่อประมวลผลเอกสารขนาดใหญ่เพื่อป้องกันการรั่ว.
  • การประมวลผลแบช: หากต้องจัดการหลายไฟล์ ให้ประมวลผลเป็นแบชเพื่อจัดการทรัพยากรอย่างมีประสิทธิภาพ.

สรุป

ในบทแนะนำนี้ คุณได้เรียนรู้ วิธีการแยกตาราง ด้วย GroupDocs.Parser สำหรับ Java ไลบรารีที่ทรงพลังนี้สามารถเพิ่มศักยภาพการประมวลผลเอกสารของคุณได้อย่างมาก ทำให้การสกัดข้อมูลเป็นเรื่องเร็วและมีประสิทธิภาพ หากต้องการสำรวจศักยภาพของ GroupDocs.Parser ต่อไป ให้เยี่ยมชม documentation หรือทดลองสร้างเทมเพลตและไฟล์ประเภทต่าง ๆ

ส่วนคำถามที่พบบ่อย (FAQ)

  1. GroupDocs.Parser คืออะไร?
    เป็นไลบรารีสำหรับสกัดข้อความ, เมตาดาต้า, รูปภาพ, และข้อมูลเชิงโครงสร้างจากรูปแบบเอกสารต่าง ๆ ใน Java.

  2. ฉันสามารถใช้ GroupDocs.Parser กับภาษาโปรแกรมอื่นได้หรือไม่?
    ใช่, รองรับหลายภาษา รวมถึง C#, .NET, Python, PHP เป็นต้น.

  3. ฉันจะจัดการเอกสารขนาดใหญ่อย่างมีประสิทธิภาพได้อย่างไร?
    ปรับแต่งเลย์เอาต์ของตารางและพิจารณาการประมวลผลแบชเพื่อเพิ่มประสิทธิภาพ.

  4. มีการสนับสนุนการสกัดข้อมูลที่ไม่ใช่ตารางหรือไม่?
    แน่นอน, GroupDocs.Parser สามารถสกัดข้อความ, รูปภาพ, และเมตาดาต้าได้เช่นกัน.

  5. จะหา ตัวอย่างเพิ่มเติมของการใช้ GroupDocs.Parser ได้จากที่ไหน?
    ดูที่ GitHub repository หรือ documentation.

แหล่งข้อมูล

อย่าลืมสำรวจแหล่งข้อมูลเหล่านี้เพื่อรับข้อมูลเชิงลึกและการสนับสนุนจากชุมชน ขอให้เขียนโค้ดอย่างสนุกสนาน!


อัปเดตล่าสุด: 2026-02-09
ทดสอบกับ: GroupDocs.Parser 25.5 for Java
ผู้เขียน: GroupDocs