โคลนเอกสาร

การโคลนเอกสารเป็นกระบวนการสร้างสำเนาที่เหมือนกันของเอกสารต้นฉบับซึ่งสามาร.

บทความนี้จะอธิบายกรณีการใช้งานหลักของการโคลนเอกสารและวิธีการสร้างโคลนเอกสารโดยใช้ Aspose.Words.

การดำเนินงานที่มีเอกสารการโคลน

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

หลังจากสร้างโคลนของเอกสารของคุณคุณจะสามารถที่จะแก้ไขและดำเนินการที่แตกต่างกันกับมันเช่นเปรียบเทียบกับเอกสารต้นฉบับผนวกหรือแทรกลงในเอกสารอื่น นอกจากนี้คุณยังสามารถปรับเปลี่ยนองค์ประกอบที่ถูกโคลนหรือเนื้อหาของพวกเขาก่อนที่จะ.

การสร้างโคลนเอกสาร

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

การโคลนจะสร้างเอกสารใหม่ที่มีเนื้อหาเหมือนกับต้นฉบับแต่มีสำเนาเฉพาะของเอกสารต้นฉบับแต่ละฉบับของnodes นอกจากนี้คุณยังสามารถใช้การดำเนินการโคลนกับโหนดเอกสารโดยใช้วิธีการโหนดCloneซึ่ง.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการโคลนเอกสารและสร้างซ้ำของส่วนในเอกสารนั้น:

// Create a Document.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
builder->Writeln(u"This is the original document before applying the clone method");
// Clone the document.
System::SharedPtr<Document> clone = doc->Clone();
// Edit the cloned document.
builder = System::MakeObject<DocumentBuilder>(clone);
builder->Write(u"Section 1");
builder->InsertBreak(BreakType::SectionBreakNewPage);
builder->Write(u"Section 2");
// This shows what is in the document originally. The document has two sections.
std::cout << clone->GetText().Trim() << std::endl << std::endl;
// Duplicate the last section and append the copy to the end of the document.
auto lastSectionIdx = clone->get_Sections()->get_Count() - 1;
System::SharedPtr<Section> newSection = clone->get_Sections()->idx_get(lastSectionIdx)->Clone();
clone->get_Sections()->Add(newSection);
// Check what the document contains after we changed it.
std::cout << clone->GetText().Trim() << std::endl << std::endl;