Tenere traccia delle modifiche in un documento

La funzionalità di tenere traccia delle modifiche, nota anche come revisione, consente di tenere traccia delle modifiche al contenuto e alla formattazione apportate dall’utente o da altri utenti. Questa funzione traccia modifiche con Aspose.Words supporta traccia modifiche in Microsoft Word. Con questa funzionalità, è possibile accedere a singole revisioni nel documento e applicarvi proprietà diverse.

Quando si attiva la funzione Traccia modifiche, tutti gli elementi inseriti, eliminati e modificati del documento verranno evidenziati visivamente con informazioni su chi, quando e cosa è stato modificato. Gli oggetti che contengono le informazioni su ciò che è stato modificato sono chiamati “modifiche di tracciamento”. Ad esempio, si supponga di voler rivedere un documento e apportare modifiche importanti: ciò potrebbe significare che è necessario apportare revisioni. Inoltre, potrebbe essere necessario inserire commenti per discutere alcune delle modifiche. È qui che entrano in gioco le modifiche ai documenti.

Questo articolo spiega come gestire e tenere traccia delle modifiche create da molti revisori sullo stesso documento, nonché le proprietà per il monitoraggio delle modifiche.

Cos’è una revisione

Prima di approfondire le revisioni, spieghiamo il significato delle revisioni. Un revision è una modifica che si verifica in un nodo di un documento mentre un gruppo di revisione, rappresentato dalla classe RevisionGroup, è un gruppo di revisioni sequenziali che si verificano in molti nodi di un documento. Fondamentalmente, la revisione è uno strumento per tracciare le modifiche.

Le revisioni vengono utilizzate nella funzione Monitoraggio modifiche e nella funzione Confronta documenti, in cui le revisioni vengono visualizzate come risultato del confronto. Quindi, le revisioni all’interno della funzione di monitoraggio delle modifiche mostrano da chi e cosa è stato modificato.

Aspose.Words supporta diversi tipi di revisione, così come in Microsoft Word, come Inserimento, Eliminazione, FormatChange, StyleDefinitionChange e Spostamento. Tutti i tipi di revisione sono rappresentati con l’enumerazione RevisionType.

Avviare e interrompere le modifiche di monitoraggio

La modifica di un documento di solito non viene considerata una revisione fino a quando non si inizia a monitorarlo. Aspose.Words consente di monitorare automaticamente tutte le modifiche nel documento con semplici passaggi. È possibile avviare facilmente il processo di tracciamento delle modifiche utilizzando il metodo StartTrackRevisions. Se è necessario interrompere il processo di tracciamento delle modifiche in modo che eventuali modifiche future non siano considerate revisioni, è necessario utilizzare il metodo StopTrackRevisions.

Al termine del processo di tracciamento delle modifiche nel documento, si avrà la possibilità di accettare anche tutte le revisioni o rifiutarle per ripristinare il documento nella sua forma originale. Questo può essere ottenuto usando il metodo AcceptAllRevisions o RejectAll. Inoltre, è possibile accettare o rifiutare ogni revisione separatamente utilizzando il metodo Accept o Reject.

Tutte le modifiche verranno monitorate per un’iterazione dal momento in cui si avvia il processo al momento in cui lo si interrompe. La connessione tra diverse iterazioni è rappresentata come lo scenario seguente: si completa il processo di tracciamento, quindi si apportano alcune modifiche e si ricomincia a tracciare le modifiche. Con questo scenario, tutte le modifiche che non hai accettato o rifiutato verranno visualizzate di nuovo.

Il seguente esempio di codice mostra come lavorare con le modifiche di monitoraggio:

L’esempio di codice seguente mostra come vengono generate le revisioni quando un nodo viene spostato all’interno di un documento tracciato:

Gestire e archiviare le modifiche come revisioni

Con la funzione di monitoraggio delle modifiche precedenti, è possibile capire quali modifiche sono state apportate nel documento e chi ha apportato tali modifiche. Con la funzione TrackRevisions, è possibile forzare l’archiviazione di eventuali modifiche all’interno del documento come revisioni.

Aspose.Words consente di verificare se un documento ha una revisione o meno utilizzando la proprietà HasRevision. Se non è necessario tenere traccia automaticamente delle modifiche nel documento tramite i metodi StartTrackRevisions e StopTrackRevisions, è possibile utilizzare la proprietà TrackRevisions per verificare se le modifiche vengono tracciate durante la modifica di un documento in Microsoft Word e archiviate come revisioni.

La funzione TrackRevisions effettua revisioni anziché modifiche reali del DOM. Ma le revisioni stesse sono separate. Ad esempio, se si elimina un paragrafo, Aspose.Words renderlo come revisione, contrassegnandolo come eliminazione, invece di eliminarlo.

Inoltre, Aspose.Words consente di verificare se un oggetto è stato inserito, eliminato o modificato IsDeleteRevision, IsFormatRevision, IsInsertRevision, IsMoveFromRevision, e IsMoveToRevision proprietà.

Il seguente esempio di codice mostra come applicare diverse proprietà con le revisioni: