ANNAS TRI WIDAGDO/PORTFOLIO · 2026
VOL. 01 // TECHNICAL ARCHIVE
■annastriwidagdo.me
SOFTWARE ENGINEER·FULL-STACK WEB DEVELOPER·AI & MACHINE LEARNING ENTHUSIAST
ENTRY 001OPENING TECHNICAL ARCHIVE00% · 01 / 01
Skip to content
■annastriwidagdo.me
  • 01Home
  • 02About
  • 03Projects●
  • 04Blog
  • 05Contact
LANGEN/ID
■annastriwidagdo.me
  • Software Engineer
  • Full-Stack Web Developer
  • AI & Machine Learning Enthusiast
EMAILannastriw6@gmail.com↗ (opens in a new tab)LINKEDIN/in/annastriwidagdo↗ (opens in a new tab)GITHUB@annastriw↗ (opens in a new tab)CONTACTOpen Contact→

© 2026 Annas Tri Widagdo. Find the purpose. Build the solution.

←Back to Projects
08 // MOBILE APPLICATION

Thermal Printer Service

A native Android print service that connects browser-based workflows to Bluetooth thermal printers and converts Android print jobs into monochrome output for configured ESC/POS devices.

Role
Android Developer
Period
January–February 2026
Status
Completed Application
Platform
Android
View GitHub Repository↗
[01]

Project Gallery

Enlarge Image
Android system print preview forwarding document rendering to configured Bluetooth thermal printer.
High-resolution Android application launcher icon for Thermal Printer Service with receipt printer illustration.
Thermal Printer Service main screen displaying print service toggle, active profile info, and test print button.
Configured thermal printer profile manager displaying Bluetooth MAC address, paper width, and offset settings.
Bluetooth device discovery and paired printer selection interface in Thermal Printer Service.
Printer parameter configuration screen for choosing 58mm or 80mm paper width and print margin calibration.
Android system print preview forwarding document rendering to configured Bluetooth thermal printer.
High-resolution Android application launcher icon for Thermal Printer Service with receipt printer illustration.
Enlarge Image
[01]Thermal Printer Service Android application icon for Bluetooth hardware printing integration.
01 / 06
[01.V // VIDEO DEMO]Print Workflow Demo
Your browser does not support HTML5 video playback.

Demonstration of the Android PrintService workflow output to a Bluetooth ESC/POS thermal printer.

[02]

Project Overview

I developed Thermal Printer Service as a companion application for UKG System, enabling users to print from Chrome through Android’s standard printing workflow to a configured Bluetooth thermal printer.

The application converts print documents into monochrome ESC/POS output, manages background print jobs, and supports persistent profiles, calibration, retry, and error handling for 58 mm and 80 mm printers.

[03]

My Contribution

  • 01Built a custom Android PrintService that receives print jobs through Android’s standard printing workflow.
  • 02Implemented the PDF-to-bitmap and monochrome ESC/POS processing pipeline for 58 mm and 80 mm printers.
  • 03Managed background job processing, chunked Bluetooth transfer, retry, cancellation, and error states.
  • 04Developed persistent printer profiles and calibration controls for different printer configurations.

This project strengthened my experience in connecting web workflows with native Android services and printing hardware.

■Tech Stack
  • Kotlin
  • Android SDK
  • Android Print Framework
  • Bluetooth
  • ESC/POS
  • Gradle
[04]

System Scope

■01 // System Print Integration
  • 01Printing initiated from the website in Chrome
  • 02Android Print Framework
  • 03Custom PrintService
  • 04Sequential background print-job processing
■02 // Document Processing
  • 01Temporary PDF and PdfRenderer
  • 02Bitmap scaling and alignment
  • 03Monochrome ESC/POS conversion
  • 0458 mm and 80 mm output configurations
■03 // Bluetooth Printing & Printer Setup
  • 01Bluetooth RFCOMM/SPP connection
  • 02Chunked data transfer with retry
  • 03Persistent profiles using SharedPreferences and JSON
  • 04Calibration and error handling