Barcode Parameter

Mit dem Webservice "Barcode" können Barcodes in PDF-Dokumenten erstellt oder erkannt werden.

 

Mit dem Element "<add>" werden Barcodes hinzugefügt, während mit dem Element "<detect>" vorhandene Barcodes ausgelesen werden.

 

add-Operation

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<operation xmlns="http://schema.webpdf.de/1.0/operation">
<barcode>
  <add>
    <aztec value="https://www.webpdf.de/"
          pages=""
          charset="utf-8"
          errorCorrection="7"
          layers="0"
          margin="0"
          rotation="0">
      <position
              x="0"
              y="0"
              width="0"
              height="0"
              coordinates="user"
              metrics="mm"/>
    </aztec>
  </add>
</barcode>
</operation>

 

{
"barcode": {
  "add":{
    "aztec":{
      "value":"https://www.webpdf.de/",
      "pages":"",
      "charset":"utf-8",
      "errorCorrection":7,
      "layers":0,
      "margin":0,
      "rotation":0,
      "position": {
        "x": 0,
        "y": 0,
        "width": 0,
        "height": 0,
        "coordinates": "user",
        "metrics": "mm"
       }
     }
   }
 }
}

 

add-Element

 

Fügt dem Dokument einen neuen Barcode hinzu.

 

<add>
<aztec value="https://www.webpdf.de/"
        pages=""
        charset="utf-8"
        errorCorrection="7"
        layers="0"
        margin="0"
        rotation="0">
  <position ... />
</aztec>
</add>

"add":{
"aztec":{
    "value":"https://www.webpdf.de/",
    "pages":"",
    "charset":"utf-8",
    "errorCorrection":7,
    "layers":0,
    "margin":0,
    "rotation":0,
    "position": {...}
  }
}

 

In dem "<add>" Element können einer oder mehrere Unter-Elemente angegeben werden die Barcodes definieren. Zulässige Elemente sind:

 

aztec

codabar

code128

code39

datamatrix

ean13

ean8

itf

pdf417

qrcode

upca

 

Alle Barcode Elemente haben einige gemeinsame Basis-Attribute, die nachfolgend beschrieben werden.

 

value (Default: "")

Enthält den Wert der im Barcode kodiert werden soll. Abhängig vom gewählten Barcode Format, können bestimmte Kriterien für den Aufbau der Daten bestehen. Eine Beschreibung finden Sie unter "Barcodes"

 

pages (Default: "")

Der Seitenbereich für die Erstellung von Barcodes. Dabei sind einzelne Seiten oder Bereiche definierbar. Ist der Text leer, so wird die gesamte Datei exportiert (Bsp.: "1-10" oder "1,2,5-10")

 

charset (Default: "utf-8")

 Gibt den Zeichensatz an, in dem die Inhalte des Barcodes abgelegt werden sollen.

 

rotation (Default: 0)

 Gibt die Rotation des Barcodes in 90 Grad Schritten an. Für Werte die keinen vollen 90 Grad Schritt darstellen wird der nächstliegende gültige Schritt gewählt.

 

margin (Default: 0)

 Gibt die Breite des leeren Rahmens an, der um den Barcode herum erzeugt werden soll.

 

 

Neben den gemeinsamen Basis-Attributen gibt es eine Einstellungen, die nur für einzelne Barcodes gültig sind. Nachfolgend werden diese Einstellungen beschrieben.

 

aztec-Element

 

<aztec value="https://www.webpdf.de/"
      ...
      errorCorrection="7"
      layers="0">

       ...
</aztec>

"aztec":{
   ...
  "errorCorrection":7,
  "layers":0,

   ...
}

 

errorCorrection (Default: 7)

Passt das Fehlerkorrekturniveau für erstellte Aztec Codes an. Je höher dieses Niveau ist, desto Fehler resistenter ist der Barcode, womit auch beschädigte Codes trotz allem noch immer lesbar bleiben. Es sind prozentuale Angaben von einem bis hundert Prozent möglich.

 

layers (Default: 0)

Legt die Anzahl an Ebenen fest, die der erstellte Aztec Code nutzen soll, je höher diese Zahl gewählt wird, desto größer wird der resultierende Barcode und dessen Kapazität.

"-4" bis "-1" = kompakter Aztec Code mit einer minimalen Kapazität von 13 Ziffern oder 12 Buchstaben und einer Fläche von 15 mal 15 Pixeln.

"0" = Ein Standard Aztec Code der dahingehend optimiert wird die minimal mögliche Anzahl an Ebenen zu nutzen für den zu encodierenden Wert.

"1" bis "32" = Ein Standard Aztec Code mit einer maximalen Kapazität von 3832 Ziffern oder 3067 Buchstaben und einer Fläche von 151 mal 151 Pixeln.

 

datamatrix-Element

 

<datamatrix value="https://www.webpdf.de/"
      ...
      errorCorrection="2"
      shape="default">
       ...
</datamatrix>

"datamatrix":{
   ...
  "errorCorrection":2,
  "shape":"default",

   ...
}

 

errorCorrection (Default: 2)

Passt das Fehlerkorrekturniveau für erstellte Datamatrix Codes an. Je höher dieses Niveau ist, desto Fehler resistenter ist der Barcode, womit auch beschädigte Codes trotz allem noch immer lesbar bleiben. Es ist die Angabe eines Niveaus von 1 bis 8 möglich.

 

shape (Default: "default")

 Ermöglicht es eine bestimmte Form für erstellte Datamatrix Codes zu erzwingen.

default = Wähle eine angemessene Form.

rectangle = Erzwinge eine rechteckige Form.

square = Erzwinge eine quadratische Form.

 

qrcode-Element

 

<qrcode value="https://www.webpdf.de/"
      ...
      errorCorrection="h"
      ...
</qrcode>

"qrcode":{
   ...
  "errorCorrection":"h",

   ...
}

 

errorCorrection (Default: "l")

Passt das Fehlerkorrekturniveau für erstellte QR Codes an. Je höher dieses Niveau ist, desto Fehler resistenter ist der Barcode, womit auch beschädigte Codes trotz allem noch immer lesbar bleiben.

l = Low

m = Medium

q = Quartile

h = High

 

pdf417-Element

 

<pdf417 value="https://www.webpdf.de/"
    ...
    errorCorrection="2"
    compact="true"
    compactionMode="auto"
    shape="default"
    dataCodewordsMax=""
    dataCodewordsMin=""
    symbolsPerCodewordMax=""
    symbolsPerCodewordMin=""
    ...
</pdf417>

"pdf417":{
  ...
  errorCorrection:2,
  compact:true,
  compactionMode:"auto",
  shape:"default",
  dataCodewordsMax:"",
  dataCodewordsMin:"",
  symbolsPerCodewordMax:"",
  symbolsPerCodewordMin:"",

  ...
}

 

errorCorrection (Default: 2)

Passt das Fehlerkorrekturniveau für erstellte PDF417 Codes an. Je höher dieses Niveau ist, desto Fehler resistenter ist der Barcode, womit auch beschädigte Codes trotz allem noch immer lesbar bleiben. Es ist die Angabe eines Niveaus von 1 bis 8 möglich.

 

compact (Default: false)

Wenn dieser Wert auf "true" gesetzt wird, werden die Inhalte sämtlicher generierten PDF 417 Barcodes entsprechend der über das Attribut "compactionMode" gewählten Kodierung komprimiert.

 

compactionMode (Default: "auto")

Wenn die Komprimierung von PDF 417 Barcodes mittels des Attributes "compact" aktiviert wurde, wird die hier gewählte Codierung für die Komprimierung erstellter PDF 417 Barcodes genutzt.

auto = Versuche automatisiert die best geeignetste Encodierung zu ermitteln.

byte = Wähle eine Byte Codierung in der je 5 Codewörter 6 Bytes repräsentieren.

numeric = Wähle eine nummerische Codierung in der eine Gruppe von je 15 Codewörtern bis zu 44 Dezimalziffern repräsentiert.

text = Wähle eine Text Codierung in der jedes Codewort bis zu 2 Buchstaben repräsentiert.

 

shape (Default: "default")

 Ermöglicht es eine bestimmte Form für erstellte pdf417 Codes zu erzwingen.

default = Wähle eine angemessene Form.

rectangle = Erzwinge eine rechteckige Form.

square = Erzwinge eine quadratische Form.

 

dataCodewordMax

Gibt die Anzahl der Codeworte an, die maximal in einer Zeile des PDF417 Codes encodiert sein dürfen.

 

dataCodeWordMin

Gibt die Anzahl der Codeworte an, die minimal in einer Zeile des PDF417 Codes encodiert sein dürfen.

 

symbolsPerCodewordMax

Legt die Anzahl der Codezeichen fest, die maximal in einem Codewort des PDF417 Codes enthalten sein dürfen.

 

symbolsPerCodewordMin

Legt die Anzahl der Codezeichen fest, die minimal in einem Codewort des PDF417 Codes enthalten sein dürfen.

 

 

position-Element

 

