แยกไฟล์ PDF เป็นหลายไฟล์โดยใช้ C#

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

แยก PDF C# API - ดาวน์โหลดฟรี

Aspose.PDF for .NET คือ API การจัดการไฟล์ PDF ที่มีประสิทธิภาพ ซึ่งช่วยให้คุณสร้าง แก้ไข และประมวลผลเอกสาร PDF จากภายในแอปพลิเคชัน .NET ของคุณ นอกจากนี้ API ยังให้คุณแยก PDF เดียวออกเป็นหลายไฟล์ด้วยความเที่ยงตรงสูง คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Pdf

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

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

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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร PDF โดยใช้ C#

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

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

// วนซ้ำทุกหน้า
foreach (Aspose.Pdf.Page pdfPage in pdfDocument.Pages)
{
  	// สร้างเอกสารใหม่
	Document newDocument = new Document();
  
  	// เพิ่มหน้าในเอกสาร
	newDocument.Pages.Add(pdfPage);
  
  	// บันทึกเป็น PDF 
	newDocument.Save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

แยกหน้าที่เลือกของ PDF โดยใช้ C#

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

  • โหลดเอกสาร PDF โดยใช้คลาส Document
  • แบ่งหน้าออกเป็นอาร์เรย์ Page[]
  • สร้าง Document ใหม่และเพิ่มหน้าโดยใช้เมธอด Document.Pages.Add(Page[])
  • บันทึกไฟล์ PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกชุดของหน้าจาก PDF

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

// เลือกหน้าคู่เท่านั้น
Aspose.Pdf.Page[] evenPages = pdfDocument.Pages.Where(x => x.Number % 2 == 0).ToArray();

// เลือกหน้าคี่เท่านั้น
Aspose.Pdf.Page[] oddPages = pdfDocument.Pages.Where(x => x.Number % 2 != 0).ToArray();

// บันทึกหน้าคู่เป็น PDF
Document newDocument = new Document();
newDocument.Pages.Add(evenPages);
newDocument.Save("split_even_Pages.pdf");

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

บทสรุป

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

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