แยกไฟล์ PDF ใน Java

มีหลายกรณีเมื่อคุณต้องการแยก PDF เป็นไฟล์ PDF หลายไฟล์ ตัวอย่างเช่น คุณอาจต้องแยกแต่ละหน้าของ PDF ที่มีใบแจ้งหนี้/ใบเสร็จรับเงิน และบันทึกเป็นไฟล์แยกกัน ในทางกลับกัน คุณอาจต้องการแยกชุดหน้าบางหน้าออกจากไฟล์ PDF เพื่อจัดการกับสถานการณ์ที่กล่าวถึงข้างต้น บทความนี้ครอบคลุมวิธีแยกไฟล์ PDF เป็น PDF หลายไฟล์โดยใช้ Java

Java API เพื่อแยกไฟล์ PDF – ดาวน์โหลดฟรี

ในการแยกไฟล์ PDF เราจะใช้ประโยชน์จากความสามารถในการจัดการ PDF ของ Aspose.PDF for Java API ช่วยให้คุณดำเนินการแยกไฟล์ PDF ได้ภายในไม่กี่ขั้นตอน คุณสามารถ ดาวน์โหลด 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>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

แยกไฟล์ PDF โดยใช้ Java

เกณฑ์การแยก PDF อาจแตกต่างกันไปในแต่ละสถานการณ์ตามข้อกำหนด ก่อนอื่น มาดูวิธีแบ่งไฟล์ PDF ทีละหน้าและบันทึกแต่ละหน้าเป็น PDF แยกกัน ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • โหลดเอกสาร PDF โดยใช้คลาส Document
  • วนซ้ำหน้าโดยใช้เมธอด Document.getPages()
  • เข้าถึงแต่ละหน้าในวัตถุ หน้า
  • ในการวนซ้ำทุกครั้ง ให้สร้าง Document ใหม่ เพิ่มหน้าปัจจุบันลงในเอกสารและบันทึกเป็นไฟล์ PDF โดยใช้วิธี Document.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกไฟล์ PDF โดยใช้ Java

// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");

// สำหรับตัวนับหน้า
int pageCount = 1;

// วนซ้ำทุกหน้า
for (Page pdfPage : pdfDocument.getPages()) {
	// สร้างเอกสารใหม่
	Document newDocument = new Document();

	// เพิ่มหน้าในเอกสาร
	newDocument.getPages().add(pdfPage);

	// บันทึกเป็น PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

แยกไฟล์ PDF โดย Page Collection โดยใช้ Java

สำหรับการสาธิต มาดูสถานการณ์แยก PDF อื่นกัน ในตัวอย่างนี้ เราจะแบ่ง PDF ตามเลขหน้าคู่และเลขคี่ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • โหลดเอกสาร PDF โดยใช้คลาส Document
  • วนซ้ำหน้าโดยใช้เมธอด Document.getPages()
  • แยกหน้าคู่และหน้าคี่ออกเป็น ArrayList วัตถุ
  • สร้างวัตถุ Document ใหม่ เพิ่มหน้าในเอกสารและบันทึกเป็นไฟล์ PDF โดยใช้วิธี Document.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกหน้าคู่และหน้าคี่ในไฟล์ PDF โดยใช้ Java

// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");

// สร้างรายการอาร์เรย์สำหรับหน้าคู่และหน้าคี่
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// วนซ้ำทุกหน้า
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// บันทึกหน้าคู่เป็น PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// บันทึกหน้าคี่เป็น PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแยกไฟล์ PDF โดยใช้ Java นอกจากนี้ คุณได้เห็นวิธีปรับแต่งเกณฑ์การแยก PDF ตามความต้องการ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API ได้โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย