ใน บทความก่อนหน้า คุณได้เห็นวิธีรวมไฟล์ 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 ได้โดยใช้ เอกสารประกอบ