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")
ITF-14-Barcode, der "15050070007661" codiert.

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")
Interleaved-2-of-5-Barcode, der "1234567890" codiert.

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: 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[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: 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[Quellcode]

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.