Easy-to-use Python library for Netum Bluetooth thermal printers (NT-1809D and compatible models).
- ✅ Auto-discovery - Automatically finds your Netum printer
- ✅ Simple API - Clean, easy-to-use interface
- ✅ Windows support - Optimized for Windows Bluetooth COM ports
- ✅ No drivers needed - Uses standard Bluetooth serial connection
- ✅ Multiple printers - Support for multiple connected printers
pip install pyserial- Turn on your Netum printer
- Pair it with your computer via Bluetooth settings
- Make sure it's connected (not just paired)
python netum_printer.pypython main.pyfrom netum_printer import NetumPrinter
# Automatically finds and connects to your Netum printer
with NetumPrinter() as printer:
if printer.is_connected:
printer.print_line("Hello World!")
printer.feed_lines(2)from netum_printer import NetumPrinter
# Connect to specific COM port
with NetumPrinter(port="COM8") as printer:
if printer.is_connected:
printer.print_line("Hello from COM8!")
printer.feed_lines(2)from netum_printer import list_available_printers
printers = list_available_printers()
# Shows all detected Netum printers with their ports and Bluetooth addressesfrom netum_printer import NetumPrinter
with NetumPrinter() as printer:
if printer.is_connected:
printer.print_line("=" * 32)
printer.print_line(" SAMPLE RECEIPT")
printer.print_line("=" * 32)
printer.print_line("")
printer.print_line("Item 1........................$10.00")
printer.print_line("Item 2........................$15.50")
printer.print_line("-" * 32)
printer.print_line("Total.........................$25.50")
printer.print_line("=" * 32)
printer.feed_lines(3)NetumPrinter(port=None, baudrate=9600, auto_discover=True)port: Specific COM port (e.g., "COM8") or None for auto-discoverybaudrate: Connection speed (default: 9600)auto_discover: Automatically find the first available printer
connect()- Connect to printer (returns True/False)disconnect()- Disconnect from printerprint_text(text)- Print raw text or bytesprint_line(text)- Print text with newlinefeed_lines(count)- Print blank lines for spacing
with NetumPrinter() as printer:
# Automatically connects and disconnects
if printer.is_connected:
printer.print_line("Hello!")discover_netum_printers()- Returns list of available printerslist_available_printers()- Prints and returns available printers
- Make sure your Netum printer is powered on
- Check Windows Bluetooth settings - printer should be "Paired" AND "Connected"
- Try unpairing and re-pairing the printer
- Restart the printer and try again
- ✅ Windows: Full support with COM port auto-discovery
- ❌ macOS/iOS: Not supported (macOS lacks serial backend for Bluetooth SPP)
- ❓ Linux: May work but untested
- Close any other applications using the printer
- Make sure the printer isn't in use by Windows print spooler
- Try a different COM port if multiple are available
- Check if the printer needs to be "connected" in Bluetooth settings
- Make sure paper is loaded correctly
- Check if printer needs charging
- Try feeding some paper manually to test printer hardware
This library has been tested with:
- Netum NT-1809D
- Other Netum Bluetooth thermal printers should work
├── netum_printer.py # Core printer interface module
├── main.py # Development/testing script
└── README.md # This documentation