Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Auslesen von Dateiinhalten oder Dateieigenschaften

EvalKositValidatorReport()

Diese Funktion wertet einen Report des KoSIT-Validators, der zuvor mit dem Dateimakro CreateKositValidatorReport() generiert wurde, inhaltlich aus. Die Funktion liefert des Prüfergebnis zurück, d.h. die Empfehlung zur Annahme/Ablehnung des Dokumentes aus dem "assessment"-Knoten.

Optional können Zusatzinformationen zum erkannten Szenario und weitere Details ausgelesen und bestimmten Zielfeldern zugewiesen werden.

Rückgabetyp: Bool

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.report.xml

2

Text

optionaler Name eines Zielfeldes im Dokument, dem der Name des erkannten Prüfszenarios zugewiesen wird

Rückgabetyp: Text

3

Text

optionaler Name eines Zielfeldes im Dokument, dem aus dem Report extrahierte Detailinformationen zum Prüfergebnis zugewiesen werden

Rückgabetyp: Text

Syntaktisch werden diese Informationen in Form eines JSON-Ausdrucks bereitgestellt.

Beispiele

EvalKositValidatorReport("*.report.xml", "Scenario", "ReportDetails") liefert das Prüfergebnis aus der gefundenen Report-Dateianlage, z. B. TRUE. Der Name des erkannten Szenarios und Prüfdetails werden in die Felder Scenario und ReportDetails geschrieben.

ExtractFullTextOcr()

Diese Funktion ermittelt durch Ausführung einer OCR den Textinhalt einer PDF-Dateianlange, die Rasterbilder oder Bilder enthält.

Die gängigen Bilddateiformate werden unterstützt, im Fall von TIFF auch mehrseitige Bilddateiformate. Bei PDF-Dateien wird sowohl nativer Textinhalt extrahiert als auch eine OCR über eingebundene Bilder durchgeführt.

Rückgabetyp: Text

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.tif|*.tiff|*.jpg|*.jpeg|*.pdf

2

Text

Seiten, die berücksichtigt werden:

  • First: nur erste Seite

  • Last: nur letzte Seite

  • All: alle Seiten (Standardwert)

  • freie Aufzählung von einzelnen Seitennummern oder Seitenbereichen, z. B. 1;2;3 oder 1-3

3

Text

Sprache des zu verwendenden OCR-Wörterbuchs, z .B. German (Standardwert) oder English; bei Bedarf auch kommasepariert mehrere Sprachen

Im Programmverzeichnis muss zur jeweiligen Sprache die passende Wörterbuchdatei im Programmverzeichnis verfügbar sein, z. B. deu.traineddata oder eng.traineddata. Diese beiden Dateien werden mit ausgeliefert. Weitere Wörterbuchdateien können auf Anfrage bereitgestellt werden.

4

Bool

Wahrheitswert, ob bei der OCR über in PDF enthaltene Bilder nur ganzseitige berücksichtigt werden, z. B. in PDF eingebundene Scan-Seiten

Standardwert: TRUE

Ansonsten werden alle in eine PDF-Seite eingebetteten Bilder per OCR verarbeitet.

5

Number

optionaler Timeout-Wert in Sekunden, nach denen die OCR-Verarbeitung einer einzelnen Seite abgebrochen wird, wenn bis dahin kein Ergebnis vorliegt

Der Textinhalt einer solchen Seite wird dann nicht übernommen und ggf. mit der Folgeseite fortgefahren.

Beispiele

ExtractFullTextOcr("*.tif", "1-3", "German") ergibt den Textinhalt der ersten 3 Seiten einer TIFF-Datei.

ExtractFullTextPdf()

Diese Funktion liest den nativen Textinhalt einer PDF-Dateianlage aus.

Rückgabetyp: Text

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.pdf

2

Text

Seiten, die berücksichtigt werden:

  • First: nur erste Seite

  • Last: nur letzte Seite

  • All: alle Seiten (Standardwert)

  • freie Aufzählung von Seitennummern oder Seitenbereichen, z. B. 1;2;3 oder 1-3

