Ganti Bidang dengan Teks Statis

Mengganti bidang sering kali diperlukan saat Anda ingin menyimpan dokumen sebagai salinan statis. Misalnya, saat mengirim sebagai lampiran dalam email. Mengonversi bidang seperti DATE atau TIME menjadi teks statis akan memungkinkan dokumen menampilkan tanggal yang sama seperti saat dikirim. Selain itu, dalam beberapa situasi, Anda mungkin perlu menghapus bidang IF bersyarat dari dokumen Anda dan menggantinya dengan hasil teks terbaru. Misalnya, mengonversi hasil bidang IF menjadi teks statis sehingga tidak akan lagi mengubah nilainya secara dinamis saat bidang dalam dokumen diperbarui.

Diagram di bawah ini menunjukkan bagaimana bidang IF disimpan dalam dokumen:

  • teks dikelilingi oleh simpul bidang khusus - FieldStart dan FieldEnd
  • simpul FieldSeparator memisahkan teks di dalam bidang menjadi kode bidang dan hasil bidang
  • kode bidang menentukan perilaku umum bidang, sedangkan hasil bidang mempertahankan hasil terbaru saat bidang ini diperbarui menggunakan Microsoft Word atau Aspose.Words
  • hasil bidang adalah apa yang disimpan di bidang dan ditampilkan di dokumen saat dilihat

update-remove-a-field-aspose-words

Strukturnya juga dapat dilihat di bawah ini dalam bentuk hierarki menggunakan proyek demo “DocumentExplorer”.

update-remove-a-field-aspose-words-2

Bidang yang Tidak Dapat Diganti dengan Teks

Mengganti bidang dengan teks statis tidak berfungsi dengan baik untuk beberapa bidang di header atau footer.

Misalnya, mencoba mengonversi bidang PAGE di header atau footer menjadi teks statis akan menghasilkan nilai yang sama yang ditampilkan di semua halaman. Ini karena header dan footer diulang di beberapa halaman, dan jika tetap sebagai bidang, mereka ditangani secara khusus sehingga menampilkan hasil yang benar untuk setiap halaman.

Namun, di header, bidang PAGE diterjemahkan dengan baik menjadi teks statis. Rangkaian teks ini akan dievaluasi seolah-olah itu adalah halaman terakhir di bagian tersebut, yang akan menyebabkan bidang PAGE di header menampilkan halaman terakhir di semua halaman.

Contoh kode berikut menunjukkan cara mengganti bidang dengan hasil terbarunya:

Mengonversi Jenis Bidang Tertentu di Bagian Dokumen Tertentu

Karena metode ConvertFieldsToStaticText menerima dua parameter-properti CompositeNode dan enumerasi FieldType, dimungkinkan untuk meneruskan simpul komposit apa pun ke metode ini. Ini memungkinkan bidang dikonversi menjadi teks statis hanya di bagian tertentu dari dokumen.

Misalnya, Anda dapat meneruskan objek Document dan mengonversi bidang dengan tipe yang ditentukan dari seluruh dokumen menjadi teks statis, atau Anda dapat meneruskan objek Body dari suatu bagian dan hanya mengonversi bidang yang ditemukan di badan tersebut.

Pencacahan FieldType yang diteruskan ke metode ConvertFieldsToStaticText menentukan jenis bidang apa yang harus dikonversi menjadi teks statis. Jenis bidang lain apa pun yang ditemukan dalam dokumen akan tetap tidak berubah.

Contoh kode berikut menunjukkan cara memilih bidang dengan tipe tertentu - targetFieldType di simpul tertentu - compositeNode lalu mengonversinya menjadi teks statis:

Contoh kode berikut menunjukkan cara mengonversi semua bidang IF dalam dokumen menjadi teks statis:

Contoh kode berikut menunjukkan cara mengonversi semua bidang PAGE di Badan dokumen menjadi teks statis:

Contoh kode berikut menunjukkan cara mengonversi semua bidang IF di paragraf terakhir menjadi teks statis: