วิธีแยกหน้าจากเอกสาร PDF ตามเทมเพลตโดยใช้ GroupDocs.Parser for Java

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

คำตอบด่วน

  • ไลบรารีอะไรที่ช่วยคุณแยก pdf ตามเทมเพลต? GroupDocs.Parser for Java.
  • ประเภทบาร์โค้ดที่แสดงเป็นอะไร? QR code (สามารถเปลี่ยนเป็นประเภทอื่นได้).
  • ฉันต้องการไลเซนส์หรือไม่? การทดลองใช้ฟรีทำงานได้สำหรับการทดสอบ; จำเป็นต้องมีไลเซนส์ถาวรสำหรับการใช้งานจริง.
  • ฉันสามารถรันนี้ด้วย Maven ได้หรือไม่? ใช่ – เพียงเพิ่ม repository และ dependency ลงใน pom.xml ของคุณ.
  • ต้องการเวอร์ชัน Java อะไร? JDK 8 หรือสูงกว่า.

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

ก่อนที่เราจะเริ่ม, โปรดตรวจสอบว่าคุณมี:

  • Java Development Kit (JDK) 8+ ติดตั้งแล้ว.
  • Maven สำหรับการจัดการ dependency (ไม่บังคับแต่แนะนำ).
  • ความคุ้นเคยพื้นฐานกับแนวคิดการเขียนโปรแกรม Java.

ไลบรารีและ Dependency ที่จำเป็น

เพื่อใช้ GroupDocs.Parser ในโปรเจคของคุณ, เพิ่มการกำหนดค่า Maven ต่อไปนี้:

<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.Parser โดยดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการของพวกเขา สำหรับการใช้งานต่อเนื่อง, พิจารณาได้รับไลเซนส์ชั่วคราวหรือซื้อไลเซนส์ผ่าน ลิงก์นี้.

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

เพื่อรวม GroupDocs.Parser เข้าในโปรเจคของคุณโดยใช้ Maven:

  1. Add the Repository and Dependency – คัดลอก XML snippet ด้านบนไปยัง pom.xml ของคุณ.
  2. Import the Required Classes – คลาสเช่น Parser, Template, DocumentPageData ฯลฯ อยู่ในแพ็กเกจ com.groupdocs.parser.
  3. Initialize the Parser – สร้างอินสแตนซ์ Parser และชี้ไปที่ไฟล์ PDF ที่ต้องการประมวลผล.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentPageData;
import com.groupdocs.parser.templates.Template;
import com.groupdocs.parser.templates.TemplateBarcode;
import com.groupdocs.parser.templates.Rectangle;
import com.groupdocs.parser.templates.Point;
import com.groupdocs.parser.templates.Size;

String documentPath = "YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes";
try (Parser parser = new Parser(documentPath)) {
    // Your parsing logic here
}

วิธีการแยก pdf ตามเทมเพลตโดยใช้ GroupDocs.Parser

ฟีเจอร์ 1: กำหนดฟิลด์บาร์โค้ด (java extract qr code)

แรก, เราอธิบายตำแหน่งและขนาดของบาร์โค้ดบนแต่ละหน้า ขั้นตอนนี้เป็นหัวใจของ parse pdf by template เพราะบอก parser ว่าต้องมองหาในตำแหน่งใด.

TemplateBarcode barcode = new TemplateBarcode(
        new Rectangle(new Point(405, 55), new Size(100, 50)),
        "QR");

ที่นี่เราสร้าง TemplateBarcode ที่กำหนดเป้าหมายเป็น QR code ที่ตำแหน่งพิกัด (405, 55) ด้วยขนาด 100 × 50 พิกเซล.

ฟีเจอร์ 2: สร้างเทมเพลต (java read barcode pdf)

ต่อไป, เราใส่การกำหนดบาร์โค้ดไว้ในอ็อบเจ็กต์ Template เทมเพลตนี้สามารถนำกลับมาใช้ใหม่ได้สำหรับทุกหน้าของเอกสาร.

Template template = new Template(Arrays.asList(new com.groupdocs.parser.templates.TemplateItem[]{barcode}));

ฟีเจอร์ 3: แยกหน้าจากเอกสารตามเทมเพลต (extract barcode from pdf)

ตอนนี้เราจะวนลูปผ่านแต่ละหน้า, ใช้เทมเพลต, และเก็บค่าบาร์โค้ด.

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
        }
    }
}

ลูปจะตรวจสอบว่าพื้นที่ที่ระบุเป็น PageBarcodeArea หรือไม่ หากเป็น, เราจะดึงค่าข้อความของบาร์โค้ด.

ฟีเจอร์ 4: พิมพ์ข้อมูลบาร์โค้ดที่สกัด (java extract qr code)

เพื่อการตรวจสอบอย่างรวดเร็ว, คุณสามารถพิมพ์ค่าบาร์โค้ดแต่ละค่าไปยังคอนโซล:

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
            System.out.println(result);
        }
    }
}

การรัน snippet นี้จะพิมพ์ค่าบาร์โค้ด (หรือ QR code) ที่สกัดออกมาแต่ละค่า, ทำให้คุณยืนยันได้ว่า how to parse pdf ทำงานตามที่คาดหวัง.

