Revisions
Revisions
Deze gids laat zien hoe je getraceerde wijzigingen in een Word-document kunt inspecteren, accepteren, weigeren en vastleggen met Aspose.Words FOSS voor .NET. Aspose.Words FOSS voor .NET kan getraceerde wijzigingen (revisies) in een Word-document inspecteren, accepteren en weigeren via Document.Revisions, en kan nieuwe getraceerde wijzigingen vastleggen tijdens het bewerken via Document.StartTrackRevisions()/StopTrackRevisions().
Lezen van getraceerde wijzigingen
Document.Revisions retourneert een RevisionCollection van elke Revision in het document; Range.Revisions beperkt hetzelfde tot een specifiek bereik. Elke Revision geeft weer wie de wijziging heeft aangebracht en wanneer (Author, DateTime), welk type wijziging het is (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange, of Moving), en waar deze van toepassing is (ParentNode, ParentStyle). Document.HasRevisions vertelt je van tevoren of een geladen document al dan niet getraceerde wijzigingen bevat.
Accepteren en afwijzen van revisies
Roep Revision.Accept() of Revision.Reject() aan om een enkele getraceerde wijziging op te lossen, of werk in één keer met de volledige collectie via RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() is een gemak op documentniveau dat elke revisie in één oproep accepteert. Om selectief een deelset te accepteren of af te wijzen, implementeer je IRevisionCriteria.IsMatch(revision) en geef je deze door aan RevisionCollection.Accept(criteria) of Reject(criteria).
Revisiegroepen
Opeenvolgende revisies van dezelfde auteur en van hetzelfde type worden samen weergegeven als een RevisionGroup — toegankelijk via Revision.Group voor één enkele revisie, of RevisionCollection.Groups (een RevisionGroupCollection) voor elke groep in het document. Elke groep rapporteert zijn gecombineerde Text, Author en RevisionType.
Nieuwe Bijgehouden Wijzigingen Registreren
Roep Document.StartTrackRevisions(author) of de overload StartTrackRevisions(author, dateTime) aan voordat je bewerkingen maakt zodat latere wijzigingen worden vastgelegd als revisies in plaats van direct toegepast; roep StopTrackRevisions() aan om het bijhouden te beëindigen. De eigenschap Document.TrackRevisions geeft weer of het bijhouden momenteel actief is.
Originele versus Definitieve Inhoud Bekijken
Document.RevisionsView bepaalt of het document wordt weergegeven in zijn Original of Final toestand (een RevisionsView waarde) wanneer revisies aanwezig zijn, zonder de onderliggende revisiegegevens te wijzigen.
Tips en best practices
- Controleer
Document.HasRevisionsvoordat jeDocument.Revisionsitereert om onnodig werk te vermijden bij documenten zonder bijgehouden wijzigingen. - Geef de voorkeur aan
RevisionCollection.Accept(criteria)/Reject(criteria)met een aangepasteIRevisionCriteriaboven handmatig filteren en het één voor één aanroepen vanRevision.Accept(). RevisionGroupis handig voor het presenteren van een leesbare samenvatting van wijzigingen — het groeperen van opeenvolgende revisies van dezelfde auteur en hetzelfde type voorkomt dat elk ingevoegd teken als een afzonderlijke entry wordt behandeld.- Koppel
StartTrackRevisions()altijd aan een latereStopTrackRevisions()-aanroep zodat niet-gerelateerde bewerkingen niet als bijgehouden wijzigingen worden vastgelegd.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
Document.Revisions is leeg na bewerkingen | StartTrackRevisions() is nooit aangeroepen vóór het bewerken | Roep StartTrackRevisions(author) aan vóór het maken van bewerkingen die je wilt bijhouden |
RevisionCollection.Accept(criteria) accepteert niets | IRevisionCriteria.IsMatch() komt niet overeen met een revisie | Verifieer de criterialogica eerst tegen de werkelijke Revision.Author/RevisionType/ParentNode-waarden |
Document toont nog steeds getrackte wijzigingsmarkup na AcceptAllRevisions() | Bekijk de status, niet de revisiegegevens | Stel Document.RevisionsView in op Final als je de opgeloste inhoudweergave nodig hebt |
FAQ
Hoe controleer ik of een document enige bijgehouden wijzigingen bevat?
Lees Document.HasRevisions — het is true als Document.Revisions minstens één Revision bevat.
Wat is het verschil tussen Revision.Accept() en RevisionCollection.AcceptAll()?
Revision.Accept() lost één specifieke revisie op; RevisionCollection.AcceptAll() (of Document.AcceptAllRevisions()) lost elke revisie in de collectie in één keer op.
Hoe accepteer ik alleen revisies die door een specifieke auteur zijn gemaakt?
Implementeer IRevisionCriteria.IsMatch(revision) om revision.Author te controleren, roep vervolgens RevisionCollection.Accept(criteria) aan met die implementatie.
Hoe registreer ik mijn eigen bewerkingen als bijgehouden wijzigingen?
Roep Document.StartTrackRevisions(author) aan voordat je de bewerkingen uitvoert, roep vervolgens Document.StopTrackRevisions() aan wanneer je klaar bent.
Welke revisietypen bestaan er?
RevisionType definieert Insertion, Deletion, FormatChange, StyleDefinitionChange en Moving.
API Reference Samenvatting
| Klasse / Methode | Beschrijving |
|---|---|
Document.Revisions | RevisionCollection van alle getrackte wijzigingen in het document |
Revision | Één getrackte wijziging: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Aaneengesloten revisies van dezelfde auteur, hetzelfde type gegroepeerd |
IRevisionCriteria | Aangepaste predicaat (IsMatch(revision)) voor selectieve aanvaarding/weigering |
Document.StartTrackRevisions() / StopTrackRevisions() | Registreer nieuwe bewerkingen als bijgehouden wijzigingen |
Document.RevisionsView | Original of Final presentatie van herziene inhoud |