Revisions

Revisions

Questa guida mostra come esaminare, accettare, rifiutare e registrare le modifiche tracciate in un documento Word con Aspose.Words FOSS per .NET. Aspose.Words FOSS per .NET può esaminare, accettare e rifiutare le modifiche tracciate (revisioni) in un documento Word tramite Document.Revisions, e può registrare nuove modifiche tracciate durante la modifica via Document.StartTrackRevisions()/StopTrackRevisions().


Lettura delle modifiche tracciate

Document.Revisions restituisce un RevisionCollection di ogni Revision nel documento; Range.Revisions limita lo stesso a un intervallo specifico. Ogni Revision riporta chi ha effettuato la modifica e quando (Author, DateTime), che tipo di modifica è (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange o Moving), e dove si applica (ParentNode, ParentStyle). Document.HasRevisions ti indica subito se un documento caricato contiene modifiche tracciate.


Accettare e rifiutare le revisioni

Chiama Revision.Accept() o Revision.Reject() per risolvere una singola modifica tracciata, oppure lavora sull’intera collezione in una volta con RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() è una comodità a livello di documento che accetta tutte le revisioni in una sola chiamata. Per accettare o rifiutare un sottoinsieme in modo selettivo, implementa IRevisionCriteria.IsMatch(revision) e passalo a RevisionCollection.Accept(criteria) o Reject(criteria).


Gruppi di revisioni

Le revisioni consecutive dallo stesso autore e dello stesso tipo sono esposte insieme come un RevisionGroup — accessibile tramite Revision.Group per una singola revisione, o RevisionCollection.Groups (un RevisionGroupCollection) per ogni gruppo nel documento. Ogni gruppo riporta il suo Text, Author e RevisionType combinati.


Registrazione di nuove modifiche tracciate

Chiama Document.StartTrackRevisions(author) o il sovraccarico StartTrackRevisions(author, dateTime) prima di apportare modifiche in modo che le modifiche successive vengano registrate come revisioni anziché applicate direttamente; chiama StopTrackRevisions() per terminare il tracciamento. La proprietà Document.TrackRevisions indica se il tracciamento è attualmente attivo.


Visualizzazione del contenuto originale vs. finale

Document.RevisionsView controlla se il documento viene presentato nel suo stato Original o Final (un valore RevisionsView) quando sono presenti revisioni, senza modificare i dati di revisione sottostanti.


Suggerimenti e migliori pratiche

  • Verifica Document.HasRevisions prima di iterare Document.Revisions per evitare lavoro inutile su documenti senza modifiche tracciate.
  • Preferisci RevisionCollection.Accept(criteria)/Reject(criteria) con un IRevisionCriteria personalizzato rispetto al filtrare manualmente e chiamare Revision.Accept() uno alla volta.
  • RevisionGroup è utile per presentare un riepilogo leggibile delle modifiche — raggruppare revisioni consecutive dallo stesso autore e dello stesso tipo evita di trattare ogni carattere inserito come voce separata.
  • Associa sempre StartTrackRevisions() a una successiva chiamata StopTrackRevisions() in modo che le modifiche non correlate non vengano registrate come modifiche monitorate.

Problemi comuni

ProblemaCausaCorrezione
Document.Revisions è vuoto dopo le modificheStartTrackRevisions() non è mai stato chiamato prima della modificaChiama StartTrackRevisions(author) prima di apportare le modifiche che vuoi tracciare
RevisionCollection.Accept(criteria) non accetta nullaIRevisionCriteria.IsMatch() non corrisponde a nessuna revisioneVerifica la logica dei criteri rispetto ai valori reali Revision.Author/RevisionType/ParentNode prima
Il documento mostra ancora il markup delle modifiche tracciate dopo AcceptAllRevisions()Visualizza lo stato, non i dati di revisioneImposta Document.RevisionsView a Final se ti serve la visualizzazione del contenuto risolto

FAQ

Come posso verificare se un documento contiene modifiche monitorate?

Leggi Document.HasRevisions — è true se Document.Revisions contiene almeno un Revision.

Qual è la differenza tra Revision.Accept() e RevisionCollection.AcceptAll()?

Revision.Accept() risolve una revisione specifica; RevisionCollection.AcceptAll() (o Document.AcceptAllRevisions()) risolve tutte le revisioni nella collezione in una volta.

Come faccio ad accettare solo le revisioni effettuate da un autore specifico?

Implementa IRevisionCriteria.IsMatch(revision) per verificare revision.Author, poi chiama RevisionCollection.Accept(criteria) con quell’implementazione.

Come registro le mie modifiche come modifiche tracciate?

Chiama Document.StartTrackRevisions(author) prima di apportare le modifiche, poi Document.StopTrackRevisions() al termine.

Quali tipi di revisione esistono?

RevisionType definisce Insertion, Deletion, FormatChange, StyleDefinitionChange e Moving.


API Reference Riepilogo

Classe / MetodoDescrizione
Document.RevisionsRevisionCollection di tutte le modifiche tracciate nel documento
RevisionUna modifica monitorata: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionRevisioni consecutive dallo stesso autore e dello stesso tipo raggruppate insieme
IRevisionCriteriaPredicato personalizzato (IsMatch(revision)) per accettare/rifiutare selettivamente
Document.StartTrackRevisions() / StopTrackRevisions()Registra le nuove modifiche come modifiche tracciate
Document.RevisionsViewOriginal o Final presentazione del contenuto revisionato

Vedi anche

 Italiano