Revisions

Revisions

Ten przewodnik pokazuje, jak przeglądać, akceptować, odrzucać i rejestrować zmiany śledzone w dokumencie Word przy użyciu Aspose.Words FOSS dla .NET. Aspose.Words FOSS dla .NET może przeglądać, akceptować i odrzucać zmiany śledzone (rewizje) w dokumencie Word za pośrednictwem Document.Revisions, oraz może rejestrować nowe zmiany śledzone podczas edycji za pomocą Document.StartTrackRevisions()/StopTrackRevisions().


Odczytywanie zmian śledzonych

Document.Revisions zwraca RevisionCollection każdego Revision w dokumencie; Range.Revisions ogranicza to samo do określonego zakresu. Każdy Revision informuje, kto wprowadził zmianę i kiedy (Author, DateTime), jakiego rodzaju jest to zmiana (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange lub Moving), oraz gdzie ma zastosowanie (ParentNode, ParentStyle). Document.HasRevisions informuje z góry, czy załadowany dokument zawiera jakiekolwiek zmiany śledzone.


Akceptowanie i odrzucanie rewizji

Wywołaj Revision.Accept() lub Revision.Reject(), aby rozwiązać pojedynczą zmianę śledzoną, lub pracuj na całej kolekcji jednocześnie przy użyciu RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() jest udogodnieniem na poziomie dokumentu, które akceptuje każdą rewizję w jednym wywołaniu. Aby selektywnie akceptować lub odrzucać podzbiór, zaimplementuj IRevisionCriteria.IsMatch(revision) i przekaż go do RevisionCollection.Accept(criteria) lub Reject(criteria).


Grupy rewizji

Kolejne rewizje od tego samego autora i tego samego typu są wyświetlane razem jako RevisionGroup — dostępne poprzez Revision.Group dla pojedynczej rewizji lub RevisionCollection.Groups (a RevisionGroupCollection) dla każdej grupy w dokumencie. Każda grupa raportuje swoje połączone Text, Author i RevisionType.


Rejestrowanie nowych śledzonych zmian

Wywołaj Document.StartTrackRevisions(author) lub przeciążenie StartTrackRevisions(author, dateTime) przed wprowadzaniem edycji, aby kolejne zmiany były rejestrowane jako rewizje, a nie stosowane bezpośrednio; wywołaj StopTrackRevisions(), aby zakończyć śledzenie. Właściwość Document.TrackRevisions odzwierciedla, czy śledzenie jest aktualnie aktywne.


Wyświetlanie oryginalnej vs. końcowej treści

Document.RevisionsView kontroluje, czy dokument jest wyświetlany w stanie Original czy Final (wartość RevisionsView), gdy obecne są rewizje, bez zmiany podstawowych danych rewizji.


Wskazówki i najlepsze praktyki

  • Sprawdź Document.HasRevisions przed iterowaniem Document.Revisions, aby pominąć zbędną pracę przy dokumentach bez śledzonych zmian.
  • Preferuj RevisionCollection.Accept(criteria)/Reject(criteria) z niestandardowym IRevisionCriteria zamiast ręcznego filtrowania i wywoływania Revision.Accept() pojedynczo.
  • RevisionGroup jest przydatny do przedstawienia czytelnego podsumowania zmian — grupowanie kolejnych rewizji tego samego autora i tego samego typu zapobiega traktowaniu każdego wstawionego znaku jako osobnego wpisu.
  • Zawsze łącz StartTrackRevisions() z późniejszym wywołaniem StopTrackRevisions(), aby niepowiązane edycje nie były rejestrowane jako zmiany śledzone.

Typowe problemy

ProblemPrzyczynaNaprawa
Document.Revisions jest pusty po edycjachStartTrackRevisions() nigdy nie został wywołany przed edycjąWywołaj StartTrackRevisions(author) przed wprowadzaniem edycji, które chcesz śledzić
RevisionCollection.Accept(criteria) nie przyjmuje nicIRevisionCriteria.IsMatch() nie pasuje do żadnej wersjiNajpierw zweryfikuj logikę kryteriów względem rzeczywistych wartości Revision.Author/RevisionType/ParentNode
Dokument nadal wyświetla oznaczenia zmian śledzonych po AcceptAllRevisions()Wyświetl stan, a nie dane wersjiUstaw Document.RevisionsView na Final, jeśli potrzebujesz widoku rozwiązanej treści

FAQ

Jak sprawdzić, czy dokument zawiera jakiekolwiek zmiany śledzone?

Przeczytaj Document.HasRevisions — jest true, jeśli Document.Revisions zawiera co najmniej jeden Revision.

Jaka jest różnica między Revision.Accept() a RevisionCollection.AcceptAll()?

Revision.Accept() rozwiązuje jedną konkretną rewizję; RevisionCollection.AcceptAll() (lub Document.AcceptAllRevisions()) rozwiązuje wszystkie rewizje w kolekcji jednocześnie.

Jak zaakceptować tylko poprawki wprowadzone przez określonego autora?

Zaimplementuj IRevisionCriteria.IsMatch(revision), aby sprawdzić revision.Author, a następnie wywołaj RevisionCollection.Accept(criteria) z tą implementacją.

Jak zapisać moje własne edycje jako zmiany śledzone?

Wywołaj Document.StartTrackRevisions(author) przed wprowadzeniem edycji, a następnie Document.StopTrackRevisions(), gdy skończysz.

Jakie typy rewizji istnieją?

RevisionType definiuje Insertion, Deletion, FormatChange, StyleDefinitionChange i Moving.


API Reference Podsumowanie

Klasa / MetodaOpis
Document.RevisionsRevisionCollection wszystkich zmian śledzonych w dokumencie
RevisionJedna śledzona zmiana: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionKolejne poprawki tego samego autora i tego samego typu grupowane razem
IRevisionCriteriaNiestandardowy predykat (IsMatch(revision)) do selektywnego akceptowania/odrzucania
Document.StartTrackRevisions() / StopTrackRevisions()Rejestruj nowe edycje jako zmiany śledzone
Document.RevisionsViewOriginal lub Final prezentacja zrewidowanej treści

Zobacz także

 Polski