Revisions
Revisions
Αυτός ο οδηγός δείχνει πώς να ελέγξετε, να αποδεχτείτε, να απορρίψετε και να καταγράψετε τις παρακολουθούμενες αλλαγές σε ένα έγγραφο Word με Aspose.Words FOSS για .NET. Aspose.Words FOSS για .NET μπορεί να ελέγξει, να αποδεχτεί και να απορρίψει τις παρακολουθούμενες αλλαγές (αναθεωρήσεις) σε ένα έγγραφο Word μέσω Document.Revisions, και μπορεί να καταγράψει νέες παρακολουθούμενες αλλαγές κατά την επεξεργασία μέσω Document.StartTrackRevisions()/StopTrackRevisions().
Ανάγνωση Παρακολουθούμενων Αλλαγών
Document.Revisions επιστρέφει ένα RevisionCollection κάθε Revision στο έγγραφο· Range.Revisions περιορίζει το ίδιο σε συγκεκριμένο εύρος. Κάθε Revision αναφέρει ποιος έκανε την αλλαγή και πότε (Author, DateTime), τι είδους αλλαγή είναι (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange ή Moving), και πού εφαρμόζεται (ParentNode, ParentStyle). Document.HasRevisions σας ενημερώνει εκ των προτέρων αν το φορτωμένο έγγραφο έχει καθόλου παρακολουθούμενες αλλαγές.
Αποδοχή και Απόρριψη Αναθεωρήσεων
Καλέστε το Revision.Accept() ή το Revision.Reject() για να επιλύσετε μια μεμονωμένη παρακολουθούμενη αλλαγή, ή δουλέψτε σε ολόκληρη τη συλλογή ταυτόχρονα με το RevisionCollection.AcceptAll() / RejectAll(). Το Document.AcceptAllRevisions() είναι μια ευκολία επιπέδου εγγράφου που αποδέχεται κάθε αναθεώρηση με μία κλήση. Για να αποδεχθείτε ή να απορρίψετε ένα υποσύνολο επιλεκτικά, υλοποιήστε το IRevisionCriteria.IsMatch(revision) και περάστε το στο RevisionCollection.Accept(criteria) ή στο Reject(criteria).
Ομάδες Αναθεωρήσεων
Διαδοχικές εκδόσεις από τον ίδιο συγγραφέα και του ίδιου τύπου εκτίθενται μαζί ως RevisionGroup — προσβάσιμες μέσω Revision.Group για μία μόνο έκδοση, ή RevisionCollection.Groups (ένα RevisionGroupCollection) για κάθε ομάδα στο έγγραφο. Κάθε ομάδα αναφέρει τα συνδυασμένα Text, Author και RevisionType.
Καταγραφή Νέων Παρακολουθούμενων Αλλαγών
Καλέστε το Document.StartTrackRevisions(author) ή την υπερφόρτωση StartTrackRevisions(author, dateTime) πριν κάνετε επεξεργασίες ώστε οι επόμενες αλλαγές να καταγράφονται ως εκδόσεις αντί να εφαρμόζονται άμεσα· καλέστε το StopTrackRevisions() για να τερματίσετε την παρακολούθηση. Η ιδιότητα Document.TrackRevisions αντανακλά αν η παρακολούθηση είναι αυτή τη στιγμή ενεργή.
Προβολή Πρωτότυπου έναντι Τελικού Περιεχομένου
Το Document.RevisionsView ελέγχει αν το έγγραφο εμφανίζεται στην Original ή στην Final του κατάσταση (μια τιμή RevisionsView) όταν υπάρχουν εκδόσεις, χωρίς να τροποποιεί τα υποκείμενα δεδομένα έκδοσης.
Συμβουλές και Καλές Πρακτικές
- Ελέγξτε το
Document.HasRevisionsπριν επαναλάβετε τοDocument.Revisionsγια να παραλείψετε περιττή εργασία σε έγγραφα χωρίς παρακολουθούμενες αλλαγές. - Προτιμήστε το
RevisionCollection.Accept(criteria)/Reject(criteria)με ένα προσαρμοσμένοIRevisionCriteriaαντί για το χειροκίνητο φιλτράρισμα και την κλήση τουRevision.Accept()ένα-ένα. RevisionGroupείναι χρήσιμο για την παρουσίαση μιας ευανάγνωστης σύνοψης των αλλαγών — η ομαδοποίηση διαδοχικών αναθεωρήσεων ίδιου συγγραφέα, ίδιου τύπου αποτρέπει τη μεταχείριση κάθε εισαχθέντος χαρακτήρα ως ξεχωριστή καταχώρηση.- Πάντα συνδυάστε το
StartTrackRevisions()με μια μεταγενέστερη κλήσηStopTrackRevisions()ώστε οι μη σχετιζόμενες επεξεργασίες να μην καταγράφονται ως παρακολουθούμενες αλλαγές.
Κοινά Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
Document.Revisions είναι κενό μετά τις επεξεργασίες | StartTrackRevisions() δεν κλήθηκε ποτέ πριν από την επεξεργασία | Καλέστε το StartTrackRevisions(author) πριν κάνετε τις επεξεργασίες που θέλετε να παρακολουθούνται |
RevisionCollection.Accept(criteria) δεν δέχεται τίποτα | IRevisionCriteria.IsMatch() δεν ταιριάζει με καμία αναθεώρηση | Επαληθεύστε τη λογική των κριτηρίων σε σχέση με τις πραγματικές τιμές Revision.Author/RevisionType/ParentNode πρώτα |
Το έγγραφο εξακολουθεί να εμφανίζει σήμανση παρακολούθησης αλλαγών μετά το AcceptAllRevisions() | Προβολή κατάστασης, όχι δεδομένα αναθεώρησης | Ορίστε το Document.RevisionsView σε Final εάν χρειάζεστε την προβολή του επιλυμένου περιεχομένου |
FAQ
Πώς μπορώ να ελέγξω αν ένα έγγραφο έχει παρακολουθούμενες αλλαγές;
Διαβάστε το Document.HasRevisions — είναι true εάν το Document.Revisions περιέχει τουλάχιστον ένα Revision.
Ποια είναι η διαφορά μεταξύ του Revision.Accept() και του RevisionCollection.AcceptAll();
Revision.Accept() επιλύει μία συγκεκριμένη αναθεώρηση· RevisionCollection.AcceptAll() (ή Document.AcceptAllRevisions()) επιλύει κάθε αναθεώρηση στη συλλογή ταυτόχρονα.
Πώς μπορώ να αποδεχτώ μόνο τις αλλαγές που έγιναν από έναν συγκεκριμένο συγγραφέα;
Εφαρμόστε το IRevisionCriteria.IsMatch(revision) για να ελέγξετε το revision.Author, στη συνέχεια καλέστε το RevisionCollection.Accept(criteria) με αυτήν την υλοποίηση.
Πώς μπορώ να καταγράψω τις δικές μου επεξεργασίες ως παρακολουθούμενες αλλαγές;
Καλέστε το Document.StartTrackRevisions(author) πριν κάνετε τις επεξεργασίες, στη συνέχεια το Document.StopTrackRevisions() όταν τελειώσετε.
Τι τύποι αναθεωρήσεων υπάρχουν;
Το RevisionType ορίζει τα Insertion, Deletion, FormatChange, StyleDefinitionChange και Moving.
API Reference Περίληψη
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
Document.Revisions | RevisionCollection όλων των παρακολουθούμενων αλλαγών στο έγγραφο |
Revision | Μία παρακολουθούμενη αλλαγή: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Διαδοχικές εκδόσεις με τον ίδιο συγγραφέα και τον ίδιο τύπο ομαδοποιούνται μαζί |
IRevisionCriteria | Προσαρμοσμένη συνθήκη (IsMatch(revision)) για επιλεκτική αποδοχή/απόρριψη |
Document.StartTrackRevisions() / StopTrackRevisions() | Καταγράψτε τις νέες επεξεργασίες ως παρακολουθούμενες αλλαγές |
Document.RevisionsView | Original ή Final παρουσίαση του αναθεωρημένου περιεχομένου |