แยกเอกสาร Word

เอกสาร MS Word ถูกใช้อย่างกว้างขวางเพื่อเก็บและแบ่งปันข้อมูล ในบางกรณี คุณอาจต้องแยกข้อมูลจากเอกสาร Word ที่อาจอยู่ในส่วนหรือหน้าต่างๆ นอกจากนี้ คุณอาจต้องแบ่งหน้าของเอกสารเดียวออกเป็นหลายเอกสาร เพื่อให้สอดคล้องกับสถานการณ์ดังกล่าว บทความนี้มีเป้าหมายเพื่อแสดงวิธีแยกเอกสาร MS 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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร 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 โดยใช้ เอกสารประกอบ

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