rowLabel method
Smart row dengan alignment otomatis untuk tanda ":"
Format: Label : Value dengan tanda : selaras vertikal Contoh:
receipt.rowLabel('Nama Penerima', 'John Doe');
receipt.rowLabel('No. Referensi', '123456789');
receipt.rowLabel('Tanggal', '2026-02-03');
Akan menghasilkan:
Nama Penerima : John Doe
No. Referensi : 123456789
Tanggal : 2026-02-03
Tanda ":" akan selaras berdasarkan label terpanjang
Implementation
void rowLabel(
String label,
String value, {
FontSize size = FontSize.normal,
bool bold = false,
}) {
// Hitung jumlah karakter yang tersedia
final charsPerLine = size.getCharsPerLine58mm(); // Default 58mm, bisa disesuaikan
// Format: label (dengan padding) + " : " + value
// Minimum padding adalah 1 karakter
final colonText = ' : ';
final maxLabelWidth = (charsPerLine * 0.4).floor(); // 40% untuk label
// Jika label lebih panjang dari maksimal, gunakan apa adanya
final paddedLabel = label.length <= maxLabelWidth
? label.padRight(maxLabelWidth)
: label;
final fullText = '$paddedLabel$colonText$value';
// Cetak sebagai text biasa dengan alignment left
text(fullText, size: size, bold: bold, center: false);
}