ทำไมต้องใช้ GroupDocs.Parser for Java เพื่อแยก pdf ตามเทมเพลต?

  • Precision – เทมเพลตช่วยให้คุณกำหนดพิกัดที่แม่นยำ, ขจัดผลลัพธ์เท็จ.
  • Performance – การแยกทำเป็นหน้าต่อหน้า, ทำให้การใช้หน่วยความจำน้อยแม้กับ PDF ขนาดใหญ่.
  • Flexibility – รองรับหลายประเภทบาร์โค้ด (QR, Code128, DataMatrix, ฯลฯ) และสามารถขยายไปยังประเภทฟิลด์อื่นได้.
  • Cross‑platform – ทำงานบนแพลตฟอร์มใดก็ได้ที่รัน Java 8+, ทำให้เหมาะสำหรับการประมวลผลฝั่งเซิร์ฟเวอร์.

ปัญหาทั่วไปและวิธีแก้

อาการสาเหตุที่เป็นไปได้วิธีแก้
ไม่มีค่าบาร์โค้ดที่คืนค่าพิกัดของเทมเพลตไม่ตรงกับตำแหน่งบาร์โค้ดจริงตรวจสอบพิกัด X/Y และขนาดโดยใช้เครื่องมือวัดของโปรแกรมดู PDF.
Parser throws FileNotFoundExceptiondocumentPath ไม่ถูกต้องหรือไม่มีสิทธิ์อ่านตรวจสอบว่าเส้นทางเป็นแบบ absolute หรือ relative ไปยังโฟลเดอร์รากของโปรเจคและไฟล์สามารถอ่านได้.
ความแม่นยำการตรวจจับต่ำใน PDF ที่สแกนความละเอียดของภาพต่ำเกินไปสำหรับสแกนเนอร์บาร์โค้ดใช้การสแกนที่ความละเอียดสูงกว่า (300 dpi หรือมากกว่า) หรือทำการประมวลผลล่วงหน้าด้วยฟิลเตอร์เพิ่มความคม.
ข้อผิดพลาด Out‑of‑memory ใน PDF ขนาดใหญ่Parser เก็บหน้ามากเกินไปในหน่วยความจำประมวลผล PDF เป็นชุดเล็ก ๆ หรือเพิ่มขนาด heap ของ JVM (-Xmx2g).

การประยุกต์ใช้งานจริง

  1. Inventory Management – อ่านบาร์โค้ดจาก PDF ของผู้จัดจำหน่ายโดยอัตโนมัติเพื่ออัปเดตฐานข้อมูลสต็อก.
  2. Legal Document Verification – สกัด QR code ที่ฝังลายเซ็นดิจิทัลเพื่อใช้เป็นร่องรอยการตรวจสอบ.
  3. Data Migration – ใช้บาร์โค้ดเป็นตัวระบุที่ไม่ซ้ำกันเมื่อย้ายบันทึกระหว่างระบบเก่า.

พิจารณาด้านประสิทธิภาพ

  • Close the Parser promptly – บล็อก try‑with‑resources ทำให้แน่ใจว่าไฟล์แฮนด์เดิลถูกปล่อย.
  • Monitor memory – PDF ขนาดใหญ่สามารถใช้ heap มาก; พิจารณาการสตรีมหรือประมวลผลเป็นชิ้นส่วน.

สรุป

ตอนนี้คุณมีขั้นตอนครบถ้วนพร้อมใช้งานในสภาพการผลิตของ how to parse pdf หน้าโดยใช้เทมเพลตกับ GroupDocs.Parser for Java. ด้วยการกำหนดเทมเพลตบาร์โค้ด, วนลูปผ่านหน้า, และสกัดค่า, คุณสามารถทำงานอัตโนมัติใด ๆ ที่ขับเคลื่อนด้วยบาร์โค้ดได้.

ขั้นตอนต่อไป

  • ทดลองใช้ประเภทบาร์โค้ดอื่น (เช่น Code128, DataMatrix) โดยเปลี่ยนอาร์กิวเมนต์ที่สองของ TemplateBarcode.
  • รวมหลายอ็อบเจ็กต์ TemplateBarcode เพื่อจัดการกับเลย์เอาต์บาร์โค้ดผสมบนหน้าเดียว.
  • ศึกษา API อย่างลึกซึ้งโดยสำรวจ GroupDocs.Parser documentation สำหรับการสกัดข้อความ, สกัดรูปภาพ, และการสร้างเทมเพลตแบบกำหนดเอง.

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

Q: ฉันสามารถแยกบาร์โค้ดจากเอกสารที่สแกนได้หรือไม่?
A: ได้, ตราบใดที่อยู่ในรูปแบบ PDF. ตรวจสอบให้แน่ใจว่าความละเอียดสูงพอที่จะตรวจจับบาร์โค้ดได้อย่างแม่นยำ.

Q: ฉันจะจัดการกับหลายประเภทบาร์โค้ดบนหน้าเดียวอย่างไร?
A: กำหนดอ็อบเจ็กต์ TemplateBarcode เพิ่มเติมพร้อมพิกัดและขนาดที่สอดคล้องกัน.

Q: ถ้าเอกสารของฉันมีภาพแทน PDF จะทำอย่างไร?
A: GroupDocs.Parser ทำงานหลักกับเอกสารที่เป็นข้อความ. พิจารณาแปลงภาพเป็น PDF ที่สามารถค้นหาได้ก่อน.

Q: สามารถสกัดข้อมูลจาก PDF ที่เข้ารหัสได้หรือไม่?
A: คุณอาจต้องถอดรหัส PDF ด้วยไลบรารีเพิ่มเติมก่อนทำการแยก.


Last Updated: 2026-02-11
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs