Arbeiten mit Kommentaren

Aspose.Words ermöglicht Benutzern das Arbeiten mit Kommentaren – Kommentare in einem Dokument in Aspose.Words werden durch die Klasse Comment dargestellt. Verwenden Sie auch die Klassen CommentRangeStart und CommentRangeEnd, um den Textbereich anzugeben, der einem Kommentar zugeordnet werden soll.

Kommentar hinzufügen

Aspose.Words ermöglicht das Hinzufügen von Kommentaren auf verschiedene Arten:

  1. Verwenden der Comment -Klasse
  2. Verwenden der Klassen CommentRangeStart und CommentRangeEnd

Das folgende Codebeispiel zeigt, wie Sie einem Absatz mithilfe der Klasse Comment einen Kommentar hinzufügen:

Das folgende Codebeispiel zeigt, wie Sie einem Absatz mithilfe eines Textregions und der Klassen CommentRangeStart und CommentRangeEnd einen Kommentar hinzufügen:

Kommentare extrahieren oder entfernen

Die Verwendung von Kommentaren in einem Word-Dokument (zusätzlich zum Nachverfolgen von Änderungen) ist eine gängige Praxis bei der Überprüfung von Dokumenten, insbesondere wenn mehrere Prüfer vorhanden sind. Es kann Situationen geben, in denen das einzige, was Sie von einem Dokument benötigen, die Kommentare sind. Angenommen, Sie möchten eine Liste der Überprüfungsergebnisse erstellen, oder Sie haben alle nützlichen Informationen aus dem Dokument gesammelt und möchten einfach unnötige Kommentare entfernen. Möglicherweise möchten Sie die Kommentare eines bestimmten Bewerters anzeigen oder entfernen.

In diesem Beispiel werden wir uns einige einfache Methoden ansehen, um sowohl Informationen aus den Kommentaren in einem Dokument zu sammeln als auch Kommentare aus einem Dokument zu entfernen. Insbesondere werden wir behandeln, wie es geht:

  • Extrahieren Sie alle Kommentare aus einem Dokument oder nur die Kommentare eines bestimmten Autors.
  • Entfernen Sie alle Kommentare aus einem Dokument oder nur von einem bestimmten Autor.

So extrahieren oder entfernen Sie Kommentare

Der Code in diesem Beispiel ist recht einfach und alle Methoden basieren auf demselben Ansatz. Ein Kommentar in einem Word-Dokument wird durch ein Comment-Objekt im Aspose.Words-Dokumentobjektmodell dargestellt. Um alle Kommentare in einem Dokument zu sammeln, verwenden Sie die Methode getChildNodes, wobei der erste Parameter auf NodeType.Comment gesetzt ist. Stellen Sie sicher, dass der zweite Parameter der getChildNodes -Methode auf true gesetzt ist: Dies zwingt getChildNodes, rekursiv aus allen untergeordneten Knoten auszuwählen, anstatt nur die unmittelbaren untergeordneten Knoten zu sammeln.

Um zu veranschaulichen, wie Kommentare aus einem Dokument extrahiert und entfernt werden, werden die folgenden Schritte ausgeführt:

  1. Öffnen Sie ein Word-Dokument mit der Klasse Document
  2. Holen Sie sich alle Kommentare aus dem Dokument in eine Sammlung
  3. So extrahieren Sie Kommentare:
    1. Gehen Sie die Sammlung mit dem für den Bediener durch
    2. Extrahieren und listen Sie den Namen des Autors, Datum und Uhrzeit sowie den Text aller Kommentare auf
    3. Extrahieren und listen Sie den Namen des Autors, Datum und Uhrzeit sowie den Text der Kommentare eines bestimmten Autors, in diesem Fall des Autors ‘ks’, auf
  4. So entfernen Sie Kommentare:
    1. Gehen Sie mit dem für den Operator rückwärts durch die Sammlung
    2. Kommentare entfernen
  5. Speichern Sie die Änderungen.

Wir werden das folgende Word-Dokument für diese Übung verwenden:

extract-remove-comments-aspose-words-java-1

Wie Sie sehen, enthält es mehrere Kommentare von zwei Autoren mit den Initialen “pm” und “ks”.

So extrahieren Sie alle Kommentare

Die getChildNodes -Methode ist sehr nützlich und Sie können sie jedes Mal verwenden, wenn Sie eine Liste von Dokumentknoten eines beliebigen Typs benötigen. Die resultierende Auflistung erzeugt keinen unmittelbaren Overhead, da die Knoten nur dann in dieser Auflistung ausgewählt werden, wenn Sie darin enthaltene Elemente auflisten oder darauf zugreifen.

Das folgende Codebeispiel zeigt, wie Sie den Namen des Autors, Datum und Uhrzeit sowie den Text aller Kommentare im Dokument extrahieren:

So extrahieren Sie Kommentare eines bestimmten Autors

Nachdem Sie Kommentarknoten in einer Sammlung ausgewählt haben, müssen Sie nur noch die benötigten Informationen extrahieren. In diesem Beispiel werden die Initialen, das Datum, die Uhrzeit und der Klartext des Kommentars des Autors zu einer Zeichenfolge zusammengefasst. Sie können es stattdessen auch auf andere Weise speichern.

Die überladene Methode, die die Kommentare eines bestimmten Autors extrahiert, ist fast dieselbe. Sie überprüft lediglich den Namen des Autors, bevor die Informationen zum Array hinzugefügt werden.

Das folgende Codebeispiel zeigt, wie Sie den Autorennamen, Datum und Uhrzeit sowie den Text der Kommentare des angegebenen Autors extrahieren:

So entfernen Sie Kommentare

Wenn Sie alle Kommentare entfernen, müssen Sie nicht nacheinander durch die Sammlung blättern und Kommentare löschen. Sie können sie entfernen, indem Sie clear in der Kommentarsammlung aufrufen.

Das folgende Codebeispiel zeigt, wie Sie alle Kommentare im Dokument entfernen:

Wenn Sie Kommentare selektiv entfernen müssen, ähnelt der Prozess dem Code, den wir für die Kommentarextraktion verwendet haben.

Das folgende Codebeispiel zeigt, wie Kommentare des angegebenen Autors entfernt werden:

Der wichtigste Punkt, der hier hervorgehoben werden muss, ist die Verwendung des for-Operators. Im Gegensatz zur einfachen Extraktion möchten Sie hier einen Kommentar löschen. Ein geeigneter Trick besteht darin, die Sammlung vom letzten zum ersten Kommentar rückwärts zu durchlaufen. Der Grund dafür ist, dass wenn Sie am Ende beginnen und rückwärts gehen, der Index der vorhergehenden Elemente unverändert bleibt und Sie sich zum ersten Element in der Sammlung zurückarbeiten können.

Das folgende Codebeispiel zeigt die Methoden zum Extrahieren und Entfernen von Kommentaren:

Nach dem Start zeigt das Beispiel die folgenden Ergebnisse an. Zuerst werden alle Kommentare aller Autoren aufgelistet, dann nur die Kommentare des ausgewählten Autors. Schließlich entfernt der Code alle Kommentare.

extract-remove-comments-aspose-words-java-2

Im Word-Ausgabedokument wurden jetzt Kommentare entfernt:

extract-remove-comments-aspose-words-java-3

So entfernen Sie Text zwischen CommentRangeStart und CommentRangeEnd

Mit Aspose.Words können Sie auch Kommentare zwischen den Knoten CommentRangeStart und CommentRangeEnd entfernen.

Das folgende Codebeispiel zeigt, wie Text zwischen CommentRangeStart und CommentRangeEnd entfernt wird:

Kommentar-Antwort hinzufügen oder entfernen

Die addReply -Methode fügt diesem Kommentar eine Antwort hinzu. Bitte beachten Sie, dass aufgrund der bestehenden MS Bürobeschränkungen nur eine (1) Antwortebene im Dokument zulässig ist. Eine Ausnahme vom Typ InvalidOperationException wird ausgelöst, wenn diese Methode für den vorhandenen Antwortkommentar aufgerufen wird.

Sie können die Methode removeReply verwenden, um die angegebene Antwort auf diesen Kommentar zu entfernen.

Das folgende Codebeispiel zeigt, wie Sie eine Antwort zu einem Kommentar hinzufügen und die Antwort eines Kommentars entfernen:

Lesen Sie die Antwort des Kommentars

Aspose.Words Unterstützung, um die Antwort eines Kommentars zu lesen. Die Eigenschaft Replies gibt eine Auflistung der Comment -Objekte zurück, die unmittelbare untergeordnete Elemente des angegebenen Kommentars sind.

Das folgende Codebeispiel zeigt, wie Sie die Antworten eines Kommentars durchlaufen und auflösen: