แยกเอกสาร

Splittingหรือsplit a documentเป็นกระบวนการของการทำลายเอกสารขนาดใหญ่เป็นจำนวนมากของไฟล์ที่มีขนา มีเหตุผลหลายประการที่จะแยกไฟล์ ตัวอย่างเช่นคุณต้องการเพียงบางหน้าจากเอกสารที่เฉพาะเจาะจงและไม่หนึ่งทั้งหมด หรือด้วยเหตุผลความเป็นส่วนตัวคุณต้องการแบ่งปันเฉพาะบางส่วนของเอกสารกับผู้อื่น ด้วยคุณลักษณะการแยกคุณจะได้รับเฉพาะส่วนที่จำเป็นของเอกสารและดำเนินการที่จำเป็.

Aspose.Wordsช่วยให้คุณมีวิธีที่มีประสิทธิภาพในการแบ่งเอกสารหนึ่งออกเป็นเอกสารหลายส่วนโดยหั คุณยังสามารถแบ่งเอกสารตามหน้าหรือตามช่วงหน้า ทั้งสองตัวเลือกแยกจะอธิบายไว้ในบทความนี้.

ในการแยกเอกสารออกเป็นไฟล์ขนาดเล็กโดยใช้Aspose.Wordsคุณต้องทำตามขั้นตอนเหล่านี้:

  1. ป้อนเอกสารในรูปแบบที่รองรับ.
  2. แยกเอกสาร.
  3. บันทึกเอกสารที่ส่งออก.

หลังจากที่คุณแยกเอกสารที่คุณจะสามารถที่จะเปิดเอกสารที่ส่งออกทั้งหมดที่จะเริ่มต้นด้ว.

แยกเอกสารโดยใช้เกณฑ์ที่แตกต่างกัน

Aspose.Wordsช่วยให้คุณสามารถแบ่งเอกสารEPUBหรือHTMLออกเป็นบทตามเกณฑ์ต่างๆ ในกระบวนการลักษณะและเค้าโครงของเอกสารต้นฉบับจะถูกเก็บรักษาไว้สำหรับเอกสา.

คุณสามารถระบุเกณฑ์โดยใช้การแจงนับDocumentSplitCriteria ดังนั้นคุณสามารถแบ่งเอกสารออกเป็นบทโดยใช้เกณฑ์ใดเกณฑ์หนึ่งต่อไปนี้หรือรวมเกณฑ์:

  • หัวเรื่องย่อหน้า,
  • แบ่งส่วน,
  • แบ่งคอลัมน์,
  • แบ่งหน้า.

เมื่อบันทึกผลลัพธ์เป็นHTMLAspose.Wordsบันทึกแต่ละบทเป็นไฟล์HTMLแยกต่างหาก เอกสารจะถูกแบ่งออกเป็นหลายไฟล์HTML เมื่อบันทึกผลลัพธ์เป็นEPUBAspose.Wordsบันทึกผลลัพธ์ในไฟล์เดียวEPUBโดยไม่คำนึงถึงค่าDocumentSplitCriteriaที่คุณใช้ ดังนั้นการใช้DocumentSplitCriteriaสำหรับEPUBเอกสารจะมีผลต่อลักษณะที่ปรากฏของเนื้อหาในโปรแกรมประยุกต์ของผู้อ่าน:เนื้อหาจะถูกแบ่งออกเป็นบทและเอกสารจะไม่ปรากฏอย่างต่อเนื่องอีกต่อไป.

ในส่วนนี้เราจะพิจารณาเพียงบางส่วนของเกณฑ์การแยกที่เป็นไปได้.

แยกเอกสารตามส่วน

Aspose.Wordsยังช่วยให้คุณสามารถใช้ส่วนแบ่งการแยกเอกสารและบันทึกไว้เป็นHTML เพื่อจุดประสงค์นี้ให้ใช้SectionBreakเป็นDocumentSplitCriteria:

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแยกเอกสารออกเป็นส่วนเล็กๆโดยแบ่งส่วน(โดยไม่ต้องใช้คุณสมบัติDocumentSplitCriteria):

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Open a Word document
auto doc = System::MakeObject<Document>(inputDataDir + u"TestFile (Split).docx");
for (int i = 0; i < doc->get_Sections()->get_Count(); i++)
{
// Split a document into smaller parts, in this instance split by section
auto section = doc->get_Sections()->idx_get(i)->Clone();
auto newDoc = System::MakeObject<Document>();
newDoc->get_Sections()->Clear();
auto newSection = System::StaticCast<Section>(newDoc->ImportNode(section, true));
newDoc->get_Sections()->Add(newSection);
// Save each section as a separate document
newDoc->Save(outputDataDir + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

แยกตามหน้า

คุณยังสามารถแบ่งเพจเอกสารตามเพจตามช่วงของเพจหรือเริ่มต้นด้วยหมายเลขเพจที่ร นกรณีดังกล่าววิธีการExtractPagesสามารถทำงานได้.

ส่วนนี้อธิบายถึงกรณีการใช้งานหลายกรณีของการหารเอกสารโดยใช้DocumentคลาสและExtractPagesวิธีการ.

แยกหน้าเอกสารตามหน้า

Aspose.Wordsช่วยให้คุณสามารถแยกหน้าเอกสารหลายหน้าตามหน้า.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแบ่งเอกสารและบันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = MakeObject<Document>(MyDir + u"Big document.docx");
int pageCount = doc->get_PageCount();
for (int page = 0; page < pageCount; page++)
{
// Save each page as a separate document.
SharedPtr<Document> extractedPage = doc->ExtractPages(page, 1);
extractedPage->Save(ArtifactsDir + String::Format(u"SplitDocument.PageByPage_{0}.docx", page + 1));
}

แยกเอกสารตามช่วงหน้า

Aspose.Wordsอนุญาตให้แยกเอกสารหลายหน้าตามช่วงหน้า คุณสามารถแยกไฟล์หนึ่งไฟล์เป็นหลายไฟล์ที่มีช่วงหน้าต่างๆหรือเพียงแค่เลือกหนึ่งช่วงและ โปรดทราบว่าคุณสามารถเลือกช่วงหน้าตามจำนวนหน้าสูงสุดและต่ำสุดของเอกสาร.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแยกเอกสารออกเป็นส่วนเล็กๆตามช่วงหน้ากับดัชนีเริ่มต้นแ:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = MakeObject<Document>(MyDir + u"Big document.docx");
// Get part of the document.
SharedPtr<Document> extractedPages = doc->ExtractPages(3, 6);
extractedPages->Save(ArtifactsDir + u"SplitDocument.ByPageRange.docx");

ผสานเอกสารแยกกับเอกสารอื่น

Aspose.Wordsช่วยให้คุณสามารถรวมเอาต์พุตเอกสารแยกกับเอกสารอื่นเพื่อสร้างเอกสารใหม่ นี้สามารถเรียกว่าการรวมเอกสาร.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการรวมเอกสารแยกกับเอกสารอื่น:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Create a new resulting document
auto mergedDoc = System::MakeObject<Document>();
auto mergedDocBuilder = System::MakeObject<DocumentBuilder>(mergedDoc);
// Merge document parts one by one
for (int idx = 1; idx <= 13; idx++)
{
System::String documentPath = inputDataDir + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(idx) + u".docx";
auto sourceDoc = System::MakeObject<Document>(documentPath);
mergedDocBuilder->MoveToDocumentEnd();
mergedDocBuilder->InsertDocument(sourceDoc, ImportFormatMode::KeepSourceFormatting);
}
mergedDoc->Save(outputDataDir + u"MergeDocuments_out.docx");