แยกเอกสาร
Splittingหรือsplit a documentเป็นกระบวนการของการทำลายเอกสารขนาดใหญ่เป็นจำนวนมากของไฟล์ที่มีขนา มีเหตุผลหลายประการที่จะแยกไฟล์ ตัวอย่างเช่นคุณต้องการเพียงบางหน้าจากเอกสารที่เฉพาะเจาะจงและไม่หนึ่งทั้งหมด หรือด้วยเหตุผลความเป็นส่วนตัวคุณต้องการแบ่งปันเฉพาะบางส่วนของเอกสารกับผู้อื่น ด้วยคุณลักษณะการแยกคุณจะได้รับเฉพาะส่วนที่จำเป็นของเอกสารและดำเนินการที่จำเป็.
Aspose.Wordsช่วยให้คุณมีวิธีที่มีประสิทธิภาพในการแบ่งเอกสารหนึ่งออกเป็นเอกสารหลายส่วนโดยหั คุณยังสามารถแบ่งเอกสารตามหน้าหรือตามช่วงหน้า ทั้งสองตัวเลือกแยกจะอธิบายไว้ในบทความนี้.
ในการแยกเอกสารออกเป็นไฟล์ขนาดเล็กโดยใช้Aspose.Wordsคุณต้องทำตามขั้นตอนเหล่านี้:
- ป้อนเอกสารในรูปแบบที่รองรับ.
- แยกเอกสาร.
- บันทึกเอกสารที่ส่งออก.
หลังจากที่คุณแยกเอกสารที่คุณจะสามารถที่จะเปิดเอกสารที่ส่งออกทั้งหมดที่จะเริ่มต้นด้ว.
ลองออนไลน์
คุณสามารถลองฟังก์ชั่นนี้กับเรา แยกเอกสารออนไลน์ฟรี.
แยกเอกสารโดยใช้เกณฑ์ที่แตกต่างกัน
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"); |