เอกสาร MS Word ถูกใช้อย่างกว้างขวางเพื่อเก็บและแบ่งปันข้อมูล ในบางกรณี คุณอาจต้องแยกข้อมูลจากเอกสาร Word ที่อาจอยู่ในส่วนหรือหน้าต่างๆ นอกจากนี้ คุณอาจต้องแบ่งหน้าของเอกสารเดียวออกเป็นหลายเอกสาร เพื่อให้สอดคล้องกับสถานการณ์ดังกล่าว บทความนี้มีเป้าหมายเพื่อแสดงวิธีแยกเอกสาร MS Word โดยทางโปรแกรมโดยใช้ C#
- C# API เพื่อแยกเอกสาร MS Word
- แยกเอกสาร Word ตามส่วนโดยใช้ C #
- แยกเอกสาร Word ทีละหน้าโดยใช้ C #
- ใช้ช่วงหน้าเพื่อแยกเอกสาร Word โดยใช้ C #
C# API เพื่อแยกเอกสาร MS Word
Aspose.Words for .NET คือ API การประมวลผลคำที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้างและจัดการเอกสาร MS Word โดยใช้ C# หรือ VB.NET นอกจากนั้น ยังช่วยให้คุณสามารถแยกเอกสาร MS Word ตามส่วน หน้า หรือช่วงหน้า คุณสามารถ ดาวน์โหลด API หรือติดตั้งภายในแอปพลิเคชันของคุณโดยใช้ NuGet
PM> Install-Package Aspose.Words
แยกเอกสาร Word ตามส่วนโดยใช้ C
ส่วนหมายถึงส่วนต่างๆ ของเอกสารที่สามารถใช้การจัดรูปแบบต่างๆ ได้ ส่วนหนึ่งอาจประกอบด้วยหน้าเดียว หลายหน้า หรือทั้งเอกสาร ตัวแบ่งส่วนใช้เพื่อแบ่งเอกสารออกเป็นหลายส่วน ต่อไปนี้เป็นขั้นตอนในการแยกเอกสาร Word ตามส่วนต่างๆ โดยใช้ Aspose.Words for .NET
- โหลดเอกสาร Word โดยใช้คลาส Document
- วนผ่านส่วนของหน้าโดยใช้คุณสมบัติ Document.Sections
- คัดลอกส่วนเป็นวัตถุ ส่วน ใหม่
- สร้างวัตถุ เอกสาร ใหม่
- เพิ่มส่วนลงใน Document ใหม่โดยใช้เมธอด Document.Sections.Add(Section)
- บันทึกเอกสารโดยใช้เมธอด Document.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร MS Word ตามส่วนต่างๆ โดยใช้ C#
// เปิดเอกสาร Word
Document doc = new Document("document.docx");
for (int i = 0; i < doc.Sections.Count; i++)
{
// แบ่งเอกสารออกเป็นส่วนย่อยๆ ในกรณีนี้ให้แยกตามส่วน
Section section = doc.Sections[i].Clone();
// สร้างเอกสารใหม่
Document newDoc = new Document();
newDoc.Sections.Clear();
Section newSection = (Section)newDoc.ImportNode(section, true);
newDoc.Sections.Add(newSection);
// บันทึกแต่ละส่วนเป็นเอกสารแยกต่างหาก
newDoc.Save($"splitted_{i}.docx");
}
แยกเอกสาร Word ทีละหน้าโดยใช้ C
อาจมีบางกรณีที่เอกสาร Word มีข้อมูลประเภทเดียวกันในแต่ละหน้า เช่น ใบแจ้งหนี้หรือใบเสร็จรับเงิน ในกรณีเช่นนี้ คุณสามารถแบ่งหน้าเอกสารเพื่อบันทึกใบแจ้งหนี้แต่ละใบเป็นเอกสารแยกต่างหาก สำหรับการแบ่งเอกสารทีละหน้า คุณสามารถใช้คลาสตัวช่วย DocumentPageSplitter ที่ใช้ Aspose.Words for .NET คุณสามารถคัดลอกชั้นเรียนในโครงการของคุณและแยกเอกสาร Word ทีละหน้าโดยทำตามขั้นตอนด้านล่าง
- โหลดเอกสาร Word โดยใช้คลาส Document
- สร้างวัตถุของคลาส DocumentPageSplitter และเริ่มต้นด้วยวัตถุเอกสาร
- ทำซ้ำผ่านหน้าเอกสาร
- แยกแต่ละหน้าลงในวัตถุเอกสารใหม่โดยใช้เมธอด DocumentPageSplitter.GetDocumentOfPage(int PageIndex)
- บันทึกแต่ละเอกสารโดยใช้เมธอด Document.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร Word ตามหน้าโดยใช้ C#
// เปิดเอกสาร Word
Document doc = new Document("Document.docx");
// สร้างและเริ่มต้นตัวแยกหน้าเอกสาร
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// บันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก
for (int page = 1; page <= doc.PageCount; page++)
{
Document pageDoc = splitter.GetDocumentOfPage(page);
pageDoc.Save($"spliteed_{page}.docx");
}
แยกเอกสาร Word ตามช่วงหน้าโดยใช้ C
คุณยังสามารถระบุช่วงหน้าที่จะแยกออกจากเอกสารต้นฉบับโดยใช้คลาส DocumentPageSplitter ตัวอย่างเช่น หากคุณต้องการแบ่งหน้าจาก 2 เป็น 4 เพียงระบุดัชนีของหน้าที่เริ่มต้นและสิ้นสุดในเมธอด DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแบ่งช่วงหน้าจากเอกสาร Word โดยใช้ C#
// เปิดเอกสาร Word
Document doc = new Document("document.docx");
// สร้างและเริ่มต้นตัวแยกหน้าเอกสาร
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// รับช่วงหน้า
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกเอกสาร MS Word โดยทางโปรแกรมโดยใช้ C# มีการกล่าวถึงสถานการณ์การแยกเอกสาร Word ตามส่วน หน้า และช่วงหน้าพร้อมกับตัวอย่างโค้ด คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Words for .NET โดยใช้ เอกสารประกอบ