Beispiele

ExtractFullTextPdf("*.pdf", "First") ergibt den Textinhalt der ersten Seite einer PDF-Datei.

FindEInvoiceFileByFormat(), FindEInvoiceFilesByFormat()

Die Funktion FindEInvoiceFileByFormat() liest den Namen der ersten gefundenen Dateianlage aus, die einem bestimmten elektronischen Rechnungsformat entspricht (Rückgabetyp: Text). Wenn keine passende Dateianlagen gefunden wird, ist der Rückgabetyp ein leerer String.

Die Funktion FindEInvoiceFilesByFormat() liest die Namen aller gefundenen Dateianlagen aus, die einem bestimmten elektronischen Rechnungsformat entsprechen (Rückgabetyp: Array von Textwerten). Wenn keine passenden Dateianlagen gefunden werden, ist der Rückgabetyp ein leeres Array.

Als Dateityp wird XML und beim ZUGFeRD-Format auch PDF unterstützt. ZUGFeRD-Dateien in dem veralteten Format 1.x können vom Programm nicht verarbeitet werden und werden daher nicht in das Suchergebnis einbezogen.

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitenden Dateianlagen

Standardwert: *.xml|*.pdf

2*

Text

Kennung des gesuchten E-Rechnungsformats oder kommaseparierte Auflistung mehrerer Formate:

  • XRechnung

  • ZUGFeRD

Beispiele

FindEInvoiceFileByFormat("*.xml", "XRechnung") ergibt den Namen der ersten gefundenen XRechnung-Dateianlage, z. B. "invoice1.xml" oder "" bei keinem Treffer.

FindEInvoiceFilesByFormat("*.xml", "XRechnung") ergibt die Namen aller gefundenen XRechnung-Dateianlagen, z. B. ["invoice1.xml","invoice2.xml"] oder [] bei keinem Treffer.

GetEInvoiceFileFormat()

Diese Funktion ermittelt für eine XML-Dateianlage oder eine (ZUGFeRD-) PDF-Dateianlage mit eingebetteter XML-Datei, welchem bekannten E-Rechnungsformat diese Datei entspricht.

Dazu wird ausschließlich der betreffende XML-Knoten mit der Formatkennung ausgewertet, also keine weitergehende Validierung des XML-Inhalts vorgenommen. Optional können Zusatzinformationen zum erkannten Format und zur Version ausgelesen und bestimmten Zielfeldern zugewiesen werden.

Rückgabetyp: Text (PeppolInvoice, PeppolPintInvoice, XRechnung, Zugferd oder Unknown)

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.xml|*.pdf

2

Text

optionaler Name eines Zielfeldes im Dokument

Dem Zielfeld wird die erkannte PEPPOL-Dokumentart, XRechnung-Syntax oder ZUGFeRD-Version zugewiesen.

Rückgabetyp: Text

3

Text

optionaler Name eines Zielfeldes im Dokument

Dem Zielfeld wird die erkannte PEPPOL-Version, XRechnung-Version oder das erkannte ZUGFeRD-Profil zugewiesen.

Rückgabetyp: Text

4

Text

optionaler Name eines Zielfeldes im Dokument

Dem Zielfeld wird ein Fehlermeldungstext zugewiesen, wenn kein bekanntes E-Rechnungsformat erkannt wurde.

Rückgabetyp: Text

Beispiele

GetEInvoiceFileFormat("*.xml", "Syntax", "Version", "Error") ergibt den Typ einer XML-Dateianlage, z. B. "XRechnung". Die Syntax und Version der Dateianlage werden ergänzend in die betreffenden Zielfelder geschrieben, z. B. "UblInvoice" und "Version_3_0". Im Fall des nicht erkannten Typs Unknown kann ein Fehlerursache in das Feld Error geschrieben werden.

GetExternalFileContent()

Diese Funktion liest den Inhalt einer externen Datei aus dem Dateisystem als Textwert ein.

