Brother QL-570

Aus Hackerspace Bielefeld Wiki
Zur Navigation springen Zur Suche springen

Diese Seite ist unvollständig


Der Brother QL-570 Etikettendrucker kann Etiketten fester und variabler Länge bedrucken. Einzige Druckfarbe ist Schwarz (Rot-Schwarze Etiketten sind nur ab der QL-8xx Serie druckbar)

Druckmethode Thermodirekt
Maximale Druckbreite 59 mm (2,3 Zoll) max.
Druckbare Etikettenlänge 12,7 mm (0.5 Zoll) - 1m (3 Zoll)
Druckgeschwindigkeit 110 mm (4,3 Zoll) / Sek.; 68 Standard-Adressetiketten / Min.
Druckauflösung 300 dpi / 720 Punkte

Bedienung

Der Drucker kann nur über USB angesprochen werden, Etiketten können mit der Brother-eigenen Software erstellt werden, aber zB. auch mit Hilfe des Python brother_ql Packages angesteuert werden.

Brother Software

TODO

Python - brother_ql

Mit dem brother_ql Pyhton Packet können diverse Drucker der Broher QL Serie direkt über USB, oder bei netzwerkfähigen Modellen auch über TCP, angesteuert werden.

Beispiel für QR-Code Druck mit Python Pillow, segno, qrcode-artistic und brother_ql:

#! /bin/env python3

# pip3 install pillow
from PIL import Image, ImageDraw, ImageFont

# pip3 install segno
# pip3 install qrcode-artistic -> for adding to_pil()
from segno import make_qr

# pip3 install brother_ql
from brother_ql.raster import BrotherQLRaster
from brother_ql.conversion import convert
from brother_ql.backends.helpers import send

from math import floor

# settings
url      = "https://wiki.hackerspace-bielefeld.de/index.php?title=Schneidplotter"
title    = "Schneidplotter"

debug    = True

model    = "QL-810W"
backend  = "network"
address  = "tcp://192.168.23.161"
## when using local printer via USB:
# backend = "pyusb"
# address = 'usb://0x04f9:0x209b' # repace with actual USB device address, first part is vendor ID, 2nd part is product ID



label    = "29x90"
label_w  = 991
label_h  = 306

fontname = "OpenSans-Regular.ttf"

white    = (255,255,255)
black    = (0,0,0)


# generate label image and drawing context
img  = Image.new("RGB", (label_w, label_h), white)
draw = ImageDraw.Draw(img)

# generate QR code
qrcode = make_qr(url)

# determine QR code size
(qr_w,qr_h) = qrcode.symbol_size(1,0)

# determine largest QR code scale factor that still fits the label
scale = floor(label_h / max(qr_w,qr_h))

# generate actual QR code image
qr_img = qrcode.to_pil(scale=scale,border=0)

# add QR code image label at top left
img.paste(qr_img, (0,0))

# add title text
font_1 = ImageFont.truetype(fontname, 96);
draw.multiline_text((320, 0), title, fill=black, font=font_1)

#add some extra icon
with Image.open("warning.png") as warning:
    warning.load()
img.paste(warning, (320, 150))

if debug:
    # just save generated image for review
    print("Debug only, saving to debug-label.png")
    img.save("debug-label.png")
else:
    # what printer model we are using
    qlr = BrotherQLRaster(model)
    
    # what we want to print: printer model, label size, and images to print
    # images can be PIL/Pillow image objects, or PNG byte streams
    instructions = convert(qlr=qlr, label=label, images=[img])
    
    # send printing instructions to actual printer identified by its address and backend type
    send(instructions=instructions, printer_identifier=address, backend_identifier=backend, blocking=True)


Resourcen