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()); |