PDFmdx ist eine Anwendung um PDF Dokumente auf Grund von definierten Bedingungen und Inhalten zu erkennen, zu klassifizieren sowie Gesamtdokumentenpackages in Einzeldokumente aufzuteilen.

Aus den klassifizierten und aufgeteilten Einzeldokumenten werden an Hand von vordefinierten Feldtemplates die gewünschten Inhalte (Metadaten) ausgelesen und für die Weiterverarbeitung in eine Indexdatei geschrieben.

Auf diese Art und Weise lassen sich sowohl PDF Dokumente, die direkt aus einer beliebigen Anwendung heraus, z.B. per PDF-Druckertreiber erzeugt, aber auch eingescannte Dokumente, die per OCR-Vorgang in durchsuchbare PDF's (Image im Vordergrund und Text im Hintergrund) konvertiert wurden, verarbeiten.

Neben der Erkennung, Aufteilung und Extraktion von Bereichsinhalten verfügt PDFmdx auch über weiterverarbeitende Funktionen zur Automatisierung von Abläufen.

  • PDF Briefpapier kann hinterlegt/überlagert werden
  • PDF Signatur kann sichtbar/unsichtbar aufgebracht werden
  • E-Mail Versand kann durchgeführt werden, wobei die für das E-Mail erforderlichen Informationen aus dem Dokumenteninhalt gewonnen werden.

Die Anwendung besteht aus zwei Programmteilen - dem PDFmdx Template Editor und dem PDFmdx Job Prozessor (als Dienst sowie als startbare Anwendung verfügbar). Mit dem Template Editor werden die Kriterien und Verarbeitungsschritte konfiguriert und der Prozessor verarbeitet die Dokumente auf Basis der Templates.

Produkt Lizenzierung

Die Lizenzierung der Produkte erfolgt gemäß Ihrer Bestellung für den Arbeitsplatz, TerminalServer oder Server.

Die Lizenzen sind an den Arbeitsplatz gebunden an dem sie aktiviert wurden. Lizenzen können transferiert werden.

Beim Kauf einer Volllizenz erhalten Sie von uns Zugangsdaten zum ProductActivationManager und können dort Ihre DEMO Version als Vollversion aktivieren. Der Freischaltkey wird über einen bei uns im Haus installierten und über Internet erreichbaren Server abgerufen.

Concurrent Use für Terminal Server:
Die Software kann beim Concurrent-User-Lizenzmodell auf beliebig vielen Rechnern installiert sein. Der Server registriert die Anzahl der aktuell vergebenen Lizenzen und gewährt jedem prinzipiell berechtigten Benutzer das Recht zur Benutzung. Sind alle Lizenzen vergeben, muss ein zusätzlicher konkurrierender Benutzer warten, bis ein anderer Benutzer seine Session beendet und somit wieder eine Lizenz zur Verfügung steht.

Der ProductActivationManager kann im PDFmdx Prozessor über den "Info"-Button aufgerufen werden.

PDFmdx Einsatzbereiche

  • Automatische Archivierung von Reports aus ERP, Lohnverrechnung usw. - Erkennen der Reporttypen, Extraktion von Metadaten für die Archivierung.
  • Automatische Archivierung von Rechnungen, Lieferscheinen, Auftragsbestätigungen über PDF Druckvorgang.
  • Automatische Weiterverarbeitung von Belegen - Versand von Terminbestätigungen, Rechnungen, Mahnungen, Auftragsbestätigungen per Einzel- bzw. Gesamtdruckvorgang über PDF Druckertreiber oder PDF Export - Hinterlegen von Briefpapier, Elektronische Signatur, E-Mail Versand.
  • Eingangs-Belegerfassung über Scanvorgang mit PDF-OCR - Belegerkennung und Metadatenextraktion für die Weiterverarbeitung bzw. Archivierung.

Einsatzmöglichkeiten

E-Mail Versand von Rechnungen, Auftragsbestätigungen, Mahnungen, Terminerinnerungen:

PDF Dokumente werden einzeln oder als Gesamtdatei verarbeitet. Bei der Gesamtdatei erfolgt zuerst eine Teilung in Einzeldokumente. Als Teilungskriterium wird z.B. die Rechnungsnummer verwendet. Aus den Belegen wird die E-Mail Adresse, das Belegdatum und die Belegnummer ausgelesen. Die Belegnummer wird als Variable für die Namensgebung der Einzeldateien verwendet. Anschließend wird ein PDF Briefpapier hinterlegt und die elektronische Signatur aufgebracht. Die Belege werden dann einzeln automatisiert per E-Mail an die Empfänger verschickt. Das PDF Dokument wird als Anhang eingefügt. Der Betreff und die Nachricht werden über einen vordefinierten Baustein mit der Möglichkeit, die aus den Dokumenten ausgelesenen Informationen als Variablen im Text wieder zu verwenden, erstellt. PDFmdx bietet damit die Möglichkeit aus jeder beliebigen ERP Software die weitere Verarbeitung automatisiert ablaufen zu lassen. Dabei reicht es die Reports über einen einfachen Druckvorgang per PDF Druckertreiber in einen festgelegten Ordner zu drucken.

Automatisierte Archivierung von Reports und Belegen:

Buchhaltungs-, Lohnverrechnungs- oder ERP Belege und Reports werden über den PDF Druckertreiber in einen festgelegten Ordner gedruckt. PDFmdx erkennt an Hand der Inhalte und Kriterien um welchen Beleg oder Report es sich handelt. Es wird das passende Layout mit den Felddefinitionen geladen. Damit werden die für die Archivierung erforderlichen Metadaten ausgelesen und als XML, CSV oder XLS(X) weggeschrieben. Die für die Archivierung notwendigen Informationen müssen also nicht manuell erfasst werden, sondern können automatisiert aus den Belegen gewonnen werden.

Hinterlegen von Briefpapier:

Es gibt Unternehmen mit einer zentralen Informationsverarbeitung für eine Vielzahl an Projekten oder Tochter-/Sub-Unternehmen. Das Verwalten, Hinterlegen und die einfache Steuerung von perfekt gestaltetem Briefpapier für die erzeugten Belege ist meistens aus einer Standard Anwendung heraus ist nicht möglich bzw. sind die Anpassungen mühsam und aufwändig. PDFmdx ist in der Lage dieses Problem zu lösen - die Briefpapiere und PDF Formulare brauchen nicht mehr aus der Anwendung heraus berücksichtigt werden. Über Inhalte und Kriterien, die aus dem PDF Dokument heraus gewonnen werden, lässt sich steuern welches Briefpapier verwendet werden soll. Anpassungen und Änderungen reduzieren sich damit auf den einfachen Tausch eine PDF Dokuments.

Erzeugen von Tickets, Gutscheinen und Rechnungen durch Hinterlegen von Grafiken und Ausgabe über einen Druckserver:

Aus einem Web-Shop eines Veranstaltungszentrums heraus, haben wir auf Grund einer Bestellung ein Dokumentenset aus Tickets, Gutscheinen und Rechnungen als PDF erzeugt. Das Gesamt-Dokument wird in Einzel-Dokumente geteilt. Je nach Dokumententyp und je nach Veranstaltung für die der Gutschein oder das Ticket erzeugt wurde, werden aktuelle und passende Grafiken hinterlegt und auf unterschiedlichen Druckern ausgegeben. PDFmdx teilt das Gesamt-Dokument in Einzel-Dokumente, liest die Information aus, welche PDF Grafiken hinterlegt und auf welchem Drucker ausgegeben werden soll. Der Druck erfolgt dann über den PDF2Printer Druckserver.

Dokumente teilen, benennen, in Ordnern strukturieren und über OwnCloud für Mobil Clients zugänglich machen:

Bestellungen und Auftragsnestätigungen sollen den Außendienstmitarbeitern über mobile Clients zugänglich gemacht werden. In regelmäßigen Abständen werden die neu hinzugekommenen Bestellungen und Auftragsbestätigungen aus dem ERP als PDF gedruckt. PDFmdx teilt das Gesamtdokument in Einzeldokumente und liest alle für die Namensgebung und den Aufbau der Ordnerstruktur erforderlichen Informationen aus den Dokumenten aus. Die Einzeldokumente werden benannt und in die über Variablen festgelegte Ordnerstruktur verschoben. Die damit erzeugte Ordnerstruktur wird per OwnCloud repliziert. So stehen den Außendienstmitarbeitern laufend die aktuellen Bestellungen und Auftragsbestätigungen über eine einfache und übersichtliche Ordnerstruktur auf deren mobilen Geräten zur Verfügung.

Gesamt-Reports teilen und nach anderen Kriterien neu zusammensetzen:

Monatliche Reports werden als Gesamt PDF erzeugt und haben eine vorgegebene Sortierung und Strukturierung. Dieser Gesamt-Report soll in Einzel-Reports aufgeteilt, nach anderen Kriterien neu sortiert und über PDF Lesezeichen neu strukturiert werden. Deckblätter des Gesamt-Reports sollen erkannt und gelöscht werden. PDFmdx kann zu löschende Seiten erkennen und PDF Gesamtdokumente über Inhalte und Bedingungen in Einzeldokumente aufteilen und benennen. Diese Einzeldokumente können über die aus den einzelnen Seiten ausgelesenen Informationen neu sortiert und strukturiert werden.

Gescannte Eingangsrechnungen automatisch erkennen und Metadaten für die Weiterverarbeitung auslesen:

Eingangsrechnungen werden gescannt und über den AutoOCR Server in durchsuchbare PDF's gewandelt. Im PDFmdx ist für jeden Lieferanten das Layout und die Erkennungslogik für seine Eingangsrechnungen hinterlegt. Die auszulesenden Felder sind für die Rechnungen aller Lieferanten gleich und einheitlich definiert. Je nach Lieferant befindet sich die gewünschte Information an unterschiedlichen Stellen. Eine Suchfunktion für "Anker-Felder" dient dazu sowohl die durch das Scannen "wandernden" Positionen als auch die unterschiedlichen Layouts verarbeiten zu können. Ebenso können damit Gesamt-Summenwerte, die sich sowohl auf verschiedenen vertikalen Positionen als auch auf unterschiedlichen Seiten befinden, gesucht und ausgelesen werden.

Sammelrechnungen und Gutschriften - Erkennen, Auslesen und in Einzelbelege aufteilen:

Bei diesem Anwendungsfall muss ein Dokumentenstapel, der Rechnungen und Gutschriften mit unterschiedlichen Layouts enthält, in Einzeldokumente aufgeteilt und die Einzeldokumente nach der Belegnummer benannt werden. Dabei sind nicht nur die Layouts der Belegtypen unterschiedlich, auch innerhalb des gleichen Belegtyps kann die Position der Belegnummer je nach Anzahl der Adresszeilen vertikal verschieden sein.

PDFmdx Template Editor

Templates sind die Voraussetzung um die Dokumente zu kategorisieren, zu teilen und die gewünschten Informationen daraus auszulesen. Templates legen auch die zusätzlichen Verarbeitungen fest: Hinterlegen/Überlagern mit Briefpapier, Signatur und E-Mail Versand.

Zuerst müssen Templates erstellt werden. Diese legen die Felder, Typen, Ausgabefolder und den Aufbau der Indexdatei (Ausgabedatei) fest. Für jedes Template können dann mehrere Layouts angelegt werden und müssen nicht jedes Mal neu definiert werden. Z.B. Die Feld-/Datenstruktur für Eingangsrechnungen unterschiedlicher Lieferanten ist immer gleich - das Aussehen der unterschiedlichen Rechnungen, die Position und Anordnung der Felder ist jedoch immer verschieden. Also muss ein Template für Eingangsrechnungen angelegt werden und pro Lieferant ein Layout.

template-interface-allgemein-TN.png

PDFmdx Template Editor Funktionen

Mit dem PDFmdx Template Editor werden die Kriterien und Verarbeitungsschritte konfiguriert. Templates und die damit verbundenen Layouts sind die Voraussetzung um die Dokumente zu kategorisieren, zu splitten und die gewünschten Informationen daraus auszulesen. Templates bestimmen die Namensgebung, Folder Struktur, Metadaten und legen die weitere Verarbeitung mit Briefpapier, Signatur und E-Mail Versand fest.

  • Templates:
    Legen fest wie Dokumente über Bedingungen klassifiziert, einem Layout zugeordnet bzw. auch in Einzeldokumente aufgeteilt werden. Templates definieren für alle Layouts die gemeinsamen Verarbeitungsparameter: Felder, Dateiname, Ordnerstruktur, Bedingungen für: Teilen, Erkennen, Seiten löschen, Briefpapier, Signatur und E-Mail.
  • Layouts:
    Einem Template können auch mehrere Layouts zugeordnet werden. Diese legen fest wo und wie die Felder gefunden bzw. was ausgelesen werden soll.
  • Felder:
    Mit einem Layout sind Felder/Variablen verbunden. Es können beliebige Felder definiert und im Layout zum Auslesen von Informationen aus Dokumenten verwendet werden. Die Variablen werden mit dem ausgelesenen Text belegt und können für die Weiterverarbeitung als Metadaten verwendet werden.
  • Bedingungen:
    Werden über Felder und über logische Verknüpfungen sowie über Text und Teilstring aufgebaut. Damit werden Teilung, Layout, Erkennung und das Löschen von Seiten gesteuert.
  • Layout erkennen:
    Die Layout-Erkennung erfolgt durch logische Bedingungen über die im Layout positionierten Felder.
  • Dokumente teilen:
    Dokumente können nach - fixen Seiten, Änderungen von Feldinhalten, Logischen Kriterien bzw. nach Erkennen der Layout-Änderung geteilt werden.
  • Seiten löschen:
    Über logische Kriterien können Seiten erkannt werden, die gelöscht und nicht ins Zieldokument übernommen werden sollen.
  • Neu zusammenfügen:
    Dokumente lassen sich teilen und danach über Felder mit anderer Sortierung und Struktur neu zusammenfügen.
  • PDF Voransicht:
    Auf dem Beispieldokument für das Layout werden die Felder per Drag&Drop positioniert. Ausgelesene Feldinhalte werden sofort angezeigt.
  • Such-/Ankerfelder:
    Felder können absolut oder aber über eine Suchfunktion relativ zu Ankerfeldern positioniert und ausgelesen werden.
  • Test Funktion:
    Direkter Test des Templates/Layouts - Erkennen, Auslesen, Teilen, Seiten löschen wird simuliert und angezeigt, andere Testdateien können ausgewählt werden.
  • Briefpapier:
    Überlagern/Hinterlegen von Briefpapier, Unterschiedliche Briefpapiere können durch Bedingungen über den Dokumenteninhalt gesteuert werden.
  • E-Mail Vorlage:
    Erkennen und Auslesen von E-Mail Adressen aus dem Dokument. Betreff und Inhalt sind vorkonfigurierbar und über Feldinhalte erweiterbar. Fixe Anhänge sind zuordenbar.
  • Signatur:
    Über Software Zertifikate kann die PDF Datei digital sichtbar oder unsichtbar signiert werden.
  • PDF Infofelder:
    Lassen sich mit fixem Text oder über aus dem Dokument ausgelesenen Informationen befüllen.

Funktionen PDFmdx Templates

  • Templates werden über Namen verwaltet - Neu anlegen, Kopieren, Umbenennen
  • Auswahl Ziel Ordner für die Indexdatei - entweder eine zusammengefasste Indexdatei für alle Dokumente oder pro Dokument eine Indexdatei.
  • Definition des Indexdatei Aufbaus - Text, Variablen und Felder sind verwendbar
  • Definition Zielfolder sowie Dateiname für die PDF Dokumente - auch unter Verwendung von Variablen/Feldinhalten
  • Felddefinition - Name, Typ (Text, Nummer, Buchstaben, Buchstaben und Ziffern, Datum, Barcode), String Aufbereitungs-Funktionen (Führende Nullen entfernen, Entfernen von Zeichen oder Text, usw.)
  • Felder hinzufügen, löschen, verschieben hinauf/hinunter
  • Definition - Dezimal und Tausender Trennzeichen - Punkt, Beistrich, Kein

Konfiguration

Kopfzeile

Vorlagen (Templates) können neu erstellt, umbenannt, kopiert und gelöscht werden. Beim Kopieren eines Templates werden auch die zugehörigen Layouts kopiert.

Vorlagen können außerdem importiert und exportiert (einzeln oder alle auf einmal) werden. Eine Vorlage wird als PMDX Datei exportiert und unter einem benutzerdefinierten Pfad gespeichert. In der Export Datei sind alle Einstellungen der Templates, der Layouts und die PDF Musterdateien der Layouts gespeichert. Es können auch alle Templates auf einmal exportiert werden. Hierbei muss zusätzlich zum Speicher-Pfad auch ein Name für die PMDX Datei gewählt werden. Mit der Import-Funktion können die PMDX Dateien wieder in den Template Editor importiert werden.

Einem Template können mehrere Layouts zugeordnet werden. Diese legen fest wo und wie die Felder gefunden bzw. was ausgelesen werden soll. Layouts können hinzugefügt, umbenannt, kopiert und gelöscht werden.
Es gibt zwei verschiedene Kopier-Funktionen für Layouts. Die Funktion "Layout kopieren" dupliziert das Layout im Template und bei der Funktion "Kopiere Layout in ein Template" kann ein Template ausgewählt werden in das kopiert werden soll. Wichtig bei dieser Funktion ist , dass die Feldpositionen nur übernommen werden können, wenn die Felder auch im Ziel-Template definiert sind. Ansonsten wird nur das Muster PDF kopiert und die Feldpositionen gehen verloren.

Mit der Funktion "Baum sortieren" werden alle angelegten Templates und die zugehörigen Layouts nach dem Alphabet sortiert.
Die Sprache kann zwischen Deutsch, Englisch und System Sprache umgeschaltet werden. Als Standard ist die Sprache auf System Sprache eingestellt.
Der Info Button (Über PDFmdx) öffnet ein Info-Fenster, wo die Versionsnummer, Produkt-Webseite und die Kontakt Adresse gefunden werden können.

Die Baum-Struktur der Vorlagen kann als XML Datei weggespeichert werden. Der Pfad und Name für die XML Datei können ausgewählt werden. Mit der Funktion "Aktualisiere beim Beenden" wird die Datei nach Beenden des Template Editors erstellt und jedes Mal, wenn der Template Editor erneut geschlossen wird, aktualisiert. Die Datei kann auch sofort erzeugt werden ohne den Template Editor schließen zu müssen.

Feld Definition

Mit einem Layout sind die Felder (Variablen) verbunden. Es können beliebige Felder definiert und im Layout zum Auslesen von Informationen aus Dokumenten verwendet werden. Die Variablen werden mit dem ausgelesenen Text belegt und können für die Weiterverarbeitung als Metadaten verwendet werden.

Ein Feld wird über seinen Namen und Typ definiert. Der Name kann frei gewählt werden und für den Typ gibt es mehrere Optionen zur Auswahl - Text, Nummer, Buchstaben, Buchstaben und Ziffern, Datum und Barcode. Die Felder und die dazugehörigen Feldeinstellungen sind für alle Layouts in demselben Template ident.

Wird für ein Feld der Typ Datum gewählt, so gibt es zusätzliche Einstellungen für die auszulesende Information. Es kann ein Eingangs- und Ausgabe Datums-Format definiert werden. Dafür stehen die Variablen "dd", "mm" und "yyyy" zur Verfügung. Das Eingangs-Format muss mit dem Datums-Format des Dokuments übereinstimmen, damit es erkannt und umgewandelt werden kann. Ist das Datum im Dokument z.B. "1.1.2018" so muss das Eingangs-Format "d.m.yyyy" sein. Ist das Ausgabe Format in diesem Fall "yyyymmdd", wird es als "20180101" angezeigt.

Mit dem Feld Typ Barcode ist es möglich Felder als Barcode zu definieren. Aus dem festgelegten Bereich wird nicht der Text ausgelesen, sondern eine Barcode Erkennung nach dem ausgewählten Barcode Typ durchgeführt und der erkannte Wert zurückgeliefert. Über die Barcode Einstellungen kann festgelegt werden welche Barcode Typen erkannt werden sollen. Die Barcode Erkennung wird auch direkt bei der Feldpositionierung und bei der Test Funktion ausgeführt. Damit ist gleich ersichtlich ob der Barcode erkannt wird bzw. welchen Wert der Barcode aufweist.

Der Feld Typ Dateiname ermöglicht es den Namen der Datei, die verarbeitet wird, auszulesen und für die Weiterverarbeitung zu verwenden. Felder mit diesem Typ werden im Layout nicht auf dem Muster-PDF platziert.

Wenn Seiten gelöscht werden, auf denen sich auszulesende Inhalte befinden, werden diese Werte gelöscht. Es gibt nun eine Möglichkeit, diese Werte zu erhalten und für die weitere Verarbeitung zu verwenden. Dafür muss für die Felder, die sich auf zu löschenden Seiten befinden, die Option "Erhaltener Wert" in den Feld Definitionen aktiviert sein.

PDFmdx ist nicht nur in der Lage Texte aus PDF Dokumenten auszulesen, sondern es können auch Text bzw. Barcode Stempel auf Seiten aufgebracht werden. Dabei kann fixer Text, Standard Variablen (Datum, Zeit, Rechner-, Benutzer-, Vorlagenname, Layout Seitennummer, Seitenzahl-Gesamt) aber auch ausgelesene Feldwerte über konfigurierte Variablen verwendet werden. Damit ist es z.B. möglich eine Rechnungsnummer aus einem Dokument auszulesen und im selben Dokument als Barcode Stempel aufzubringen.
Für Text-Stempel stehen Schriftstil, Schriftgröße, Farbe, Drehwinkel sowie Formatierungen (Fett, Kursiv, Kontur, Unterstrichen, Durchgestrichen) als Parameter zur Verfügung. Die Text Ausrichtung kann innerhalb der positionierten Box - Links/Mitte/Rechts, Oben/Mitte/Unten - ausgewählt werden.
Ein Wert kann aber auch als 1D/2D Barcode Stempel aufgebracht werden. Es kann aus verschiedenen Barcode Typen ausgewählt werden. Ein weiterer Parameter legt fest ob der Stempel auf bestimmten Seiten, in einem Seitenbereich, auf allen Seiten bzw. nur auf der letzten Seite aufgebracht werden soll.
Die Positionierung des Stempels erfolgt im Layout-Fenster. Dort wird das Stempel Feld wie alle Felder per Drag&Drop auf dem Dokument platziert. Das Feld ist gelb gefärbt wenn es als Stempel Feld definiert wurde.

template-feld-name-typ-TN.pngtemplate-feld-datum-TN.png
template-feld-stempel-TN.pngtemplate-feld-stempel-layout-TN.png

Gleitende Gruppe

Um mehrere sich wiederholende Werte, wie zum Beispiel eine Liste, auszulesen kann die Gleitende Gruppe verwendet werden. Damit können ein oder mehrere Felder, die mehrmals in einem Dokument vorkommen gefunden und ausgelesen werden. So etwas kann z.B. bei einer Rechnung notwendig sein, um die verschiedenen Artikel, Stückanzahlen und Preise auszulesen. Die mit der gleitenden Gruppe ausgelesenen Werte können dann in einer Ausgabedatei (XLSX, CSV, XML) ausgegeben und weiterverwendet werden.

Im Tab "Feld Definition" können Felder "Einer gleitenden Gruppe zugeordnet" werden indem diese Option angehakt wird. Die Felder sind dann auch im Layout Fenster farblich (Rot) unterschiedlich zu den anderen Feldern. Diese Felder müssen dann über den ersten auszulesenden Werten platziert werden. Es sind im Layout Fenster außerdem zwei rote Balken auf dem Dokument platziert. Diese Balken dienen als obere und untere Begrenzung für die Gleitende Gruppe. Dadurch wird nur der Bereich innerhalb dieser Balken durch die Felder der Gleitenden Gruppe ausgelesen.

Damit die Felder der Gleitenden Gruppe Werte aus dem Dokument auslesen können muss eine Bedingung definiert werden über die diese Felder erkannt werden. Solch eine Bedingung kann im Tab "Teilen/Bedingungen" hinzugefügt werden und es müssen die beiden Bedingungsarten "Erkennen" und "Gleitende Gruppe" angehakt sein. Es können auch mehrere Bedingungen mit ODER/UND verknüpft oder Teilstrings verwendet werden um die verschiedenen Felder zu erkennen.

template-gleitende-gruppe-TN.pngtemplate-gleitende-gruppe-layout-TN.pngtemplate-gleitende-gruppe-bedingung-TN.png

String Aufbereitung

Im Normalfall können Informationen aus dem Dokument ausgelesen und Feldern/Variablen zugeordnet werden. Es gibt aber Fälle in denen es nicht möglich ist bestimmte Informationen, die weggeschrieben werden sollen, auszulesen. Zum Beispiel kann es vorkommen, dass bei einer Rechnung, die als PDF vorliegt, der Lieferant für die Gestaltung des Formulars nur Bilder verwendet hat und es daher keinen Bereich gibt über den man den Firmennamen auslesen kann - das Layout aber über andere Kriterien erkannt und eindeutig zugeordnet werden kann. Für den Fall wird das Feld "Firma" nicht auf dem Layout positioniert, kann aber mit dem Namen der Firma belegt werden um die Information in weiterer Folge als Variable bzw. in den Metadaten verwenden zu können. Wird ein Wert aus dem Dokument ausgelesen, so hat dieser Priorität über den Standard Wert.

Regular Expression Regeln können für jedes Feld definiert werden und ermöglichen eine Aufbereitung und Filterung der extrahierten Feldinhalte, z.B.:
"[a,b]+" entspricht "a", "b", "aa", "bbaab", etc.
"[0-9]{2,5}" entspricht zwei, drei, vier oder fünf Ziffern in Folge, z.B. "42" oder "53810", jedoch nicht den Zeichenfolgen "0", "1.1" oder "a1b2"
Über den RegEx Ausdruck "\d+" können Zahlen eines Feldes zurückgeliefert werden. Wird kein Parameter angegeben, so wird automatisch die "erste der längsten gefundenen Zahlen" zurückgeliefert. Zum Beispiel der ausgegebene Feldinhalt ist "Seite 15/110", so wird "110" zurückgeliefert. Zusammen mit dem Parameter "Treffer" kann gezielt eine Zahl an einer bestimmten Position aus dem String extrahiert werden. Mit dem Parameter=1 wird die erste in dem String gefundene Zahl ("15"), mit Parameter=2 die zweite ("110") usw. zurückgeliefert.
Es ist möglich die RegEx Verarbeitung in Kombination mit den String Aufbereitungs-Funktionen (Teilstring, Entferne Links/Rechts etc.) zu verwenden. Dabei wird immer zuerst die RegEx Verarbeitung ausgeführt und anschließend die weiteren Aufbereitungen.

