Barcode Forge - Developer Edition

Nachfolgend wird die erweiterte Funktionalität der "Developer Edition" beschrieben. Sie finden diesen Abschnitt auch in der mitgelieferten Programmdokumentation.

Der Unterschied zur Standard Edition

Barcode Forge gibt es in zwei verschiedenen Editionen: Standard und Developer. Der Unterschied zwischen den beiden Editionen liegt in deren Funktionsumfang, der sich zusammengefasst wie folgt beschreiben lässt: Die Developer Edition bringt den vollständigen Funktionsumfang der Standard Edition mit, bietet darüber hinaus aber auch noch eine Zusatzfunktionalität, die es erlaubt, das Programm aus anderen Anwendungen heraus anzusprechen, um Druckaufträge zu übergeben. Beim Anwender werden zur Nutzung dieser Funktionalität grundlegende Kenntnisse einer geeigneten Programmiersprache vorausgesetzt. Die Funktionalität wird nachfolgend anhand eines Beispiels beschrieben und kann vor dem Kauf anhand der Shareware-Version weitgehend uneingeschränkt getestet werden.

Das Prinzip

Die aufrufende Anwendung schreibt die zu druckenden Daten in eine XML-Datei, deren Dateipfad sie anschließend per Kommandozeile als Parameter an Barcode Forge übergibt. Als weiterer Parameter wird eine Barcode Forge-Projektdatei übergeben, welche das Etikettenlayout enthält. Die Druckdaten werden von Barcode Forge in das Etikettenlayout eingepflegt, wonach schließlich im Hintergrund der Druck stattfindet.

Ein Beispiel

Der besagte Kommandozeilenaufruf hat dabei in etwa wie folgt auszusehen:
bcf.exe "C:\Meine Vorlagen\Etikettvorlage.bcfp" "C:\TEMP\Druckauftrag.xml"
Erläuterung: Die erste Datei im Aufruf ist das Barcode Forge-Projekt, welches das vorgefertigte Layout des Etiketts (im Projektbereich "Label") sowie die Felddefinitionen (= Spaltennamen der Tabelle im Projektbereich "Daten") enthält. Diese Datei müssen Sie vorher im regulären (GUI-)Modus von Barcode Forge erzeugt haben, sie muss also bereits fertig vorliegen. Die zweite Datei ist eine XML-Datei, welche die zu druckenden Daten enthält, mit denen das oder die Etiketten befüllt und gedruckt werden sollen. Diese XML-Datei wird typischerweise von der aufrufenden Anwendung erzeugt.

Nachfolgend das Beispiel einer solchen XML-Druckauftragsdatei, die 2 Datensätze mit jeweils 3 Feldern zum Drucken übergibt. Dabei sollen pro Datensatz jeweils 3 Etiketten hergestellt werden. Zum Drucken soll der Standard-Druckdienst verwendet werden.
<?xml version="1.0" encoding="ISO-8859-1"?>

<printjob labelsperrow="3" printdirection="vertical" startpositionx="2" startpositiony="4">

  <printservice name=""/>

  <fieldmap>
    <field>ArtikelNr</field>
    <field>Bezeichnung</field>
    <field>Gewicht</field>
  </fieldmap>

  <data>
    <row>
      <cell>123</cell>
      <cell>Apfel</cell>
      <cell>200</cell>
    </row>
    <row>
      <cell>456</cell>
      <cell>Orange</cell>
      <cell>180</cell>
    </row>
  </data>

</printjob>

Erläuterung der einzelnen Elemente und Attribute

Die zum Wurzelelement printjob gehörenden und allesamt optionalen Attribute enthalten Parameter für den aktuellen Druckauftrag. labelsperrow definiert die Anzahl Etiketten, die pro Datensatz gedruckt werden sollen. Default-Wert ist 1. printdirection bestimmt die Druckrichtung, wenn auf Etikettenbögen gedruckt wird. Mögliche Werte sind "horizontal" (default) und "vertical". startpositionx und startpositiony legen bei Bedarf die Position des ersten zu bedruckenden Etiketts auf dem Etikettenbogen fest, beginnend jeweils mit 1, was auch der Default-Wert ist.

