Revisions
Revisions
Tento průvodce ukazuje, jak prohlížet, přijímat, odmítat a zaznamenávat sledované změny v dokumentu Word pomocí Aspose.Words FOSS pro .NET. Aspose.Words FOSS pro .NET může prohlížet, přijímat a odmítat sledované změny (revize) v dokumentu Word prostřednictvím Document.Revisions a může zaznamenávat nové sledované změny při úpravách pomocí Document.StartTrackRevisions()/StopTrackRevisions().
Čtení sledovaných změn
Document.Revisions vrací RevisionCollection každého Revision v dokumentu; Range.Revisions omezuje stejné na konkrétní oblast. Každý Revision uvádí, kdo změnu provedl a kdy (Author, DateTime), jaký typ změny to je (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange nebo Moving), a kde se vztahuje (ParentNode, ParentStyle). Document.HasRevisions vám na úvod říká, zda načtený dokument obsahuje vůbec nějaké sledované změny.
Přijímání a odmítání revizí
Zavolejte Revision.Accept() nebo Revision.Reject() k vyřešení jedné sledované změny, nebo pracujte s celou kolekcí najednou pomocí RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() je pohodlí na úrovni dokumentu, které přijímá každou revizi jedním voláním. Pro selektivní přijmutí nebo odmítnutí podmnožiny implementujte IRevisionCriteria.IsMatch(revision) a předáte ji do RevisionCollection.Accept(criteria) nebo Reject(criteria).
Skupiny revizí
Po sobě jdoucí revize od stejného autora a stejného typu jsou zobrazeny společně jako RevisionGroup— přístupné přes Revision.Group pro jedinou revizi, nebo RevisionCollection.Groups (a RevisionGroupCollection) pro každou skupinu v dokumentu. Každá skupina uvádí své kombinované Text, Author a RevisionType.
Zaznamenávání nových sledovaných změn
Vyvolejte Document.StartTrackRevisions(author) nebo přetíženou verzi StartTrackRevisions(author, dateTime) před provedením úprav, aby následné změny byly zaznamenány jako revize místo přímého aplikování; vyvolejte StopTrackRevisions() pro ukončení sledování. Vlastnost Document.TrackRevisions odráží, zda je sledování momentálně aktivní.
Zobrazení původního vs. finálního obsahu
Document.RevisionsView určuje, zda je dokument zobrazen v jeho Original nebo Final stavu (hodnota RevisionsView), když jsou přítomny revize, aniž by se měnila podkladová data revizí.
Tipy a osvědčené postupy
- Zkontrolujte
Document.HasRevisionspřed iteracíDocument.Revisions, abyste přeskočili zbytečnou práci u dokumentů bez sledovaných změn. - Upřednostněte
RevisionCollection.Accept(criteria)/Reject(criteria)s vlastnímIRevisionCriteriapřed ručním filtrováním a postupným volánímRevision.Accept()jedním po druhém. RevisionGroupje užitečný pro prezentaci čitelného souhrnu změn — seskupování po sobě jdoucích revizí od stejného autora a stejného typu zabraňuje tomu, aby byl každý vložený znak zaznamenán jako samostatná položka.- Vždy spojte
StartTrackRevisions()s pozdějším volánímStopTrackRevisions(), aby se nesouvisející úpravy nezaznamenávaly jako sledované změny.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
Document.Revisions je po úpravách prázdný | StartTrackRevisions() nebyl nikdy zavolán před úpravou | Zavolejte StartTrackRevisions(author) před provedením úprav, které chcete sledovat |
RevisionCollection.Accept(criteria) nepřijímá nic | IRevisionCriteria.IsMatch() neodpovídá žádné revizi | Nejprve ověřte logiku kritérií vůči skutečným hodnotám Revision.Author/RevisionType/ParentNode |
Dokument stále zobrazuje značení sledovaných změn po AcceptAllRevisions() | Zobrazit stav, ne revizní data | Nastavte Document.RevisionsView na Final, pokud potřebujete zobrazení vyřešeného obsahu |
FAQ
Jak zjistím, zda dokument obsahuje nějaké sledované změny?
Přečtěte si Document.HasRevisions — je to true, pokud Document.Revisions obsahuje alespoň jeden Revision.
Jaký je rozdíl mezi Revision.Accept() a RevisionCollection.AcceptAll()?
Revision.Accept() řeší jednu konkrétní revizi; RevisionCollection.AcceptAll() (nebo Document.AcceptAllRevisions()) řeší všechny revize ve sbírce najednou.
Jak přijmout jen revize vytvořené konkrétním autorem?
Implementujte IRevisionCriteria.IsMatch(revision) pro kontrolu revision.Author, potom zavolejte RevisionCollection.Accept(criteria) s touto implementací.
Jak zaznamenat své vlastní úpravy jako sledované změny?
Zavolejte Document.StartTrackRevisions(author) před provedením úprav, potom Document.StopTrackRevisions(), až budete hotovi.
Jaké typy revizí existují?
RevisionType definuje Insertion, Deletion, FormatChange, StyleDefinitionChange a Moving.
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
Document.Revisions | RevisionCollection všech sledovaných změn v dokumentu |
Revision | Jedna sledovaná změna: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Po sobě jdoucí revize od stejného autora a stejného typu seskupeny dohromady |
IRevisionCriteria | Vlastní predikát (IsMatch(revision)) pro selektivní přijetí/odmítnutí |
Document.StartTrackRevisions() / StopTrackRevisions() | Zaznamenat nové úpravy jako sledované změny |
Document.RevisionsView | Original nebo Final prezentace revidovaného obsahu |