Bidang Otomatisasi Dokumen (IF, COMPARE, MACROBUTTON, dan Lainnya)

Bidang Otomatisasi Dokumen (IF, COMPARE, MACROBUTTON, dan Lainnya)

Bidang Otomasi Dokumen (IF, COMPARE, dan Lainnya)

Panduan ini menunjukkan cara bekerja dengan keluarga field otomatisasi dokumen Word dalam Aspose.Words FOSS untuk .NET – field yang mengendalikan teks bersyarat, menyimpan variabel berskala dokumen, dan menghubungkan makro, navigasi, serta perilaku pencetakan, alih-alih hanya menampilkan nilai yang dihitung. Setiapnya adalah Field subkelas dalam Aspose.Words.Fields namespace: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, dan FieldPrint. Semua itu mewarisi core Field anggota yang dijelaskan dalam Bekerja dengan Fields – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, dan Format – halaman ini mencakup apa yang spesifik untuk masing-masing.


Teks Kondisional dengan FieldIf

FieldIf mengimplementasikan IF bidang. LeftExpression, ComparisonOperator, dan RightExpression menjelaskan kondisi – bentuk tiga bagian yang sama digunakan oleh IComparisonExpressionEvaluator (lihat Bekerja dengan Field) – dan TrueText / FalseText memegang dua hasil yang mungkin. Panggil EvaluateCondition() untuk mengevaluasi kondisi secara langsung; itu mengembalikan sebuah FieldIfComparisonResult nilai: True, False, atau Error.


Membandingkan Nilai dengan FieldCompare

FieldCompare mengimplementasikan bidang COMPARE. Seperti FieldIf, ia mengekspos LeftExpression, ComparisonOperator, dan RightExpression untuk menjelaskan perbandingan, tetapi menghasilkan hasil bergaya boolean alih-alih beralih antara dua alternatif teks.


Variabel Dokumen dengan FieldDocVariable

FieldDocVariable mengimplementasikan bidang DOCVARIABLE, membaca variabel berskala dokumen yang bernama melalui properti VariableName.


Tombol: FieldGoToButton dan FieldMacroButton

FieldGoToButton mengimplementasikan bidang GOTOBUTTON: Location memberi nama bookmark, halaman, atau tujuan lain untuk melompat ke sana, dan DisplayText adalah label yang ditampilkan dalam dokumen. FieldMacroButton mengimplementasikan bidang MACROBUTTON: MacroName memberi nama makro yang dijalankan dan DisplayText adalah labelnya. Baik FieldIf maupun FieldMacroButton juga mengimplementasikan IMergeFieldSurrogate, antarmuka yang digunakan bidang yang mendukung mail-merge di Word untuk menandai diri mereka sebagai konten yang dapat diganti.


Instruksi Cetak dengan FieldPrint

FieldPrint mengimplementasikan bidang PRINT: PrinterInstructions dan PostScriptGroup berisi instruksi khusus printer yang disisipkan langsung dalam dokumen.


Tips dan Praktik Terbaik

  • Gunakan FieldIf.EvaluateCondition() untuk membaca hasil kondisi (FieldIfComparisonResult) tanpa perlu mengurai TrueText/FalseText sendiri.
  • FieldCompare dan FieldIf berbagi bentuk LeftExpression/ComparisonOperator/ RightExpression yang sama – kode yang membangun atau memeriksa satu ekspresi perbandingan dapat digunakan kembali di kedua jenis bidang.
  • Ingat bahwa semua ini Field subkelas: GetFieldCode(), Update(), Remove(), dan Unlink() from Bekerja dengan Field terapkan dengan cara yang sama persis di sini.

Masalah Umum

MasalahPenyebabPerbaikan
FieldIf.EvaluateCondition() mengembalikan ErrorOperand atau operator kondisi tidak dapat dievaluasi seperti yang ditulisPeriksa LeftExpression, ComparisonOperator, dan RightExpression untuk nilai yang valid
FieldDocVariable hasil tidak mencerminkan nilai variabel yang diharapkanVariableName tidak cocok dengan nama variabel yang sebenarnya ada di dokumenPastikan nama variabel yang tepat dan bahwa ia ada sebelum membaca Result
Teks tampilan FieldGoToButton/FieldMacroButton tidak cocok dengan apa yang ditampilkan WordDisplayText dibaca sebelum bidang diperbarui, atau diatur tanpa panggilan Update() yang cocokPanggil Update() pada bidang tersebut, atau baca ulang DisplayText setelah ada perubahan apa pun

FAQ

Bagaimana cara membaca hasil dari bidang kondisional IF?

Panggil FieldIf.EvaluateCondition() untuk FieldIfComparisonResult mentah, atau baca TrueText / FalseText untuk dua alternatif teks literal yang dipilih oleh bidang tersebut.

Apa perbedaan antara FieldIf dan FieldCompare?

FieldIf (bidang IF) beralih antara TrueText dan FalseText berdasarkan kondisinya. FieldCompare (bidang COMPARE) memiliki bentuk perbandingan yang sama tetapi menghasilkan hasil bergaya boolean alih-alih teks alternatif.

Bagaimana cara membaca nama variabel dokumen dari bidang DOCVARIABLE?

Baca FieldDocVariable.VariableName.

Bagaimana cara menemukan tujuan dari bidang GOTOBUTTON?

Baca FieldGoToButton.Location; DisplayText memberikan label yang ditampilkan untuk tombol dalam dokumen.


API Reference Ringkasan

Kelas / EnumDeskripsi
FieldIfIF bidang; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultHasil enum dari FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE field; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE field; VariableName
FieldGoToButtonGOTOBUTTON field; Location, DisplayText
FieldMacroButtonMACROBUTTON field; MacroName, DisplayText
FieldPrintPRINT field; PrinterInstructions, PostScriptGroup

Lihat Juga

 Bahasa Indonesia