Variabel dalam Word Templat
Apa yang dibahas dalam panduan ini?
PDF4me Word templat menggunakan var kata kunci Untuk mendeklarasikan variabel kustom langsung di dalam dokumen. Setelah dideklarasikan, variabel dapat ditampilkan di mana saja di hilir, ditetapkan ulang dalam perulangan untuk membangun total berjalan, atau diatur secara kondisional untuk menggerakkan pesan dinamis - semuanya tanpa menyentuh JSON Muatan data. Panduan ini menjelaskan sintaks, aturan cakupan, pemformatan, dan pola praktis untuk setiap skenario templat umum.
Sintaks Inti Secara Singkat
Definisikan variabel bernama dan tetapkan nilai awal:
<<var [total = 0]>>Tampilkan nilai saat ini di mana saja setelah deklarasi:
<<[total]:"F2">>Perbarui nilai variabel kapan saja di kemudian hari:
<<var [total = total + item.price]>>Deklarasi dan Penggunaan Dasar
Yang var Kata kunci mengikuti struktur ini:
<<var [Type Name = Value]>>
Type bersifat opsional - mesin akan menentukannya dari nilai tersebut. Name adalah pengidentifikasi yang akan Anda rujuk nanti. Value dapat berupa literal, kolom data, atau ekspresi apa pun.
Variabel string sederhana
<<var [companyName = "Acme Corp"]>>
<<var [companyPhone = "+1-555-0123"]>>
Company: <<[companyName]>>
Contact: <<[companyPhone]>>
For questions, please reach <<[companyName]>> at <<[companyPhone]>>.
Variabel dideklarasikan sekali dan digunakan kembali di mana pun konsistensi penting - ubah nilainya di satu tempat untuk memperbarui seluruh dokumen.
Penugasan Ulang Variabel
Tetapkan ulang variabel di titik mana pun selanjutnya dalam templat dengan menuliskan variabel lain. <<var>> tag dengan nama yang sama. Nilai baru akan berlaku mulai saat itu.
<<var [status = "Pending"]>>
Current Status: <<[status]>>
<<var [status = "Approved"]>>
Updated Status: <<[status]>>
<<var [status = "Completed"]>>
Final Status: <<[status]>>
Keluaran:
Current Status: Pending
Updated Status: Approved
Final Status: Completed
Variabel dengan Perhitungan
Variabel dapat menyimpan hasil dari ekspresi aritmatika apa pun, termasuk agregasi LINQ atas koleksi sumber data.
Jumlah total dan perhitungan pajak
<<var [subtotal = lineItems.Sum(i => i.quantity * i.price)]>>
<<var [taxRate = 0.10]>>
<<var [taxAmount = subtotal * taxRate]>>
<<var [total = subtotal + taxAmount]>>
Subtotal: $<<[subtotal]:"F2">>
Tax (10%): $<<[taxAmount]:"F2">>
Total: $<<[total]:"F2">>
Penggabungan string
<<var [firstName = "Jane"]>>
<<var [lastName = "Smith"]>>
<<var [fullName = firstName + " " + lastName]>>
Customer: <<[fullName]>>
Metode manipulasi string
<<var [upperName = customerName.ToUpper()]>>
<<var [initials = firstName.Substring(0,1) + lastName.Substring(0,1)]>>
Customer: <<[upperName]>>
Initials: <<[initials]>>
Variabel dalam Perulangan
Deklarasikan variabel sebelum itu <<foreach>> beri tag dan tetapkan ulang di dalam Badan perulangan. Mesin tersebut membawa nilai tersebut melintasi iterasi, menjadikannya pola standar untuk total berjalan dan penghitung baris.
Jumlah total kumulatif di seluruh item baris
<<var [runningTotal = 0.0]>>
<<foreach [item in lineItems]>>
<<var [lineTotal = item.quantity * item.price]>>
<<var [runningTotal = runningTotal + lineTotal]>>
<<[item.description]>> - <<[item.quantity]>> × $<<[item.price]:"F2">> = $<<[lineTotal]:"F2">> (Running: $<<[runningTotal]:"F2">>)
<</foreach>>
Final Total: $<<[runningTotal]:"F2">>
Penghitung baris
<<var [counter = 0]>>
<<foreach [item in items]>>
<<var [counter = counter + 1]>>
<<[counter]>>. <<[item.name]>>
<</foreach>>
Total Items: <<[counter]>>
Variabel Bersyarat
Gunakan C# operator ternary ? : untuk membuat cabang nilai variabel berdasarkan data dari muatan data.
Label status
<<var [statusLabel = orderStatus == "Completed" ? "✓ Complete" : "⚠ Pending"]>>
<<var [urgency = daysUntilDue < 7 ? "URGENT" : "Standard"]>>
Priority: <<[urgency]>>
Status: <<[statusLabel]>>
Diskon bertingkat
<<var [subtotal = items.Sum(i => i.price)]>>
<<var [discountRate = subtotal > 1000 ? 0.15 : 0.05]>>
<<var [discountAmount = subtotal * discountRate]>>
<<var [total = subtotal - discountAmount]>>
Subtotal: $<<[subtotal]:"F2">>
Discount (<<[discountRate * 100]:"F0">>%):: $<<[discountAmount]:"F2">>
Total: $<<[total]:"F2">>
Contoh Lengkap: Faktur dengan Semua Pola
Templat Faktur LengkapCombines declaration, running totals in a loop, conditional discount, and formatted output.
<<var [companyName = "Tech Solutions Inc."]>>
<<var [proposalDate = DateTime.Now]>>
<<var [validUntil = proposalDate.AddDays(30)]>>
Invoice Date: <<[proposalDate]:"MMMM dd, yyyy">>
Valid Until: <<[validUntil]:"MMMM dd, yyyy">>
Line Items:
<<var [subtotal = 0.0]>>
<<foreach [item in lineItems]>>
<<var [lineTotal = item.quantity * item.unitPrice]>>
<<var [subtotal = subtotal + lineTotal]>>
• <<[item.description]>> - <<[item.quantity]>> @ $<<[item.unitPrice]:"F2">> = $<<[lineTotal]:"F2">>
<</foreach>>
<<var [discountRate = subtotal > 5000 ? 0.10 : 0.05]>>
<<var [discountAmount = subtotal * discountRate]>>
<<var [afterDiscount = subtotal - discountAmount]>>
<<var [tax = afterDiscount * 0.08]>>
<<var [grandTotal = afterDiscount + tax]>>
Subtotal: $<<[subtotal]:"F2">>
Discount (<<[discountRate * 100]:"F0">>%):: $<<[discountAmount]:"F2">>
After Discount: $<<[afterDiscount]:"F2">>
Tax (8%): $<<[tax]:"F2">>
Grand Total: $<<[grandTotal]:"F2">>
Prepared by: <<[companyName]>>
Aturan Lingkup Variabel
| Dinyatakan di mana | Tersedia |
|---|---|
| Akar dokumen (sebelum loop apa pun) | Di seluruh dokumen setelah pernyataan tersebut |
Di dalam sebuah <<foreach>> memblokir | Dalam iterasi tersebut; tetap ada di luar jika dideklarasikan sebelum loop. |
Di dalam bersarang <<foreach>> | Di dalam cakupan bersarang tersebut; hanya terlihat di luar jika telah dideklarasikan sebelumnya. |
Aturan praktis: Deklarasikan variabel apa pun yang Anda butuhkan di luar loop. sebelum itu <<foreach>> tag. Penugasan ulang di dalam loop memperbarui variabel yang sama untuk semua referensi berikutnya.
Memformat Keluaran
Tambahkan .NET String format setelah nama variabel dalam tag output:
| Format | Contoh tag | Ditampilkan sebagai |
|---|---|---|
| 2 angka desimal | <<[total]:"F2">> | 1234.56 |
| Bilangan bulat | <<[rate * 100]:"F0">> | 15 |
| Mata uang | <<[amount]:"C2">> | $1,234.56 |
| Kencan panjang | <<[createdDate]:"MMMM dd, yyyy">> | January 15, 2026 |
| Kencan singkat | <<[dueDate]:"MM/dd/yyyy">> | 01/15/2026 |
Praktik Terbaik
- Nyatakan sebelum digunakan - Mesin memproses tag dari atas ke bawah; sebuah variabel dirujuk sebelum
<<var>>Tag tersebut menyebabkan kesalahan. - Gunakan nama camelCase yang deskriptif. -
grandTotal,taxAmount,invoiceDatelebih mudah dirawat daripadav1,tmp,x. - Inisialisasi akumulator ke 0 atau
""Sebelum perulangan - menetapkan variabel yang belum diinisialisasi di dalam badan perulangan dapat menghasilkan kesalahan referensi null. - Hitung sekali, gunakan berkali-kali. - Simpan ekspresi LINQ yang kompleks dalam sebuah variabel daripada mengulang ekspresi tersebut di setiap tag output.
- Hindari bentrok nama - Jangan menggunakan kembali nama yang bertentangan dengan nama kolom sumber data; mesin mungkin akan menyelesaikan referensi tersebut secara ambigu.