OCR-Parameter

Mit dem Webservice "OCR" kann eine Texterkennung in PDF-Dokumenten oder Grafiken durchgeführt werden.

 

Wenn die Erkennung von Grafiken durchgeführt wird, dann werden diese in PDF-Dokumente umgewandelt. Es wird für jede Grafik im PDF-Dokument eine Seite erstellt, die die ursprüngliche Grafik enthält und einen Text-Layer mit dem erkannten Text.

 

Eine Texterkennung von PDF-Dokumenten funktioniert nur für Dokumente, die nicht bereits Text enthalten. In der Regel sind dies Dokumente, die von Scannern erstellt werden und pro Seite nur eine Grafik im PDF-Dokument haben.

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<operation xmlns="http://schema.webpdf.de/1.0/operation">
<ocr language="deu"
      checkResolution="false"
      forceEachPage="true"
      imageDpi="200"

      jpegQuality="60"
      outputFormat="pdf"

      normalizePageRotation="true"

      failOnWarning="true"

      ocrMode="pageSegments">

   <optimization .../>
  <page width="210"
        height="297"
        metrics="mm"/>

  <pdfa>
     ...
  </pdfa>
</ocr>
</operation>

 

{
"ocr": {
  "language": "deu",
  "checkResolution": false,
  "forceEachPage": true,
  "imageDpi": 200,

  "jpegQuality": 60,
  "outputFormat": "pdf",

  "normalizePageRotation": true,

   "failOnWarning": true,

   "ocrMode": "pageSegments",

   "optimization": {

     ...
   },
  "page": {
    "width": 210,
    "height": 297,
    "metrics": "mm"
   },

   "pdfa": {
     ...
   },
 }
}

 

ocr-Element

 

Definiert die Erkennung von Texten in Grafiken oder PDF-Dokumenten.

 

<ocr language="deu"
    checkResolution="false"
    forceEachPage="true"
    imageDpi="200"

    jpegQuality="60"
    outputFormat="pdf"

    normalizePageRotation="true"

    failOnWarning="true"

    ocrMode="pageSegments">

 

"ocr": {
  "language": "deu",
  "checkResolution": false,
  "forceEachPage": true,
  "imageDpi": 200,

  "jpegQuality": 60,
  "outputFormat": "pdf",

  "normalizePageRotation": true,

   "failOnWarning": true,

   "ocrMode": "pageSegments",

   ...

}

 

language (Default: "eng")

Legt die Sprache für das Ausgangsdokument (PDF/Grafik) fest. Für die Ausführung der Texterkennung (OCR) muss die Sprache festgelegt werden, um "Sonderzeichen" (z.B. "üäö" in Deutsch) der jeweiligen Sprache besser erkennen zu können. Aktuell werden die folgenden Sprachen unterstützt:

eng = Englisch

fra = Französisch

spa = Spanisch

deu = Deutsch

ita = Italienisch

 

checkResolution (Default: true)

Wenn "true", dann wird die Ausgangsdatei auf die DPI-Auflösung geprüft. Auflösungen kleiner 200 DPI werden dabei abgewiesen, da sie in der Regel zu keinem guten Ergebnis bei der Texterkennung führen.

 

forceEachPage (Default: false)

Enthält ein PDF-Dokument auf einer beliebigen Seite textlichen Inhalt, so wird der Webservice eine erneute Texterkennung ablehnen. Wenn allerdings diese Option mit dem Wert "true" übergeben wird, so werden sämtliche Seiten des Dokuments einzeln betrachtet und für sämtliche Seiten, die noch keinen Text(-Layer) enthalten, eine Texterkennung durchgeführt und ein neuer Layer mit Text erzeugt.

 

imageDpi (Default: 200)

Legt die minimale Auflösung fest, mit der Bilder in entstehende PDF Dokument eingebettet werden sollen. Wird für diesen Wert 0 gewählt, so wird versucht die ursprüngliche Grafik möglichst unverändert und in ihrer ursprünglichen Auflösung und Dimensionierung zu übernehmen.

 