Es gibt auch verschiedene Optionen um Zeichen oder auch ganzen Text aus dem ausgelesenen String zu entfernen. Das kann entweder von links nach rechts oder umgekehrt, sowie über den ganzen String erfolgen. Dabei ist es möglich die Groß- und Kleinschreibung zu ignorieren. Des Weiteren können Leerzeichen und führende Nullen aus dem String entfernt werden.

Mit der Funktion "Text ersetzen" können Texte, nach denen gesucht werden soll und Texte durch die sie ersetzt werden sollen, vordefiniert werden. Der ausgelesene Feldinhalt wird nach diesen Texten durchsucht - werden sie gefunden, so werden sie durch den angegebenen Text ersetzt. Die ausgewählten Texte können mit den Pfeiltasten hinauf und hinunter verschoben werden um ihre Priorität zu verändern. Die Texte werden von oben nach unten durchgearbeitet.

template-string-aufbereitung-TN.pngtemplate-string-aufbereitung-text-ersetzen-TN.png

Teilen/Bedingungen

Mit Bedingungen wird die Layout Erkennung und die Aufteilung von PDF Gesamtdokumenten in PDF Einzeldokumente gesteuert. Bedingungen werden über Feldinhalte und logische Verknüpfungen sowie über Text und Teilstring aufgebaut.

template-teilen-bedingungen-TN.png

Dokument Teilen

PDFmdx ist in der Lage Dokumentenstapel nach Kriterien in Einzeldokumente aufzuteilen, z.B. über Seitenzahl, über Änderung eines bestimmten Feldes (z.B. "Rechnungsnummer") oder über frei festlegbare UND/ODER Kriterien. Neu hinzugekommen ist jetzt auch eine Funktion um die so geteilten Dokumente wieder nach anderen Kriterien zu neuen Dokumenten zusasmmenzusetzen. Innerhalb des Dokuments kann nach aus dem Dokument ausgelesenen Informationen neu sortiert und über Lesezeichen strukturiert werden. Damit lassen sich z.B. Gesamt-Reports in Einzel-Reports aufteilen und nach anderen Kriterien wieder neu zusammensetzen und strukturieren.

  1. Das Dokument alle "x" Seiten teilen
    Bei dieser Option wird fix definiert in welchen Intervallen das Dokument geteilt werden soll.
    Wird zum Beispiel "2" als Parameter angegeben, wird das Dokument nach jeder zweiten Seite geteilt.
  2. Teilen des Dokuments bei Änderung des Bereichsinhaltes
    Das Dokument wird jedes Mal geteilt, wenn sich der ausgelesene Inhalt des Bereichs (Feld) ändert. Dafür muss ein Feld ausgewählt werden, dessen Inhalt bestimmt wann das Dokument geteilt wird. Es erscheint ein Warnsymbol neben der Option falls kein Feld ausgewählt ist.
  3. Teilen über Bedingung
    Teilt das Dokument über eine Bedingung. Bei der Bedingungsart muss das Kästchen "Teilen" angehakt sein. Ist dieses nicht angehakt oder keine Bedingung definiert, erscheint ein Warnsymbol neben der Option.

Zusätzlich können nach dem Teilen eines Dokuments, leere Seiten oder eine benutzerdefinierte Anzahl an Seiten nach der Trennseite entfernt werden.

Bei der Teilung über die Änderung des Bereichsinhaltes bzw. über eine Bedingung wird immer vor der Seite, die die Bedingung erfüllt geteilt. Es wird mit diesen Funktionen nach dem Anfang eines neuen Dokuments innerhalb des Gesamtdokuments gesucht.

template-teilen-bereichsinhalt-TN.png

Bedingung konfigurieren

Eine Bedingung ist aus mehreren Teilen aufgebaut:

  • Bedingungsarten (TYPE):
    Beschreibt was für eine Art von Bedingung es ist und was passiert, wenn die Bedingung erfüllt wird.
  • Bereich (AREA):
    Beinhaltet den Bereich bzw. das Feld, das für die Bedingung überprüft werden soll. Es kann aus den im Template definierten Feldern gewählt werden. Der extrahierte Inhalt wird dann über die Bedingung überprüft und mit dem angegebenen Text verglichen.
  • Layout:
    Hier kann ein dem Template zugeordnetes Layout ausgewählt werden, das erkannt werden soll, falls die Bedingung zutrifft.
  • Text:
    Dieses Feld wird mit dem aus dem Dokument ausgelesenen Inhalt verglichen und bei einer Übereinstimmung ist die Bedingung erfüllt. Es gibt auch die Möglichkeit hierfür eine Teilstringsuche zu verwenden. Mit dem Parameter "Unschärfe" kann festgelegt werden um wie viele Stellen der ausgelesene Inhalt sich vom vorgegebenen Text unterscheiden darf.
  • Seiten (PAGES): Dieser Parameter legt fest auf welchen bzw. wie vielen Seiten des Dokuments die Argumente für die Bedingung geprüft werden sollen. Z.B. "1-$" prüft alle Seiten des Dokuments.

Beim Erstellen einer Bedingung in PDFmdx steht nun auch die Funktion "<VALUE>" bei der Layout Auswahl zur Verfügung. Diese Funktion vergleicht den ausgelesenen Inhalt des definierten Bereichs mit den Layout Namen des Template.
So können z.B. mehrere Layouts angelegt und nach den Firmen oder Lieferanten bennant werden. Aus dem Eingangsdokument wird dann über ein Feld der Name der Firma oder des Lieferanten ausgelesen. Die Funktion <VALUE> kann dann direkt den Vergleich durchführen und das richtige Layout auswählen. Das Feld Text im Bedingungs-Editor wird für diese Funktion nicht benötigt und kann leer bleiben.

Für eine einfachere Sortierung und Gruppierung von Bedingungen, gibt es jetzt mehrere Optionen zum Verschieben, die über Rechtsklick auf eine Bedingung aufzurufen sind. Bedingungen können damit nach oben/unten sowie an den Anfang oder das Ende verschoben werden. Dadurch lässt sich auch deren Priorität in der Verarbeitung einfach anpassen.

Um die Baumstruktur im Bedingungs-Editor übersichtlicher zu gestalten, können Trennzeilen eingefügt werden. Dazu muss eine Bedingung ausgewählt werden und über den Button "Trennzeile" wird eine Trennzeile unter der ausgewählten Bedingung eingefügt. Die Trennzeilen können auch per Rechtsklick umbenannt werden um Kommentare einzufügen. Über den Button "Löschen" lassen sie sich wieder entfernen.

Der Bedingungs-Editor wurde um die Buttons "Speichern" und "Laden" erweitert. Damit is es möglich die konfigurierte Bedingungs-Struktur als XML zu speichern. Der "Speichern" Button öffnet einen Speicher-Dialog, wo Ort und Name ausgewählt werden können. Es wird ein Name als Kombination von Template Name, Datum und Uhrzeit vorgeschlagen. Mit dem "Laden" Button lässt sich eine solche XML Datei wieder importieren. Dadurch ist es möglich verschiedene Bedingungsstrukturen auszuprobieren ohne sie löschen zu müssen.

template-bedingung-oder-TN.pngtemplate-bedingung-und-TN.png

Ergebnis zusammenfügen

PDFmdx ist in der Lage Dokumentenstapel nach Kriterien in Einzeldokumente aufzuteilen, aber auch um die geteilten Dokumente wieder nach anderen Kriterien zu neuen Dokumenten zusammenzusetzen. Innerhalb des Dokuments kann nach aus dem Dokument ausgelesenen Informationen neu sortiert und über Lesezeichen neu strukturiert werden. Damit lassen sich z.B. Gesamt-Reports in Einzel-Reports aufteilen und nach anderen Kriterien wieder neu zusammensetzen und strukturieren.

Um geteilte Dokumente wieder neu zusammenzufügen muss ein Feld ("Zusammenfügen - Feld") ausgewählt werden. Alle Dokumente in denen das Feld den selben Wert hat, werden dann zu einem Gesamt-Dokument zusammengefasst. Um die Reihenfolge der Dokumente anzupassen kann ein Feld ausgewählt werden und, an Hand dessen Inhalt, alphabetisch/numerisch aufsteigend/absteigend sortiert werden. Die Strukturierung erfolgt über Lesezeichen.

template-zusammenfügen-TN.png

Einstellungen

Im Tab "Einstellungen" können mehrere Optionen für die Ergebnisdatei angepasst werden. Im Feld "PDF Ausgabe Ordner" wird der Ordner in den die Ergebnisdatei gespeichert wird, mittels Pfad Angabe definiert. Für den Ordner Pfad stehen auch Variablen zur Verfügung, sowie die aus dem Dokument extrahierten Werte, die in den AREA-Variablen gespeichert sind. Hier können an Hand von Variablen Ordnerstrukturen erstellt werden.

Der Name der Ergebnisdatei wird über das Feld "Datei Name" konfiguriert. Genau wie der Ordner Pfad für den Ausgabe Ordner, kann der Datei Name fixen Text oder Variablen enthalten. Als Variablen stehen auch die aus dem Dokument extrahierten Werte zur Verfügung. Wird die Counter-Variable verwendet, so kann der Startwert für den Zähler festgelegt werden.