Rückgabetyp: Text

Parameter

Datentyp

Beschreibung

1*

Text

vollständiger Pfad der Datei im Dateisystem

Beispiele

GetExternalFileContent("c:/test.txt") ergibt den Textinhalt der angegebenen Datei.

GetExternalFileProperty()

Diese Funktion liest eine Eigenschaft einer externen Datei aus dem Dateisystem ein.

Der Rückgabetyp variiert in Abhängigkeit von der gewünschten Eigenschaft.

Parameter

Datentyp

Beschreibung

1*

Text

vollständiger Pfad der Datei im Dateisystem

2*

Text

Name der auszulesenden Eigenschaft:

  • Created: lokales Erstelldatum

  • Modified: lokales Änderungsdatum

  • ReadOnly: ist schreibgeschützt?

  • Size: Größe in Bytes

Beispiele

GetFileContent("*.txt", "Original") ergibt den Inhalt einer Textdateianlage vom Typ "Original".

GetFileContent()

Liest den Inhalt einer Dateianlage als Textwert ein.

Rückgabetyp: Text

Parameter

Datentyp

Beschreibung

1*

Text

Namensfilter für die einzulesende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *

2*

Text

optionale Einschränkung der Suche auf Dateianlagen eines bestimmten Typs (Standardwert: alle Anlagen):

  • Original: Originaldateien aus dem Eingabesystem

  • Processed: Dateien, die vom Programm durch Extraktion oder Konvertierung hinzugefügt wurden

GetImageProperty()

Diese Funktion liest eine Eigenschaft einer Bilddateianlage aus. Die gängigen Rasterbilddateiformate werden unterstützt.

Der Rückgabetyp variiert in Abhängigkeit von der gewünschten Eigenschaft.

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.jpg|*.jpeg|*.tif|*.tiff

2*

Text

Name der auszulesenden Eigenschaft:

  • BitDepth: Farbtiefe in Bit (Rückgabetyp: Number)

  • Format: Dateiformat, z.B. "TIFF" oder "JPEG" (Rückgabetyp: Text)

  • HRes und VRes: horizontale bzw. vertikale Auflösung in DPI (Rückgabetyp: Number)

  • PageCount: Seitenanzahl bei mehrseitigen TIFF-Daten, ansonsten immer 1 (Rückgabetyp: Number)

  • Width und Height: Seitenbreite und Seitenhöhe in Pixeln (Rückgabetyp: Number)

Beispiele

GetImageProperty("*.tif", "PageCount") ergibt die Seitenanzahl einer TIFF-Dateianlage, z. B. 3.

GetJsonProperty()

Diese Funktion liest aus einem Feldwert oder aus einer Datei, die inhaltlich ein JSON-Dokument darstellt, den Wert einer JSON-Eigenschaft ein.

Der Rückgabetyp variiert in Abhängigkeit vom Datentyp des Wertes. Für Datumswerte, die im JSON-Format als String gespeichert werden, führt der Parser nur bei einer gängigen Syntax, z. B. beim ISO-Format, eine implizite Konvertierung in einen Datumswert durch.

Wenn abhängig vom 3. Aufrufparameter multiple Werte gelesen werden, werden die Werte in einem Array zurückgegeben, auch wenn nur ein einzelner Wert gefunden wird. Wenn eine Eigenschaft gar nicht gefunden wird oder den Wert NULL hat, ist der Rückgabewert eine leere Zeichenfolge oder ein leeres Array.

Parameter

Datentyp

Beschreibung

1

Text

Wert oder Name eines Feldes oder Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Zuerst wird versucht, den Wert direkt als JSON-Dokument zu interpretieren. Danach wird versucht, ein namensgleiches Feld zu finden. Wenn kein Feld gefunden wird, wird nach einer passenden Datei gesucht.

Standardwert: .json

2*

Text

JSONPath-Ausdruck zur Adressierung der auszulesenden JSON-Eigenschaft

Dabei ist die gleiche Syntax zu verwenden wie beim Indexdatenleser "Json".

3

Bool

Wahrheitswert, ob bei einer Eigenschaft mit potenziell mehreren Werten (d.h. einem Array) alle Werte eingelesen werden

Andernfalls wird nur der erste Wert übernommen.

Standardwert: FALSE

Beispiele

GetJsonProperty("JsonData", "$.Name") ergibt den Wert einer Eigenschaft Name aus den JSON-Daten in einem Feld namens JsonData, z. B. "Value1".

GetJsonProperty("JsonData", "$.Name") ist vergleichbar mit dem vorigen Beispiel. Hier wird das Quellfeld nicht als Variable, sondern über dessen Namen adressiert.

GetJsonProperty("*.json", "$.Names[*]", TRUE) ergibt alle Werte eines Arrays Names aus einer JSON-Dateianlage, z. B. ["Value1","Value2"].

GetPdfProperty()

Diese Funktion liest eine Eigenschaft aus einer PDF-Dateianlage aus.

Der Rückgabetyp variiert in Abhängigkeit von der gewünschten Eigenschaft.

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.pdf

2*

Text

Name der auszulesenden Eigenschaft:

  • Author, CreationDate, Creator, Keywords, Metadata, ModificationDate, Producer, Subject, Title, Version: Standardeigenschaften einer PDF-Datei (Rückgabetyp: Text)

  • EmbeddedCount: Anzahl eingebetteter Dateianlagen (Rückgabetyp: Number)

    Als erster Zusatzparameter kann ein Namensfilter für die mitzuzählenden Anlagen definiert werden. Als zweiter Zusatzparameter kann ein Wahrheitswert definiert werden, ob auch als Anmerkungen auf Seitenebene eingebundene Anlagen berücksichtigt werden (Standardwert: false, d.h. nur globale Anlagen werden einbezogen). Der zweiter Zusatzparameter greift nur, wenn auch ein Namensfilter gesetzt ist.

  • EmbeddedNames: Namen eingebetteter Anlagen (Rückgabetyp: Array von Textwerten)

    Die beiden Zusatzparameter können analog zur Eigenschaft EmbeddedCount genutzt werden.

  • HasText: Prüfung, ob auf irgendeiner Seite nativer PDF-Text enthalten ist (Rückgabetyp: Bool)

  • IsEncrypted: Prüfung, ob die PDF-Datei verschlüsselt ist (Rückgabetyp: Bool)

  • IsImage: Prüfung, ob die PDF-Datei ausschließlich aus ganzseitigen Bildern besteht (Rückgabetyp: Bool)

  • IsPdfA: Prüfung, ob die PDF-Datei in einem gültigen PDF/A-Format vorliegt (Rückgabetyp: Bool)

  • HasSignature: Prüfung, ob die PDF-Datei signiert ist (Rückgabetyp: Bool)

  • PageCount: Seitenanzahl der PDF-Datei (Rückgabetyp: Number)

  • PdfLevel: PDF-Typ, dem die Datei entspricht in der Form PDF#_# oder PDF_A_#x, z. B. PDF1_7 oder PDF_A_2a (Rückgabetyp: Text)

  • Width und Height: Seitenbreite und Seitenhöhe in Millimetern (Rückgabetyp: Number)

3

(variabel)

erster optionaler Zusatzparameter, der nur für bestimmte Eigenschaften relevant ist

4

(variabel)

zweiter optionaler Zusatzparameter, der nur für bestimmte Eigenschaften relevant ist

Beispiele

GetPdfProperty("*.pdf", "EmbeddedNames", "*.xml") ergibt die Namen eingebetteter XML-Dateien in einer PDF-Dateianlage, z. B. ["factur-x.xml"].

GetXmlNode()

Diese Funktion liest aus einem Feldwert oder einer Dateianlage, die inhaltlich ein XML-Dokument darstellen, den Textinhalt eines Knotens ein.

Der Rückgabewert ist immer vom Typ "Text". Bei Bedarf muss der Rückgabewert in den gewünschten Zieltyp konvertiert werden. Wenn abhängig von dem 4. Aufrufparameter multiple Knoten eingelesen werden, werden die Werte in einem Array zurückgegeben, auch wenn nur ein einzelner Knoten gefunden wird. Wenn ein Knoten gar nicht gefunden wird, ist der Rückgabewert eine leere Zeichenfolge oder ein leeres Array.

Parameter

Datentyp

Beschreibung

1

Text

Wert oder Name eines Feldes oder Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Zuerst wird versucht, den Wert direkt als XML-Dokument zu interpretieren. Danach wird versucht, ein namensgleiches Feld zu finden. Wenn kein Feld gefunden wird, wird nach einer passenden Datei gesucht.

Standardwert: .xml

2*

Text

XPath-Ausdruck zur Adressierung des auszulesenden XML-Knotens

Dabei ist die gleiche Syntax zu verwenden wie beim Indexdatenleser "Xml".

3

Bool

Wahrheitswert, ob vor dem Parsen des XML-Dokuments enthaltene Namensraumangaben aus diesem entfernt werden

Durch die Entfernung der Namensraumangaben können Probleme beim Parsen umgangen werden. Ein XPath-Ausdruck für die Referenzierung von Knoten ist dann auch ohne Namensraumpräfix anzugeben.

Standardwert: FALSE

4

Bool

Wahrheitswert, ob alle Werte eines potenziell mehrfach auftretenden Knotens (als Array) eingelesen werden

Andernfalls wird nur der erste Wert des Knotens übernommen.

Standardwert: FALSE

Beispiele

GetXmlNode("XmlData", "/ubl:Invoice/cbc:ID") ergibt den Wert des ID-Knotens aus den XML-Daten in einem Feld namens XmlData, z. B. "00004711".

GetXmlNode("XmlData", "/ubl:Invoice/cbc:ID") ist vergleichbar mit dem vorigen Beispiel. Hier wird das Quellfeld nicht als Variable, sondern über dessen Namen adressiert.

GetXmlNode("*.xml", "/Invoice/InvoiceLine/ID", TRUE, TRUE) ergibt die Werte aller ID-Knoten aus einer XML-Dateianlage, z. B. ["1","2"].

IsPeppolXml(), IsPeppolPintXml(), IsUblInvoiceXml(), IsXRechnungXml(), IsZugferdXml(), IsZugferdPdf()

Diese Funktionen ermitteln für eine XML-Dateianlage bzw. eine (ZUGFeRD-) PDF-Dateianlage mit eingebetteter XML-Datei, ob diese einem bekannten PEPPOL-, UBL-, XRechnung- oder ZUGFeRD-Format entspricht.

Dazu wird ausschließlich der betreffende XML-Knoten mit der Formatkennung ausgewertet. Eine weitergehende Validierung des XML-Inhalts wird nicht vorgenommen. Optional können Zusatzinformationen zum erkannten Format und zur Version ausgelesen und bestimmten Zielfeldern zugewiesen werden.

Die Syntax der Versionskennung kann variieren. Im Programm sind nur Erkennungsmuster für Hauptversionen hinterlegt sind, um nicht bei jeder neuen Unterversion eine Programmanpassung durchführen zu müssen. Wenn dem Programm die Hauptversionsnummer bekannt ist, z. B. 2.x, ist die zurückgelieferte Kennung Version_2_x. Bei unbekannten Hauptversionen wird die vollständige Versionsnummer dynamisch aus der ID-Zeichenfolge der E-Rechnung ausgelesen. Die Versionsnummer enthält in diesem Fall statt x die konkrete Nummer der Unterversion.

Rückgabetyp: Bool

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert für FindEInvoiceFileByFormat() und FindEInvoiceFilesByFormat(): *.pdf|*.xml

Standardwert für IsZugferdPdf: *.pdf

Hinweis

