Ganti Bidang dengan Teks Statis

Mengganti kolom sering kali diperlukan saat Anda ingin menyimpan dokumen sebagai salinan statis. Misalnya saat mengirim sebagai lampiran di 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 lagi berubah nilainya secara dinamis ketika bidang dalam dokumen diperbarui.

Diagram di bawah menunjukkan bagaimana bidang IF disimpan dalam dokumen:

  • teks dikelilingi oleh node bidang khusus – FieldStart dan FieldEnd
  • Node FieldSeparator memisahkan teks di dalam field menjadi kode field dan hasil field
  • kode bidang mendefinisikan perilaku umum bidang, sedangkan hasil bidang mempertahankan hasil terbaru ketika bidang ini diperbarui menggunakan Microsoft Word atau Aspose.Words
  • Hasil field adalah apa yang disimpan di field dan ditampilkan di dokumen saat dilihat

update-remove-a-field-aspose-words

Strukturnya juga dapat dilihat di bawah dalam bentuk hierarki menggunakan proyek demo “Penjelajah Dokumen”.

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. Hal ini karena header dan footer diulangi di beberapa halaman, dan jika tetap sebagai bidang, header dan footer tersebut 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 apa pun di header menampilkan halaman terakhir di semua halaman.

Contoh kode berikut menunjukkan cara mengganti kolom dengan hasil terbarunya:

Konversi Jenis Bidang Tertentu di Bagian Dokumen Tertentu

Karena metode ConvertFieldsToStaticText menerima dua parameter – properti CompositeNode dan enumerasi FieldType, node komposit apa pun dapat diteruskan ke metode ini. Hal ini memungkinkan bidang dikonversi menjadi teks statis hanya di bagian tertentu dari dokumen.

Misalnya, Anda dapat meneruskan objek Document dan mengonversi bidang jenis tertentu dari seluruh dokumen menjadi teks statis, atau Anda dapat meneruskan objek Body suatu bagian dan hanya mengonversi bidang yang ditemukan di isi tersebut.

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

Contoh kode berikut menunjukkan cara memilih bidang dengan tipe tertentu – targetFieldType di node tertentu – compositeNode dan kemudian 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: