Klonen eines Dokuments
Beim Klonen eines Dokuments wird eine identische Kopie eines Originaldokuments erstellt, wodurch die Leistung verbessert und Sie vor potenziellen Speicherverlusten bewahrt werden können.
In diesem Artikel werden die wichtigsten Anwendungsfälle beim Klonen eines Dokuments und das Erstellen eines Dokumentklons mit Aspose.Words erläutert.
Vorgänge beim Klonen von Dokumenten
Mit dem Klonvorgang können Sie das Erstellen von Dokumenten beschleunigen, da Sie nicht jedes Mal ein Dokument aus einer Datei laden und analysieren müssen.
Nachdem Sie einen Klon Ihres Dokuments erstellt haben, können Sie es bearbeiten und verschiedene Vorgänge ausführen, z. B. mit dem Originaldokument vergleichen, es anhängen oder in ein anderes Dokument einfügen. Sie können auch geklonte Elemente oder deren Inhalt ändern, bevor Sie sie in ein anderes Dokument einfügen.
Erstellen eines Dokumentklons
Mit Aspose.Words können Sie ein Dokument mit der Methode Clone klonen, die eine tiefe Kopie des Dokuments erstellt und es zurückgibt. Mit anderen Worten, es wird eine vollständige Kopie von DOM erhalten. Die Clone
-Methode beschleunigt die Dokumentenerstellung und Sie benötigen nur eine Codezeile, um eine Kopie Ihres Dokuments zu erhalten.
Beim Klonen wird ein neues Dokument mit demselben Inhalt wie das Original erstellt, jedoch mit einer eindeutigen Kopie jedes nodes des Originaldokuments. Sie können den Klonvorgang auch auf einen Dokumentknoten anwenden, indem Sie die Methode node Clone verwenden, mit der Sie zusammengesetzte Dokumentknoten mit und ohne ihre untergeordneten Knoten duplizieren können.
Das folgende Codebeispiel zeigt, wie Sie ein Dokument klonen und ein Duplikat eines Abschnitts in diesem Dokument erstellen:
// 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()); |