Das Datums- und Zeitformat für die %DATE% und %TIME% Variable lässt sich konfigurieren. Die Parameter für Jahr (yyyy), Monat (mm) und Tag (dd) sowie für Stunde (hh), Minute (mm) und Sekunde (ss) können beliebig gereiht und die Trennzeichen angepasst werden.

Es gibt Optionen zum "Erhalten der PDF Infofelder" und zum "Erhalten von Datum/Uhrzeit". Dabei können die PDF Informationsfelder sowie das Erstellungs- und Änderungsdatum der Ursprungsdatei auf die Ausgabedatei übernommen werden. Ohne diese Option werden diese Informationen neu geschrieben.

Wird eine Datei nach der Verarbeitung in den Ausgabe Ordner geschrieben und in diesem Ordner ist bereits eine Datei mit demselben Namen vorhanden, so wurde bisher automatisch ein Zähler an den Dateinamen angehängt. Jetzt ist es möglich die bereits vorhandene Datei einfach zu überschreiben. Dazu muss die "Überschreiben" Funktion im Tab "Einstellungen" angehakt sein.
Die Einträge (Metadaten) in der Indexdatei bleiben erhalten und werden durch neue Dateien ergänzt.

template-einstellungen-interface-TN.pngtemplate-ausgabe-name-ordner-TN.png

Ausgabe Datei

Zusätzlich zur Ergebnisdatei kann eine weitere Datei erstellt und gespeichert werden. In diese "Ausgabe Datei" können die aus dem Dokument extrahierten Werte gespeichert werden. Es stehen XLSX, IDX und CSV als Datei Formate zur Verfügung und der Ausgabe Ordner kann konfiguriert werden.
In dem Feld "Daten Syntax" wird festgelegt welche Werte in die Ausgabe Datei gespeichert werden sollen. Hier können zum Beispiel die aus dem Dokument ausgelesenen Werte (AREA-Variablen) angegeben werden. Sind Felder einer Gleitenden Gruppe zugeordnet, so werden alle gefundenen Werte in der Datei ausgegeben.
Ist die Option "Einzelnes XLS/CSV/XML" angehakt so wird, wenn mehrere Dokumente auf einmal verarbeitet werden, nur eine Ausgabedatei erstellt, die alle Werte enthält. Ist die Option nicht ausgewählt, wird für jedes verarbeitete Dokument eine eigene Datei erstellt.
In der Ausgabedatei kann eine Kopfzeile eingefügt werden. Ist diese Option aktiviert, werden die Feldnamen der ausgelesenen Felder als Kopfzeile über den ausgelesenen Werten eingefügt. Der Name der Ausgabedatei kann auch angepasst werden und ist standardmäßig "Vorlagen".

Werden sowohl normale Felder als auch Felder einer Gleitenden Gruppe in die Ausgabe Datei geschrieben, kann die Funktion "Dokumenten Satz unterdrücken" verwendet werden. Mit dieser Funktion werden Felder, die nicht Teil der Gleitenden Gruppe sind, nicht erneut separat ausgegeben. Werden z.B. die Felder "AREA-Rechnungsnummer" (normales Feld), "AREA-Artikel" (Gl. Gruppe) und "AREA-Preis" (Gl. Gruppe) in eine XLSX Datei geschrieben, so besteht jede Zeile aus diesen drei Werten. Die Rechnungsnummer ist in jeder Zeile gleich, während sich die ausgelesenen Werte der gleitenden Gruppe mit jeder Zeile ändern. Um zu verhindern, dass zusätzlich noch eine Zeile geschrieben wird in der nur die Rechnungsnummer angeführt wird, gibt es die Funktion "Dokumenten Satz unterdrücken".

template-ausgabe-datei-TN.png

Leere Seiten erkennen und entfernen

Beim Scan von Dokumenten kann es bei doppelseitigen Scans vorkommen, dass leere Seiten im Dokument enthalten sind. Nicht immer verfügen Scanner über eine Funktion um diese automatisch beim Scanvorgang zu entfernen. Für die Weiterverarbeitung und Archivierung sind Leerseiten störend und sollten entfernt werden können. Mit PDFmdx gibt es eine Funktion um leere Seiten automatisch zu erkennen und zu entfernen. Als Kriterium für die Erkennung einer leeren Seite dient ein Schwellwert der standardmäßig auf 5% gestellt ist. Der Wert gibt den prozentuellen Anteil der "schwarzen Pixel" auf einer Seite an. Eine Seite wird als "Leer" identifiziert sobald der Anteil der schwarzen Pixel kleiner/gleich dem eingestellten Wert (z.B. 5%) ist. Leere Seiten werden vor Beginn aller anderen PDFmdx Verarbeitungen entfernt.

Zusätzlich zum Schwellwert kann auch die Information über im Hintergrund vorhandenen Text als Kriterium herangezogen werden. Dafür muss die Option "Leere Seite aus PDF nicht entfernen falls diese Text enthält" aktiv sein. Eine Seite, auf der im Hintergrund Text vorhanden ist, der jedoch nicht "sichtbar" ist, wird dadurch nicht aus dem PDF Dokument entfernt.

PDF Konvertierung

Über die Integration des PDF2DOCX Konverters können zusätzlich zum erzeugten PDF jetzt auch ein HTML, DOCX, XML, TXT und XLS erstellt werden. Diese Formate werden aus dem PDF konvertiert und im gleichen Ausgabeordner wie das PDF abgelegt. Es können gleichzeitig ein oder mehrere zusätzliche Formate ausgegeben werden. Ist die Option "Überschreiben" aktiviert, gilt diese auch für die zusätzlich erstellten Formate.

Vorlage

Im Tab "Vorlage" können Einstellungen getroffen werden, um das Dokument mit einem Briefpapier zu hinterlegen bzw. zu überlagern. Mit welcher Methode ein Briefpapier auf das Dokument angewandt werden soll, hängt davon ab, ob es sich um ein ein- oder mehrseitiges Briefpapier handelt. Es kann hier die erste Seite auf der ersten Seite, die erste Seite auf allen Seiten oder die letzte Seite des Briefpapiers für die Folgeseiten verwendet werden.

Soll nur ein Briefpapier für das Template verwendet werden, so ist die Option "Verwende ein Briefpapier" zu wählen. Um das Dokument mit einem Briefpapier zu hinterlegen/überlagern muss der Datei Pfad des Briefpapiers angegeben werden.

Es ist auch möglich mehrere Briefpapiere in einem Template zu verwenden. Sie werden über den Datei Pfad hinzugefügt, der sowohl fixen Text als auch aus dem Dokument extrahierte Variablen enthalten kann. Jedem Briefpapier kann eine Bedingung zugewiesen werden über welche es erkannt und bei Zutreffen der Bedingung auf das Dokument angewandt wird. Die Bedingungen werden von oben nach unten durchgearbeitet und die erste die zutrifft wird verwendet.
Wenn keine der eingestellten Bedingungen zutrifft führt das zu einem Fehler und das Dokument landet im Error-Folder. Um das zu verhindern kann die Option "Überspringen falls die Bedingung nicht erfüllt ist" aktiviert werden. Dadurch werden die Dokumente trotz nicht erfüllter Bedingung weiterverarbeitet und der Briefpapier Vorgang übersprungen.

template-ein-briefpapier-TN.pngtemplate-mehrere-briefpapiere-TN.png

Signatur

Mit PDFmdx ist es möglich das PDF Dokument zu signieren. Die Signatur kann unsichtbar oder sichtbar mit einstellbaren Parametern aufgebracht werden.
Allgemein stehen für die Signatur folgende Parameter zur Verfügung: Zertifikat Auswahl, Kontakt Info, Ort und Grund. Außerdem kann ausgewählt werden ob die Signatur auf der ersten, letzten oder einer bestimmten Seite aufgebracht werden soll.

Wird die Signatur "Sichtbar" aufgebracht stehen weitere Optionen für die visuelle Darstellung zur Verfügung. Die Position X/Y (in mm) der Signatur kann abhängig von einem Referenzpunkt (Oben-Links, Oben-Rechts, Unten-Links, Unten-Rechts) festgelegt werden. Die Größe der Signatur kann auf verschiedene Arten - Optimal (W/H in mm), Anpassen Breite/Höhe, Dehnen, Prozent - angepasst werden. Es kann auch ein Bild in die Signatur eingefügt werden.

template-signatur-TN.png

PDF/A & Metadaten

Die PDF Datei kann in das PDF/A Format konvertiert werden - PDF/A-1b, PDF/A-2b, PDF/A-3b

Außerdem können in diesem Tab die Metadaten des PDF Dokuments konfiguriert werden. Hierfür kann sowohl fixer Text als auch Variablen verwendet werden. Es stehen vordefinierte Variablen zur Verfügung sowie Feld-Variablen (AREA), die aus dem Dokument ausgelesene Werte enthalten. Die %SOURCE-METADATEN% Variablen enthalten die ursprünglichen Metadaten des Dokuments.

template-metadaten-pdfa-TN.png

E-Mail Einstellungen

In diesem Tab können die Einstellungen für den automatischen E-Mail Versand getroffen werden.