Wenn der Funktion IsZugferdXml() ein Namensmuster übergeben wird, das auch für PDF-Dateien passt, kann die Funktion parallel zu XML-Dateien auch diese PDF-Dateien verarbeiten. Die spezialisierte Funktion IsZugferdPdf() muss somit nicht zwingend aufgerufen werden.

2

Text

optionaler Name eines Zielfeldes im Dokument, dem die erkannte PEPPOL/UBL--Dokumentart, XRechnung-Syntax oder ZUGFeRD-Version zugewiesen wird

Rückgabetyp: Text

3

Text

optionaler Name eines Zielfeldes im Dokument, dem die erkannte PEPPOL-/UBL-Version, XRechnung-Version oder das erkannte ZUGFeRD-Profil zugewiesen wird

Rückgabetyp: Text

4

Text

optionaler Name eines Zielfeldes im Dokument, dem ein Fehlermeldungstext zugewiesen wird, wenn die Dateianlage nicht als das gewünschte Format erkannt wurde

Rückgabetyp: Text

Beispiele

IsXRechnungXml("*.xml", "Syntax", "Version", "Error") liefert für eine XML-Dateianlage das Prüfergebnis, ob die Dateianlage eine XRechnung ist, z. B. TRUE. Die Syntax und Version werden ergänzend in die betreffenden Zielfelder geschrieben, z. B. "UblInvoice" und "Version_3_0". Im Fall eines negativen Ergebnisses kann eine Fehlerursache in das Feld Error geschrieben werden.

ReadBarcode()

Diese Funktion liest aus einer (mehrseitigen) TIFF- oder PDF-Dateianlage Barcode-Werte aus. Wenn nur ein einzelner Wert ausgelesen wird, ist der Rückgabetyp Text. Wenn mehrere Werte ausgelesen werden, ist der Rückgabetyp ein Array.

Die Suche nach einem Einzelwert wird dadurch definiert, dass gemäß nachfolgender Parameter nur eine Seite (First, Last oder einzelne Seitennummer) und nur ein Wert auf dieser Seite (First oder Last) berücksichtigt wird. Wenn kein Wert gefunden wird, wird ein leerer String bzw. ein leeres Array zurückgeliefert.

Parameter

Datentyp

Beschreibung

1

Text

Namensfilter für die zu verarbeitende Dateianlage, wobei nur die erste gefundene Anlage berücksichtigt wird

Standardwert: *.tif|*.tiff|*.pdf

2

Text

Typ der zu suchenden Barcodes:

  • Simple: normaler 1D-Barcode (Standardwert)

  • DM: Datamatrix-Code

  • QR: QR-Code

3

Text

Seiten, die berücksichtigt werden:

  • First: nur erste Seite (Standardwert)

  • Last: nur letzte Seite

  • All: alle Seiten

  • freie Aufzählung von einzelnen Seitennummern oder Seitenbereichen, z. B. 1;2;3 oder 1-3

4

Text

Zu berücksichtigende Fundstelle der Barcodes innerhalb einer Seite:

  • First: nur erster Barcode (Standardwert)

  • Last: nur letzter Barcode

  • All: alle Barcodes

5

Text

Filter zur optionalen Beschränkung der Suche auf Barcodes mit einem bestimmten Inhalt oder Aufbau

Syntax: siehe Syntax von Namensfiltern

Standardwert: *

6

Number

Auflösung (dpi) für eine bei PDF-Seiten notwendige implizite Konvertierung in Rasterbilder vor der Barcode-Erkennung

Standardwert: 300

Beispiele

ReadBarcode("*.tif", "Simple", , , "A#######") ergibt den Wert eines Barcodes eines vorgegebenen Musters auf der ersten Seite einer TIFF-Dateianlage, z. B. "A0000001" oder "" bei keinem Treffer.

ReadBarcode("*.tif", "Simple", "All", "All") ergibt die Werte aller Barcodes auf allen Seiten einer TIFF-Dateianlage, z. B. ["A0000001","A0000002","B0000001"] oder [] bei keinem Treffer.