Code 39 ******* Code 39 ist eine 1D-Symbologie, die häufig für die industrielle Kennzeichnung verwendet wird. Der Standard-Zeichensatz umfasst Großbuchstaben, Ziffern, Leerzeichen und "-.$/+%"; übergeben Sie "full_ascii=True", um jedes 7-Bit-Zeichen als Paar von Symbolen zu codieren. Code39Encoder("17 E North 32 St", full_ascii=True).save("code39-address.png") Siehe auch: Code 39 auf Wikipedia für Hintergründe zur Symbologie selbst. Code-39-Barcodes sind in ISO/IEC 16388 definiert (Informationstechnik -- Automatische Identifikation und Datenerfassungsverfahren -- Code 39 Spezifikationen für Strichcode- Symbologien). Beispiel ======== from pystrich.code39 import Code39Encoder encoder = Code39Encoder("64755") encoder.save_svg("code39-example.svg") [Bild: Code-39-Barcode, der "64755" codiert.][Bild] Größe, Beschriftung, Schrift und Layout ======================================= Das Argument "bar_width" von "save()" und "get_imagedata()" legt die Pixelbreite des schmalsten Strichs fest (Vorgabe "3"). Das an "Code39Encoder" übergebene "options"-Dict steuert die Klarschriftzeile und das umgebende Layout. Alle Schlüssel sind optional. "show_label" Ob die Klarschriftzeile unter den Strichen gerendert wird. Vorgabe "True"; setzen Sie ihn auf "False", um sie zu unterdrücken. "ttf_font" Absoluter Pfad zu einer TrueType-Schriftdatei, die für die Beschriftung verwendet wird. Ohne Angabe wird eine mitgelieferte Bitmap-Schrift verwendet. "ttf_fontsize" Schriftgröße in Punkt. "height" Gesamte Bildhöhe in Pixeln. Vorgabe "120". "label_border" Pixel an vertikalem Abstand zwischen den Strichen und der Beschriftung. "bottom_border" Pixel an vertikalem Abstand zwischen der Beschriftung und der Unterkante. Siehe auch: Barcodes drucken für Hinweise zur Wahl von "bar_width" bei gedruckter Ausgabe. options = { "height": 200, "label_border": 10, "bottom_border": 10, "ttf_fontsize": 24, # "ttf_font": "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", } encoder = Code39Encoder("64755", options=options) encoder.save("code39-custom.png", bar_width=4) [Bild: Code-39-Barcode, der "64755" mit höherem Bild und größerer Beschriftung codiert.][Bild] Ausgabeformate ============== SVG-Ausgabe ----------- Zum Einbetten in Webseiten oder für jeden Arbeitsablauf, der von auflösungsunabhängiger Ausgabe profitiert, verwenden Sie "save_svg()" (oder "get_svg()", um das SVG als Zeichenkette zu erhalten). Code39Encoder("64755").save_svg("code39.svg") [Bild: SVG-Code-39-Barcode, der "64755" codiert.][Bild] Die "viewBox" des SVG ist in Moduleinheiten angegeben (ein Schmalstrich = eine Einheit), während "width" und "height" mit "bar_width" skalieren. Die vom Standard geforderten Ruhezonen von 10 Modulen werden automatisch auf jeder Seite angewendet. Neu in Version 0.12. PNG-Ausgabe ----------- Verwenden Sie für die Rasterausgabe "save()", um eine PNG-Datei zu schreiben, oder "get_imagedata()", um die rohen PNG-Bytes zu erhalten. Code39Encoder("64755").save("code39.png") EPS-Ausgabe ----------- Verwenden Sie zum Einbetten in LaTeX ("\includegraphics") oder andere Vektor-Druck-Arbeitsabläufe "save_eps()" (oder "get_eps()", um das EPS als Zeichenkette zu erhalten). Code39Encoder("64755").save_eps("code39.eps") Das Argument "bar_width" ist die Breite des schmalsten Strichs in PostScript-Punkten (1 Punkt = 1/72 Zoll). Die Ruhezonen von 10 Modulen werden automatisch angewendet. Neu in Version 0.12. API === class Code39Encoder(text: str, full_ascii: bool = False, options: BarcodeRenderOptions | None = None) Bases: "Bar1DEncoder" Codiert eine Zeichenkette als Code-39-1D-Barcode. Standardmäßig wird nur der Standard-Zeichensatz von Code 39 akzeptiert ("0-9", "A-Z", Leerzeichen und "-.$/+%"). Übergeben Sie "full_ascii=True", um die Full-ASCII-Erweiterung zu nutzen, die jedes 7-Bit-Zeichen über gepaarte Symbole codiert. Typische Verwendung: encoder = Code39Encoder("ABC-123") encoder.save("barcode.png") Variablen: * **text** -- Der ursprüngliche Eingabetext. * **encoded_text** -- Liste der vom Text-Encoder erzeugten Codewerte. * **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. 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 Neu in Version 0.12. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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 Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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 Neu in Version 0.11. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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 Neu in Version 0.12. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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 Neu in Version 0.15. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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ß. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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ß. Neu in Version 0.12. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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ß. Neu in Version 0.12. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. 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 Neu in Version 0.15. Geändert in Version 0.16: "dark_hex" und "light_hex" hinzugefügt. init_renderer() -> Code39Renderer Konstruiert einen "Code39Renderer" für die codierten Striche. Rückgabetyp: "Code39Renderer"