Zend_Barcode Objekte

Barcode Objekte erlauben es Barcodes unabhängig von der Unterstützung eines Renderers zu erstellen. Nach der Erstellung kann der Barcode als Array von Zeichen Anweisungen empfangen werden die an einen Renderer übergeben werden können.

Objekte haben eine große Anzahl an Optionen. Die meisten von Ihnen sind allen Objekten gemein. Diese Optionen können auf vier Wegen gesetzt werden:

  • Als Array oder Zend_Config Objekt welches dem Constructor übergeben wird.

  • Als Array das der setOptions() Methode übergeben wird.

  • Als Zend_Config Objekt welches der setConfig() Methode übergeben wird.

  • Über individuelle Setter für jeden Konfigurations Typ.

Beispiel 59. Unterschiedliche Wege ein Barcode Objekt zu parametrisieren

$options = array('text' => 'ZEND-FRAMEWORK', 'barHeight' => 40);

// Fall 1: Constructor
$barcode = new Zend_Barcode_Object_Code39($options);

// Fall 2: setOptions()
$barcode = new Zend_Barcode_Object_Code39();
$barcode->setOptions($options);

// Fall 3: setConfig()
$config  = new Zend_Config($options);
$barcode = new Zend_Barcode_Object_Code39();
$barcode->setConfig($config);

// Fall 4: individuelle Setter
$barcode = new Zend_Barcode_Object_Code39();
$barcode->setText('ZEND-FRAMEWORK')
        ->setBarHeight(40);

Gemeinsame Optionen

In der folgenden Liste haben die Werte keine Einheit; wir werden den Ausdruck "Einheit" verwenden. Zum Beispiel, ist der Standardwert "dünner Balken" genau "1 Einheit". Die echte Einheit hängt von der Unterstützung beim Darstellen ab (siehe die Renderer Dokumentation für mehr Informationen). Setter werden benannt indem der erste Buchstabe der Option großgeschrieben und dem Namen "set" vorangestellt wird (z.B. "barHeight" => "setBarHeight"). Alle Optionen haben einen entsprechenden Getter dem "get" vorangestellt ist (z.B. "getBarHeight"). Die vorhandenen Optionen sind:

Tabelle 14. Gemeinsame Optionen

Option Daten Typ Standardwert Beschreibung
barcodeNamespace String Zend_Barcode_Object Namespace des Renderers; zum Beispiel wenn man den Renderer erweitern muss
barHeight Integer 50 Höhe der Balken
barThickWidth Integer 3 Breite des dicken Balken
barThinWidth Integer 1 Breite des dünnen Balkens
factor Integer 1 Faktor mit dem die Balkenbreiten und Schriftgrößen multipliziert werden
foreColor Integer 0 (schwarz) Farbe des Balken und des Textes. Könnte als Integer oder als HTML Wert übergeben werden (z.B. "#333333")
backgroundColor Integer oder String 16777125 (white) Farbe des Hintergrundes. Könnte als Integer oder als HTML Wert übergeben werden (z.B. "#333333")
reverseColor Boolean FALSE Erlaubt die Änderung der Farbe des Balken und des Hintergrunds
orientation Integer 0 Orientierung des Barcodes
font String oder Integer NULL Pfad zu einer TTF Schriftart oder eine Zahl zwischen 1 und 5 wenn die Bilderstellung mit GD verwendet wird (interne Schriftarten)
fontSize Integer 10 Größe der Schriftart (nicht anwendbar bei nummerischen Schriftarten)
withBorder Boolean FALSE Zeichnet einen Rahmen um den Barcode und die Randzonen
withQuietZones Boolean TRUE Lässt die Leerzone vor und nach dem Barcode weg
drawText Boolean TRUE Setzt ob der Text unter dem Barcode angezeigt wird
stretchText Boolean FALSE Spezifiziert ob der Text entlang des kompletten Barcodes gestreckt werden soll
withChecksum Boolean FALSE Zeigt ob die Checksumme dem Barcode automatisch hinzugefügt wird oder nicht
withChecksumInText Boolean FALSE Zeigt ob die Checksumme in der textuellen Repräsentation angezeigt wird oder nicht
text String NULL Der Text der repräsentiert wird, als Barcode

Spezieller Fall der statischen setBarcodeFont()