jpegQuality (Default: 75)

Ein prozentualer Wert zwischen 0 und 100 der die Kompressionsrate und damit die resultierende Qualität von jpeg Grafiken beeinflusst, die in entstehende PDF Dokumente eingebettet werden sollen. Höhere Werte bedeuten eine geringere Kompression und höhere Bildqualität.

 

outputFormat (Default: "pdf")

Bei der Texterkennung können unterschiedliche Ausgabeformate erstellt werden. In der Regel wird das Dokument als PDF-Dokument erstellt, auf Wunsch kann die Ausgabe aber auch als ASCII-Dokument oder als XML-Dokument (HOCR) erfolgen.

text = Text

hocr = XML (HOCR)

pdf = PDF

 

normalizePageRotation (Default: false)

Wenn "true", dann wird bei Erkennung eines rotierten Textes versucht, die Seite derart gegen zu rotieren, dass der Text im Dokument optisch nicht rotiert erscheint und "aufrecht" lesbar dargestellt wird.

 

failOnWarning (Default: false)

Wenn "true", scheitert die Texterkennung auch im Fall bestimmter Warnungen, die diese zwar nicht verhindern, aber es sehr unwahrscheinlich erscheinen lassen, dass ein sinnvolles Ergebnis erzeugt werden konnte.

 

ocrMode (Default: "pageSegments")

Legt den Modus fest, der genutzt wird, um strukturierten Text auf den Seiten zu finden. Je nachdem welcher Modus gewählt wird, werden andere Anforderungen an den Text gesetzt und andere Annahmen über den Text zugrunde gelegt.

 

pageSegments = Der Text auf der Seite ist klar strukturiert und in klare Absätze und Layoutsegmente zerlegbar. Überschneidungen von Textelementen/Zeilen finden nicht statt. Überschriften und damit Texte mit abweichenden Textgrößen und Schriftsatz, könnten vorhanden sein.

column = Der Text ist auf den Seiten in mehreren, mehr oder minder gleichförmigen Spalten, nebeneinander angeordnet. Schriftsatz und Textgröße sind hierbei größtenteils gleichförmig.

unfiltered = Über den Text werden keinerlei Annahmen gemacht, jegliche Buchstaben, die gefunden werden können, sind als solche zu erkennen, unabhängig davon, ob sie einer Textspalte, oder Zeile oder auch nur einem Wort zugeordnet werden können. Schriftgröße, und Schriftsatz können absolut variieren und Texte sind nicht zwingend in klar erkennbaren Spalten oder nach einem festen Layout angeordnet. Texte und Zeilen können sich hierbei überschneiden. (Dieser Modus erkennt in der Regel mehr Text (gerade bei komplexeren Layouts), erzeugt üblicherweise allerdings auch die meisten Fehlerkennungen, da kein Ergebnis aufgrund seiner Normabweichung aussortiert wird.

 

 

optimization-Element

 

Das optimization Element erlaubt es die Bilder der Seiten nach zu korrigieren, um sie für OCR zu optimieren. Bis auf den "deskew" Parameter ist hierbei keine der Optimierungen tatsächlich in erzeugten Dokumenten sichtbar. Die sonstigen Optimierungen dienen ausschließlich, zur Verbesserung der Texterkennung.

 

<optimization deskew="true"

    despeckle="true"

    reduceDithering="true"
    noiseReduction="medium"
    gammaCorrection="medium"

    increaseContrast="medium"

    edgeDetection="medium"

    sharpen="low"

    medianFilter="medium"

/>
 

"optimization": {

"deskew": true,

 "despeckle": true,
"reduceDithering": true,
"noiseReduction": "medium",
"gammaCorrection": "medium",

"increaseContrast": "medium",

"edgeDetection": "medium",

"sharpen": "low",

"medianFilter": "medium"
}

 

deskew (Default: true)

Gerade Scans von Seiten können mit einer leichten Schräglage erzeugt werden. Wird dieser Wert auf true gesetzt, so wird versucht diese Schräglage gegen zu rotieren und die Seite somit zu "entzerren". Die Ergebnisse dieser Manipulation sind im entstehenden Dokument sichtbar.

 

despeckle (Default: true)

Wird dieser Modus gesetzt, so werden Verunreinigungen und Flecken reduziert. Diese entstehen beispielsweise durch Staub oder Schmutz auf der Scheibe eines Scanners. Es ist empfehlenswert diese Optimierung zu aktivieren.

 

reduceDithering (Default: false)

In schwarz-weiß Bildern (unter anderem schwarz-weiß Scans) werden Farbwerte häufig durch eine Rasterung entsprechend ihrer Helligkeit abgebildet (Dithering / Moiré-Effekt).  Diese Raster/Schraffuren übersetzen einen Farbwert in eine gleichförmige Abfolge schwarzer und weißer Bereiche, die optisch wie eine einheitliche Fläche gleicher Farbe/Helligkeit wirken. Solche Muster können sehr schwer gegen tatsächlichen Text abgegrenzt werden, der sich möglicherweise in einem derart "gefärbten" Bereich befindet. Wird dieser Wert auf true gesetzt, wird versucht solche Ditheringmuster zu reduzieren. Dieser Modus sollte nur dann gesetzt werden, wenn absolut nötig, da dieser Vorgang sehr verlustbehaftet sein kann.

 

noiseReduction (Default: "low")

Wird dieser Modus gesetzt, so wird versucht Hintergrundlärm aus dem Bild zu entfernen, dieser entsteht durch Unregelmäßigkeiten im Bildhintergrund oder durch Artefakte, die durch die Bildkompression entstehen können. Solche Unregelmäßigkeiten - gerade um Buchstaben herum - können eine Erkennung beeinträchtigen. Es ist empfehlenswert diese Optimierung zu aktivieren.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

noiseReductionValue (Default: "1.0")

Erlaubt in Kombination mit dem noiseReduction Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein Kommawert größer 0 gibt die Intensität an, mit der der Effekt auf das Bild angewendet werden soll. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 1.0 (low) und 3.0 (high).

 

gammaCorrection (Default: "off")

Dieser Wert sollte nur für sehr schlecht belichtete Bilder aktiviert werden. Durch eine selektive Lichtwertspreizung(-stauchung) wird versucht die dunklen Bereiche des Bildes gegenüber den Hellen hervor zu heben (Gammakorrektur) und damit eine Erkennung überhaupt zu ermöglichen. Dieser Modus sollte nur wenn absolut nötig aktiviert werden, da er zu starken Informationsverlusten führen oder eine Erkennung anderweitig verunmöglichen kann. Zusammen mit einer Erhöhung des Bildkontrastes kann diese Optimierung beispielsweise genutzt werden, um Bildhintergründe zu entfernen, die ansonsten nur schwer von den darauf aufgebrachten Buchstaben unterscheidbar wären.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

gammaCorrectionValue (Default: "0.0")

Erlaubt in Kombination mit dem gammaCorrection Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein Kommawert größer 0 gibt den Wert an, der als Gammakorrektur auf das Bild angewendet werden soll. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 1.5 (low) und 2.5 (high).

 

increaseContrast (Default: "off")

Dieser Wert sollte nur für sehr schlecht belichtete Bilder aktiviert werden. Durch eine Erhöhung des Kontrastes, wird versucht die dunklen Bereiche des Bildes gegenüber den Hellen hervor zu heben und damit eine Erkennung überhaupt zu ermöglichen. Dieser Modus sollte nur wenn absolut nötig aktiviert werden, da er zu starken Informationsverlusten führen oder eine Erkennung anderweitig verunmöglichen kann. Zusammen mit einer Gammakorrektur kann diese Optimierung beispielsweise genutzt werden, um Bildhintergründe zu entfernen, die ansonsten nur schwer von den darauf aufgebrachten Buchstaben unterscheidbar wären.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

increaseContrastValue (Default: "0")

Erlaubt in Kombination mit dem increaseContrast Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein ganzzahliger Wert zwischen -100  und +100 gibt die Intensität der Kontrastverstärkung an. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 25 (low) und 75 (high).

 

edgeAccentuation (Default: "low")

Wird dieser Wert gesetzt, so wird über einen Marr-Hildreth Operator eine Kantenbetonung des Bildes vorgenommen. Diese Optimierung führt in der Regel zu deutlich besseren Erkennungsergebnissen, kann aber auch zu Informationsverlusten führen.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

edgeAccentuationValue (Default: "100")

Erlaubt in Kombination mit dem edgeAccentuation Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein ganzzahliger Prozentwert gibt die Intensität der Kantenbetonung an. Das eigentliche Bild wird für die Kantenbetonung mit einem entsprechenden Schärfungsfilter überlagert - dieser Prozentwert gibt an, wie intensiv dieser Effekt gegenüber dem Originalbild hervortreten soll. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 100 (low) und 200 Prozent (high).

 

sharpen (Default: "low")

Wird dieser Wert gesetzt, so wird eine Kantenschärfung auf das Bild angewendet. Diese Optimierung führt in der Regel zu deutlich besseren Erkennungsergebnissen, kann aber auch zu Informationsverlusten führen.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

sharpenValue (Default: "1.0")

Erlaubt in Kombination mit dem sharpen Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein Kommawert größer 0 gibt die Intensität an, mit der der Effekt auf das Bild angewendet werden soll. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 1.0 (low) und 3.0 (high).

 

medianFilter (Default: "medium")

Wird dieser Wert gesetzt, so wird über einen Medianfilter die Farb- und Helligkeitsvielfalt des Bildes selektiv reduziert und vereinheitlicht. Allgemein werden hierdurch Flächen einheitlicher und klarer gegen ihr Umfeld abgrenzbar. Dies kann insbesondere für Bilder mit einem farbigen oder Graustufen - Hintergrund zu besseren Erkennungsergebnissen führen.

 

off=Diese Optimierung nicht anwenden

value=Einen eigenen Wert wählen

low=Optimierung nur mit niedriger Intensität durchführen, um Informationsverluste zu vermeiden.

medium=Optimierung mit mittlerer Intensität durchführen.

high=Optimierung mit starker Intensität durchführen und mögliche Informationsverluste in Kauf nehmen.

 

medianFilterValue (Default: "1")

Erlaubt in Kombination mit dem medianFilter Modus "value" die freie Wahl eines Wertes für diese Optimierung. Ein ganzzahliger Wert größer 0 gibt die Gittergröße an, mit der der Effekt auf das Bild angewendet werden soll. Die vordefinierten Werte bewegen sich hierbei im Wertebereich zwischen 1 (low) und 3 (high).

 

 

page-Element

 

Wenn Grafiken während der Texterkennung in PDF-Dokumente umgewandelt werden, dann wird die Größe der Seite anhand der Größe der Grafik - unter Beachtung der DPI-Auflösung - berechnet. Über dieses Element kann eine individuelle Größe der Seite festgelegt werden.

 

<page width="210"
    height="297"
    metrics="mm"/>
 

"page": {
"width": 210,
"height": 297,
"metrics": "mm"
}

 

width (Default: 210)

height (Default: 297)

Höhe und Breite der Seite im PDF-Dokument.

 

metrics (Default: "mm")

Einheit für die Größenangabe der Seite.

mm = Millimeter

 

 

pdfa-Element

 

Sie können die für den PDF/A-Service beschriebene Parameterstrukur verwenden und in das Element einfügen.

 

<pdfa>
     ...
</pdfa>

"pdfa":{
     ...
},

 

hint

Wenn dieses Element gesetzt ist, wird automatisch an den Anschluss der Konvertierung der Webservice "Pdfa" aufgerufen.