Bekerja dengan Komentar
Coba daring
Anda dapat mencoba fungsi ini dengan Hapus anotasi online gratis kami.
Aspose.Words memungkinkan pengguna untuk bekerja dengan komentar – komentar dalam dokumen di Aspose.Words diwakili oleh kelas Comment. Gunakan juga kelas CommentRangeStart dan CommentRangeEnd untuk menentukan wilayah teks yang harus dikaitkan dengan komentar.
Tambahkan komentar
Aspose.Words memungkinkan Anda menambahkan komentar dengan beberapa cara:
- Menggunakan kelas Comment
- Menggunakan kelas CommentRangeStart dan CommentRangeEnd
Contoh kode berikut menunjukkan cara menambahkan komentar ke paragraf menggunakan kelas Comment:
Contoh kode berikut menunjukkan cara menambahkan komentar ke paragraf menggunakan wilayah teks dan kelas CommentRangeStart dan CommentRangeEnd:
Ekstrak atau Hapus Komentar
Menggunakan Komentar di dokumen Word (selain Lacak Perubahan) adalah praktik umum saat meninjau dokumen, terutama ketika terdapat beberapa peninjau. Mungkin ada situasi di mana satu-satunya hal yang Anda butuhkan dari sebuah dokumen adalah komentar. Katakanlah Anda ingin membuat daftar temuan tinjauan, atau mungkin Anda telah mengumpulkan semua informasi berguna dari dokumen dan Anda hanya ingin menghapus komentar yang tidak perlu. Anda mungkin ingin melihat atau menghapus komentar dari pengulas tertentu.
Dalam contoh ini kita akan melihat beberapa metode sederhana untuk mengumpulkan informasi dari komentar dalam dokumen dan untuk menghapus komentar dari dokumen. Secara khusus kami akan membahas cara:
- Ekstrak semua komentar dari dokumen atau hanya komentar yang dibuat oleh penulis tertentu.
- Hapus semua komentar dari dokumen atau hanya dari penulis tertentu.
Cara Mengekstrak atau Menghapus Komentar
Kode dalam contoh ini sebenarnya cukup sederhana dan semua metode didasarkan pada pendekatan yang sama. Komentar dalam dokumen Word diwakili oleh objek Comment dalam model objek dokumen Aspose.Words. Untuk mengumpulkan semua komentar dalam dokumen gunakan metode get_child_nodes dengan parameter pertama disetel ke NodeType.COMMENT. Pastikan parameter kedua metode dapatkan_child_nodes diatur ke true: ini memaksa dapatkan_child_nodes untuk memilih dari semua node anak secara rekursif, bukan hanya mengumpulkan anak langsung.
Untuk mengilustrasikan cara mengekstrak dan menghapus komentar dari dokumen, kita akan melalui langkah-langkah berikut:
- Buka dokumen Word menggunakan kelas Document
- Dapatkan semua komentar dari dokumen ke dalam koleksi
- Untuk mengekstrak komentar:
- Telusuri koleksi menggunakan operator foreach
- Ekstrak dan cantumkan nama penulis, tanggal & waktu serta teks semua komentar
- Ekstrak dan cantumkan nama penulis, tanggal & waktu serta teks komentar yang ditulis oleh penulis tertentu, dalam hal ini penulis ‘ks’
- Untuk menghapus komentar:
- Kembali ke koleksi menggunakan operator for
- Hapus komentar
- Simpan perubahannya
Cara Mengekstrak Semua Komentar
Metode get_child_nodes sangat berguna dan Anda dapat menggunakannya setiap kali Anda perlu mendapatkan daftar node dokumen jenis apa pun. Koleksi yang dihasilkan tidak menimbulkan overhead langsung karena node dipilih ke dalam koleksi ini hanya ketika Anda menghitung atau mengakses item di dalamnya.
Contoh kode berikut menunjukkan cara mengekstrak nama penulis, tanggal & waktu dan teks semua komentar di dokumen:
Cara Mengekstrak Komentar dari Penulis Tertentu
Setelah Anda memilih node Comment ke dalam koleksi, yang harus Anda lakukan adalah mengekstrak informasi yang Anda perlukan. Dalam contoh ini, inisial penulis, tanggal, waktu dan teks biasa dari komentar digabungkan menjadi satu string; Anda dapat memilih untuk menyimpannya dengan cara lain.
Metode kelebihan beban untuk mengekstrak Komentar dari penulis tertentu hampir sama, hanya memeriksa nama penulis sebelum menambahkan info ke dalam array.
Contoh kode berikut menunjukkan cara mengekstrak nama penulis, tanggal & waktu dan teks komentar oleh penulis yang ditentukan:
Cara Menghapus Komentar
Jika Anda menghapus semua komentar, Anda tidak perlu menelusuri koleksi untuk menghapus komentar satu per satu; Anda dapat menghapusnya dengan memanggil clear di koleksi komentar.
Contoh kode berikut menunjukkan cara menghapus semua komentar di dokumen:
Saat Anda perlu menghapus komentar secara selektif, prosesnya menjadi lebih mirip dengan kode yang kami gunakan untuk ekstraksi komentar.
Contoh kode berikut menunjukkan cara menghapus komentar dari penulis tertentu:
Poin utama yang perlu disoroti di sini adalah penggunaan operator for. Berbeda dengan ekstraksi sederhana, di sini Anda ingin menghapus komentar. Trik yang cocok adalah dengan mengulangi koleksi dari Comment terakhir ke Comment pertama. Alasannya adalah jika Anda memulai dari akhir dan bergerak mundur, indeks item sebelumnya tetap tidak berubah, dan Anda dapat kembali ke item pertama dalam koleksi.
Contoh kode berikut menunjukkan metode ekstraksi dan penghapusan komentar:
Cara Menghapus Komentar antara CommentRangeStart dan CommentRangeEnd
Menggunakan Aspose.Words Anda juga dapat menghapus komentar antara node CommentRangeStart dan CommentRangeEnd.
Contoh kode berikut menunjukkan cara menghapus teks antara CommentRangeStart dan CommentRangeEnd:
# Open the document.
doc = aw.Document(docs_base.my_dir + "Comments.docx")
commentStart = doc.get_child(aw.NodeType.COMMENT_RANGE_START, 0, True).as_comment_range_start()
commentEnd = doc.get_child(aw.NodeType.COMMENT_RANGE_END, 0, True).as_comment_range_end()
currentNode = commentStart
isRemoving = True
while (currentNode != None and isRemoving) :
if (currentNode.node_type == aw.NodeType.COMMENT_RANGE_END) :
isRemoving = False
nextNode = currentNode.next_pre_order(doc)
currentNode.remove()
currentNode = nextNode
# Save the document.
doc.save(docs_base.artifacts_dir + "WorkingWithComments.remove_region_text.docx")
Tambah atau Hapus Balasan Komentar
Metode add_reply menambahkan balasan pada komentar ini. Harap dicatat bahwa karena keterbatasan Microsoft Office yang ada, hanya 1 tingkat balasan yang diperbolehkan dalam dokumen. Pengecualian tipe InvalidOperationException akan dimunculkan jika metode ini dipanggil pada komentar Balasan yang ada.
Anda dapat menggunakan metode remove_reply untuk menghapus balasan tertentu pada komentar ini.
Contoh kode berikut menunjukkan cara menambahkan balasan ke komentar dan menghapus balasan komentar:
Baca Balasan Komentar
Properti replies mengembalikan kumpulan objek Comment yang merupakan turunan langsung dari komentar tertentu.
Contoh kode berikut menunjukkan cara mengulangi balasan komentar dan menyelesaikannya: