Revisions
Revisions
Acest ghid arată cum să inspectați, să acceptați, să respingeți și să înregistrați modificările urmărite într-un document Word cu Aspose.Words FOSS pentru .NET. Aspose.Words FOSS pentru .NET poate inspecta, accepta și respinge modificările urmărite (revizuiri) într-un document Word prin Document.Revisions, și poate înregistra noi modificări urmărite în timpul editării prin Document.StartTrackRevisions()/StopTrackRevisions().
Citirea modificărilor urmărite
Document.Revisions returnează un RevisionCollection al fiecărui Revision din document; Range.Revisions limitează același la un interval specific. Fiecare Revision raportează cine a făcut modificarea și când (Author, DateTime), ce tip de modificare este (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange sau Moving), și unde se aplică (ParentNode, ParentStyle). Document.HasRevisions vă spune din timp dacă un document încărcat are vreo modificare urmărită.
Acceptarea și respingerea reviziilor
Apelați Revision.Accept() sau Revision.Reject() pentru a rezolva o singură modificare urmărită, sau lucrați pe întreaga colecție odată cu RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() este o conveniență la nivel de document care acceptă fiecare revizie într-un singur apel. Pentru a accepta sau respinge selectiv un subset, implementați IRevisionCriteria.IsMatch(revision) și transmiteți-l către RevisionCollection.Accept(criteria) sau Reject(criteria).
Grupuri de revizuiri
Reviziile consecutive de la același autor și de același tip sunt expuse împreună ca un RevisionGroup — accesibile prin Revision.Group pentru o singură revizie, sau RevisionCollection.Groups (un RevisionGroupCollection) pentru fiecare grup din document. Fiecare grup raportează Text, Author și RevisionType combinate.
Înregistrarea noilor modificări urmărite
Apelă Document.StartTrackRevisions(author) sau suprasarcina StartTrackRevisions(author, dateTime) înainte de a face editări, astfel încât modificările ulterioare să fie înregistrate ca revizii în loc să fie aplicate direct; apelează StopTrackRevisions() pentru a încheia urmărirea. Proprietatea Document.TrackRevisions reflectă dacă urmărirea este în prezent activă.
Vizualizarea conținutului original vs. final
Document.RevisionsView controlează dacă documentul este prezentat în starea sa Original sau Final (o valoare RevisionsView) atunci când există revizii, fără a modifica datele de revizie subiacente.
Sfaturi și bune practici
- Verifică
Document.HasRevisionsînainte de a iteraDocument.Revisionspentru a sări peste lucrul inutil pe documente fără modificări urmărite. - Preferă
RevisionCollection.Accept(criteria)/Reject(criteria)cu unIRevisionCriteriapersonalizat în loc să filtrezi manual și să apeleziRevision.Accept()unul câte unul. RevisionGroupeste util pentru prezentarea unui rezumat lizibil al modificărilor — gruparea reviziilor consecutive cu același autor și același tip evită tratarea fiecărui caracter inserat ca o intrare separată.- Întotdeauna asociază
StartTrackRevisions()cu un apel ulteriorStopTrackRevisions()pentru ca editările fără legătură să nu fie înregistrate ca modificări urmărite.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
Document.Revisions este gol după editări | StartTrackRevisions() nu a fost niciodată apelat înainte de editare | Apelează StartTrackRevisions(author) înainte de a face editările pe care dorești să le urmărești |
RevisionCollection.Accept(criteria) nu acceptă nimic | IRevisionCriteria.IsMatch() nu se potrivește cu nicio revizie | Verificați logica criteriilor în raport cu valorile reale Revision.Author/RevisionType/ParentNode mai întâi |
Documentul afișează în continuare marcajele de modificări urmărite după AcceptAllRevisions() | Vizualizați starea, nu datele de revizie | Setați Document.RevisionsView la Final dacă aveți nevoie de vizualizarea conținutului rezolvat |
FAQ
Cum pot verifica dacă un document are modificări urmărite?
Citește Document.HasRevisions — este true dacă Document.Revisions conține cel puțin un Revision.
Care este diferența dintre Revision.Accept() și RevisionCollection.AcceptAll()?
Revision.Accept() rezolvă o revizie specifică; RevisionCollection.AcceptAll() (sau Document.AcceptAllRevisions()) rezolvă toate reviziile din colecție simultan.
Cum pot accepta numai reviziile făcute de un anumit autor?
Implementați IRevisionCriteria.IsMatch(revision) pentru a verifica revision.Author, apoi apelați RevisionCollection.Accept(criteria) cu acea implementare.
Cum îmi înregistrez propriile editări ca modificări urmărite?
Apelați Document.StartTrackRevisions(author) înainte de a face editările, apoi Document.StopTrackRevisions() când ați terminat.
Ce tipuri de revizii există?
RevisionType definește Insertion, Deletion, FormatChange, StyleDefinitionChange și Moving.
Rezumat API Reference
| Clasă / Metodă | Descriere: |
|---|---|
Document.Revisions | RevisionCollection al tuturor modificărilor urmărite în document |
Revision | O modificare urmărită: Author, DateTime, RevisionType, Accept(), Reject() |
RevisionCollection | AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups |
RevisionGroup / RevisionGroupCollection | Revizii consecutive cu același autor și același tip grupate împreună |
IRevisionCriteria | Predicat personalizat (IsMatch(revision)) pentru acceptare/refuz selectiv |
Document.StartTrackRevisions() / StopTrackRevisions() | Înregistrați noile editări ca modificări urmărite |
Document.RevisionsView | Original sau Final prezentarea conținutului revizuit |