Kommandozeilen-Schnittstelle¶
Die Installation von pyStrich stellt ein pystrich-Konsolenskript bereit, mit einem Unterbefehl pro Format und Ausgabe als PNG / SVG / EPS / ASCII / Terminal / DXF.
Tipp
Um das CLI auszuprobieren, ohne pyStrich in eine Umgebung zu installieren, führen Sie es über pipx oder uvx aus:
$ pipx run pystrich datamatrix --text "Rausschmeißer"
$ uvx pystrich datamatrix --text "Rausschmeißer"
$ pystrich qrcode --text "https://en.wikipedia.org/wiki/Jasper,_Missouri" -o jasper.svg
$ pystrich code128 --text "Dalton" -o dalton.png
$ pystrich ean13 --text "5050070007664" -o ean13.png
$ echo "DLB 573" | pystrich code39 -o code39.png
$ pystrich datamatrix --text "Rausschmeißer" # terminal preview
Das letzte Beispiel erzeugt:
█ ▀ █▄█ █ █▄█ █▄▀▄
█▄ ████▀ ▀ ██▄
█▄██▀▄▄▀▄█▀ ▄█▀▀▄
█▀▄ ███▀ ▄█▄▀▀▄▄▀▄
██ █▄▄▄██▄▄▀▄ ▀ ▄
██ ▄█ ▀█▄▀▀▀ ▄█▄▀▄
█ ▀ █ ▄▀▀▀ ▀█ █▄█▄
█▀▄ █▀█▀ █ ▀▄▀▀█▄▄
█▄█▄█▄███▄██▄▄▄██▄
Referenz¶
Erzeugt 1D-/2D-Barcodes (Code 39, Code 128, EAN-13, Interleaved 2 of 5, ITF-14, Data Matrix, QR-Code, PDF417, Aztec-Code). Übergeben Sie die Eingabe über --text oder stdin.
usage: pystrich [-h] [--version] FORMAT ...
Positionsargumente¶
- FORMAT
Mögliche Werte: code39, code128, ean13, itf, itf14, datamatrix, qrcode, pdf417, aztec
Benannte Argumente¶
- --version
Programmversion anzeigen und beenden
Unterbefehle¶
code39¶
Code 39 (1D)
pystrich code39 [-h] [--text TEXT] [-o OUTPUT] [-t {auto,png,svg,eps}]
[--dark-hex HEX] [--light-hex HEX] [--bar-width BAR_WIDTH]
[--height HEIGHT] [--full-ascii]
[--show-label | --no-show-label]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --bar-width
Breite des schmalsten Strichs (Vorgabe: 3)
Vorgabe:
3- --height
Bildhöhe in Pixeln
- --full-ascii
Full-ASCII-Codierung von Code 39 aktivieren
Vorgabe:
False- --show-label, --no-show-label
die Klarschriftzeile unter den Strichen rendern
code128¶
Code 128 (1D)
pystrich code128 [-h] [--text TEXT] [-o OUTPUT] [-t {auto,png,svg,eps}]
[--dark-hex HEX] [--light-hex HEX] [--bar-width BAR_WIDTH]
[--height HEIGHT] [--show-label | --no-show-label]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --bar-width
Breite des schmalsten Strichs (Vorgabe: 3)
Vorgabe:
3- --height
Bildhöhe in Pixeln
- --show-label, --no-show-label
die Klarschriftzeile unter den Strichen rendern
ean13¶
EAN-13 (1D, 12 oder 13 Ziffern)
pystrich ean13 [-h] [--text TEXT] [-o OUTPUT] [-t {auto,png,svg,eps}]
[--dark-hex HEX] [--light-hex HEX] [--bar-width BAR_WIDTH]
[--height HEIGHT]
Benannte Argumente¶
- --text
12 oder 13 Ziffern (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --bar-width
Breite des schmalsten Strichs (Vorgabe: 3)
Vorgabe:
3- --height
Bildhöhe in Pixeln
itf¶
Interleaved 2 of 5 (1D, eine gerade Anzahl von Ziffern)
pystrich itf [-h] [--text TEXT] [-o OUTPUT] [-t {auto,png,svg,eps}]
[--dark-hex HEX] [--light-hex HEX] [--bar-width BAR_WIDTH]
[--height HEIGHT] [--bearer-width BEARER_WIDTH]
Benannte Argumente¶
- --text
eine gerade Anzahl von Ziffern (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --bar-width
Breite des schmalsten Strichs (Vorgabe: 3)
Vorgabe:
3- --height
Bildhöhe in Pixeln
- --bearer-width
Stärke der Linien eines Trägerbalkens, in Schmalstrichbreiten (Vorgabe: keine)
itf14¶
ITF-14 (1D, 13 oder 14 Ziffern, mit Trägerbalken)
pystrich itf14 [-h] [--text TEXT] [-o OUTPUT] [-t {auto,png,svg,eps}]
[--dark-hex HEX] [--light-hex HEX] [--bar-width BAR_WIDTH]
[--height HEIGHT] [--bearer-width BEARER_WIDTH]
Benannte Argumente¶
- --text
13 oder 14 Ziffern (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --bar-width
Breite des schmalsten Strichs (Vorgabe: 3)
Vorgabe:
3- --height
Bildhöhe in Pixeln
- --bearer-width
Stärke der Linien des Trägerbalkens, in Schmalstrichbreiten (Vorgabe: 4)
datamatrix¶
Data Matrix (2D)
pystrich datamatrix [-h] [--text TEXT] [-o OUTPUT]
[-t {auto,png,svg,eps,ascii,terminal,dxf}]
[--dark-hex HEX] [--light-hex HEX] [--cell-size CELL_SIZE]
[--inverse | --no-inverse]
[--mark-shape {square,circular,horizontal-runs}]
[--dxf-units {in,ft,mi,mm,cm,m,unspecified}]
[--quiet-zone QUIET_ZONE]
[--encoding {auto,ascii,iso-8859-1,utf-8}]
[--substitute-with-fnc1 CHAR]
[--symbol-shape {square,rectangular,auto}]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps, ascii, terminal, dxf
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --cell-size
Kantenlänge eines Moduls; muss für png/svg/eps eine ganze Zahl sein (Vorgabe: 5), für dxf sind Dezimalzahlen möglich (Vorgabe: 1.0)
- --inverse, --no-inverse
invertieren (helle statt dunkler Zellen gefüllt); gilt für svg/eps/dxf
- --mark-shape
Mögliche Werte: square, circular, horizontal-runs
wie gesetzte Zellen in der Vektorausgabe gezeichnet werden
- --dxf-units
Mögliche Werte: in, ft, mi, mm, cm, m, unspecified
DXF-Einheiten (Vorgabe: mm); ‚unspecified‘ schreibt $INSUNITS=0
- --quiet-zone
Breite der Ruhezone in Zellen (Vorgabe: 2)
Vorgabe:
2- --encoding
Mögliche Werte: auto, ascii, iso-8859-1, utf-8
DataMatrix-Zeichensatz (Vorgabe: auto wählt den schmalsten passenden)
Vorgabe:
'auto'- --substitute-with-fnc1
jedes Vorkommen von CHAR in
--textdurch ein FNC1-Codewort ersetzen- --symbol-shape
Mögliche Werte: square, rectangular, auto
Data-Matrix-Form (Vorgabe: square)
Vorgabe:
'square'
qrcode¶
QR-Code (2D)
pystrich qrcode [-h] [--text TEXT] [-o OUTPUT]
[-t {auto,png,svg,eps,ascii,terminal,dxf}] [--dark-hex HEX]
[--light-hex HEX] [--cell-size CELL_SIZE]
[--inverse | --no-inverse]
[--mark-shape {square,circular,horizontal-runs}]
[--dxf-units {in,ft,mi,mm,cm,m,unspecified}] [--ecl {L,M,Q,H}]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps, ascii, terminal, dxf
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --cell-size
Kantenlänge eines Moduls; muss für png/svg/eps eine ganze Zahl sein (Vorgabe: 5), für dxf sind Dezimalzahlen möglich (Vorgabe: 1.0)
- --inverse, --no-inverse
invertieren (helle statt dunkler Zellen gefüllt); gilt für svg/eps/dxf
- --mark-shape
Mögliche Werte: square, circular, horizontal-runs
wie gesetzte Zellen in der Vektorausgabe gezeichnet werden
- --dxf-units
Mögliche Werte: in, ft, mi, mm, cm, m, unspecified
DXF-Einheiten (Vorgabe: mm); ‚unspecified‘ schreibt $INSUNITS=0
- --ecl
Mögliche Werte: L, M, Q, H
Fehlerkorrekturstufe (Vorgabe: M)
pdf417¶
PDF417 (gestapelt, 2D)
pystrich pdf417 [-h] [--text TEXT] [-o OUTPUT]
[-t {auto,png,svg,eps,ascii,terminal,dxf}] [--dark-hex HEX]
[--light-hex HEX] [--cell-size CELL_SIZE]
[--inverse | --no-inverse]
[--mark-shape {square,circular,horizontal-runs}]
[--dxf-units {in,ft,mi,mm,cm,m,unspecified}]
[--ecl {0,1,2,3,4,5,6,7,8}] [--columns N]
[--row-height ROW_HEIGHT] [--quiet-zone QUIET_ZONE]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps, ascii, terminal, dxf
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --cell-size
Kantenlänge eines Moduls; muss für png/svg/eps eine ganze Zahl sein (Vorgabe: 5), für dxf sind Dezimalzahlen möglich (Vorgabe: 1.0)
- --inverse, --no-inverse
invertieren (helle statt dunkler Zellen gefüllt); gilt für svg/eps/dxf
- --mark-shape
Mögliche Werte: square, circular, horizontal-runs
wie gesetzte Zellen in der Vektorausgabe gezeichnet werden
- --dxf-units
Mögliche Werte: in, ft, mi, mm, cm, m, unspecified
DXF-Einheiten (Vorgabe: mm); ‚unspecified‘ schreibt $INSUNITS=0
- --ecl
Mögliche Werte: 0, 1, 2, 3, 4, 5, 6, 7, 8
Fehlerkorrekturstufe 0-8 (Vorgabe: aus der Datenlänge gewählt)
- --columns
Mögliche Werte: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
Datenspalten 1-30 (Vorgabe: flächenminimales Layout)
- --row-height
Matrixzeilen pro Codewort-Zeile (Vorgabe: 3)
Vorgabe:
3- --quiet-zone
Breite der Ruhezone in Modulen (Vorgabe: 2)
Vorgabe:
2
aztec¶
Aztec-Code (2D)
pystrich aztec [-h] [--text TEXT] [-o OUTPUT]
[-t {auto,png,svg,eps,ascii,terminal,dxf}] [--dark-hex HEX]
[--light-hex HEX] [--cell-size CELL_SIZE]
[--inverse | --no-inverse]
[--mark-shape {square,circular,horizontal-runs}]
[--dxf-units {in,ft,mi,mm,cm,m,unspecified}] [--ecc PCT]
[--symbol-kind {auto,compact,full}] [--layers LAYERS]
[--quiet-zone QUIET_ZONE]
Benannte Argumente¶
- --text
zu codierender Text (Vorgabe: aus stdin lesen)
- -o, --output
Ausgabepfad; ‚-‘ oder weggelassen schreibt nach stdout
- -t, --type
Mögliche Werte: auto, png, svg, eps, ascii, terminal, dxf
Ausgabeformat; ‚auto‘ ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext
Vorgabe:
'auto'- --dark-hex
dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --light-hex
helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps
- --cell-size
Kantenlänge eines Moduls; muss für png/svg/eps eine ganze Zahl sein (Vorgabe: 5), für dxf sind Dezimalzahlen möglich (Vorgabe: 1.0)
- --inverse, --no-inverse
invertieren (helle statt dunkler Zellen gefüllt); gilt für svg/eps/dxf
- --mark-shape
Mögliche Werte: square, circular, horizontal-runs
wie gesetzte Zellen in der Vektorausgabe gezeichnet werden
- --dxf-units
Mögliche Werte: in, ft, mi, mm, cm, m, unspecified
DXF-Einheiten (Vorgabe: mm); ‚unspecified‘ schreibt $INSUNITS=0
- --ecc
Fehlerkorrektur-Prozentsatz 5..95 (Vorgabe: 23)
Vorgabe:
23- --symbol-kind
Mögliche Werte: auto, compact, full
Symboltyp (Vorgabe: auto wählt den kleinsten passenden)
Vorgabe:
'auto'- --layers
Anzahl der Datenschichten; erfordert
--symbol-kindcompact oder full- --quiet-zone
Breite der Ruhezone in Modulen (Vorgabe: 2)
Vorgabe:
2
Automatische Formaterkennung¶
Das Ausgabeformat wird automatisch aus dem Dateinamen bei -o erkannt (.png, .svg, .eps, .dxf); ohne -o ist die Vorgabe terminal für 2D-Formate, wenn stdout ein TTY ist. Weitergeleitete oder umgeleitete Ausgabe ohne explizites -t wird abgelehnt, um zu vermeiden, dass versehentlich Binärdaten an das nächste Werkzeug ausgegeben werden.
GS1 Data Matrix aus der Shell¶
GS1 Data Matrix verwendet ASCII mit FNC1-Markern, die Application Identifier und ihre Werte trennen. Mit --substitute-with-fnc1 lässt sich diese Eingabe aus einer shell-freundlichen Zeichenkette aufbauen:
$ pystrich datamatrix \
--text "|0105050070007664" \
--substitute-with-fnc1 "|" \
-o gs1.png
Siehe Data Matrix für die vollständige Erörterung der Codierung.
Einschränkungen¶
Das CLI stellt nicht jede Stellschraube der Python-API bereit. Greifen Sie für 1D-Beschriftungsschriften, benutzerdefinierte Ränder, das first_digit_y_offset von EAN-13 oder die veraltete DataMatrix-compat-Codierung zur Python-API.
API¶
Kommandozeilen-Schnittstelle für pyStrich.
Führen Sie pystrich --help für die Verwendung aus. Jeder Unterbefehl entspricht einem Barcode-Format und verwendet die passende Encoder-Klasse.
- class Format[Quellcode]¶
Bases:
ABCAbstraktes Barcode-Format. Blatt-Unterklassen werden in FORMATS registriert.
- class OneDFormat[Quellcode]¶
Bases:
Format
- class TwoDFormat[Quellcode]¶
Bases:
Format
- class Code39[Quellcode]¶
Bases:
OneDFormat
- class Code128[Quellcode]¶
Bases:
OneDFormat
- class EAN13[Quellcode]¶
Bases:
OneDFormat
- class ITF[Quellcode]¶
Bases:
OneDFormat
- class ITF14[Quellcode]¶
Bases:
OneDFormat
- class DataMatrix[Quellcode]¶
Bases:
TwoDFormat
- class QRCode[Quellcode]¶
Bases:
TwoDFormat
- class PDF417[Quellcode]¶
Bases:
TwoDFormat
- class Aztec[Quellcode]¶
Bases:
TwoDFormat