Die Adressfelder können mit vordefinierten E-Mail Adressen oder Feld-Variablen (AREA), die ausgelesene Inhalte aus dem Dokument enthalten, befüllt werden. Es ist möglich eine andere Absender Adresse zu verwenden in dem die Option "Individuelle Absender Adresse verwenden" aktiviert wird.

Das Feld für den Betreff kann genauso wie die Adressfelder fixen Text oder Variablen (vordefiniert und aus dem Dokument ausgelesene) enthalten.

Für den Inhalt der Nachricht stehen drei verschiedene Modi zur Verfügung. Für die Eingabe und Bearbeitung des Inhalts gibt es den WYSIWYG Bearbeitungs-Modus und den HTML Bearbeitungs-Modus. Die Bearbeitungs-Modi bieten viele Optionen zur Anpassung des Inhalts wie zum Beispiel die Formatierung der Schrift, das Einfügen von Inhalten (Links, Bilder, YouTube Videos), die Ausrichtung und Formatierung des Texts, das Einfügen von Listen, usw. Der Inhalt der E-Mail Nachricht kann auch Variablen (vordefiniert und aus dem Dokument ausgelesene) enthalten.

Bilder werden direkt in die HTML Nachricht eingebettet - entweder "alle Bilder" oder "nur die lokalen Bilder". Damit müssen keine externen für alle Empfänger erreichbaren Ressourcen verwendet werden.

Das PDF Dokument wird in der E-Mail als Anhang hinzugefügt. Zusätzlich können weitere Anhänge definiert und hinzugefügt werden.

Mit der Option "Gleiche Empfänger zusammenfassen" ist es möglich bei der Verarbeitung eines Jobs alle Dokumente mit der gleichen Empfänger Adresse zu sammeln und in nur einer Nachricht zu versenden. Der Empfänger erhält also statt bisher mehrere E-Mails mit nur je einem Anhang ein E-Mail in der alle Dokumente enthalten sind.

template-email-TN.png

E-Mail Adress-Suche

Die E-Mail Adressen für die Empfänger können im Dokument gesucht und extrahiert werden. Dafür stehen mehrere Optionen zur Verfügung, die über den Button neben dem Empfänger Adressfeld aufgerufen werden können.

Wird die Option "E-Mail Adress-Suche aktivieren" angehakt, so stehen zwei verschiedene Wege zur Verfügung.
Über "Seitentext durchsuchen" werden die angegebenen Seiten des Dokuments nach E-Mail Adressen durchsucht. Die Adressen werden ausgelesen und in das Empfänger Adressfeld kopiert. Adressen, die bei der Suche ignoriert werden sollen, können in die Liste, der zu ignorierenden E-Mail Adressen hinzugefügt werden.
Mit "Feld extrahieren" kann ein Feld ausgewählt werden, dessen Inhalt in das Empfängerfeld kopiert wird. Es funktioniert ähnlich wie die Umgebungs-Variablen, aber enthält eine zusätzliche Funktion um den ausgelesenen Inhalt als Schlüssel zu verwenden. Dabei kann eine XLSX Datei mit 2 Spalten dazu verwendet werden um für einen aus dem Dokument ausgelesenen Schlüsselwert (z.B. die Kundennummer), die im Dokument nicht enthaltene E-Mail Adresse über die zweite Spalte zu finden und als Variable für den E-Mail Versand für das "An:"-Feld zu verwenden. Die Spaltennamen müssen angegeben werden.

template-adress-suche-seitentext-TN.pngtemplate-adress-suche-feld-TN.png

Gleiche Empfänger zusammenfassen

Jedes erzeugte PDF Dokument kann in einer eigenen E-Mail Nachricht verschickt werden. Es ist auch möglich bei der Verarbeitung eines Jobs alle Dokumente mit der gleichen Empfänger-Adresse zu sammeln und in nur einer Nachricht zu versenden. Der Empfänger erhält also statt mehrerer E-Mails mit nur je einem Anhang eine E-Mail in der alle Dokumente enthalten sind.

Barcode Einstellungen

Wird ein Feld Typ in der Feld-Definition als Barcode definiert, so kann in diesem Tab ausgewählt werden welche Barcodes dafür verwendet werden sollen. Alle hier ausgewählten Barcodes werden dann durch das Feld erkannt und aus dem Dokument ausgelesen.

template-barcode-auswahl-TN.pngtemplate-barcode-feld-TN.png

Layout

Zuerst muss ein Template erstellt werden, das die Felder und Feldtypen festlegt. Dann werden Layouts, die mit diesem Template verwendet werden, erstellt.

Z.B.: Die Feld- und Datenstruktur für Eingangsrechnungen unterschiedlicher Lieferanten ist immer gleich - das Aussehen der unterschiedlichen Rechnungen, die Position und Anordnung der Felder ist jedoch immer verschieden. Also muss ein Template für Eingangsrechnungen angelegt werden und dann pro Lieferant ein Layout.

Um die im Template definierten Felder positionieren zu können muss zuerst ein PDF als Prototyp geladen werden. Ist ein PDF Prototyp gewählt, so können die Felder per Drag&Drop auf das Dokument gezogen werden. Der Inhalt, der von einem platzierten Feld ausgelesen wird, wird links unten angezeigt, wenn das Feld ausgewählt ist. Das ermöglicht eine sofortige Rückmeldung ob der Text richtig und vollständig ausgelesen wird.

template-layout-interface-TN.png

Anker Felder

Anker Felder werden benötigt um Referenzstellen in einem Dokument zu finden und andere Felder absolut darauf zu beziehen. Es gibt Informationen, die sich weder immer wieder an der gleichen Stelle noch auf der gleichen Seite befinden. Ein typisches Beispiel ist der Endbetrag einer Rechnung - dieser kann sich auf der ersten, der letzten aber auch auf einer x-beliebigen Seite befinden. Zusätzlich kann je nach Anzahl der Rechnungspositionen der Endbetrag vertikal variieren. Eine fixe Definition würde hier nicht helfen. Eine weitere Herausforderung stellen gescannte Belege dar. Hier kann von Dokument zu Dokument jedes Feld horizontal und vertikal "wandern" - je nachdem wie das Dokument in den Scanner eingelegt und gescannt wurde, können sich Verschiebungen und Verzerrungen ergeben. Eine fixe Positionsdefinition würde eine hohe Fehlerrate verursachen. Um in diesen Fällen die Felder zuverlässig auslesen und verarbeiten zu können, wurden die Anker Felder implementiert. Diese Felder sind Fixpunkt auf welche sich andere Felder beziehen können, z.B. "Gesamtsumme", "Rechnungsendbetrag", usw.

Pro Layout können ein oder mehrere Anker Felder definiert werden auf welche sich andere Felder beziehen können. Die Suche nach den Ankerfeldern kann über Teilstrings oder fixe Texte erfolgen und es kann festgelegt werden ob alle oder nur bestimmte Seiten durchsucht werden sollen.

Es kann speziell bei der Teilstring Suche vorkommen, dass der Begriff auf der Seite nicht die erste, sondern eine weitere Fundstelle die gesuchte Position ist und es keine andere eindeutige Möglichkeit gibt das Feld über einen Suchstring zu positionieren. Deswegen erfolgt die Ankerfeldsuche standardmäßig von der Feldposition der Vorlage aus. Der nächstgelegene passende String wird als Position für das Ankerfeld genommen.

template-anker-feld-TN.png

Unschärfe

Bei der Option "Unschärfe" für Ankerfelder kann definiert werden, für wie viele Zeichen eine Abweichung vom angegebenen String noch akzeptiert wird. Die Option kann nicht in Kombination mit der Teilstringsuche verwendet werden.

Treffer

Ist die Option "Treffer" aktiviert und eine Nummer angegeben, so wird die Seite von oben nach unten und von links nach rechts nach dem Ankertext durchsucht. Der Parameter legt fest welcher Treffer als Position für das Ankerfeld genommen wird. Damit kann also auch (z.B.) der zweite Treffer auf einer Seite als Ankerfeld Position gefunden werden.

Auto-Scale

Speziell bei gescannten Dokumenten kann es vorkommen, dass die Inhalte der Dokumente auf der Seite nicht nur in Ihrer Positionierung horizontal bzw. vertikal variieren, sondern Dokumente können auch unterschiedliche Skalierungen und Größen aufweisen. Zum Beispiel falls ein gescannter Ausdruck mit unterschiedlichen Skalierungen erstellt wurde. Die relative Position und Größe der auszulesenden Felder zueinander ist prozentuell zwischen den Dokumenten zwar gleich, die absoluten Werte sind aber unterschiedlich. Das Layout für das Auslesen der Felder wird an Hand eines typischen Dokuments erstellt und berücksichtigte bisher nur die absoluten Abstände und Größen der Felder zueinander. Ein Dokument das also z.B. um 10% kleiner auf der A4 Seite erscheint, konnte so nicht verarbeitet werden, da die Felder im Vergleich zum erstellten Layout sowohl von der Position als auch von der Größe nicht passen. Dafür haben wir jetzt eine Auto-Scale Funktion implementiert, welche in der Lage ist solche unterschiedlichen Skalierungen in einem bestimmten Umfang automatisch auszugleichen.

