แยกเอกสาร Word C++

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

// ตัวอย่างเอกสาร 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 โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ หากคุณมีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัม

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