Das printservice-Element spezifiziert den zu verwendenden Druckdienst und ist ebenso wie alle anhängenden Attribute des Elements (aktuell gibt es davon nur eines, nämlich name) optional. Zur Ansteuerung eines bestimmten Druckers muss das name-Attribut dessen Namen enthalten (Groß-/Kleinschreibung ist zu berücksichtigen). Der Standard-Drucker lässt sich zusätzlich mit "default" und "" (Leerstring) auswählen. (Hinweis: Mit "Standard-Drucker" ist an dieser Stelle ausnahmsweise mal nicht der Druckdienst gemeint, der unter Ihrem Betriebssystem als Standard definiert ist, sondern derjenige, den Sie im GUI-Modus von Barcode Forge als den zu verwendenden Drucker selbst auswählen können. Mehr zur Druckerkonfiguration lesen sie bitte im entsprechenden Kapitel.)

Im fieldmap-Element werden Zuordnungen von Feldnamen eines Barcode Forge-Projektes zu Spaltennummern der Datensätze innerhalb der aktuellen XML-Druckauftragsdatei hergestellt. So wird z.B. im ersten field-Subelement das Feld innerhalb des Barcode Forge-Projektes referenziert, in welches jeweils der erste Wert eines Datensatzes eingepflegt wird, usw. Wird das fieldmap-Element weggelassen, so gilt die gemeinsame Position als Verknüpfung.

Das data-Element enthält schließlich die "eigentlichen" Druckdaten in Form von keinem, einem oder mehreren row-Subelementen, die wiederum aus keinem, einem oder mehreren cell-Subelementen bestehen können.

Ein weiteres Attribut

Nicht im obigen Beispiel abgebildet: Das row-Element kann zusätzlich das optionale Attribut labels besitzen. Damit lässt sich die zu druckende Menge Etiketten für den jeweiligen Datensatz individuell vorgeben. Fehlt das Attribut, dann bestimmt das bereits beschriebene labelsperrow-Attribut die Menge.

Fehlerbehandlung

Beim Beenden liefert Barcode Forge an das Betriebssystem einen sogenannten Exit Code zurück (in der Programmierung von Batch-Dateien auch als ERRORLEVEL bezeichnet). Der Exit Code ist im Allgemeinen eine Ganzzahl, welche Auskunft darüber gibt, auf welche Weise und mit welchem Ergebnis ein Programm beendet wurde. Programmiersprachen, welche in der Lage sind, (externe) Prozesse zu starten, stellen idR. auch Funktionen bzw. Methoden zum Abfragen des Exit Codes nach Beendigung eines Prozesses zur Verfügung. Ein aufrufendes Programm kann sich dieser Funktionen bedienen, um auf mögliche Zustände/Fehler angemessen zu reagieren.

Folgende Werte kann Barcode Forge als Exit Code zurückliefern:
0 - Programm wurde erfolgreich ausgeführt und beendet
101 - Projektdatei nicht gefunden
102 - XML-Druckauftragsdatei nicht gefunden
103 - I/O-Fehler beim Laden der Projektdatei / Korrupte Projektdatei
104 - I/O-Fehler beim Laden der XML-Druckauftragsdatei
105 - Korrupte XML-Druckauftragsdatei / kein wohlgeformtes XML
201 - Horizontale Startposition außerhalb des zulässigen Bereichs
202 - Vertikale Startposition außerhalb des zulässigen Bereichs
203 - Druckdienst/Drucker (mit dem übergebenen Namen) nicht gefunden
301 - Fehler beim Drucken
Standardmäßig zeigt Barcode Forge bei Auftreten eines Fehlers zusätzlich einen Fehlerdialog an. Soll die Fehlerbehandlung vollständig an die aufrufende Anwendung übertragen werden, so kann das Anzeigen von Fehlerdialogen mit Hilfe des optionalen Kommandozeilenparameters "showerrors" unterdrückt werden:
bcf.exe -showerrors=no "C:\Vorlagen\Etikettvorlage.bcfp" "C:\TEMP\Druckauftrag.xml"
Das Standardverhalten (Anzeigen von Fehlermeldungen) kann durch das Setzen von "showerrors" auf einen beliebigen anderen Wert (z.B. "yes") oder durch das schlichte Weglassen des Parameters erreicht werden.
PROGRAMME :: Barcode ForgeInfos + DownloadDeveloper EditionBarcode-InfosFragen & AntwortenBarcode-SchriftartNeuerungenBarcode VectorizerNewsletter Genius1A BildsaugerSecure Diary
NAVIGATION :: StartseiteBestellenSupportReferenzenAGBImpressum
© 2004-2017 by Viktor Wedel Software Design