ImageParser Syntax

Der ImageParser (#ImageParser) ist ein Modul von CodX PostOffice um die Verarbeitung von Bildern zu steuern. Ein XML-Konfigurationsfile gibt an, wie das Bild verarbeitet werden soll.

Die XML-Datei besteht aus Regeln (ParserRule) mit Bildelementen (Element) und Auswertungs-Kriterien (Criteria).

Beispiel ImageParser Konfigurationsfile

<ImageParser Name="Parser 1" Timeout="10000" Reference="SN-AZD, FE" Remark="Das ist eine Bemerkung">
  <ParserRule Name="Rolle 1" Rotate="0, 30, 60, 90" Origin="top_left" Trim="Bottom, Right" FirstPage="1" LastPage="3">
    <Element Name="Element 1" x="100 px" y="200 px" h="50 mm" w="40 mm" Type="Text" Rotate="0, 90, 180, 270" ValidValue="[a-z]+" Prerequisite="Mandatory" SBB-CF="Alternativcode"></Element>
    <Element Name="Element 2" x="200 px" y="400 px" h="50 mm" w="40 mm" Type="Barcode" BarcodeType="All" Rotate="0" PreProcess="BRectS" InvalidValue="(?<Invalid>[^[0-9a-zA-Z()-/\s\öäüéàèÖÄÜ])"></Element>
    <Element Name="Element 3" x="300 px" y="500 px" h="50 mm" w="40 mm" Type="UPOC" Rotate="0" ValidValue="[0-9]+"></Element>
    <Element Name="PostAdr1" Type="PostalAddress" ValidValue="[AdrLevel_City]"></Element>
    <Criteria Name="Criteria 1" Operation="AND" ElementName="Element 1" RegEx="[a-z]+"></Criteria>
    <Criteria Name="Criteria 2" Operation="AND" ElementName="Element 2" RegEx="[0-9]+"></Criteria>
    <Criteria Name="Criteria 3" Operation="OR"  ElementName="Element 3" RegEx="04[0-9]+"></Criteria>
    <Criteria Name="Criteria 3" Operation="AND" ElementName="PostAdr1" RegEx="[AdrLevel_City]"></Criteria>
  </ParserRule>
  <ParserRule Name="Rolle 2" Rotate="0, -30, -60, -90" Origin="top_left" Trim="Top">
    <Element Name="Element 1" x="100 px" y="200 px" h="50 mm" w="40 mm" Type="Text" Rotate="0, 90, 180, 270" ValidValue="[a-z]+"></Element>
    <Element Name="Element 2" x="200 px" y="400 px" h="50 mm" w="40 mm" Type="Barcode" Rotate="0" ValidValue="[a-z]+"></Element>
    <Element Name="Element 3" x="300 px" y="500 px" h="50 mm" w="40 mm" Type="UPOC" Rotate="0" ValidValue="[0-9]+"></Element>
    <
Criteria Name="Criteria 1" Operation="AND" ElementName="Element 1" RegEx="[a-z]+"></Criteria>
    <Criteria Name="Criteria 2" Operation="AND" ElementName="Element 2" RegEx="[0-9]+"></Criteria>
    <Criteria Name="Criteria 3" Operation="OR"  ElementName="Element 3" RegEx="04[0-9]+"></Criteria>
  </
ParserRule>
</
ImageParser>

Tags

Das XML-Konfigurationsfile ist wie folgt aufgebaut:

ImageParser

Enthält 1 oder mehrere Tags von 'ParserRule'.

Attribut Beschreibung
Name Name des ImageParsers
Timeout Maximale Verarbeitungszeit in Millisekunden. Wenn das Timeout erreicht ist, wird die Verarbeitung abgebrochen und kein Resultat zurückgegeben.Dieses Attribut ist optional, der Standardwert beträgt 3500 ms und der maximal erlaubte Timeout 100000 ms. Wenn der Timeout 0 oder kleiner 0 ist, wird der Timeout auf Standardwert gesetzt, wenn er grösser als der erlaubte Maximalwert ist wird er auf den Maximalwert zurückgesetzt.
Reference Referenz zum Modul/Funktion, welches diesen ImageParser einsetzt.
Wird ein ImageParser in mehreren Modulen eingesetzt, so werden die Modulnamen mit Komma getrennt aufgeführt.
Folgende Werte sind möglich:
  • R-SCAN
    CxLetterScan im Modus 'R-Scan'
    CxLetterScan im Modus 'Wartung'
    Modul R-Scan
  • SCANNER
    CxLetterScan im Modus 'Scanner'
  • CAPTURE
    CxLetterScan im Modus 'Capture'
  • SORT
    CxLetterScan im Modus 'Sort'
  • DIGITAL
    Digitalisierung
Remark Bemerkung zum ImageParser. Dieses Attribut ist optional.
SafeMode Optional, Wertebereich: 0/1 (false/true), Default: 0 (false)
Wenn 1 (true) wird der ImageParser im Safe-Mode betrieben. Dabei wird intern nur ein Thread und diverse Optmierungen für minimalen RAM-Speicherverbrauch verwendet.
Wenn das zu verarbeitende Bild mehrfarbig ist oder eine höhere Auflösung hat als im Attribut SafeModeResolution definiert, so wird das Bild vor der Analyse automatisch in ein 8-Bit Graustufenbild konvertiert.
ACHTUNG!
Verwenden Sie diese Option nur, wenn sehr grosse Bilder verarbeitet werden! Dadurch steigt die Verarbeitungsdauer stark an (ca. 5..10 mal), passen Sie entsprechend das Attribut Timeout an.
SafeModeResolution Optional, Wertebereich: 100..300 [DPI], Default: 200 [PDI].
Wird nur verwendet, wenn das Attribut SafeMode gesetzt ist.
Definiert die verwendete Bildauflösung [DPI] im Safe-Mode (siehe oben).

 

ParserRule

Enthält 1 oder mehrere Tags von 'Element' und 'Criteria'

Attribut Beschreibung
Name Name der ParserRule
Rotate Liste der Winkel, mit welchen der Wert gelesen werden soll. Die Winkel werden mit Komma getrennt.
Die Winkel steigen im Uhrzeigersinn von 0 bis 360° auf.
ACHTUNG: Jeder zusätzliche Winkel vervielfacht die Verarbeitungszeit zusätzlich!
Origin Ursprung des Bildes. Alle Koordinaten beziehen sich auf diesen Ursprung.
Mögliche Werte:
- top_left
- top_right
- bottom_left (default)
- bottom_right
Dieses Attribut ist optional.
Trim Optional. Ist dieses Attribut definiert so wird der entsprechende Teil des Bildes abgeschnitten, welcher deutlich dunkler als der Rest des Bildes ist.
Mögliche Werte sind eine Kombination folgender Werte, getrennt duch Komma:
- Top
- Bottom
- Left
- Right
FirstPage Dieses Attribut wird nur verwendet, wenn mehrere Dokumente zur gleichen Zeit verarbeitet werden, z.B. in der Digitalisierung.
Ab dieser Seite wird diese ParserRule angewandt. Ist die zu verarbeitende Seite kleiner, wird die ParserRule ignoriert.
LastPage Dieses Attribut wird nur verwendet, wenn mehrere Dokumente zur gleichen Zeit verarbeitet werden, z.B. in der Digitalisierung.
Bis zu dieser Seite wird diese ParserRule angewant. Ist die zu verarbeitende Seite grösser, wird die ParserRule ignoriert.

 

Element

Beschreibt das zu parsende Element.

Attribut Beschreibung
Name Name des Elements, muss zwingend vorhanden sein!
Die CxLetterScan erfordert zwingend je nach Modus (Use-Case) bestimmte Elemente. Siehe Online-Help des entsprechenden Modus.
Type Typ des Elements; optional, Standardwert: Text.
Folgende Typen sind möglich:
- Text: Der Ausschnitt des Elements wird mit OCR analysiert und der erkannte Text ausgegeben [*1].
- Barcode: Der Ausschnitt des Elements wird auf einen Barcode untersucht [*1].
- UPOC: Der Ausschnitt des Elements wird auf einen Barcode untersucht und geprüft, ob es sich um einen gültigen UPOC handelt (Typ, Mandant, ID, Checksumme) [*1].
- PostalAddress: Der Ausschnitt des Elements wird mit OCR und dem Adress-Tokenizer analysiert und die erkannte Adresse ausgegeben [*2]. Siehe auch Postalische Adressen.
- Subject: Im definierten Ausschnitt des Elements wird der Betreff gesucht (markanteste Textzeile), siehe Subject.
OcrEngine Optional, definiert die zu verwendenden OCR-Engines.
Enthält eine d
Default (wenn nicht vorhanden oder leer):
- Für Text-, PostalAddress- und Subject-Elemente: Tesseract
- Für Barcode- und UPOC-Elemente: ByteScout
Mögliche Werte:
- Tesseract
- CxOCRService
- ByteScout
Wenn die Engine CxOCRService verwendet wird gelten folgende Einschränkungen:
- Bnötigt Lizenz LIC_F_CX_OCR_SERVICE_OCR
- Wenn die Lizenz nicht vorhanden oder der CxOCRService ausgeschaltet ist wird automatisch Tesseract verwendet
- Kann nur für Text- und PostalAddress-Elemente verwendet werden (nicht Subject/Barcode/UPOC)
- Es können keine Styles vewendet werden
- Es sollte nur ein Winkel verwendet werden
- Kann nicht für relative Elemente verwendet werden (Parent/Child)
- Für weitere Infos siehe AdminDoc (#CxOCRService)
OverwriteMode Optional, definiert ob/wie bestehende Daten einer Sendung überschrieben werden. Default: NotEmpty
Die Regel kommt nur zur Anwendung, wenn vom ImageParser ein gültiger Wert für das Sendungsattribut gelesen wird.
Wird kein oder ein leerer Wert gelesen, so wird der Originalwert der Sendung niemals überschrieben.
Mögliche Werte:
- NotEmpty: Bestehendes Sendungsattribut nur überschreiben wenn dieses leer ist
- Never: Bestehendes Sendungsattribut niemals überschreiben
- Always: Bestehendes Sendungsattribut immer überschreiben
x X-Koordinate der oberen, linken Ecke des Elements.
Die Koordinate bezieht sich auf den Ursprung des Bildes.
Optional kann eine Einheit angegeben werden, Default = px (Pixel).
Folgende Einheiten sind möglich:
- px: Pixel (default)
- %: Prozent, bezogen auf das ganze Bild
- mm: Millimenter (nur, wenn Auflösung bekannt)
y Y-Koordinate der oberen, linken Ecke des Elements.
Die Koordinate bezieht sich auf den Ursprung des Bildes.
Optional kann eine Einheit angegeben werden, Default = px (Pixel).
Folgende Einheiten sind möglich:
- px: Pixel (default)
- %: Prozent, bezogen auf das ganze Bild
- mm: Millimenter (nur, wenn Auflösung bekannt).
h Höhe des Elements.
Optional kann eine Einheit angegeben werden, Default = px (Pixel).
Folgende Einheiten sind möglich:
- px: Pixel (default)
- %: Prozent, bezogen auf das ganze Bild
- mm: Millimenter (nur, wenn Auflösung bekannt).
w Breite des Elements.
Optional kann eine Einheit angegeben werden, Default = px (Pixel).
Folgende Einheiten sind möglich:
- px: Pixel (default)
- %: Prozent, bezogen auf das ganze Bild
- mm: Millimenter (nur, wenn Auflösung bekannt).
BarcodeType Typ des Barcodes. Nur relevant beim Typ 'Barcode'. Es können mehrere Barcode-Typen angegeben werden. Diese werden mit Komma getrennt angegeben.
Folgende Barcode-Typen sind möglich:
- All (oder keine Angabe): Es wird nach allen untenstehenden Barcode-Typen gesucht.
- All1D: Es wird nach allen 1D Barcode-Typen gesucht
- All2D: Es wird nach allen 2D Barcode-Typen gesucht
- AustralianPostCode
- Aztec
- Circular2of5
- Codabar
- CodablockF
- Code128
- Code16K
- Code39
- Code39Extended
- Code39Mod43
- Code39Mod43Extended
- Code93
- DataMatrix
- EAN13
- EAN2
- EAN5
- EAN8
- GS1
- GS1DataBarExpanded
- GS1DataBarExpandedStacked
- GS1DataBarLimited
- GS1DataBarStacked
- GS1DataBarOmnidirectional
- GTIN12 (UPC-A mit 12 Symbolen)
- GTIN13 (EAN-13)
- GTIN14 (I2of5 mit 14 digits)
- GTIN8 (EAN-8)
- IntelligentMail
- Interleaved2of5
- ITF14 (I2of5 mit 14 digits)
- MaxiCode
- MICR
- MicroPDF
- MSI
- PatchCode
- PDF417
- Pharmacode
- PostNet
- PZN
- QRCode
- RoyalMail
- RoyalMailKIX
- TriopticCode39
- UPCA
- UPCE
- UPU
Dieses Attribut ist optional, der Standardwert ist 'All'.
Rotate Optional, Default = 0 (0°).
Winkel in Grad [°], um den das Element gedreht werden muss, damit es horizontal von links nach rechst lesbar ist.
Die Winkel werden mit Komma getrennt erfasst.
Die Winkel steigen im Uhrzeigersinn von 0 bis 360° auf.
Negative Angaben sind erlaubt, diese werden automatisch in den entsprechenden positiven Winkel umgerechent, z.B- -20° = + 340°.
Die Drehung des Elements erfolgt nach der Drehung des Vollbildes (siehe Attribut Rotate von Tag ParserRule) und nach dem Ausschneiden des Elements gemäss den Attributen y,x,h, w.
ACHTUNG: Jeder zusätzliche Winkel vervielfacht die Verarbeitungszeit zusätzlich!
Um fehlerhafte Lesungen von Barcode- und insbesondere UPOC-Elementen zu vermeiden ist es wichtig, dass die möglichen Winkel korrekt definiert sind.
Die intern verwendete Barcode OCR-Engine unterstützt folgende diskreten Drehwinkel: 0°, 11°, 22°, 45°, 90°, 135°, 158°, 169°, 180°, 191°, 202°, 225°, 270°, 315°, 338°, 349°. Die angegebenen Winkel werden auf den entsprechend nächstliegenden dieser Winkel auf/abgerundet.
Zusätzliche Winkelangaben sind dann zwingend notwendig, wenn die Verdrehung grösser ist als der Arcustangens (tan-1) des Verhältnisses von Strichhöhe zu Barcodelänge.
Bsp: Strichhöhe = 10 mm, Gesamtlänge = 50 mm. Damit: Arctan(10/50)=11,3°. Also: Wenn der Barcode um mehr als 11° verdreht sein kann muss der Wert 11 als Drehwinkel hinzugefügt werden.
PreProcess Optional, Vorverarbeitung des Bildes für Barcode OCR-Lesung, ist nur für den Type Barcode verfügbar! Standardwert: <leer> (keine Vorverarbeitung)
Folgende Vorverarbeitungen sind möglich:
- BRectS: Ausschneiden von kleinen genutzten Bereichen und einzelne Verarbeitung. Verbessert die Lesung von Barcodes und DataMatrix. Lange Verarbeitungsdauer.
- BRectM: Ausschneiden von mittleren genutzten Bereichen und einzelne Verarbeitung. Verbessert die Lesung von Barcodes und DataMatrix. Mittlere Verarbeitungsdauer.
- BRectL: Ausschneiden von grossen genutzten Bereichen und einzelne Verarbeitung. Verbessert die Lesung von Barcodes und DataMatrix. Kurze Verarbeitungsdauer.
ValidValue RegEx-Ausdruck, welcher einen gültigen Wert des Elements definiert. Das Element hat nur dann einen gültigen Wert, wenn dieser gemäss dem RegEx-Ausdruck geprüft wurde. Ansonsten ist der Wert des Elements leer.
Nicht zu verwechseln mit 'RegEx' vom Kriterium.
Ist das Attribut 'ValidValue' nicht angegeben oder leer, so gelten folgende Default-Werte:
- Text: "[0-9,a-z,A-Z]+"
- Barcode: "[0-9,a-z,A-Z]+"
- UPOC: <leer>, der Wert wird durch Verifizierung der UPOC-Syntax geprüft. Wenn ein RegEx angegeben ist, so wird dieser zusätzlich nach der UPOC-Syntax ausgewertet.
InvalidValue RegEx-Ausdruck, welcher alle ungültigen Werte eines Elements definiert. Das Element darf keinen dieser ungültigen Werte enthalten, in diesem Fall ist das Element gültig. Wenn dieses Element erfasst ist, hat dieses Vorrang vor dem Element "ValidValue".
Ist das Attribut 'InvalidValue' nicht angegeben oder leer, so bleibt der Default-Wert leer und die Regel für 'ValidValue' ist aktiv.
OCRMinConfidence Optional, Default = 0, nur für die Typen Text und PostalAddress verfügbar.
Das Attribut definiert, welche minimale Qualität (Confidence) der komplette, von der OCR-Erkennung erkannte Text für die weitere Verarbeitung mindestens haben muss. Die globale Einstellung xxx wird in jedem Fall für jede einzelne Zeile angewendet!
Bereich: 0% .. 100%
Gut erkannte Texte haben eine Confidence >= 50%, schlechte  < 30%.
Prerequisite Dieses Attribut kommt nur bei der Digitalisierung zur Anwendung. Es definiert, ob der Wert dieses Elementes zwingend vorhanden sein muss, um die Digitalisierung abzuschliessen. Wenn das Element nicht gefunden wird, muss zwingend eine manuelle Nachbearbeitung oder Erfassung erfolgen.
Folgende Werte sind möglich:
- Optional
- Mandatory
- None
SBB-CF Definiert den Namen des SBB-Custfields (Erweiterte Sendungattribute) in welches der ermittelte Wert des Elementes gespeichert werden soll.
ACHTUNG: Es werden nur SBB-Custfields vom Typ Text unterstützt!
- Erfassen Sie Namen und Typ (fix Text) des SBB-Custfields
- Wenn das SBB-Custfield im UI der Erfassungsmodule angezeigt werden soll, so muss diese bei den Leistungen entsprechend konfiguriert werden.
Ref Optional, definiert ein relatives Element, siehe Relative Elemente.
Definiert den Namen des Parent Elements.
RefOrigin Optional, definiert den Referenzpunkt auf dem Parent-Element.
Muss definiert sein bei relativem Element.
Mögliche Werte:
- top_left
- top_right
- bottom_left (default)
- bottom_right
dx Optional, definiert die X-Position des relativen Elements ausgehend von RefOrigin relativ zum Parent
dy Optional, definiert die Y-Position des relativen Elements ausgehend von RefOrigin relativ zum Parent
Style Optional, definiert den Style des Elements.
Es sind mehrere Werte möglich, durch Komma getrennt (",").
Gültige Werte:
- Normal: Text ist nicht fett
- Bold: Text ist fett
- Larger: Text ist grösser als beim referenzierten Element
- Smaller: Text ist kleiner als neim referenzierten Element
- Size: XX: Text hat genau diese Grösse (in Points)

Beispiel: Style="Size:10,Bold"
Einschränkungen:
Nicht erlaubt für Elemente vom Typ Barcode und UPOC
Werte Normal und Bold sind nicht beide erlaubt (gegenseitiger Ausschluss)
Werte Larger und Smaller sind nicht beide erlaubt (gegenseitiger Aussschluss)
Werte Larger oder Smaller sind nur auf relativen Elementen erlaubt
Werte Larger oder Smaller sind erlaubt wenn der Parent nicht Barcode oder UPOC ist
FontsizeDetMode Optional; definiert, wie die Eigenschaft Fontsize aufgrund der Fontsize der einzelnen Wörter berechnet wird.
Wird nur für Elemente vom Type Subject und Text (wenn in Style Larger oder Smaller oder Size: XX enthält) verwendet.
Default: MajorityChars
Mögliche Werte:
- MajorityChars: Fontsize der Mehrheit der Zeichen
- MajorityWords: Fontsize der Mehrheit der Wörter
- LargestWord: Fontsize des grössten Wortes
- SmallestWord: Fontsize des kleinsten Wortes
BoldDetMode Optional; definiert, wie die Eigenschaft Bold aufgrund der einzelnen Wörter ermittelt wird.
Wird nur für Elemente vom Type Subject und Text (wenn in Style Normal oder Bold enthält) verwendet.
Default: MajorityWords
Mögliche Werte:
- MajorityChars: Zeile ist Bold wenn die Mehrheit der Zeichen Bold ist
- MajorityWords: Zeile ist Bold wenn die Mehrheit der Wörter Bold ist
- AtLeastOneWord: Zeile ist Bold wenn mindestens ein Wort Bold ist
- AllWords: Zeile ist Bold wenn alle Wörter Bold sind

[*1]: Wenn Type = Text, Barcode, UPOC müssen alle Attribute x,y,h,w definiert sein!
[*2]: Wenn Type = PostalAddress müssen alle oder keine Attribute x,y,h,w definiert sein!

Criteria

Beschreibt die Kriterien die erfüllt sein müssen, dass diese ParserRule zum Tragen kommt. Falls die Kriterien nicht erfüllt sind, wird die nächste ParserRule verarbeitet.
Dies darf nicht mit 'ValidValue' des Elements verwechselt werden!

Attribut Beschreibung
Name Name des Kriteriums
Operation Gibt an, wie das Kriterium logisch verknüpft wird.
Mögliche Werte: 'AND', 'OR'
ElementName Name des Elements, welches geprüft werden soll.
RegEx RegEx-Ausdruck, welcher erfüllt sein muss.
Elemente vomn Typ PostalAddress unterstüzten KEINE Criterias, die Gültigkeit wird aufgrund interner Reglen bestimmt!

 

Postalische Adressen

Elemente vom Type PostalAddress werden wie folgt verarbeitet:
Die Attribute x, y, h, w sind optional. Wenn diese nicht angegeben sind (oder alle 0 sind) so wird das gesamte Bild auf Textblöcke untersucht.
Wenn die Attribute x, y, h, w definiert sind so wird nur der definierte Auschnitt verwendet (analog wie bei Element-Type "Text").
Die gefundenen Textblöcke werden nach bestimmten Kriterien sortiert und mit OCR und dem SortTree analysiert.
Die erste/beste erkannte Adresse wird ausgegeben.
Wenn als ValidValue KEIN Wert definiert ist so werden alle detektierten Adressblöcke als String zurückgegeben, es erfolt KEINE Analyse mit dem SortTree!

Spezifische Attribute für Element Type "PostalAddress"

Folgende Attribute sind spezifisch für Elemente vom Type "PostalAddress".
ACHTUNG: Die Attribute CutLength/CutWidth und ExclusionZone* schliessen sich gegenseitig aus, es kann nur eine der beiden Varianten verwendet werden!
Für neue Definitionen sollen die Ausschlusszone mit ExclusionZone* definiert werden.

Attribut Beschreibung
ValidValue Folgende Pseudo-Regex (Default: <leer>) werden unterstützt:
- <leer> (Default)
- [AdrLevel_Country]
- [AdrLevel_City]
- [AdrLevel_Street]
- [AdrLevel_House]
- [AdrLevel_Name]
CutLength Optional, Default = 0 (keine Ausschlusszone).
Definiert eine Ausschlusszone in [mm] für automatisch gefundene Textblöcke (x,y,h,w = 0) auf beiden langen Seiten des Bildes. Detektierte Textblöcke, die diese Zone überlappen, werden ignoriert.
CutWidth Optional, Default = 0 (keine Ausschlusszone).
Definiert eine Ausschlusszone in [mm] für automatisch gefundene Textblöcke (x,y,h,w = 0) auf beiden kurzen Seiten des Bildes. Detektierte Textblöcke, die diese Zone überlappen, werden ignoriert.
ValidateAddress Optional, Wertebereich: 0/1, Default: 0
Definiert wie die gefundenen Adressen gemäss ValidValue geprüft werden.
0: Die Prüfung erfolgt durch Zerlegung via Tokenizer und Test auf nicht leer (bis auf den durch ValidValue definierten Level)
1: Die Prüfung erfolgt gegenüber den Gebietsdaten der Bezirksverwaltung. Die Adresse muss bis mindenstes dem durch ValidValue vorgegebenen Level gültig sein.
ExclusionZoneTop Optional, wenn nicht vorhanden wird die Default-Einstellung verwendet.
Definiert eine Ausschlusszone am oberen Rand [mm].
Textblöcke, die diese Zone überlappen, werden ignoriert.
ExclusionZoneBottom Optional, wenn nicht vorhanden wird die Default-Einstellung verwendet.
Definiert eine Ausschlusszone am unteren Rand [mm].
Textblöcke, die diese Zone überlappen, werden ignoriert.
ExclusionZoneLeft Optional, wenn nicht vorhanden wird die Default-Einstellung verwendet.
Definiert eine Ausschlusszone am linken Rand [mm].
Textblöcke, die diese Zone überlappen, werden ignoriert.
ExclusionZoneRight Optional, wenn nicht vorhanden wird die Default-Einstellung verwendet.
Definiert eine "Ausschlusszone" am rechten Rand [mm].
Textblöcke, die diese Zone überlappen, werden ignoriert.
DisableCodingZone Optional, Wertebereich: 0/1 (false/true), Default: 0 (false)
Wenn 1 (true) werden die intern fix definierten Codierzonen nicht angewendet.
DisableFrankingZone Optional, Wertebereich: 0/1 (false/true), Default: 0 (false)
Wenn 1 (true) werden die intern fix definierten Frankierzonen nicht angewendet.
RefPointMode Optional, Default = 0 (keine Ausschlusszone).
Folgende Pseudo-Regex (Default: <leer>) werden unterstützt:
- AutoBasedFullImage
- AutoBasedExclZone
- ValueBasedExclZone

Wenn AutoBasedExclZone oder ValueBasedExclZone definiert ist, so dürfen die Attribute CutLength und CutWidth NICHT definiert sein. Die Ausschlusszonen müssen durch ExclusionZone* defniert seind.

Wenn ValueBasedExclZone definiert ist:
- so müssen beide Attribute RefPointX und RefPointY definiert sein
- Attribute CutLength und CutWidth NICHT definiert sein
- DisableCodingZone und DisableFrankingZone müssen True sein
RefPointX Referenzpunk X-Koodinate in [mm], [%] oder Pixel (von links)
Wird nur verwendet wenn RefPointMode = ValueBasedExclZone
RefPointY Referenzpunk Y-Koodinate in [mm], [%] oder Pixel (von oben)
Wird nur verwendet wenn RefPointMode = ValueBasedExclZone
DoAddressSearch TODO
Optional, Wertebereich: 0/1 (false/true), Default: 0 (false)
Wenn 1 (true) wird das Bild immer nach Adressen durchsucht.
Suche der Adresse erzwingen, TextBoxDetector auch ausführen wenn Bildausschnitt vorgegeben ist
TODO: Bedingungen
Leer/nicht vorhanden = automatisch

Relative Elemente

TODO

Regex

Regex-Ausdrücke müssen gemäss DEELX Regular Expression Syntax erfasst werden.
ACHTUNG: Um Regex-Ausdrücke in XML-Attributen einzubetten müssen diese ggf. escaped werden! Verwenden Sie dazu ein entsprechendes Online-Tool, z. B. Code Beautity.

Named Capture-Groups

Der Image-Parser unterstützt Named Capture-Groups. Dabei muss der Group Name gleich dem Namen des Elements sein.
Bsp: (?<Subject>.*)
Vollständiges Element inkl. Escaping: <Element Name="Subject" Type="Text" ValidValue="(?&lt;Subject&gt;.*)">

Single-/Multiline, Mode Modifier

Bsp: Um in einem mehrzeiligen Text nur die erste Zeile zu matchen: (?-s).*

Subject

Im definierten Ausschnitt des Elements wird der Betreff gesucht (markanteste Textzeile).

Dabei wird für jede gelesene Textzeile ein Score berechnet, die Zeile mit dem höchsten Score enthält das Subject.

Formel für die Berechnung des Zeilenscore:
LineScore = (BlockScore * OwnBlockFactor) + (ParagraphScore * OwnParaFactor) + (BoldScore * BoldFactor) + (FontsizeScore * FontsizeFactor) + (PositionScore * PositionFactor) + (KeywordScore * KeywordFactor)

Folgende Attribute sind spezifisch für Elemente vom Type Subject.

Attribut Beschreibung Defaultwert
LinePosDetMode Optional; definiert, welcher Referenzpunkt verwendet wird, um den PositionScore zu berechnen (relativ zum Mittelpunkt des ausgeschnittenen Bildes).
Mögliche Werte:
- LineCenter: Mittelpunkt/Schwerpunkt der Zeile
- ShortestCorner: Kürzester Abstand eines Eckpunktes der Zeile
LineCenter
Keywords Optional; definiert Schlüsselwörter zur Erkennung des Subject.
Erfassen Sie eine Liste von Schlüsselwörtern, getrennt durch Komma.
<leer>
KeywordFactor Optional; definiert den Keyword-Faktor für die Berechnung des Zeilen-Score. 1.0
OwnBlockFactor Optional; definiert den OwnBlock-Faktor für die Berechnung des Zeilen-Score.. 0.0
OwnParaFactor Optional; definiert den OwnParagraph-Faktor für die Berechnung des Zeilen-Score. 0.05
BoldFactor Optional; definiert den Bold-Faktor für die Berechnung des Zeilen-Score.
Siehe auch Element Attribut BoldDetMode
0.40
FontsizeFactor Optional; definiert den Fontsize-Faktor für die Berechnung des Zeilen-Score.
Siehe auch Element Attribut FontsizeDetMode
0.40
PositionFactor Optional; definiert den Position-Faktor für die Berechnung des Zeilen-Score. 0.30
MinLength Optional; definiert die Minimallänge einer Zeile. 4
MaxLength Optional; definiert die Maximallänge einer Zeile. 0 (keine Maximallänge)

Funktionsweise

Die Funktionsweise und weiterführende Informationen finden Sie in der AdminDoc (nach 'ImageParser' suchen)

Siehe auch:



CodX Software CodX Software AG
Sinserstrasse 47
6330 Cham
Switzerland
Support
http://support.codx.ch
CxSpickel