Skip to content

About

Print shipping labels from PDF to Bluetooth thermal printers. Windows app for MVGGES, TSC, Xprinter label printers. No drivers needed.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Bluetooth Label Printer

A Windows desktop app for printing PDF shipping labels (eBay, Amazon, USPS, UPS, FedEx) to Bluetooth thermal label printers. It talks to the printer directly over its Bluetooth COM port using TSPL, so no printer driver is needed.

Python Platform License

Features

  • Print the label from a PDF, with a preview that matches the printed output
  • Auto-crop finds the label even when the page has instructions or other text around it, and drops dashed "cut here" borders
  • Manual crop for anything auto-crop gets wrong
  • Auto-rotate to fit the label orientation
  • Page picker for multi-page PDFs (opens on the page that looks most like a label)
  • Label sizes: 4×6", 4×4", 2×1", or custom dimensions in mm
  • COM port detection

Supported printers

Most inexpensive Bluetooth thermal label printers that use TSPL (TSC Printer Language), including:

  • MVGGES
  • TSC
  • Xprinter
  • Most generic Bluetooth label printers sold on Amazon and AliExpress

Installation

Download the executable

Download LabelPrinter.exe from the Releases page. Python is not required.

Run from source

Requires Python 3.8 or newer.

git clone https://github.com/elitescouter/PrintToBTLabel.git
cd PrintToBTLabel
pip install -r requirements.txt
python label_printer_app.py

Usage

  1. Pair the printer in Windows Bluetooth settings.
  2. Start the app.
  3. Pick the printer's COM port (often COM5 or COM6).
  4. Click Select PDF and choose your label.
  5. Check the preview, then click Print Label.

Settings

Setting Description
Label size A preset (4×6, 4×4, 2×1) or custom width and height in mm
Auto-crop Find the label on the page and crop to it
Auto-rotate Rotate the label to match the label stock's orientation
Flip vertical Turn the output upside down
Invert colors Swap black and white, for printers that print a negative
Manual crop Draw a rectangle on the page to choose exactly what prints

Troubleshooting

The printer isn't listed. Make sure it is paired in Windows and has a COM port assigned (Device Manager > Ports), then click the refresh button next to the port list.

Nothing prints. Check that the right COM port is selected. Paired printers often get two ports, so try the other one. Also check that the printer is on, in range, and loaded with labels.

The print is a negative. Toggle Invert colors.

The label prints upside down. Toggle Flip vertical.

The wrong part of the page prints. Turn on Manual crop and draw a box around the label.

Command line

# List COM ports
python bt_printer.py --list-ports

# Print a PDF
python bt_printer.py --pdf label.pdf --port COM5

# Custom label size in mm
python bt_printer.py --pdf label.pdf --label-width 101 --label-height 152

# Print plain text
python bt_printer.py --text "Hello World" --port COM5

Run python bt_printer.py --help for all options.

Using it from Python

from bt_printer import BluetoothPrinter

with BluetoothPrinter(port="COM5") as printer:
    printer.print_pdf("shipping_label.pdf")

with BluetoothPrinter(port="COM5") as printer:
    printer.print_label("Order #12345\nShip to: John Doe")

Building the executable

python build_exe.py

The executable is written to dist/LabelPrinter.exe.

Requirements

  • Windows 10 or 11
  • A Bluetooth adapter
  • A TSPL-compatible thermal label printer
  • Python 3.8+ (only when running from source)

Contributing

Bug reports, feature requests, and pull requests are welcome.

License

MIT

Acknowledgments


Keywords: Windows thermal printer, Bluetooth label printer, print shipping labels, PDF to label printer, thermal printer software, Bluetooth COM port printer, TSPL printer, MVGGES printer, TSC printer, Xprinter, shipping label printer, label printing software

About

Print shipping labels from PDF to Bluetooth thermal printers. Windows app for MVGGES, TSC, Xprinter label printers. No drivers needed.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages