Lavorare con i commenti
Prova online
Puoi provare questa funzionalità con il nostro Gratis online rimuovere annotazioni.
Aspose.Words consente agli utenti di lavorare con i commenti: i commenti in un documento in Aspose.Words sono rappresentati dalla classe Comment. Utilizzare anche le classi CommentRangeStart e CommentRangeEnd per specificare l’area di testo che deve essere associata a un commento.
Aggiungi un commento
Aspose.Words consente di aggiungere commenti in diversi modi:
- Utilizzo della classe Comment
- Utilizzo delle classi CommentRangeStart e CommentRangeEnd
L’esempio di codice seguente mostra come aggiungere un commento a un paragrafo utilizzando la classe Comment:
Nell’esempio di codice seguente viene illustrato come aggiungere un commento a un paragrafo utilizzando un’area di testo e le classi CommentRangeStart e CommentRangeEnd:
Estrarre o rimuovere i commenti
L’utilizzo dei commenti in un documento Word (oltre a tenere traccia delle modifiche) è una pratica comune durante la revisione dei documenti, in particolare quando ci sono più revisori. Ci possono essere situazioni in cui l’unica cosa di cui hai bisogno da un documento sono i commenti. Supponiamo che tu voglia generare un elenco di risultati delle recensioni, o forse hai raccolto tutte le informazioni utili dal documento e vuoi semplicemente rimuovere i commenti non necessari. Potresti voler visualizzare o rimuovere i commenti di un determinato revisore.
In questo esempio, esamineremo alcuni metodi semplici sia per raccogliere informazioni dai commenti all’interno di un documento che per rimuovere i commenti da un documento. In particolare, copriremo come:
- Estrarre tutti i commenti da un documento o solo quelli fatti da un particolare autore.
- Rimuovere tutti i commenti da un documento o solo da un determinato autore.
Come estrarre o rimuovere i commenti
Il codice in questo esempio è in realtà abbastanza semplice e tutti i metodi sono basati sullo stesso approccio. Un commento in un documento di Word è rappresentato da un oggetto Comment nel modello a oggetti del documento Aspose.Words. Per raccogliere tutti i commenti in un documento utilizzare il metodo GetChildNodes con il primo parametro impostato su NodeType.Comment. Assicurarsi che il secondo parametro del metodo GetChildNodes sia impostato su true: questo costringe GetChildNodes a selezionare ricorsivamente da tutti i nodi figlio, piuttosto che raccogliere solo i figli immediati.
Per illustrare come estrarre e rimuovere i commenti da un documento, passeremo attraverso i seguenti passaggi:
- Aprire un documento Word usando la classe Document
- Ottenere tutti i commenti dal documento in una raccolta
- Per estrarre i commenti:
- Passare attraverso la raccolta utilizzando l’operatore foreach
- Estrarre ed elencare il nome dell’autore, la data e l’ora e il testo di tutti i commenti
- Estrarre ed elencare il nome dell’autore, la data e l’ora e il testo dei commenti scritti da un autore specifico, in questo caso, l’autore’ks'
- Per rimuovere i commenti:
- Andare indietro attraverso la raccolta usando il per l’operatore
- Rimuovi commenti
- Salva le modifiche
Come estrarre tutti i commenti
Il metodo GetChildNodes è molto utile e puoi usarlo ogni volta che hai bisogno di ottenere un elenco di nodi di documenti di qualsiasi tipo. La raccolta risultante non crea un overhead immediato perché i nodi vengono selezionati in questa raccolta solo quando si enumerano o si accedono agli elementi in essa contenuti.
Il seguente esempio di codice mostra come estrarre il nome dell’autore, la data e l’ora e il testo di tutti i commenti nel documento:
Come estrarre i commenti di un autore specificato
Dopo aver selezionato i nodi di commento in una raccolta, tutto ciò che devi fare è estrarre le informazioni necessarie. In questo esempio, le iniziali dell’autore, la data, l’ora e il testo normale del commento sono combinati in un’unica stringa; è possibile scegliere di memorizzarlo in altri modi.
Il metodo sovraccarico che estrae i commenti da un particolare autore è quasi lo stesso, controlla solo il nome dell’autore prima di aggiungere le informazioni nell’array.
L’esempio di codice seguente mostra come estrarre il nome dell’autore, la data e l’ora e il testo dei commenti dell’autore specificato:
Come rimuovere i commenti
Se si rimuovono tutti i commenti, non è necessario spostarsi nella raccolta eliminando i commenti uno per uno; è possibile rimuoverli chiamando NodeCollection.Clear
nella raccolta commenti.
Il seguente esempio di codice mostra come rimuovere tutti i commenti nel documento:
Quando è necessario rimuovere selettivamente i commenti, il processo diventa più simile al codice che abbiamo usato per l’estrazione dei commenti.
L’esempio di codice seguente mostra come rimuovere i commenti dall’autore specificato:
Il punto principale da evidenziare qui è l’uso dell’operatore for. A differenza della semplice estrazione, qui si desidera eliminare un commento. Un trucco adatto è quello di iterare la raccolta all’indietro dall’ultimo commento al primo. La ragione di ciò se si inizia dalla fine e si sposta all’indietro, l’indice degli elementi precedenti rimane invariato e si può tornare al primo elemento della raccolta.
Il seguente esempio di codice mostra i metodi per l’estrazione e la rimozione dei commenti:
Come rimuovere un commento tra CommentRangeStart e CommentRangeEnd
Usando Aspose.Words puoi anche rimuovere i commenti tra i nodi CommentRangeStart e CommentRangeEnd.
Il seguente esempio di codice mostra come rimuovere il testo tra CommentRangeStart e CommentRangeEnd:
Aggiungere e rimuovere la risposta del commento
Il metodo AddReply aggiunge una risposta a questo commento. Si noti che a causa delle limitazioni esistenti di Microsoft Office è consentito solo il livello 1 di risposte nel documento. Un’eccezione di tipo InvalidOperationException verrà sollevata se questo metodo viene chiamato sul commento di risposta esistente.
È possibile utilizzare il metodo RemoveReply per rimuovere la risposta specificata a questo commento.
L’esempio di codice seguente mostra come aggiungere una risposta al commento e rimuovere la risposta del commento:
Leggi la risposta del commento
La proprietà Replies restituisce una raccolta degli oggetti Comment che sono figli immediati del commento specificato.
Il seguente esempio di codice mostra come scorrere le risposte di un commento e risolverle: