Klon dokumentu

Klonowanie dokumentu jest procesem tworzenia identycznej kopii oryginalnego dokumentu, który może poprawić wydajność i zapisać z potencjalnych wycieków pamięci.

Ten artykuł wyjaśni główne przypadki użycia klonowania dokumentu i jak utworzyć klon dokumentu za pomocą Aspose.Words.

Operacje z dokumentami klonowania

Operacja klonu pozwala przyspieszyć proces tworzenia dokumentów, ponieważ za każdym razem nie trzeba wczytywać i przeglądać dokumentu z pliku.

Po utworzeniu klona dokumentu, będziesz mógł go edytować i wykonywać różne operacje na nim, na przykład porównywać go z oryginalnym dokumentem, dołączyć lub wprowadzić go do innego dokumentu. Można również zmodyfikować sklonowane elementy lub ich zawartość przed umieszczeniem ich w innym dokumencie.

Tworzenie klonu dokumentów

Aspose.Words pozwala na sklonowanie dokumentu za pomocą Clone metoda, która wykonuje głęboką kopię dokumentu i zwraca go. Innymi słowy, otrzyma pełną kopię DOM. W Clone metoda przyspiesza generowanie dokumentów i potrzebujesz tylko jednej linii kodu, aby otrzymać kopię dokumentu.

Klonowanie tworzy nowy dokument z taką samą zawartością jak oryginał, ale z unikalną kopią każdego oryginalnego dokumentu nodes. Można również zastosować operację klonu do węzła dokumentu za pomocą węzła Clone metoda, która pozwala na powielanie złożonych węzłów dokumentów z i bez węzłów dziecięcych.

Poniższy przykład kodu pokazuje jak sklonować dokument i utworzyć duplikat sekcji w tym dokumencie:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Create a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.writeln("This is the original document before applying the clone method");
// Clone the document.
Document clone = doc.deepClone();
// Edit the cloned document.
builder = new DocumentBuilder(clone);
builder.write("Section 1");
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
builder.write("Section 2");
// This shows what is in the document originally. The document has two sections.
System.out.println(clone.getText().trim());
// Duplicate the last section and append the copy to the end of the document.
int lastSectionIdx = clone.getSections().getCount() - 1;
Section newSection = clone.getSections().get(lastSectionIdx).deepClone();
clone.getSections().add(newSection);
// Check what the document contains after we changed it.
System.out.println(clone.getText().trim());