[08 // Aplikasi Mobile]
Thermal Printer Service
- Kotlin
- Android SDK
- Print Framework
- PdfRenderer
- Bluetooth RFCOMM/SPP
- ESC/POS

[01]
Ringkasan
Thermal Printer Service adalah Android PrintService native berbasis Kotlin untuk alur printer termal Bluetooth 58 mm dan 80 mm yang dipilih.
Layanan ini mengubah print job PDF Android menjadi data raster ESC/POS monokrom dan mengirimkannya melalui koneksi RFCOMM/SPP.
[02]
Kontribusi Saya
- Mengimplementasikan discovery Android PrintService dan penanganan print job dengan Kotlin.
- Membangun pipeline konversi PDF ke bitmap dan raster ESC/POS monokrom.
- Menambahkan izin Bluetooth, eksekusi background, pembatalan, penulisan per chunk, dan penanganan retry.
- Membuat profil printer reusable, kontrol kalibrasi, dan status error untuk konfigurasi 58 mm dan 80 mm.
[03]
Catatan Teknis Utama
- PdfRenderer meraster halaman sebelum encoding ESC/POS double-density 24-dot.
- Lebar yang dikonfigurasi adalah 432 dot untuk 58 mm dan 576 dot untuk 80 mm pada 203 dpi.
- Penulisan Bluetooth menggunakan chunk hingga 1.024 byte dengan empat percobaan pada jeda 0, 200, 500, dan 1.000 ms.
- Profil printer menyimpan delapan atribut konfigurasi sebagai JSON di SharedPreferences.
[04]
Bukti Visual



[04.V // VIDEO DEMO]Rekaman Demonstrasi Video
Demonstrasi alur pencetakan Android PrintService menuju thermal printer Bluetooth ESC/POS.
[05]
Tech Stack
- Kotlin
- Android SDK
- Print Framework
- PdfRenderer
- Bluetooth RFCOMM/SPP
- ESC/POS
[06]
Status & Tautan
Layanan Android selesai
Kode sumber atau sistem bersifat internal/tertutup.