Revisions
Revisions
Dieser Leitfaden zeigt, wie man nachverfolgte Änderungen in einem Word-Dokument mit Aspose.Words FOSS für .NET inspiziert, akzeptiert, ablehnt und aufzeichnet. Aspose.Words FOSS für .NET kann nachverfolgte Änderungen (Revisionen) in einem Word-Dokument über Document.Revisions inspizieren, akzeptieren und ablehnen und kann neue nachverfolgte Änderungen während der Bearbeitung über Document.StartTrackRevisions()/StopTrackRevisions() aufzeichnen.
Lesen nachverfolgter Änderungen
Document.Revisions gibt ein RevisionCollection aller Revision im Dokument zurück; Range.Revisions beschränkt dasselbe auf einen bestimmten Bereich. Jeder Revision gibt an, wer die Änderung vorgenommen hat und wann (Author, DateTime), welche Art von Änderung es ist (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange oder Moving), und wo sie gilt (ParentNode, ParentStyle). Document.HasRevisions teilt Ihnen sofort mit, ob ein geladenes Dokument überhaupt nachverfolgte Änderungen enthält.
Akzeptieren und Ablehnen von Revisionen
Rufen Sie Revision.Accept() oder Revision.Reject() auf, um eine einzelne nachverfolgte Änderung zu bearbeiten, oder arbeiten Sie die gesamte Sammlung auf einmal mit RevisionCollection.AcceptAll() / RejectAll() ab. Document.AcceptAllRevisions() ist eine Dokument-Ebene-Bequemlichkeitsfunktion, die jede Revision in einem Aufruf akzeptiert. Um einen Teil selektiv zu akzeptieren oder abzulehnen, implementieren Sie IRevisionCriteria.IsMatch(revision) und übergeben es an RevisionCollection.Accept(criteria) oder Reject(criteria).
Revisionsgruppen
Aufeinanderfolgende Revisionen desselben Autors und desselben Typs werden gemeinsam als RevisionGroup dargestellt — zugänglich über Revision.Group für eine einzelne Revision oder RevisionCollection.Groups (ein RevisionGroupCollection) für jede Gruppe im Dokument. Jede Gruppe gibt ihr kombiniertes Text, Author und RevisionType aus.
Aufzeichnen neuer nachverfolgter Änderungen
Rufen Sie Document.StartTrackRevisions(author) oder die Überladung StartTrackRevisions(author, dateTime) auf, bevor Sie Änderungen vornehmen, damit nachfolgende Änderungen als Revisionen aufgezeichnet und nicht direkt angewendet werden; rufen Sie StopTrackRevisions() auf, um die Verfolgung zu beenden. Die Eigenschaft Document.TrackRevisions gibt an, ob die Verfolgung derzeit aktiv ist.
Anzeige von Original vs. endgültigem Inhalt
Document.RevisionsView steuert, ob das Dokument bei vorhandenen Revisionen in seinem Original oder Final Zustand (ein RevisionsView) dargestellt wird, ohne die zugrunde liegenden Revisionsdaten zu ändern.
Tipps und bewährte Verfahren
- Prüfen Sie
Document.HasRevisions, bevor SieDocument.Revisionsiterieren, um unnötige Arbeit an Dokumenten ohne nachverfolgte Änderungen zu vermeiden. - Bevorzugen Sie
RevisionCollection.Accept(criteria)/Reject(criteria)mit einem benutzerdefiniertenIRevisionCriteriagegenüber dem manuellen Filtern und dem einzelnen Aufrufen vonRevision.Accept(). RevisionGroupist nützlich, um eine lesbare Zusammenfassung von Änderungen darzustellen — das Gruppieren aufeinanderfolgender Revisionen desselben Autors und Typs verhindert, dass jedes eingefügte Zeichen als separater Eintrag behandelt wird.- Kombiniere
StartTrackRevisions()immer mit einem späteren Aufruf vonStopTrackRevisions(), damit unzusammenhängende Änderungen nicht als nachverfolgte Änderungen erfasst werden.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
Document.Revisions ist nach den Änderungen leer | StartTrackRevisions() wurde vor der Bearbeitung nie aufgerufen | Rufen Sie StartTrackRevisions(author) auf, bevor Sie die Änderungen vornehmen, die Sie verfolgen möchten |
RevisionCollection.Accept(criteria) akzeptiert nichts | IRevisionCriteria.IsMatch() stimmt mit keiner Revision überein | Überprüfen Sie die Kriterienlogik zunächst anhand der tatsächlichen Revision.Author/RevisionType/ParentNode-Werte |
Das Dokument zeigt nach AcceptAllRevisions() weiterhin Markup für nachverfolgte Änderungen | Ansichtsstatus, nicht Revisionsdaten | Setzen Sie Document.RevisionsView auf Final, wenn Sie die aufgelöste Inhaltsansicht benötigen |
FAQ
Wie überprüfe ich, ob ein Dokument nachverfolgte Änderungen enthält?
Lies Document.HasRevisions — es ist true, wenn Document.Revisions mindestens einen Revision enthält.
Was ist der Unterschied zwischen Revision.Accept() und RevisionCollection.AcceptAll()?
Revision.Accept() löst eine bestimmte Revision auf; RevisionCollection.AcceptAll() (oder Document.AcceptAllRevisions()) löst alle Revisionen in der Sammlung auf einmal.
Wie akzeptiere ich nur Revisionen, die von einem bestimmten Autor vorgenommen wurden?
Implementieren Sie IRevisionCriteria.IsMatch(revision), um revision.Author zu prüfen, und rufen Sie anschließend RevisionCollection.Accept(criteria) mit dieser Implementierung auf.
Wie kann ich meine eigenen Änderungen als nachverfolgte Änderungen aufzeichnen?
Rufen Sie Document.StartTrackRevisions(author) auf, bevor Sie die Änderungen vornehmen, und dann Document.StopTrackRevisions(), wenn Sie fertig sind.
Welche Revisionstypen gibt es?
RevisionType definiert Insertion, Deletion, FormatChange, StyleDefinitionChange und Moving.
API Reference Zusammenfassung
| Klasse / Methode | Beschreibung |
|---|---|
Document.Revisions | RevisionCollection aller nachverfolgten Änderungen im Dokument |
Revision | Eine nachverfolgte Änderung: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Aufeinanderfolgende Revisionen desselben Autors und gleichen Typs werden zusammengefasst |
IRevisionCriteria | Benutzerdefiniertes Prädikat (IsMatch(revision)) für selektives Akzeptieren/Ablehnen |
Document.StartTrackRevisions() / StopTrackRevisions() | Neue Änderungen als nachverfolgte Änderungen aufzeichnen |
Document.RevisionsView | Original oder Final Präsentation des überarbeiteten Inhalts |