ITF-14 ****** Neu in Version 0.16: Die Unterstützung für ITF-14 und Interleaved 2 of 5 wurde in dieser Version hinzugefügt. ITF-14 ist der GS1-Barcode für eine GTIN-14 -- den 14-stelligen Bezeichner, der auf Versandkartons und Umverpackungen aufgedruckt wird, statt auf dem darin enthaltenen Handelsartikel. Er ist eine Anwendung von Interleaved 2 of 5 (ITF), das Ziffernpaare in abwechselnde Striche und Lücken packt, umgeben von einem Trägerbalken (*bearer bar*), der das Symbol umrahmt. Übergeben Sie entweder 13 Ziffern (die Prüfziffer wird berechnet und angehängt) oder 14 Ziffern (die letzte Ziffer wird als Prüfziffer behandelt und neu berechnet). Siehe auch: Interleaved 2 of 5 auf Wikipedia für Hintergründe zur Symbologie. Interleaved-2-of-5-Barcodes sind in ISO/IEC 16390 definiert (Informationstechnik -- Verfahren der automatischen Identifikation und Datenerfassung -- Spezifikationen für Strichcode-Symbologien -- Interleaved 2 of 5). Warnung: Reale GTIN-14-Codes werden aus einer von GS1 zugeteilten GTIN abgeleitet; Sie können nicht einfach eine erfinden. Die Eingabe muss aus genau 13 oder 14 Ziffern bestehen, ASCII "0"-"9". Alles andere löst "PyStrichInvalidInput" aus. Die 14-stellige Klarschriftzeile unter den Strichen wird standardmäßig gerendert (siehe Beschriftung, um sie zu unterdrücken). Die Prüfziffer wird immer von pyStrich berechnet; übergeben Sie entweder 13 Ziffern (sie wird angehängt) oder 14 Ziffern (die gelieferte letzte Ziffer wird verworfen und neu berechnet): >>> from pystrich.itf import ITF14Encoder >>> ITF14Encoder("1505007000766").full_code '15050070007661' >>> ITF14Encoder("15050070007660").full_code '15050070007661' Beispiel ======== from pystrich.itf import ITF14Encoder encoder = ITF14Encoder("1505007000766") encoder.save_svg("itf14-example.svg") [Bild: ITF-14-Barcode, der "15050070007661" codiert.][Bild] Trägerbalken ============ ITF-14 wird mit einem Vollrahmen-Trägerbalken gezeichnet -- dem kräftigen Rand, der das Symbol umschließt. Er verringert die Wahrscheinlichkeit, dass ein Teilscan als kurzer, gültiger Code fehlinterpretiert wird. Seine Stärke beträgt standardmäßig 4 Schmalstrichbreiten; passen Sie sie mit dem Schlüssel "bearer_width" von "ITFRenderOptions" an (auf "0" setzen, um den Trägerbalken wegzulassen): ITF14Encoder("1505007000766", options={"bearer_width": 6}).save("itf14.png") Beschriftung ============ Die Klarschriftzeile wird standardmäßig gerendert. Um stattdessen ein eigenes Layout zu erstellen, unterdrücken Sie sie mit "show_label": ITF14Encoder("1505007000766", options={"show_label": False}).save("itf14.png") Interleaved 2 of 5 ================== Verwenden Sie für ein einfaches Interleaved-2-of-5-Symbol -- eine beliebige gerade Anzahl von Ziffern -- "ITFEncoder" direkt. Es hat standardmäßig keinen Trägerbalken, akzeptiert aber dieselbe "bearer_width"-Option. from pystrich.itf import ITFEncoder ITFEncoder("1234567890").save_svg("itf-example.svg") [Bild: Interleaved-2-of-5-Barcode, der "1234567890" codiert.][Bild] Ausgabeformate ============== Wie die anderen 1D-Symbologien rendert ITF-14 nach SVG ("save_svg()"), PNG ("save()") und EPS ("save_eps()"). Das Argument "bar_width" legt die Breite des schmalsten Strichs fest. Siehe auch: Barcodes drucken für Hinweise zur Wahl von "bar_width" bei gedruckter Ausgabe. API === class ITF14Encoder(code: str, options: ITFRenderOptions | None = None) Bases: "ITFEncoder" Codiert einen 13- oder 14-stelligen Code als ITF-14-Barcode (GTIN-14). Die Prüfziffer wird für Sie berechnet. Wird ein 14-stelliger Code übergeben, wird dessen letzte Ziffer verworfen und neu berechnet. Das Symbol wird von einem Trägerbalken umrahmt, sofern "bearer_width" nicht in "options" überschrieben wird. Typische Verwendung: encoder = ITF14Encoder("1540141453698") encoder.save("itf14.png") Variablen: * **check_digit** -- Die berechnete Mod-10-Prüfziffer. * **full_code** -- Der 14-stellige Code einschließlich Prüfziffer (== "digits"). get_eps(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt EPS-Markup zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in PostScript-Punkten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA", deckend. Standard ist Weiß. Rückgabetyp: str get_imagedata(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> bytes Rendert den Barcode und gibt PNG-Bytes zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabe: PNG-codierte Bilddaten. Rückgabetyp: bytes get_pilimage(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> PILImage Rendert den Barcode und gibt ein Pillow-Bild zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabe: Der gerenderte Barcode. Rückgabetyp: PIL.Image.Image get_svg(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt SVG-Markup zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str png_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt einen PNG-"data:"-URL-String zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str save(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Rendert den Barcode in eine PNG-Datei. Parameter: * **filename** -- Pfad, in den das PNG geschrieben wird. * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. save_eps(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Speichert den Barcode als EPS-Datei. Übergeben Sie einen ".eps"-Dateinamen. Parameter: * **filename** -- EPS-Ausgabepfad. * **bar_width** -- Breite des schmalsten Strichs in PostScript-Punkten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA", deckend. Standard ist Weiß. save_svg(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Speichert den Barcode als SVG-Datei. Übergeben Sie einen ".svg"-Dateinamen. Parameter: * **filename** -- SVG-Ausgabepfad. * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. svg_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt einen SVG-"data:"-URL-String zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str static calculate_check_digit(code: str) -> int Berechnet die GTIN-14-Mod-10-Prüfziffer für die 13 Datenziffern. Von rechts nach links werden die Ziffern mit 3, 1, 3, 1, … gewichtet; die Prüfziffer bringt die gewichtete Summe auf ein Vielfaches von 10. init_renderer() -> ITFRenderer Konstruiert einen "ITFRenderer", mit standardmäßig aktiviertem Trägerbalken. class ITFEncoder(digits: str, options: ITFRenderOptions | None = None) Bases: "Bar1DEncoder" Codiert eine Zeichenkette aus Ziffern gerader Länge als Interleaved-2-of-5-Barcode. Typische Verwendung: encoder = ITFEncoder("1234567890") encoder.save("itf.png") Variablen: * **digits** -- Die zu codierenden Ziffern. * **bars** -- Das Strich-/Lücken-Muster als Zeichenkette aus ""1"" und ""0"". * **options** -- Options-Dict zur Renderzeit (leer, wenn keine angegeben wurden). * **width** -- Pixelbreite des zuletzt gerenderten Bildes. * **height** -- Pixelhöhe des zuletzt gerenderten Bildes. init_renderer() -> ITFRenderer Konstruiert einen "ITFRenderer" für die codierten Striche. get_eps(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt EPS-Markup zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in PostScript-Punkten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA", deckend. Standard ist Weiß. Rückgabetyp: str get_imagedata(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> bytes Rendert den Barcode und gibt PNG-Bytes zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabe: PNG-codierte Bilddaten. Rückgabetyp: bytes get_pilimage(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> PILImage Rendert den Barcode und gibt ein Pillow-Bild zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabe: Der gerenderte Barcode. Rückgabetyp: PIL.Image.Image get_svg(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt SVG-Markup zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str png_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt einen PNG-"data:"-URL-String zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str save(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Rendert den Barcode in eine PNG-Datei. Parameter: * **filename** -- Pfad, in den das PNG geschrieben wird. * **bar_width** -- Breite des schmalsten Strichs in Pixeln. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. save_eps(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Speichert den Barcode als EPS-Datei. Übergeben Sie einen ".eps"-Dateinamen. Parameter: * **filename** -- EPS-Ausgabepfad. * **bar_width** -- Breite des schmalsten Strichs in PostScript-Punkten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA", deckend. Standard ist Weiß. save_svg(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> None Speichert den Barcode als SVG-Datei. Übergeben Sie einen ".svg"-Dateinamen. Parameter: * **filename** -- SVG-Ausgabepfad. * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. svg_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) -> str Rendert den Barcode und gibt einen SVG-"data:"-URL-String zurück. Parameter: * **bar_width** -- Breite des schmalsten Strichs in Benutzereinheiten. * **dark_hex** -- Strich- und Textfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Schwarz. * **light_hex** -- Hintergrundfarbe als 3-, 6- oder 8-stelliger Hex-String oder "RGBA". Standard ist Weiß. Rückgabetyp: str class ITFRenderOptions Bases: "BarcodeRenderOptions" Optionale Anpassungen zur Renderzeit für Interleaved-2-of-5-/ITF-14-Barcodes. Erweitert "pystrich.types.BarcodeRenderOptions". Alle Schlüssel sind optional; ausgelassene Schlüssel greifen auf die Bibliotheksvorgaben zurück. bearer_width: int Stärke der Linien des Trägerbalkens, in Schmalstrichbreiten. "0" zeichnet keinen Trägerbalken. Vorgabe "0" für einfaches Interleaved 2 of 5 und "4" für ITF-14.