MS Word เป็นรูปแบบที่นิยมในการจัดเก็บและแบ่งปันข้อมูล อาจมีสถานการณ์ที่คุณต้องการแยกเอกสาร Word ออกเป็นหลายไฟล์ ตัวอย่างเช่น เอกสารอาจมีส่วนต่างๆ ที่ต้องใช้ร่วมกันกับบุคคลอื่น หรือมีข้อมูลลับบางอย่างที่ต้องแยกจากกัน ในกรณีเช่นนี้ การแยกเอกสาร Word จะเป็นประโยชน์ ในบทความนี้ คุณจะได้เรียนรู้วิธีการแยกเอกสาร MS Word โดยใช้ C++
- C ++ API สำหรับการแยกเอกสาร Word
- แยกเอกสาร Word ตามหน้าโดยใช้ C ++
- ใช้ช่วงหน้าเพื่อแยกเอกสาร Word
- แยกเอกสาร Word ตามส่วนโดยใช้ C ++
- รับใบอนุญาตฟรี
C ++ API สำหรับการแยกเอกสาร Word
Aspose.Words for C++ คือไลบรารี่ C++ ดั้งเดิมที่ให้คุณสร้าง เปลี่ยนแปลง และแปลงเอกสาร Microsoft Word นอกจากนี้ยังรองรับการแยกเอกสาร Word ออกเป็นหลายไฟล์ คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.Words.Cpp
แยกเอกสาร Word ตามหน้าโดยใช้ C ++
ต่อไปนี้เป็นขั้นตอนในการแยกไฟล์ Word โดยใช้ C++
- โหลดเอกสาร Word โดยใช้คลาส Document
- สร้างอินสแตนซ์ของคลาส DocumentPageSplitter และเริ่มต้นด้วยวัตถุ Document ที่สร้างขึ้นในขั้นตอนก่อนหน้า
- วนซ้ำหน้าต่างๆ ของ Document
- แยกแต่ละหน้าด้วยเมธอด DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex)
- บันทึกเอกสารโดยใช้เมธอด Document->Save (System::String fileName)
ต่อไปนี้คือโค้ดตัวอย่างในการแบ่งเอกสาร Word ทีละหน้า
// ตัวอย่างเอกสาร Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// โหลดเอกสาร Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// สร้างและเริ่มต้นตัวแยกหน้าเอกสาร
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// เส้นทางไฟล์เอาต์พุต
System::String outputPath = u"OutputDirectory\\";
// บันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก
for (int page = 1; page <= document->get_PageCount(); page++)
{
auto pageDoc = splitter.GetDocumentOfPage(page);
pageDoc->Save(outputPath + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(page) + u".docx");
}
ใช้ช่วงหน้าเพื่อแยกเอกสาร Word
แทนที่จะแยกแต่ละหน้า คุณสามารถแยกเอกสาร Word ได้โดยระบุช่วงหน้า ต่อไปนี้เป็นขั้นตอนในการแยกเอกสาร Word โดยใช้ช่วงหน้า
- ขั้นแรก ให้โหลดเอกสาร Word โดยใช้คลาส Document
- สร้างอินสแตนซ์ของคลาส DocumentPageSplitter และเริ่มต้นด้วยวัตถุ Document ของขั้นตอนก่อนหน้า
- ดึงหน้าในช่วงที่ต้องการโดยใช้เมธอด DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex)
- สุดท้าย ให้บันทึกเอกสาร Word โดยใช้วิธี Document->Save (System::String fileName)
ต่อไปนี้คือโค้ดตัวอย่างในการแยกเอกสาร Word โดยใช้ช่วงหน้า
// ตัวอย่างเอกสาร Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// โหลดเอกสาร Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// สร้างและเริ่มต้นตัวแยกหน้าเอกสาร
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// รับช่วงหน้า
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);
// เส้นทางไฟล์เอาต์พุต
System::String outputPath = u"OutputDirectory\\";
// บันทึกเป็นไฟล์ DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");
แยกเอกสาร Word ตามส่วนโดยใช้ C ++
ไฟล์ Word สามารถมีส่วนอย่างน้อยหนึ่งส่วนที่อาจมีการจัดรูปแบบแตกต่างกันและอาจประกอบด้วยกี่หน้าก็ได้ หากต้องการเพิ่มส่วนใหม่ในไฟล์ Word ให้ใช้ตัวเลือกเค้าโครง>ตัวแบ่ง>ตัวแบ่งส่วน ต่อไปนี้เป็นขั้นตอนในการแยกไฟล์ Word ตามส่วนโดยใช้ Aspose.Words for C++ API
- โหลดไฟล์ Word โดยใช้คลาส Document
- ดึงส่วนของเอกสารโดยใช้เมธอด Document->getSections() และวนซ้ำ
- โคลนส่วนเป็นวัตถุ Section โดยใช้เมธอด Document->getSections()->idxget(int32t index)->Clone()
- สร้างเอกสาร Word ใหม่โดยใช้คลาส Document
- เพิ่มส่วนที่โคลนลงในเอกสาร Word ที่สร้างขึ้นใหม่โดยใช้ Document->getSections()->Add (System::SharedPtrAspose::Words::Node โหนด) วิธีการ
- สุดท้าย ให้บันทึกไฟล์ Word โดยใช้วิธี Document->Save (System::String fileName)
ต่อไปนี้คือโค้ดตัวอย่างในการแบ่งเอกสาร Word ตามส่วนต่างๆ
// ตัวอย่างเอกสาร Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// โหลดเอกสาร Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// เส้นทางไฟล์เอาต์พุต
System::String outputPath = u"OutputDirectory\\";
for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
// แบ่งเอกสารออกเป็นส่วนย่อยๆ ในกรณีนี้ให้แยกตามส่วน
auto section = document->get_Sections()->idx_get(i)->Clone();
// สร้างเอกสารใหม่
auto newDoc = System::MakeObject<Aspose::Words::Document>();
newDoc->get_Sections()->Clear();
//เพิ่มส่วนใหม่ในเอกสารที่สร้างขึ้นใหม่
auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
newDoc->get_Sections()->Add(newSection);
// บันทึกแต่ละส่วนเป็นเอกสารแยกต่างหาก
newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกเอกสาร Word เป็นหลายไฟล์โดยใช้ C++ คุณได้เรียนรู้วิธีใช้ Aspose.Words for C++ API เพื่อแบ่งเอกสารเวิร์ดตามหน้า ช่วงหน้า และส่วนต่างๆ คุณสามารถสำรวจ API โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ หากคุณมีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัม