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")
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_labelOb die Klarschriftzeile unter den Strichen gerendert wird. Vorgabe
True; setzen Sie ihn aufFalse, um sie zu unterdrücken.ttf_fontAbsoluter Pfad zu einer TrueType-Schriftdatei, die für die Beschriftung verwendet wird. Ohne Angabe wird eine mitgelieferte Bitmap-Schrift verwendet.
ttf_fontsizeSchriftgröße in Punkt.
heightGesamte Bildhöhe in Pixeln. Vorgabe
120.label_borderPixel an vertikalem Abstand zwischen den Strichen und der Beschriftung.
bottom_borderPixel 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)
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")
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)[Quellcode]¶
Bases:
Bar1DEncoderCodiert 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 Siefull_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:
Neu in Version 0.12.
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefü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:
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefü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:
Neu in Version 0.11.
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefü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:
Neu in Version 0.12.
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefü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:
Neu in Version 0.15.
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefü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_hexundlight_hexhinzugefü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_hexundlight_hexhinzugefü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_hexundlight_hexhinzugefü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:
Neu in Version 0.15.
Geändert in Version 0.16:
dark_hexundlight_hexhinzugefügt.
- init_renderer() Code39Renderer[Quellcode]¶
Konstruiert einen
Code39Rendererfür die codierten Striche.- Rückgabetyp:
Code39Renderer