Was ist zu beachten:

  • Das Layout sollte von der "größten" Ausprägung aus erstellt werden.
  • Es muss ein Ankerfeld verwendet werden, das ohne Teilstring Suche gefunden werden kann.
    Zum Beispiel über den String "Rechnung" nicht jedoch über ""*Rechnung*".
  • Die Option Auto-Scale muss aktiviert sein.

Test Funktion

Für PDFmdx gibt es eine integrierte Test Funktion mit der das aktuelle Template entweder mit der geladenen (Prototyp) oder mit einer frei wählbaren PDF Datei getestet werden kann. Dabei werden die Feldnamen und die extrahierten Textinhalte angezeigt. Der "Test" Button ermöglicht es zu überprüfen ob das aktuelle Template erkannt wird und bei welchen Seiten die PDF Datei geteilt werden würde. Es wird auch der Name des über die D-Bedingung identifizierten Layouts angezeigt. Dadurch kann festgestellt werden ob ein Layout, sowie welches mit dem getesteten Dokument erkannt wird.

Bei der Test Funktion werden ncht nur die aus dem PDF extrahierten, sondern auch die durch die Felddefinitionen aufbereiteten Feldinhalte, die für die Weiterverarbeitung verwendet werden, angezeigt.

template-test-erkennen-TN.pngtemplate-test-teilen-TN.png

PDFmdx Job Prozessor

Der PDFmdx Job Prozessor dient der zentralen, serverbasierenden, automatisierten und unbeaufsichtigten Verarbeitung von Dokumenten über Folder-Monitoring. Mehrere Jobs können angelegt und mehrere Eingangsordner überwacht werden damit. Pro Job/Eingangsordner erfolgt eine Vor-Auswahl der zu erkennenden Templates und Layouts. Der Prozessor prüft jedes zu verarbeitende Dokument gegen die vorausgewählten Templates/Layouts. Passen die Erkennungs-Bedingungen so erfolgt die über das Template/Layout festgelegte Verarbeitung. Der Job-Prozessor führt das aus was über den PDFmdx Template Editor an Logik und Verarbeitungs-Schritten festgelegt wurde.

PDFmdx Job Prozessor Funktionen

  • Windows Dienst:
    Für die serverbasierende und unbeaufsichtigte Verarbeitung wird ein Windows Dienst installiert. Alternativ dazu kann auch eine startbare Anwendung verwendet werden. Der zu verwendende Service Account ist konfigurierbar.
  • Parallele Verarbeitung:
    Bei genug Ressourcen und hohem Dokumentenaufkommen lassen sich mehrere parallele Verarbeitungsprozesse konfigurieren.
  • E-Mail Server Konfiguration:
    Der Versand der E-Mails erfolgt über einen SMTP Server, mit oder ohne Verschlüsselung und Authentifizierung, Auftretende Fehler lassen sich per E-Mail melden.
  • Druck-Server Konfiguration:
    Der PDF2Printer Druckserver Dienst wird unterstützt. Auswahl des Standard Druckers sowie welches Feld die Drucker steuert. Alias Zuordnung ermöglicht es ausgelesene Werte einem physischen Drucker zuzuordnen.
  • Nur Daten ausgeben:
    Diese Option erlaubt es nur Metadaten aus Dokumenten auszulesen, die Dokumente selbst aber nicht zu verändern. Es erfolgt kein Teilen, Umbenennen, Verschieben, usw.
  • Kopiere Nach:
    Eingangsdokumente können damit auch automatisch in andere ausgewählte Jobs/Ordner kopiert werden. Damit lassen sich unterschiedliche Ergebnisse aus den Eingangsdokumenten erzeugen.
  • Vorab-Teilen:
    Umfangreiche Dokumente mit vielen Seiten können vorab geteilt werden um die Verarbeitung zu beschleunigen. Optionen: Vorab-Teilen über eine Vorlage nach Bedingungen, nach Feldinhaltsänderung, nach Seitenzahl oder nach Layout Änderung.
  • Vorlagen/Layout Auswahl:
    Pro Job/Ordner wird ausgewählt gegen welche Templates/Layouts getestet werden soll. Neu im Eingangsordner hinzukommende Dokumente werden gegen diese Auswahl getestet. Bei positivem Ergebnis erfolgt die Verarbeitung auf dieser Basis.
  • Zeitgesteuerte Verarbeitung:
    Standardmäßig werden neu hinzukommende Dateien sofort erkannt und verarbeitet. Es gibt jedoch auch die zeitgesteuerte Verarbeitung im Minuten-Intervall, Täglich zu einer bestimmten Zeit oder mit festgelegtem Datum/Uhrzeit.
  • Error Folder / Logging:
    Fehler werden protokolliert. Das betroffene Dokument wird in den Error Folder verschoben. Falls konfiguriert wird auch ein Error E-Mail verschickt. Erfolgreiche Verarbeitungen werden über die Metadaten-Datei protokolliert.

Konfiguration

Kopieren Nach

Um zum Beispiel eine einzige Eingabedatei auf mehrere unterschiedliche Arten zu verarbeiten dient die Funktion "Kopiere Nach". Dabei muss nur mehr der Name des/der Ziel-Jobs aus der Liste ausgewählt werden. Die Übergabe kann auch parallel an mehrere Jobs erfolgen. Alle Eingabedateien des einen Jobs werden dann automatisch auch in die Eingabeordner der anderen Jobs kopiert. Damit können zum Beispiel automatisch mehrere Varianten einer Verarbeitung mit unterschiedlichen Parametern auf einmal ausgeführt werden - siehe auch die Funktion "Teilen & Neu zusammenfügen".

Zeitgesteuerte Verarbeitung

Standardmäßig beginnt die Verarbeitung sobald eine neue Datei in einem der Eingangsordner erkannt wird. Darüber hinaus gibt es beim PDFmdx Service Prozessor auch die Möglichkeit die Verarbeitung zeitgesteuert - mit einem eingestellten Intervall oder aber auch täglich zu einer bestimmten Uhrzeit - durchzuführen.

Vorab-Teilen

Vorab-Teilen bei Änderung des Layouts/Templates:
Diese Funktion ermöglicht es Dokumentenstapel vor der weiteren Verarbeitung an Hand der erkannten Layouts bzw. Vorlagen in Einzeldokumente aufzuteilen und dann weiter zu verarbeiten. Eine Teilung in ein neues Dokument erfolgt sobald sich ein erkanntes Layout ändert. Layouts und Vorlagen werden über die konfigurierten Kriterien erkannt. Es wird nur an Seiten geteilt wo ein Layout erkannt wird.

Vorab-Teilen von Dokumentenstapel an Hand von Layouts bzw. Vorlagen:
Sind unterschiedliche Layouts bzw. Vorlagen in einem Dokumentenstapel enthalten und sollen die unterschiedlichen Dokumente an Hand von Kriterien erkannt und in Einzeldokumente aufgeteilt werden so muss im PDFmdx Job Prozessor über die Funktion "Vorab-Teilen falls sich das Layout oder die Vorlage ändern" erfolgen. Eine in einem Layout definierte "S=Split" Bedingung wirkt im Dokumentenstapel nur bei gleichen Layouts, nicht jedoch bei verschiedenen Layouts und Vorlagen. Liegen die zu verarbeitenden Dokumente bereits als getrennte Einzeldokumente vor, so ist diese Option nicht erforderlich.

Seiten/Trennblätter (vorab) löschen

Über Bedingungen können Seiten/Trennblätter erkannt sowie vor bzw. während der Verarbeitung gelöscht werden. Falls die gelöschte Seite nicht auch für die Erkennung des Layouts bzw. zum Trennen verwendet wird, gibt es eine eigene Funktion um die erkannte Seite "Vor der Verarbeitung" zu löschen. In diesem Fall werden zuerst alle zu löschenden Seiten gesucht und erst in einem zweiten Durchgang die weiteren Erkennungen und Teilungen für das "Restdokument" durchgeführt. Das Kriterium kann über ein ausgewähltes Feld oder über "die ganze Seite" festgelegt werden. Ebenso kann die Suche auf einer bestimmten Seite, einer Folge von Seiten oder über alle Seiten erfolgen. Es kann mit einem exakten String oder mit Hilfe von Platzhaltern gearbeitet werden.

PDF2Printer Integration

PDFmdx verfügt über eine Integration mit dem PDF Druckerdienst - PDF2Printer. Damit können die erzeugten Dokumente automatisiert auf Druckern ausgegeben werden. Die Druckausgabe erfolgt für alle im Rahmen der PreSplit (Vorab-Teilen) Funktion erzeugten Einzeldokumente. Die Information auf welchen Drucker ausgegeben werden soll, kann aus den Einzeldokumenten über ein Datenfeld des PreSplit Templates ausgelesen und für die Ansteuerung von PDF2Printer verwendet werden.

Mittels Alias Zuordnung kann über ein aus dem Dokument ausgelesenes Feld ein physischer Drucker ermittelt und zugeordnet werden. Kann ein passender Alias gefunden werden oder fehlt die Information im Dokument, so wird der eingestellte "Default Printer" genommen. Die Druckerfunktion kann generell, sowie pro Verarbeitungsdefinition individuell aktiviert und deaktiviert werden. PDFmdx erzeugt pro Verarbeitungsjob (Eingangsdokument das verarbeitet wird) einen eindeutigen Unterordner im gemeinsamen Druck Eingangs-Folder. Dahin werden die über den Split-Vorgang erzeugten PDF Einzeldateien kopiert.

