Revisions
Revisions
Den här guiden visar hur man inspekterar, accepterar, förkastar och registrerar spårade ändringar i ett Word-dokument med Aspose.Words FOSS för .NET. Aspose.Words FOSS för .NET kan inspektera, acceptera och förkasta spårade ändringar (revisioner) i ett Word-dokument via Document.Revisions, och kan registrera nya spårade ändringar under redigering via Document.StartTrackRevisions()/StopTrackRevisions().
Läsa spårade ändringar
Document.Revisions returnerar en RevisionCollection av varje Revision i dokumentet; Range.Revisions avgränsar samma till ett specifikt område. Varje Revision rapporterar vem som gjorde ändringen och när (Author, DateTime), vilken typ av ändring det är (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange eller Moving), och var den gäller (ParentNode, ParentStyle). Document.HasRevisions talar om för dig i förväg om ett laddat dokument har några spårade ändringar alls.
Acceptera och förkasta revisioner
Anropa Revision.Accept() eller Revision.Reject() för att lösa en enskild spårad ändring, eller arbeta med hela samlingen på en gång med RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() är en dokumentnivå-bekvämlighet som accepterar varje revision i ett anrop. För att selektivt acceptera eller förkasta en delmängd, implementera IRevisionCriteria.IsMatch(revision) och skicka den till RevisionCollection.Accept(criteria) eller Reject(criteria).
Revisionsgrupper
På varandra följande revisioner från samma författare och av samma typ exponeras tillsammans som en RevisionGroup — tillgänglig via Revision.Group för en enskild revision, eller RevisionCollection.Groups (en RevisionGroupCollection) för varje grupp i dokumentet. Varje grupp rapporterar sina kombinerade Text, Author och RevisionType.
Spela in nya spårade ändringar
Anropa Document.StartTrackRevisions(author) eller överladdningen StartTrackRevisions(author, dateTime) innan du gör redigeringar så att efterföljande ändringar registreras som revisioner snarare än tillämpas direkt; anropa StopTrackRevisions() för att avsluta spårning. Document.TrackRevisions-egenskapen visar om spårning för närvarande är aktiv.
Visa original vs. slutligt innehåll
Document.RevisionsView styr om dokumentet visas i sitt Original eller Final tillstånd (ett RevisionsView-värde) när revisioner finns, utan att ändra den underliggande revisionsdata.
Tips och bästa praxis
- Kontrollera
Document.HasRevisionsinnan du itererarDocument.Revisionsför att hoppa över onödigt arbete på dokument utan spårade ändringar. - Föredra
RevisionCollection.Accept(criteria)/Reject(criteria)med en anpassadIRevisionCriteriaframför att manuellt filtrera och anropaRevision.Accept()en i taget. RevisionGroupär användbart för att presentera en läsbar sammanfattning av förändringar — att gruppera på varandra följande revisioner med samma författare, samma typ undviker att varje infogat tecken behandlas som en separat post.- Para alltid
StartTrackRevisions()med ett senareStopTrackRevisions()-anrop så att orelaterade redigeringar inte registreras som spårade ändringar.
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
Document.Revisions är tom efter redigeringar | StartTrackRevisions() anropades aldrig innan redigering | Anropa StartTrackRevisions(author) innan du gör redigeringar du vill spåra |
RevisionCollection.Accept(criteria) accepterar ingenting | IRevisionCriteria.IsMatch() matchar ingen revision | Verifiera kriterielogiken mot de faktiska Revision.Author/RevisionType/ParentNode-värdena först |
Dokumentet visar fortfarande spårad ändringsmarkering efter AcceptAllRevisions() | Visa tillstånd, inte revisionsdata | Ställ in Document.RevisionsView till Final om du behöver den lösta innehållsvyn |
FAQ
Hur kontrollerar jag om ett dokument har några spårade ändringar?
Läs Document.HasRevisions — det är true om Document.Revisions innehåller minst en Revision.
Vad är skillnaden mellan Revision.Accept() och RevisionCollection.AcceptAll()?
Revision.Accept() löser en specifik revision; RevisionCollection.AcceptAll() (eller Document.AcceptAllRevisions()) löser varje revision i samlingen på en gång.
Hur accepterar jag bara revisioner som gjorts av en specifik författare?
Implementera IRevisionCriteria.IsMatch(revision) för att kontrollera revision.Author, och anropa sedan RevisionCollection.Accept(criteria) med den implementationen.
Hur registrerar jag mina egna redigeringar som spårade ändringar?
Anropa Document.StartTrackRevisions(author) innan du gör redigeringarna, och sedan Document.StopTrackRevisions() när du är klar.
Vilka revisionstyper finns?
RevisionType definierar Insertion, Deletion, FormatChange, StyleDefinitionChange och Moving.
API Reference Sammanfattning
| Klass / Metod | Beskrivning |
|---|---|
Document.Revisions | RevisionCollection av alla spårade ändringar i dokumentet |
Revision | En spårad ändring: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | På varandra följande revisioner med samma författare och samma typ grupperas tillsammans |
IRevisionCriteria | Anpassat predikat (IsMatch(revision)) för selektivt godkännande/avslag |
Document.StartTrackRevisions() / StopTrackRevisions() | Registrera nya redigeringar som spårade ändringar |
Document.RevisionsView | Original eller Final presentation av reviderat innehåll |