A Python-based web service to print labels on Brother QL label printers. Based on brother_ql: https://github.com/pklaus/brother_ql
Go to file
2018-03-08 21:42:05 +01:00
static README: Move all headlines one level up (i.e. make them bigger) 2018-01-28 12:42:43 +01:00
views allow to select fonts family AND style in web interface 2018-01-03 21:40:22 +01:00
brother_ql_web.py fonts: if default fonts not avail, select random one 2018-01-15 13:17:50 +01:00
font_helpers.py fix: get_fonts() returns incorrect paths (if folder= supplied) 2018-01-24 11:59:32 +01:00
LICENSE Release under the terms of the GPLv3 2018-03-08 21:42:05 +01:00
README.md README: why is fontconfig needed; how to install on Mac 2018-01-31 09:38:13 +01:00
requirements.txt requirements: removing unnecessary markdown & numpy 2016-12-10 14:45:49 +01:00

brother_ql_web

This is a web service to print labels on Brother QL label printers.

You need Python 3 for this software to work.

Screenshot

The web interface is responsive. There's also a screenshot showing how it looks on a smartphone

Installation

ProTip™: If you know how to use Docker, you might want to use my ready-to-use Docker image to deploy this software. It can be found on the Docker hub.
Otherwise, follow the instructions below.

Get the code:

git clone https://github.com/pklaus/brother_ql_web.git

or download the ZIP file and unpack it.

Install the requirements:

pip install -r requirements.txt

In addition, fontconfig should be installed on your system. It's used to identify and inspect fonts on your machine. This package is pre-installed on many Linux distributions. If you're using a Mac, I recommend to use Homebrew to install fontconfig using brew install fontconfig.

Startup

To start the server, run ./brother_ql_web.py. Here's its command line interface:

usage: brother_ql_web.py [-h] [--port PORT] [--loglevel LOGLEVEL]
                         [--font-folder FONT_FOLDER]
                         [--default-label-size DEFAULT_LABEL_SIZE]
                         [--default-orientation {standard,rotated}]
                         [--model {QL-500,QL-550,QL-560,QL-570,QL-580N,QL-650TD,QL-700,QL-710W,QL-720NW,QL-1050,QL-1060N}]
                         printer

This is a web service to print labels on Brother QL label printers.

positional arguments:
  printer               String descriptor for the printer to use (like
                        tcp://192.168.0.23:9100 or file:///dev/usb/lp0)

optional arguments:
  -h, --help            show this help message and exit
  --port PORT
  --loglevel LOGLEVEL
  --font-folder FONT_FOLDER
                        folder for additional .ttf/.otf fonts
  --default-label-size DEFAULT_LABEL_SIZE
                        Label size inserted in your printer. Defaults to 62.
  --default-orientation {standard,rotated}
                        Label orientation, defaults to "standard". To turn
                        your text by 90°, state "rotated".
  --model {QL-500,QL-550,QL-560,QL-570,QL-580N,QL-650TD,QL-700,QL-710W,QL-720NW,QL-1050,QL-1060N}
                        The model of your printer (default: QL-500)

Usage

Once it's running, access the web interface by opening the page with your browser. If you run it on your local machine, go to http://localhost:8013 (You can change the default port 8013 using the --port argument). You will then be forwarded by default to the interactive web gui located at /labeldesigner.

All in all, the web server offers:

  • a Web GUI allowing you to print your labels at /labeldesigner,
  • an API at /api/print/text?text=Your_Text&font_size=100&font_family=Minion%20Pro%20(%20Semibold%20) to print a label containing 'Your Text' with the specified font properties.