วิธีแยกหน้าจากเอกสาร 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:
- Add the Repository and Dependency – คัดลอก XML snippet ด้านบนไปยัง
pom.xmlของคุณ. - Import the Required Classes – คลาสเช่น
Parser,Template,DocumentPageDataฯลฯ อยู่ในแพ็กเกจcom.groupdocs.parser. - 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 FileNotFoundException | documentPath ไม่ถูกต้องหรือไม่มีสิทธิ์อ่าน | ตรวจสอบว่าเส้นทางเป็นแบบ absolute หรือ relative ไปยังโฟลเดอร์รากของโปรเจคและไฟล์สามารถอ่านได้. |
| ความแม่นยำการตรวจจับต่ำใน PDF ที่สแกน | ความละเอียดของภาพต่ำเกินไปสำหรับสแกนเนอร์บาร์โค้ด | ใช้การสแกนที่ความละเอียดสูงกว่า (300 dpi หรือมากกว่า) หรือทำการประมวลผลล่วงหน้าด้วยฟิลเตอร์เพิ่มความคม. |
| ข้อผิดพลาด Out‑of‑memory ใน PDF ขนาดใหญ่ | Parser เก็บหน้ามากเกินไปในหน่วยความจำ | ประมวลผล PDF เป็นชุดเล็ก ๆ หรือเพิ่มขนาด heap ของ JVM (-Xmx2g). |
การประยุกต์ใช้งานจริง
- Inventory Management – อ่านบาร์โค้ดจาก PDF ของผู้จัดจำหน่ายโดยอัตโนมัติเพื่ออัปเดตฐานข้อมูลสต็อก.
- Legal Document Verification – สกัด QR code ที่ฝังลายเซ็นดิจิทัลเพื่อใช้เป็นร่องรอยการตรวจสอบ.
- 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