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. pystrich [-h] [--version] FORMAT ... Optionen für pystrich --------------------- * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--version"** - Programmversion anzeigen und beenden pystrich 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] Optionen für pystrich code39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--bar-width"** "BAR_WIDTH" - Breite des schmalsten Strichs (Vorgabe: 3) * **"--height"** "HEIGHT" - Bildhöhe in Pixeln * **"--full-ascii"** - Full-ASCII-Codierung von Code 39 aktivieren * **"--show-label"**, **"--no-show-label"** - die Klarschriftzeile unter den Strichen rendern pystrich 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] Optionen für pystrich code128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--bar-width"** "BAR_WIDTH" - Breite des schmalsten Strichs (Vorgabe: 3) * **"--height"** "HEIGHT" - Bildhöhe in Pixeln * **"--show-label"**, **"--no-show-label"** - die Klarschriftzeile unter den Strichen rendern pystrich 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] Optionen für pystrich ean13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - 12 oder 13 Ziffern (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--bar-width"** "BAR_WIDTH" - Breite des schmalsten Strichs (Vorgabe: 3) * **"--height"** "HEIGHT" - Bildhöhe in Pixeln pystrich 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] Optionen für pystrich itf ~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - eine gerade Anzahl von Ziffern (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--bar-width"** "BAR_WIDTH" - Breite des schmalsten Strichs (Vorgabe: 3) * **"--height"** "HEIGHT" - Bildhöhe in Pixeln * **"--bearer-width"** "BEARER_WIDTH" - Stärke der Linien eines Trägerbalkens, in Schmalstrichbreiten (Vorgabe: keine) pystrich 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] Optionen für pystrich itf14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - 13 oder 14 Ziffern (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--bar-width"** "BAR_WIDTH" - Breite des schmalsten Strichs (Vorgabe: 3) * **"--height"** "HEIGHT" - Bildhöhe in Pixeln * **"--bearer-width"** "BEARER_WIDTH" - Stärke der Linien des Trägerbalkens, in Schmalstrichbreiten (Vorgabe: 4) pystrich 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}] Optionen für pystrich datamatrix ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--cell-size"** "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"** "MARK_SHAPE" - wie gesetzte Zellen in der Vektorausgabe gezeichnet werden * **"--dxf-units"** "DXF_UNITS" - DXF-Einheiten (Vorgabe: mm); 'unspecified' schreibt $INSUNITS=0 * **"--quiet-zone"** "QUIET_ZONE" - Breite der Ruhezone in Zellen (Vorgabe: 2) * **"--encoding"** "ENCODING" - DataMatrix-Zeichensatz (Vorgabe: auto wählt den schmalsten passenden) * **"--substitute-with-fnc1"** "CHAR" - jedes Vorkommen von CHAR in --text durch ein FNC1-Codewort ersetzen * **"--symbol-shape"** "SYMBOL_SHAPE" - Data-Matrix-Form (Vorgabe: square) pystrich 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}] Optionen für pystrich qrcode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--cell-size"** "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"** "MARK_SHAPE" - wie gesetzte Zellen in der Vektorausgabe gezeichnet werden * **"--dxf-units"** "DXF_UNITS" - DXF-Einheiten (Vorgabe: mm); 'unspecified' schreibt $INSUNITS=0 * **"--ecl"** "ECL" - Fehlerkorrekturstufe (Vorgabe: M) pystrich 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] Optionen für pystrich pdf417 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--cell-size"** "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"** "MARK_SHAPE" - wie gesetzte Zellen in der Vektorausgabe gezeichnet werden * **"--dxf-units"** "DXF_UNITS" - DXF-Einheiten (Vorgabe: mm); 'unspecified' schreibt $INSUNITS=0 * **"--ecl"** "ECL" - Fehlerkorrekturstufe 0-8 (Vorgabe: aus der Datenlänge gewählt) * **"--columns"** "N" - Datenspalten 1-30 (Vorgabe: flächenminimales Layout) * **"--row-height"** "ROW_HEIGHT" - Matrixzeilen pro Codewort-Zeile (Vorgabe: 3) * **"--quiet-zone"** "QUIET_ZONE" - Breite der Ruhezone in Modulen (Vorgabe: 2) pystrich 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] Optionen für pystrich aztec ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * **"-h"**, **"--help"** - diese Hilfe anzeigen und beenden * **"--text"** "TEXT" - zu codierender Text (Vorgabe: aus stdin lesen) * **"-o"** "OUTPUT", **"--output"** "OUTPUT" - Ausgabepfad; '-' oder weggelassen schreibt nach stdout * **"-t"** "OUTPUT_TYPE", **"--type"** "OUTPUT_TYPE" - Ausgabeformat; 'auto' ergibt sich aus dem -o-Dateinamen oder dem Ausgabekontext * **"--dark-hex"** "HEX" - dunkle Farbe (Vordergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--light-hex"** "HEX" - helle Farbe (Hintergrund) als 3, 6 oder 8 Hexziffern; nur png/svg/eps * **"--cell-size"** "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"** "MARK_SHAPE" - wie gesetzte Zellen in der Vektorausgabe gezeichnet werden * **"--dxf-units"** "DXF_UNITS" - DXF-Einheiten (Vorgabe: mm); 'unspecified' schreibt $INSUNITS=0 * **"--ecc"** "PCT" - Fehlerkorrektur-Prozentsatz 5..95 (Vorgabe: 23) * **"--symbol-kind"** "SYMBOL_KIND" - Symboltyp (Vorgabe: auto wählt den kleinsten passenden) * **"--layers"** "LAYERS" - Anzahl der Datenschichten; erfordert --symbol-kind compact oder full * **"--quiet-zone"** "QUIET_ZONE" - Breite der Ruhezone in Modulen (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 mit Python erzeugen für die vollständige Erörterung der Codierung.