Mit diesem Eintrag wird die Position und Größe des Barcodes bestimmt. Bitte beachten Sie, das dieser Bereich für den gewählten Barcode groß genug ist. Manche Barcodes benötigen eine Mindestplatz zur Darstellung. Sollte der Bereich nicht ausreichen, dann kann es zu einem Fehler führen. Außerdem gilt es zu beachten, das der gewählte Bereich nicht immer zu 100% ausgefüllt wird durch den Barcode, wenn dieser bestimmte Größen- und Darstellungsverhältnisse einhalten muss.

 

<position
      x="0"
      y="0"
      width="0"
      height="0"
      coordinates="user"
      metrics="mm"/>

"position": {
  "x": 0,
  "y": 0,
  "width": 0,
  "height": 0,
  "coordinates": "user",
  "metrics": "mm"
}

 

x (Default: 0)

X-Position des Barcodes.

 

y (Default: 0)

Y-Position des Barcodes

 

width (Default: 0)

Breite des Barcodes

 

height (Default: 0)

Höhe des Barcodes

 

coordinates (Default: "user")

Legt das Koordinatensystem für die Angaben fest.

user = User-Koordinatensystem (Ausgangspunkt links-oben)

pdf = PDF-Koordinatensystem (Ausgangspunkt rechts-unten)

 

metrics (Default:"mm")

Maßeinheit für die Angaben der X/Y-Position und der Höhe und Breite des Barcodes:

mm = Millimeter

px = Pixel

 

 

detect-Operation

 

Mit dieser Operation wird die Erkennung von Barcodes definiert. Es wird versucht, in dem über "<scanArea>" festgelegten Bereich Barcodes zu finden. Die Erkennung wird über "<selection>" gesteuert.

 

hint

Definieren Sie den Erkennungsbereich (z.B. nur einen Teilbereich einer Seite) und die Anzahl der Seiten nicht zu groß, da die Erkennung sehr rechenintensiv ist und es somit sonst zu einer langer Ausführungszeit kommen kann.

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<operation xmlns="http://schema.webpdf.de/1.0/operation">
<barcode>
  <detect inputFormat="pdf" outputFormat="xml">
    <selection formats=""
              charset="utf-8"
              pages=""
              allowedLengths=""
              barcode39CheckDigit="true"
              codabarStartEndDigits="true"
              gs1="true"
              pureBarcode="true"
              resolution="200"
              tryHarder="true"
              upcEanExtensions="">
      <scanArea x="0"
                y="0"
                width="100"
                height="100"
                coordinates="user"
                metrics="mm"/>
    </selection>
  </detect>
</barcode>
</operation>

{
"barcode": {
  "detect":{
    "inputFormat":"pdf",
    "outputFormat":"xml",
    "selection":{
      "formats":"",
      "charset":"utf-8",
      "pages":"",
      "allowedLengths":"",
      "barcode39CheckDigit":true,
      "codabarStartEndDigits":true,
      "gs1":true,
      "pureBarcode":true,
      "resolution":200,
      "tryHarder":true,
      "upcEanExtensions":""
     },
    "scanArea":{
      "x": 0,
      "y": 0,
      "width": 100,
      "height": 100,
      "coordinates": "user",
      "metrics": "mm"
     }
   }
 }
}

 

detect-Element

 

Definiert die Ein- und Ausgabeformate für die Erkennung.

 

<detect inputFormat="pdf" outputFormat="xml">
     ...
</detect>

"detect":{
  "inputFormat":"pdf",
  "outputFormat":"xml",
  ...
}

 

inputFormat (Default: "pdf")

Wählt das Format der Datei deren Inhalt nach Barcodes durchsucht werden soll.

pdf = PDF-Dokument

img = Grafik-Dokument (JPG, PNG, TIF)

 

outputFormat (Default: "json")

Wählt das Format in dem die Erkennungsergebnisse strukturiert zurück gegeben werden sollen.

json = JSON

xml = XML

 

selection-Element

 

Über diesen Bereich wird die Erkennung gesteuert. Es werden auch Einstellungen gesetzt, die nur für bestimmte Barcode-Typen gelten.

 

<selection formats=""
    charset="utf-8"
    pages=""
    allowedLengths=""
    barcode39CheckDigit="true"
    codabarStartEndDigits="true"
    gs1="true"
    pureBarcode="true"
    resolution="200"
    tryHarder="true"
    upcEanExtensions="">
  <scanArea ... />
</selection>

"selection":{
"formats":"",
"charset":"utf-8",
"pages":"",
"allowedLengths":"",
"barcode39CheckDigit":true,
"codabarStartEndDigits":true,
"gs1":true,
"pureBarcode":true,
"resolution":200,
"tryHarder":true,
"upcEanExtensions":""

 ...
},

 

