Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Saat bekerja dengan dokumen, penting untuk dapat dengan mudah mengekstraksi konten dari rentang tertentu dalam dokumen. Namun, kontennya mungkin terdiri dari elemen kompleks seperti paragraf, tabel, gambar, dll.
Terlepas dari konten apa yang perlu diekstraksi, metode untuk mengekstrak konten tersebut akan selalu ditentukan oleh node mana yang dipilih untuk mengekstrak konten. Ini bisa berupa keseluruhan isi teks atau rangkaian teks sederhana.
Ada banyak kemungkinan situasi dan oleh karena itu banyak jenis node berbeda yang perlu dipertimbangkan saat mengekstraksi konten. Misalnya, Anda mungkin ingin mengekstrak konten antara:
Dalam beberapa situasi, Anda bahkan mungkin perlu menggabungkan tipe simpul yang berbeda, seperti mengekstraksi konten antara paragraf dan bidang, atau antara eksekusi dan bookmark.
Artikel ini menyediakan implementasi kode untuk mengekstraksi teks antara node yang berbeda, serta contoh skenario umum.
Seringkali tujuan mengekstraksi konten adalah untuk menduplikasi atau menyimpannya secara terpisah di dokumen baru. Misalnya, Anda dapat mengekstrak konten dan:
Hal ini dapat dicapai dengan mudah menggunakan Aspose.Words dan implementasi kode di bawah ini.
Kode di bagian ini membahas semua kemungkinan situasi yang dijelaskan di atas dengan satu metode umum dan dapat digunakan kembali. Garis besar umum teknik ini meliputi:
Untuk mengekstrak konten dari dokumen Anda, Anda perlu memanggil metode ekstrak_konten di bawah ini dan meneruskan parameter yang sesuai. Dasar yang mendasari metode ini melibatkan pencarian node tingkat blok (paragraf dan tabel) dan mengkloningnya untuk membuat salinan yang identik. Jika node penanda yang diteruskan adalah level blok maka metode ini dapat dengan mudah menyalin konten pada level tersebut dan menambahkannya ke array.
Namun jika node penandanya sejajar (anak dari paragraf) maka situasinya menjadi lebih kompleks, karena paragraf perlu dipecah pada node sebaris, baik itu run, kolom bookmark, dll. Konten dalam node induk yang dikloning tidak yang ada di antara penanda akan dihapus. Proses ini digunakan untuk memastikan bahwa node sebaris masih mempertahankan format paragraf induk. Metode ini juga akan menjalankan pemeriksaan pada node yang diteruskan sebagai parameter dan memberikan pengecualian jika salah satu node tidak valid. Parameter yang akan diteruskan ke metode ini adalah:
Penerapan metode ekstrak_konten Anda dapat menemukan Di Sini. Metode ini akan dirujuk dalam skenario di artikel ini.
Kami juga akan menentukan metode khusus untuk dengan mudah menghasilkan dokumen dari node yang diekstraksi. Metode ini digunakan dalam banyak skenario di bawah dan hanya membuat dokumen baru dan mengimpor konten yang diekstrak ke dalamnya.
Contoh kode berikut menunjukkan cara mengambil daftar node dan menyisipkannya ke dalam dokumen baru:
Ini menunjukkan cara menggunakan metode di atas untuk mengekstrak konten di antara paragraf tertentu. Dalam hal ini, kami ingin mengekstrak isi surat yang ditemukan di paruh pertama dokumen. Kita dapat mengatakan bahwa ini adalah antara paragraf ke 7 dan ke 11.
Kode di bawah menyelesaikan tugas ini. Paragraf yang sesuai diekstraksi menggunakan metode CompositeNode.get_child pada dokumen dan melewati indeks yang ditentukan. Kami kemudian meneruskan node ini ke metode ekstrak_konten dan menyatakan bahwa node tersebut akan disertakan dalam ekstraksi. Metode ini akan mengembalikan konten yang disalin di antara node-node ini yang kemudian disisipkan ke dalam dokumen baru.
Contoh kode berikut menunjukkan cara mengekstrak konten antar paragraf tertentu menggunakan metode ekstrak_konten di atas:
Kami dapat mengekstrak konten antara kombinasi level blok atau node sebaris apa pun. Dalam skenario di bawah ini kami akan mengekstraksi konten antara paragraf pertama dan tabel di bagian kedua secara inklusif. Kami mendapatkan node penanda dengan memanggil metode Body.first_paragraph dan CompositeNode.get_child di bagian kedua dokumen untuk mengambil node Paragraph dan Table yang sesuai. Untuk sedikit variasi, mari kita duplikat kontennya dan sisipkan di bawah konten aslinya.
Contoh kode berikut menunjukkan cara mengekstrak konten antara paragraf dan tabel menggunakan metode ekstrak_konten:
Anda mungkin perlu mengekstrak konten antar paragraf dengan gaya yang sama atau berbeda, seperti antar paragraf yang ditandai dengan gaya judul.
Kode di bawah ini menunjukkan cara mencapainya. Ini adalah contoh sederhana yang akan mengekstraksi konten antara contoh pertama gaya “Header 1” dan “Header 3” tanpa mengekstraksi judulnya juga. Untuk melakukan ini, kami menetapkan parameter terakhir ke false, yang menetapkan bahwa node penanda tidak boleh disertakan.
Dalam implementasi yang tepat, ini harus dijalankan dalam satu lingkaran untuk mengekstraksi konten di antara semua paragraf gaya ini dari dokumen. Konten yang diekstraksi disalin ke dalam dokumen baru.
Contoh kode berikut menunjukkan cara mengekstrak konten antar paragraf dengan gaya tertentu menggunakan metode ekstrak_konten:
Anda juga dapat mengekstrak konten antar node sebaris seperti Run. Berjalan dari paragraf yang berbeda dapat diteruskan sebagai penanda. Kode di bawah ini menunjukkan cara mengekstrak teks tertentu di antara node Paragraph yang sama.
Contoh kode berikut menunjukkan cara mengekstrak konten di antara proses tertentu dalam paragraf yang sama menggunakan metode ekstrak_konten:
Untuk menggunakan bidang sebagai penanda, node FieldStart harus diteruskan. Parameter terakhir pada metode ekstrak_konten akan menentukan apakah seluruh bidang akan disertakan atau tidak. Mari kita ekstrak konten antara bidang gabungan “Nama Lengkap” dan paragraf dalam dokumen. Kami menggunakan metode DocumentBuilder.move_to_merge_field kelas DocumentBuilder. Ini akan mengembalikan node FieldStart dari nama bidang gabungan yang diteruskan ke sana.
Dalam kasus kita, mari kita atur parameter terakhir yang diteruskan ke metode ekstrak_konten ke False untuk mengecualikan bidang dari ekstraksi. Kami akan merender konten yang diekstraksi ke PDF.
Contoh kode berikut menunjukkan cara mengekstraksi konten antara bidang dan paragraf tertentu dalam dokumen menggunakan metode ekstrak_konten:
Dalam dokumen, konten yang ditentukan dalam bookmark dienkapsulasi oleh node BookmarkStart dan BookmarkEnd. Konten yang ditemukan di antara dua node ini membentuk penanda. Anda dapat meneruskan salah satu dari node ini sebagai penanda apa pun, bahkan penanda dari penanda berbeda, selama penanda awal muncul sebelum penanda akhir dalam dokumen. Kami akan mengekstrak konten ini ke dalam dokumen baru menggunakan kode di bawah ini. Opsi parameter adalah inklusif menunjukkan cara mempertahankan atau membuang bookmark.
Contoh kode berikut menunjukkan cara mengekstrak konten yang direferensikan ke bookmark menggunakan metode ekstrak_konten:
Komentar terdiri dari node CommentRangeStart, CommentRangeEnd dan Comment. Semua node ini sejajar. Dua node pertama merangkum konten dalam dokumen yang direferensikan oleh komentar, seperti yang terlihat pada gambar di bawah. Node Comment itu sendiri adalah InlineStory yang dapat berisi paragraf dan berjalan. Ini mewakili pesan komentar seperti yang terlihat sebagai gelembung komentar di panel ulasan. Karena simpul ini sebaris dan merupakan turunan dari badan, Anda juga dapat mengekstraksi konten dari dalam pesan ini.
Komentar merangkum judul, paragraf pertama, dan tabel di bagian kedua. Mari ekstrak komentar ini ke dalam dokumen baru. Opsi adalah inklusif menentukan apakah komentar itu sendiri disimpan atau dibuang.
Contoh kode berikut menunjukkan cara melakukannya:
Cara mengambil teks dari dokumen adalah:
Dokumen Word dapat berisi karakter kontrol yang menunjuk elemen khusus seperti bidang, akhir sel, akhir bagian, dll. Daftar lengkap kemungkinan karakter kontrol Word ditentukan di kelas ControlChar. Metode Node.get_text mengembalikan teks dengan semua karakter kontrol yang ada di node.
Memanggil to_string mengembalikan representasi teks biasa dari dokumen saja tanpa karakter kontrol. Untuk informasi lebih lanjut tentang mengekspor sebagai teks biasa, lihat Menggunakan SaveFormat.TEXT
Contoh kode berikut menunjukkan perbedaan antara memanggil metode get_text dan to_string pada sebuah node:
SaveFormat.TextContoh ini menyimpan dokumen sebagai berikut:
Contoh kode berikut menunjukkan cara menyimpan dokumen dalam format TXT:
Anda mungkin perlu mengekstrak gambar dokumen untuk melakukan beberapa tugas. Aspose.Words memungkinkan Anda melakukan hal ini juga.
Contoh kode berikut menunjukkan cara mengekstrak gambar dari dokumen:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.