Revisions
Revisions
Ce guide montre comment inspecter, accepter, rejeter et enregistrer les modifications suivies dans un document Word avec Aspose.Words FOSS pour .NET. Aspose.Words FOSS pour .NET peut inspecter, accepter et rejeter les modifications suivies (révisions) dans un document Word via Document.Revisions, et peut enregistrer de nouvelles modifications suivies lors de l’édition via Document.StartTrackRevisions()/StopTrackRevisions().
Lecture des modifications suivies
Document.Revisions renvoie un RevisionCollection de chaque Revision du document; Range.Revisions restreint cela à une plage spécifique. Chaque Revision indique qui a effectué la modification et quand (Author, DateTime), quel type de modification il s’agit (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange ou Moving), et où elle s’applique (ParentNode, ParentStyle). Document.HasRevisions vous indique dès le départ si le document chargé contient des modifications suivies.
Accepter et rejeter les révisions
Appelez Revision.Accept() ou Revision.Reject() pour résoudre une modification suivie unique, ou traitez l’ensemble complet en une fois avec RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() est une commodité au niveau du document qui accepte chaque révision en un seul appel. Pour accepter ou rejeter sélectivement un sous-ensemble, implémentez IRevisionCriteria.IsMatch(revision) et transmettez-le à RevisionCollection.Accept(criteria) ou Reject(criteria).
Groupes de révisions
Les révisions consécutives du même auteur et du même type sont présentées ensemble sous la forme d’un RevisionGroup — accessibles via Revision.Group pour une révision unique, ou RevisionCollection.Groups (un RevisionGroupCollection) pour chaque groupe du document. Chaque groupe indique son Text, Author et RevisionType combinés.
Enregistrement de nouvelles modifications suivies
Appelez Document.StartTrackRevisions(author) ou la surcharge StartTrackRevisions(author, dateTime) avant d’effectuer des modifications afin que les changements ultérieurs soient enregistrés comme révisions plutôt qu’appliqués directement; appelez StopTrackRevisions() pour arrêter le suivi. La propriété Document.TrackRevisions indique si le suivi est actuellement actif.
Visualisation du contenu original et final
Document.RevisionsView détermine si le document est affiché dans son état Original ou Final (une valeur RevisionsView) lorsque des révisions sont présentes, sans modifier les données de révision sous-jacentes.
Conseils et bonnes pratiques
- Vérifiez
Document.HasRevisionsavant d’itérerDocument.Revisionsafin d’éviter un travail superflu sur les documents dépourvus de modifications suivies. - Privilégiez
RevisionCollection.Accept(criteria)/Reject(criteria)avec unIRevisionCriteriapersonnalisé plutôt que de filtrer manuellement et d’appelerRevision.Accept()individuellement. RevisionGroupest utile pour présenter un résumé lisible des modifications — regrouper les révisions consécutives du même auteur et du même type évite de traiter chaque caractère inséré comme une entrée distincte.- Associez toujours
StartTrackRevisions()à un appelStopTrackRevisions()ultérieur afin que les modifications sans lien ne soient pas enregistrées comme modifications suivies.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
Document.Revisions est vide après les modifications | StartTrackRevisions() n’a jamais été appelé avant la modification | Appelez StartTrackRevisions(author) avant d’effectuer les modifications que vous souhaitez suivre |
RevisionCollection.Accept(criteria) n’accepte rien | IRevisionCriteria.IsMatch() ne correspond à aucune révision | Vérifiez la logique des critères par rapport aux valeurs réelles Revision.Author/RevisionType/ParentNode d’abord |
Le document affiche toujours le balisage des modifications suivies après AcceptAllRevisions() | Afficher l’état, pas les données de révision | Définissez Document.RevisionsView sur Final si vous avez besoin de la vue du contenu résolu |
FAQ
Comment vérifier si un document comporte des modifications suivies?
Lisez Document.HasRevisions — c’est true si Document.Revisions contient au moins un Revision.
Quelle est la différence entre Revision.Accept() et RevisionCollection.AcceptAll()?
Revision.Accept() résout une révision spécifique; RevisionCollection.AcceptAll() (ou Document.AcceptAllRevisions()) résout toutes les révisions de la collection en une seule opération.
Comment accepter uniquement les révisions effectuées par un auteur spécifique?
Implémentez IRevisionCriteria.IsMatch(revision) pour vérifier revision.Author, puis appelez RevisionCollection.Accept(criteria) avec cette implémentation.
Comment enregistrer mes propres modifications en tant que modifications suivies?
Appelez Document.StartTrackRevisions(author) avant d’effectuer les modifications, puis Document.StopTrackRevisions() une fois terminé.
Quels types de révisions existent?
RevisionType définit Insertion, Deletion, FormatChange, StyleDefinitionChange et Moving.
Résumé API Reference
| Classe / Méthode | Description |
|---|---|
Document.Revisions | RevisionCollection de toutes les modifications suivies dans le document |
Revision | Une modification suivie : Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Révisions consécutives du même auteur et du même type regroupées |
IRevisionCriteria | Prédicat personnalisé (IsMatch(revision)) pour accepter/rejeter sélectivement |
Document.StartTrackRevisions() / StopTrackRevisions() | Enregistrer les nouvelles modifications en tant que modifications suivies |
Document.RevisionsView | Original ou Final présentation du contenu révisé |