Man kann eine gemeinsame Schriftart für alle eigenen Objekte setzen indem die statische Methode Zend_Barcode_Object::setBarcodeFont() verwendet wird. Dieser Wert wird von individuellen Objekten immer überschrieben wenn die setFont() Methode verwendet wird.

// In der eigenen Bootstrap Datei:
Zend_Barcode_Object::setBarcodeFont('my_font.ttf');

// Später im eigenen Code:
Zend_Barcode::render(
    'code39',
    'pdf',
    array('text' => 'ZEND-FRAMEWORK')
); // will use 'my_font.ttf'

// oder:
Zend_Barcode::render(
    'code39',
    'image',
    array(
        'text' => 'ZEND-FRAMEWORK',
        'font' => 3
    )
); // will use the 3rd GD internal font

Gemeinsame zusätzliche Getter

Tabelle 15. Gemeinsame Getter

Getter Daten Typ Beschreibung
getType() String Gibt den Namen der Barcode Klasse ohne den Namespace zurück (z.B. gibt Zend_Barcode_Object_Code39 einfach "code39" zurück)
getRawText() String Gibt den originalen Text zurück der beim Objekt angegeben wurde
getTextToDisplay() String Gibt den Text zurück welche angezeigt wird, inklusive, wenn aktiviert, den Wert der Checksumme
getQuietZone() Integer Gibt die Größe des Raumes an der vor und nach dem Barcode benötigt wird und keine Zeichnung enthält
getInstructions() Array Gibt die Zeichenanweisungen als Array zurück.
getHeight($recalculate = false) Integer Gibt die Höhe des Barcodes berechnet nach einer möglichen Rotation zurück
getWidth($recalculate = false) Integer Gibt den Wert des Barcodes berechnet nach einer möglichen Rotation zurück
getOffsetTop($recalculate = false) Integer Gibt die oberste Position des Barcodes berechnet nach einer möglichen Rotation zurück
getOffsetLeft($recalculate = false) Integer Gibt die linke Position des Barcodes berechnet nach einer möglichen Rotation zurück

Beschreibung der ausgelieferten Barcodes

Anbei findet man detailierte Informationen über alle Barcode Typen welche standardmäßig mit Zend Framework ausgeliefert werden.

Zend_Barcode_Object_Error

Dieser Barcode ist ein spezieller Fall. Er wird intern verwendet um eine Exception automatisch darzustellen wenn diese von der Zend_Barcode Komponente gefangen wird.

Zend_Barcode_Object_Code25

  • Name: Code 25 (oder Code 2 of 5 oder Code 25 Industrial)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: Optional (Modulo 10)

  • Länge: Variabel

Es gibt keine speziellen Optionen für diesen Barcode.

Zend_Barcode_Object_Code25interleaved

Dieser Barcode erweitert Zend_Barcode_Object_Code25 (Code 2 of 5). Er hat die gleichen Details und Optionen und fügt folgendes hinzu:

  • Name: Code 2 of 5 Interleaved

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: Optional (Modulo 10)

  • Länge: variabel (immer eine gerade Anzahl an Zeichen)

Vorhandene Optionen:

Tabelle 16. Optionen für Zend_Barcode_Object_Code25interleaved

Option Datentyp Standardwert Beschreibung
withBearerBars Boolean FALSE Zeichnet eine dicke Linie am Beginn und Ende des Barcodes.

Anmerkung

Wenn die Anzahl der Zeichen nicht gerade ist, wird Zend_Barcode_Object_Code25interleaved fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Ean2

Dieser Barcode erweitert Zend_Barcode_Object_Ean5 (EAN 5) und hat die gleichen Details und Optionen, und fügt die folgenden hinzu:

  • Name: EAN-2

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: nur intern verwendet aber nicht dargestellt

  • Länge: 2 Zeichen

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 2 ist, wird Zend_Barcode_Object_Ean2 fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Ean5

Dieser Barcode erweitert Zend_Barcode_Object_Ean13 (EAN 13) und hat eigene Details und Optionen und fügt die folgenden hinzu:

  • Name: EAN-5

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: nur intern verwendet aber nicht dargestellt

  • Länge: 5 Zeichen

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 5 ist, wird Zend_Barcode_Object_Ean5 fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Ean8

