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")
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")
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)[Quellcode]¶
Bases:
ITFEncoderCodiert 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_widthnicht inoptionsü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:
- 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:
- 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:
- 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:
- 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:
- 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:
- static calculate_check_digit(code: str) int[Quellcode]¶
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[Quellcode]¶
Konstruiert einen
ITFRenderer, mit standardmäßig aktiviertem Trägerbalken.
- class ITFEncoder(digits: str, options: ITFRenderOptions | None = None)[Quellcode]¶
Bases:
Bar1DEncoderCodiert 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[Quellcode]¶
Konstruiert einen
ITFRendererfü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:
- 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:
- 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:
- 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:
- 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:
- 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:
- class ITFRenderOptions¶
Bases:
BarcodeRenderOptionsOptionale 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.