formats

Definiert die Liste der Barcodes (getrennt durch Komma), nach denen gesuchten werden soll. Es muss mindestens ein Barcode-Format angegeben, da sonst keine Suche ausgeführt wird. Die Namen entsprechen den Einträgen, die bei "<add>" verwendet werden. Mögliche Namen der Barcodes:

qrcode

aztec

codabar

code128

code39

datamatrix

ean13

ean8

itf

pdf417

upca

 

charset (Default: "utf-8")

Gibt den Zeichensatz an, in dem die Inhalte des Barcodes abgelegt sind.

 

pages (Default: "")

Der Seitenbereich für den die Erkennung von Barcodes durchgeführt werden soll. Dabei sind einzelne Seiten oder Bereiche definierbar. Ist der Text leer, so wird die gesamte Datei exportiert (Bsp.: "1-10" oder "1,2,5-10")

 

allowedLengths (Default: "")

Wird dieser Wert gesetzt, beschränkt er die möglichen Längen encodierter Werte. Barcodes mit einer nicht gelisteten Länge werden somit ignoriert. (Beispiel: "13,8,25")

 

barcode39CheckDigit (Default: false)

Wird dieser Wert auf "true" gesetzt, so wird davon ausgegangen, dass alle erkannten Code39 Barcodes eine korrekte Prüfziffer enthalten.

 

codabarStartEndDigits (Default: false)

Wenn dieser Wert auf "true" gesetzt wird, werden die Start und End Ziffern von erkannten Codabar Barcodes bei der Erkennung mit ausgelesen, statt sie zu entfernen.

 

gs1 (Default: false)

Wird dieser Wert auf "true" gesetzt, so wird davon ausgegangen dass es sich bei allen erkannten Barcodes um GS1 konforme Barcodes handelt, das Verhalten und die Arbeitsweise aller Vorgänge wird dann dementsprechend angepasst. (Also beispielsweise die Behandlung des Zeichens FNC1 im Fall von Code 128)

 

pureBarcode (Default: false)

Wenn dieser Wert auf "true" gesetzt wird, wird davon ausgegangen, dass das untersuchte Quelldokument (begrenzt durch "<scanArea>") keine weiteren Elemente außer dem Barcode enthält. Diese Option kann die Erkennung stark beschleunigen. Sollten allerdings andere Elemente vorhanden sein und die Option wurde aktiviert, kann dies eine Erkennung komplett verhindern.

 

resolution (Default: 200)

Wählt die Auflösung für den Erkennungsvorgang, abhängig von Format und Qualität des Barcodes können niedrigere oder höhere Werte zu besseren Ergebnissen führen - höhere Werte bedeuten in jedem Fall eine langsamere Verarbeitung.

 

tryHarder (Default: true)

Wenn dieser Wert auf "true" gesetzt wird, wird mehr Rechenzeit investiert, um eine erfolgreiche Erkennung zu gewährleisten. Beispielsweise wird auch entlang der vertikalen Achse nach Barcodes durchsucht.

 

upcEanExtensions (Default: "")

Wird dieser Wert gesetzt, beschränkt er die möglichen Längen encodierter EAN und UPC Barcode Extensions. Barcodes mit einer nicht gelisteten Extension Länge werden somit ignoriert. (Beispiel: "2,5")

 

scanArea-Element

 

Mit diesem Element wird der Bereich für die Erkennung der Barcodes festgelegt. Ein solcher Bereich muss immer angegeben werden. Desto exakter Sie diesen Bereich festlegen können, desto schneller arbeitet die Erkennung und die Anzahl der Fehlerkennungen wird reduziert.

 

<scanArea x="0"
        y="0"
        width="100"
        height="100"
        coordinates="user"
        metrics="mm"/>

"scanArea":{
  "x": 0,
  "y": 0,
  "width": 100,
  "height": 100,
  "coordinates": "user",
  "metrics": "mm"
}  

 

x (Default: 0)

X-Position des Bereichs.

 

y (Default: 0)

Y-Position des Bereichs

 

width (Default: 0)

Breite des Bereichs

 

height (Default: 0)

Höhe des Bereichs

 

coordinates (Default: "user")

Legt das Koordinatensystem für die Angaben fest.

user = User-Koordinatensystem (Ausgangspunkt links-oben)

pdf = PDF-Koordinatensystem (Ausgangspunkt rechts-unten)

 

metrics (Default:"mm")

Maßeinheit für die Angaben der X/Y-Position und der Höhe und Breite des Bereichs:

mm = Millimeter

px = Pixel