Zum Start der Weiterverarbeitung (= Druckvorgang) wird automatisch eine "PDFmdx.pcf" (Print Control File) ASCII Datei erzeugt und zum Schluss in den Unterordner kopiert. Das PCF enthält die Namen der zu druckenden PDF's, legt die Druckreihenfolge sowie den Drucker fest auf den ausgegeben werden soll. Der PDF2Printer Dienst erkennt die vorhandene "PDFmdx.pcf" Datei und startet den Druckvorgang. Nach erfolgreichem Druck wird der Unterordner gelöscht. Die PCF Datei triggert und steuert die Druckausgabe.

E-Mail Einstellungen

Während sich die spezifischen Einstellungen für den E-Mail Versand pro Template einstellen lassen, müssen die Grundeinstellungen im Job Prozessor getroffen werden. Über das "Brief"-Symbol in der Kopfzeile können die E-Mail Einstellungen geöffnet werden.
Um den E-Mail Versand zu aktivieren müssen hier die SMTP Einstellungen getroffen werden. Durch Eingabe einer Test Adresse lassen sich die getroffenen Einstellungen nach der EIngabe testen.
Es ist möglich bei Auftreten eines Errors eine "Fehler E-Mail" zu versenden. Auch das kann in den E-Mail Einstellungen konfiguriert werden. Die Fehler E-Mail lässt sich mit Hilfe des Editors anpassen.

E-Mail Anhang Negativliste

Externe Liste von E-Mail Empfängern an die der zusätzlich ausgewählte Anhang nicht verschickt werden soll. Die in der Liste angeführten Empfänger erhalten nur das aus der Verarbeitung entstandene Dokument. Ein zusätzlich konfigurierter Anhang wird nicht verschickt. Alle anderen E-Mail Empfänger erhalten auch die zusätzlichen Anhänge.
Diese Option ist im PDFmdx Job Prozessor in den E-Mail Einstellungen zu finden.

E-Mail Ersatzliste

Eine E-Mail Adresse von "An:", "CC:" und "BCC:" kann über eine externe ASCII/TXT Liste durch eine andere E-Mail Adresse ersetzt werden. Die Anhang Negativliste sowie die Ersatzliste kann generell oder pro Vorlage festgelegt werden. Die Vorlagenlisten der Vorlagen übersteuern die generell in der E-Mail Konfiguration festgelegten Listen.
Diese Option ist im PDFmdx Job Prozessor in den E-Mail Einstellungen zu finden.

Web-Service Schnittstelle über SOAP/REST

PDFmdx kann damit in andere Anwendungen und Dienste eingebunden werden. Um zu testen welche Funktionen über die Web-Services zur Verfügung stehen wird mit dem Setup ein Test Client sowie der Source Code der Anwendung als C# Projekt mit installiert.

Der PDFmdx Template Editor kann die lokal erstellten Templates und Layouts per Web-Service Verbindung mit einem oder mehreren PDFmdx Servern abgleichen. Damit können Templates lokal entwickelt und getestet werden um diese dann auf die Verarbeitungs-Server zu replizieren. Die Kommunikation erfolgt über SOAP per http/https. Damit werden der Abgleich und die Verteilung von neuen und aktualisierten Templates wesentlich vereinfacht und beschleunigt.

Benutzerverwaltung:

Neue Benutzer anlegen, löschen, Passwort rücksetzen/neu setzen. Bisher hat es nur einen "Admin" Benutzer gegeben. Jetzt ist es auch möglich weitere Benutzer anzulegen. Die Jobs und die Job-Vorlagen werden auf Basis der Benutzer verwaltet. Über den "Admin" können weitere Benutzer angelegt werden. Das "Admin" Passwort kann über den PDFmdx Service Prozessor zurückgesetzt werden.

Job-Template Funktion:

Um neue Jobs über die Web-Service Schnittstelle einfach ohne viel Konfigurationsaufwand anzulegen, gibt es auch die Möglichkeit Job-Templates zu verwenden. Job-Templates dienen als Referenz für neue Jobs. Ein bestehender Job kann über eine Checkbox zu einem Job-Template gemacht werden. Jobs die über ein Template erzeugt wurden sind darauf referenziert.

Funktionen Web Service Test Client

  • Liste der verfügbaren Templates - Refresh, Upload, Download, Löschen
  • Job neu anlegen - Beschreibung, Auswahl der Layouts, Verarbeiten ohne Bedingungen - Ja/Nein, Vorab-Teilen - nach Vorlagen, nach Seiten, nach Feldänderung bzw. falls sich das Layout oder Template ändert.
  • Über die "Upload" Funktion wird ein angelegter Job mit PDF Dateien zur Verarbeitung "befüllt".
  • "Start"-Verarbeiten der hochgeladenen PDFs mit den Job-Einstellungen am PDFmdx Server.
  • Nach der Verarbeitung können die Ergebnisse über "Download" komplett heruntergeladen bzw. über Job-Info die Details angesehen und die Ergebnisdateien einzeln heruntergeladen werden.
  • Für den "Download" kann ausgewählt werden ob nur die PDF Ergebnisdateien, nur die Metadaten oder beides zusammen heruntergeladen werden soll.
  • Andere zu verarbeitende Dateien können über "Upload" in einen angelegten Job nachgeladen und mit "Restart" ebenfalls verarbeitet werden.
  • "Delete" ermöglicht es bestehende Jobs zu löschen.
  • Jobs können abgefragt bzw. als Liste angezeigt werden - ID, Status (created, uploaded, started, finished, downloaded), User, Beschreibung - werden angezeigt. Die Job-Liste kann über den User sowie den Status gefiltert werden.

PDFmdx-CL

Commandline Anwendung für PDFmdx

PDFmdx-CL ist eine Kommandozeilen-Anwendung, die es ermöglicht PDF Dokumente bzw. ganze Ordnerstrukturen über die Web-Service Schnittstelle an einen PDFmdx Service zur Verarbeitung zu übergeben und die Ergebnisse der Verarbeitung in einem Zielordner abzulegen.
PDFmdx-CL ist ein kostenloses Add-On für den PDFmdx Server, kann auf beliebigen MS-Windows Arbeitsplätzen installiert werden und erfordert keine zusätzliche Lizenzierung.

PDFmdx-CL Anwendungsbereich:

  • PDF Dokumente über Felder und deren Inhalte mittels hinterlegter Kriterien zu erkennen.
  • Dokumentenstapel an Hand von Kriterien in Einzeldokumente zu teilen.
  • Feldinformationen aus den Dokumenten auszulesen und als Metadaten (ASCII-TXT) Datei zu schreiben.
  • PDF Briefpapier über Feldinhalte gesteuert zu hinterlegen/überlagern.
  • PDF Dokumente zu signieren.
  • PDF/A-1b bzw. PDF/A-3b konforme Dokumente zu erzeugen.
  • PDF Infofelder mit den ausgelesenen Metadaten zu befüllen.
  • Textstempel/Wasserzeichen aufbringen - fix bzw. über Inhalte/Variablen aus dem Dokument.
  • 1D/2D Barcodes aufbringen - fix bzw. über Inhalte/Variablen aus dem Dokument.

Der PDFmdx Server bietet auch die Möglichkeit die Dokumente neu zu benennen, am Server in einer Folder-Struktur zu speichern, per E-Mail zu versenden oder über den PDF2Printer Druckserver auszudrucken. Diese Funktionen können momentan nur über die Verarbeitung direkt am PDFmdx Server, jedoch nicht über die PDFmdx-CL Anwendung genutzt werden.

PDFmdx-CL Funktionen:

  • Kommandozeilen Anwendung für PDFmdx
  • Web-Service Kommunikation (SOAP) - local (host) oder remote PDFmdx Verarbeitungs-Service
  • Verarbeitung einzelner PDF Dateien, sowie aller PDF's eines Ordners / ZIP Datei bzw. von Ordner-Strukturen
  • User-Interface für die Konfiguration sowie um Standardeinstellungen vorzugeben
  • Job-Vorlagen erzeugen (Name/Beschreibung) und die Verarbeitungs-Vorlagen auswählen. Verarbeitungs-Vorlagen werden über den PDFmdx Editor erzeugt und sind am PDFmdx Server hinterlegt.
  • Neue Verarbeitungs-Jobs können über eine bereits angelegte Job-Vorlage erzeugt und mit Dokumenten (einzelnen oder ganze Ordner) befüllt und verarbeitet werden. Erforderliche Parameter werden entweder angegeben oder werden standardmäßig über die Voreinstellungen belegt.
  • Die Ergebnisdokumente (PDF's + Metadaten) werden in den vorgegebenen Ziel-Ordner heruntergeladen.
  • Job-Details können über die Job-Liste angezeigt werden.
Tags:
Erstellt von Gregor Herdy am 27/11/2018, 11:28
XKey Wiki 2018