Dieser Barcode erweitert Zend_Barcode_Object_Ean13 (EAN 13) und hat eigene Details und Optionen und fügt die folgenden hinzu:

  • Name: EAN-8

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 8 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 8 ist, wird Zend_Barcode_Object_Ean8 fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Ean13

  • Name: EAN-13

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 13 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 13 ist, wird Zend_Barcode_Object_Ean13 fehlende Nullen dem Barcode Text automatisch voranstellen.

Die Option withQuietZones hat bei diesem Barcode keinen Effekt

Zend_Barcode_Object_Code39

  • Name: Code 39

  • Erlaubte Zeichen: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ -.$/+%'

  • Checksumme: Optional (Modulo 43)

  • Länge: Variabel

Anmerkung

Zend_Barcode_Object_Code39 fügt automatisch die Start und Stop Zeichen ('*') hinzu.

Es gibt keine speziellen Optionen für diesen Barcode.

Zend_Barcode_Object_Identcode

Dieser Barcode erweitert Zend_Barcode_Object_Code25interleaved (Code 2 of 5 Interleaved), und enthält einige seiner Fähigkeiten; er hat auch selbst einige spezielle.

  • Name: Identcode (Deutsche Post Identcode)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: zwingend (Modulo 10 aber unterschiedlich von Code25)

  • Länge: 12 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 12 ist, wird Zend_Barcode_Object_Identcode fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Itf14

Dieser Barcode erweitert Zend_Barcode_Object_Int25 (Code 2 of 5 Interleaved), und erweitert einige seiner Möglichkeiten; er hat auch selbst einige spezielle.

  • Name: ITF-14

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: zwingend (Modulo 10)

  • Länge: 14 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 14 ist, wird Zend_Barcode_Object_Itf14 fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Leitcode

Dieser Barcode erweitert Zend_Barcode_Object_Identcode (Deutsche Post Identcode), und enthält einige seiner Möglichkeiten; er hat auch einige eigene Möglichkeit.

  • Name: Leitcode (Deutsche Post Leitcode)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: zwingend (Modulo 10 unterschiedlich zu Code25)

  • Länge: 14 Zeichen (inklusive der Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 14 ist, wird Zend_Barcode_Object_Leitcode fehlende Nullen dem Barcode Text automatisch voranstellen.

Zend_Barcode_Object_Planet

  • Name: Planet (PostaL Alpha Numeric Encoding Technique)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 12 oder 14 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Zend_Barcode_Object_Postnet

  • Name: Postnet (POSTal Numeric Encoding Technique)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 6, 7, 10 oder 12 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Zend_Barcode_Object_Royalmail

  • Name: Royal Mail oder RM4SCC (Royal Mail 4-State Customer Code)

  • Erlaubte Zeichen: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'

  • Checksumme: erforderlich

  • Länge: variabel

Es gibt keine speziellen Optionen für diesen Barcode.

Zend_Barcode_Object_Upca

Dieser Barcode erweitert Zend_Barcode_Object_Ean13 (EAN 13) und erweitert einige seiner Möglichkeiten; er hat auch selbst einige.

  • Name: UPC-A (Universal Product Code)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 12 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 12 ist, wird Zend_Barcode_Object_Upca fehlende Nullen dem Barcode Text automatisch voranstellen.

Die Option withQuietZones hat bei diesem Barcode keinen Effekt

Zend_Barcode_Object_Upce

Dieser Barcode erweitert Zend_Barcode_Object_Upca (UPC-A), und verwendet einige seiner Fähigkeiten; er hat auch einige eigene. Das erste Zeichen des zu kodierenden Textes ist das System (0 oder 1). und enthält einige seiner Möglichkeiten; er hat auch einige eigene Möglichkeit.

  • Name: UPC-E (Universal Product Code)

  • Erlaubte Zeichen: '0123456789'

  • Checksumme: erforderlich (Modulo 10)

  • Länge: 8 Zeichen (inklusive Checksumme)

Es gibt keine speziellen Optionen für diesen Barcode.

Anmerkung

Wenn die Anzahl der Zeichen kleiner als 8 ist, wird Zend_Barcode_Object_Upce fehlende Nullen dem Barcode Text automatisch voranstellen.

Anmerkung

Wenn das erste Zeichen des zu kodierenden Textes nicht 0 oder 1 ist, ersetzt Zend_Barcode_Object_Upce dieses automatisch durch 0.

Die Option withQuietZones hat bei diesem Barcode keinen Effekt