CIB pdf toolbox technischer Leitfaden (DE)

11. Unterstützte Grafikformate

Welche Grafikformate durch die CIB pdf toolbox unterstützt werden, ist vom Verarbeitungsmodus der betroffenen PDFs abhängig. In den folgenden Kapiteln werden die verschiedenen Möglichkeiten beschrieben.

CIB pdf join/ CIB pdf merge
CIB pdf print / Aufbereitung für die CIB viewer
Grafik Overlay
Erzeugen von Grafikdateien
Text aus Grafiken in Pdf Dokumente mittels CIB ocr einfügen

CIB pdf join/ CIB pdf merge

Hier sind alle Grafikformate möglich, da die Bildobjekte nicht verarbeitet, sondern nur kopiert werden.


CIB pdf print / Aufbereitung für die CIB viewer

Unterstützt werden:

  • RAW (Bilddaten liegen in einem Format vor, das durch die Pdf-Spec. beschrieben ist)
  • JPG
  • TIFF
  • JBIG2 (ab CIB pdf toolbox Version 1.4.100)
  • JPEG2000 (ab CIB pdf toolbox Version 1.4.101)


Hinweise:

Die Bildobjekte in diesen PDFs enthalten kein komplettes JPG bzw. TIFF, sondern nur die Bilddaten selbst (also keine Farbpalette und Metadaten).

Für eine Verarbeitung von JBIG2 ist eine spezielle Library Jbig2dec.dll nötig. Die Bibliothek steht auch für Unix-Plattformen zur Verfügung.


Grafik Overlay

Unterstützt werden die Grafikformate BMP, JPG, GIF und PNG.

Detaillierte Informationen zu diesem Thema befinden sich im Kapitel „Overlayfunktion/Grafik“.


Erzeugen von Grafikdateien

(ab CIB pdf toolbox Version 1.4.102)

Über den Modul CIB pdf join der CIB pdf toolbox ist neben der PDF-Ausgabe auch das Erzeugen von Grafikdateien möglich.

Die Steuerung des Ausgabeformats erfolgt über die Property OutputFormat.
Unterstützt werden die folgenden Grafikformate:

  • FormatTiff
  • FormatPng,
  • FormatJpeg

Pro Seite im PDF wird eine Grafikdatei erzeugt, wobei die Dateinamen durch automatisches Nummerieren eindeutig gemacht werden. Nur bei TIFF ist eine mehrseitige Ausgabe in eine TIFF-Datei möglich.

Ab CIB pdf toolbox Version 1.5.113 stehen diese Grafikformate auch auf Unix-Plattformen zur Verfügung.

(ab CIB pdf toolbox Version 1.8.5a):

  • FormatBmp
  • FormatBmpLz4 ( BMP, wobei Daten nach lz4 Standard komprimiert sind).

(ab CIB pdf toolbox Version 1.9.0):

  • FormatJpegXR
  • FormatWebP (bei RenderingEngine=CIBRenderer)

Zu den einzelnen Grafikformaten kann über entsprechende Property-Belegung die Auflösung, Komprimierung, etc. näher spezifiziert werde.

Detaillierte Informationen zu diesem Thema befinden sich im Kapitel „CIB pdf/join / split“.

(ab CIB pdf toolbox Version 1.4.113)

Property OutputFormat = FormatExtractImages

Bei Angabe dieses Ausgabeformats werden alle Image-XObjects, die sich in den Eingabe-PDFs befinden, exportiert. Die Ausgabe erfolgt im TIFF-Format oder (bei bestimmten Pdf Bildobjekten) ins JPEG-Format unter der bei OutputFilename angegebenen Dateibezeichnung.

Bei den TIFF-Bildern besteht die Möglichkeit des Exports in eine einzige TIFF-Datei oder in eine eigene TIFF-Datei pro Bild. Details hierzu und zum Export der JPEG-Bilder siehe bei der Beschreibung der Property OutputFormat = FormatExtractImages.


PDF Layer Support

(Ab CIB pdf toolbox 1.40.0)

Die Verarbeitung und Darstellung von optionalen Inhaltsgruppen ist in der CIB pdf-Toolbox implementiert.

Optionale Inhalte werden innerhalb markierter Inhaltsströme und auch für XObjects und Annotations mit OC-Eintrag verarbeitet. Es ist in der Lage, mit doxiview zu kommunizieren, wobei Eingabe- und Ausgabeeigenschaften und JSON-basierte Argumente verwendet werden.

 

Propertybezeichnung

Funktionalität

Art

PdfLayers

Syntax:

PdfLayers={"RequestedStates":[{"LayerId":<Id1>,"State":"On"/"Off"},..., {"LayerId":<IdN>,"State":"On"/"Off"}]}

Wobei:

Id1...IdN sind numerische IDs der optionalen Inhaltslayer, und der State der Ebene ist "Off" (Aus, unsichtbar) oder "On" (Ein, sichtbar).

Hinweis:

Nach der ersten Verarbeitung einer PDF-Datei kann eine äußere Anwendung Informationen über die vorhandenen OC-Gruppen für die Standardkonfiguration aus der Ausgabeeigenschaft PdfLayersInfo erhalten.

Nach Kenntnis dieser Informationen kann die äußere Anwendung beliebige Zustände (sichtbar/nicht sichtbar) für beliebige OC-Ebenen anfordern.

Set

PdfLayersInfo

Die Ausgabeeigenschaft gibt Informationen über die vorhandenen optionalen Inhaltsebenen und ihre Zustände aus.

Syntax:

PdfLayersInfo={"Tree":[<LayerDescription>], "PageLayers":[<PageLayersDescription>]}

Wobei:

Tree ist ein Array, das die hierarchische Struktur der vorhandenen Ebenen in PDF beschreibt.

Tree enthält die Elemente: <LayerDescription> die eine Beschreibung jeder Ebene ist:

{"Name":"<LayerName>", "LayerId":<Id>,"Locked":true/false, "State":"On"/"Off", "RBGroups":[<RBId1>,...<RBIdN>],"Kids":[ <LayerDescription> ]}

 Wobei:

"LayerId": <Id> ist eine eindeutige Nummer, (Layer-Bezeichner, der für die Eingabeeigenschaft PdfLayers verwendet werden soll).

Locked: true/false zeigt an, ob ein Benutzer den aktuellen Zustand der Schicht umschalten kann.

Kids: Array, das alle Kids des layers beschreibt.

 

PageLayers ist eine Anordnung von Seiten und ihren Layern: <PageLayersDescription>

PageLayersDescription = {"PageIndex":<PageId>, LayerIds:[<LayerId>]}

 <PageId> ist ein Index einer Seite, beginnend mit 0

LayerIds ist ein Array von <LayerId> (numerische ID), das auf entsprechende LayerIds aus dem Tree-Objekt abgebildet werden kann.

Hinweis:

1. Wenn LayerDescription nur Name und Kids (keine LayerId- und State-Einträge) enthält, handelt es sich nicht um einen echten Layer, sondern um einen einfachen Knoten, der auf- und zugeklappt werden kann und weitere Layer enthält.Wenn LayerDescription alle Einträge enthält und auch Kids hat, dann ist der Layer ein Knoten, der ein- oder ausgeschaltet werden kann und auch andere Layer enthält.

2. Eine neue Aktion vom Typ SetOcgState wird zusätzlich in die Metadatei ausgegeben, um OCG-Switching mit Hilfe von Formularfeldern und Widget-Annotationen zu ermöglichen.

3. Die Output Property PDFLayersInfo wird auch mit OutputFormat=FormatInfo mit der entsprechenden FilterInfo ausgegeben.

Get


Text aus Grafiken in Pdf Dokumente mittels CIB ocr einfügen

(ab CIB pdf toolbox Version 1.6.116)

Bei Bildern in PDF-Dokumenten, die Text enthalten, kann man mittels des Moduls CIB ocr über die CIB pdf Toolbox diesen Text aus der Grafik extrahieren und als Text in das PDF Dokument einfügen. Hauptanwendungsgebiet für dieses Feature sind eingescannte PDF Dokumente, bei denen der Text nur als Bild vorliegt und somit keine Möglichkeit besteht, nach Text zu suchen oder Text zu kopieren.

Diese Funktionalität ist sowohl für Pdf Join als auch für Pdf Merge möglich. Sie setzt das Modul CIB ocr mit entsprechender Lizenz voraus.

Das Ergebnis ist ein PDF Dokument, das dem (oder den) Eingabedokumenten gleicht, aber (un)sichtbaren Text enthält, eben diesen extrahierten Text aus den Bildern. Nach diesem Text kann gesucht werden und er kann aus dem PDF Dokument herauskopiert werden.

Seit Toolbox Version 1.9.0 gibt es die Möglichkeit, solchen (un)sichtbaren Text aus externen Quellen zu importieren. D.h. der Text wird nicht mehr aus den Bildern des Pdf Dokuments extrahiert, sondern wird der Toolbox mittels der Eigenschaft „HocrInputData“ mitgeteilt. Diese Eigenschaft besteht aus einem oder mehreren Speicherblöcken, welche die Hocrdaten enthalten. Für das genau Format bitte die Eigenschaft unten ansehen.

Außerdem können seit Toolbox Version 1.9.0 alle erzeugten oder importierten Hocr-Daten als Multi-Hocr-Datei ausgegeben werden. Mittels der Eigenschaft HocrOutputFilename wird die Datei angegeben, in der die Hocrdaten gespeichert werden sollen.
Seit der Toolbox Version 1.10.0 ist auch der Import einer Multi-Page-HOCR-XML-Datei möglich. Dazu wird die Eigenschaft HocrInputData mit dem Pfad auf diese Datei belegt. Alle Informationen (wie Seitennummern, Fonts, …) sind in dieser HOCR-XML-Datei enthalten. Für diese Multi-Page-HOCR-XML-Datei werden die Eigenschaften FormatSearchablePdfTextColor, FormatSearchablePdfLayerName und FormatSearchablePdfDTDFolder unterstützt. Eine solche Multi-Page-HOCR-XML-Datei kann z.B. mit CIB format und dem Ausgabeformat FormatHocr erzeugt werden.

Properties:


Propertybezeichnung

Typ

Funktionalität

Art

OutputFormat

String

FormatSearchablePdf

Set

CurrentProgress

(ab CIB pdf toolbox Version 1.24.0

String

Über diese Property kann der Fortschritt des Texterkennungs-Prozesses von CIB ocr abgefragt werden.
Die CIB pdf toolbox überträgt hierbei unverändert den Inhalt der Methode CibOcrJobGetProgress des CIB ocr Moduls.

Die Property enthält damit einen String mit dem Aufbau:
<Aktuelle Seitennummer> <Gesamtzahl Seiten> <Verarbeitungsfortschritt für aktuelle Seite>

Für Details siehe „Technischer Leitfaden CIB ocr“, Kapitel „CibOcrJobGetProgress“

Get

DictionaryWorkSpace

String

Mit dieser Property hat man die Möglichkeit, den Pfad für die von CIB ocr benötigten Daten zu setzen.

Set

FormatSearchablePdfShowText

String

Es kann gesteuert werden, ob der in das Ausgabe-PDF eingefügte Text sichtbar ist oder nicht.

„1“       Text ist sichtbar

„0“       Text ist nicht sichtbar (default)

Set

FormatSearchablePdfRemoveImages

String

Es kann gesteuert werden, ob im Ausgabe-PDF die Bilder entfernt werden oder nicht.
Ein Setzen dieser Property ist nur möglich, falls „HocrInputData“ leer ist, und ist nur in Verbindung mit „FormatSearchablePdfShowText=1“ sinnvoll. Dann sind in dem Ausgabe PDF die Bilder durch sichtbaren Text ersetzt.

„1“       Bilder werden entfernt

„0“       Bilder bleiben erhalten (default)

Set

PdfVersion

(ab Version 1.6.116b)

String

Optional kann bei OutputFormat=FormatSearchablePdf auch die Property PdfVersion gesetzt werden. Dann entspricht das erzeugte PDF dem angegebenen PDF/A-Standard.

Hinweis: dies wird im Moment nur in Kombination mit FormatSearchablePdfShowText=0 unterstützt.

Mögliche Werte:

PDF/A-1b

PDF/A-2b

PDF/A-3b

Set

HocrInputData

(ab Version 1.9.0, Multi-Page-Format ab Version 1.10.0)

String

Mit diesem String hat man die Möglichkeit der Toolbox die Hocrdaten direkt zu importieren (anstatt sie aus den Bildern des Pdf Dokuments zu extrahieren). Ist dieser String leer (default), wird er nicht verwendet.

Ansonsten umfasst er eine Liste von Speicheradressen und Längen für Strings, die die Hocrdaten enthalten. Er muss in folgendem Format vorliegen:

Syntax:

HocrInputData ::= <OneHocrFile> [“;“ <OneHocrFile>] ...

OneHocrFile ::= “{” <Pagenumber> “};” <MemoryBlocks>

MemoryBlocks ::= [<MemoryBlocks-Delimiter> “;”] <MemoryBlock> [<MemoryBlocks-Delimiter> <MemoryBlock>] ...

MemoryBlock ::= <Address> <MemoryBlock-Delimiter> <Length>

MemoryBlock-Delimiter ::= Ein einzelnes Zeichen, das ungleich ‚;‘ und ‚\0‘ ist, z.B. ‚#‘ oder ‚?‘, am besten auch keine Ziffern oder Buchstaben.

Pagenumber ::= Seitennumber der Seite, für die die Hocrdaten angegeben werden.

Address :== Eine Dezimalzahl, welche die Adresse für einen Speicherbereich (memory block) für die Hocrdaten angibt.

Length ::= Eine Dezimalzahl, welche die Länge eines Speicherbereichs für die Hocrdaten angibt.

Beispiel:

HocrInputData=“{1};?;111?100?222?200;{2};113?100;{3};+;300+100+400+200“ bedeutet:

Seite 1 hat Hocrdaten in den Speicherbereichen (Adresse, Länge) (111, 100) und (222, 200); Seite 2 hat Hocrdaten in dem Speicherbereichen (113, 100); Seite 3 hat Hocrdaten in den Speicherbereichen (300, 100) und (400, 200).

Seit der Toolbox Version 1.10.0 ist auch ein Multi-Page-Format möglich:

Falls das erste Zeichen ungleich „{“ ist, so wird nur ein XML-HOCR-File angegeben. Dieses kann verschiedene einzelne XML-HOCR-Seiten umfassen. Die Datei muss in einem besonderen Format vorliegen, wie es z.B. von CIB format mit der Eigenschaft OutputFormat=FormatHocr erzeugt wird.

Set

HocrOutputFilename (ab Version 1.9.0)

String

Falls der String leer ist, werden keine Hocrdaten rausgeschrieben (default).

Falls der String nicht leer ist, werden in die Datei mit diesem Dateinamen alle verwendeten Hocrdaten als Multi-Hocr-Datei geschrieben.     Vor jedem einzelnen „Hocrteil“ wird die Zeile „<!-- CIB:page=Seitennummer -->“ geschrieben, wobei „Seitennummer“ die Seitennumer für den Hocrteil ist. (Z.B. „<!-- CIB:page=3 -->“ = Hocrdaten für Seite 3). Texte wie ‚CIB ocr testlicense‘ werden aus den Hocrteilen entfernt.

Set

OCRDebug

String

Diese Property ist nur für technische Testzwecke von Bedeutung. Sie steuert die Ausgabe der Bilder aus dem PDF.

Mögliche Werte:

„1“     Die Zwischenschritte der Barcodeextraction mittels OCR werden als einzelne Dateien ausgegeben.

„0“     Keine Ausgabe Zwischenschritte (default)

Für jedes einzelne Bild im Pdf Dokument, welches an die CIB Ocr Dll übergeben wurde, werden mehrere Dateien ausgegeben:

-           Das Bild selbst als Bitmap wie es an OCR übergeben wurde.

-           Das Barcode Ergebnis der CIB Ocr Dll, falls das Barcodeergebnis nicht leer ist. Falls das Barcodeergebnis leer ist, wird diese Datei nicht ausgegeben.

Die Dateien werden in das gleiche Verzeichnis geschrieben wie die Ausgabedatei. Die Namen dieser Dateien haben folgende Form:

“Ausgabedatei”__Page_”Seitennummer”_Image_“Bildnummer“_“Dateiendung“

Für die “Dateiendung” gilt dabei:

-        Für die Bitmapdatei: „.bmp“

-        Für das Barcodeergebnis der CIB Ocr Dll: „_BARCODE.txt“

Beispiel:
Lautet das Ausgabedokument „Output.xml“, so werden für das 4. Bild der 3. Seite folgende Dateien ausgegeben:
Output.xml__Page_3_Image_4.bmp
Output.xml__Page_3_Image_4_BARCODE.txt

Set

FormatSearchablePdfTextColor

(ab Version 1.10.0)

String

Diese Eigenschaft wird nur verwendet, falls OutputFormat=FormatSearchablePdf und FormatSearchablePdfShowText=“1“ und das erste Zeichen von HocrInputData ungleich ‚{‘ ist. Sie gibt die Farbe für den eingefügten Text an.

Mögliche Werte:

-           leerer String (default): Es wird schwarz als Standardtextfarbe verwendet.

-           Die Textfarbe ist gegeben in der Form „R;G;B“, wobei R, G und B natürliche Dezimalzahlen zwischen 0 und 255 sind. (R ist der Rotanteil, G ist der Grünanteil und B ist der Blauanteil). Z.B. „255;0;0“ ist rot.

Set

FormatSearchablePdfLayerName

(ab Version 1.10.0)

String

Diese Eigenschaft wird nur verwendet, falls OutputFormat=FormatSearchablePdf und FormatSearchablePdfShowText=“1“ und das erste Zeichen von HocrInputData ungleich ‚{‘ ist.

Sie gibt (falls angegeben) den Pdf-Ebenennamen (im Adobe Reader) für den eingefügten Text an.

Mögliche Werte:

-           Leerer String (default): Der eingefügte Text ist nicht Teil irgendeiner Pdf-Ebene.

-           Der eingefügte Text ist Teil der Pdf-Ebene mit diesem Ebenennamen.

Set

FormatSearchablePdfDTDFolder

(ab Version 1.10.0)

String

Diese Eigenschaft wird nur verwendet, falls OutputFormat=FormatSearchablePdf und FormatSearchablePdfShowText=“1“ und das erste Zeichen von HocrInputData ungleich ‚{‘ ist.

Sie ist eine Hilfseigenschaft und gibt (falls angegeben) den lokalen Pfad für die XHTML-DTD-Datei xhtml1-transitional.dtd an. Der Hintergrund ist: Der XML Parser liefert eine NetAccessorException. Und die W3C sagt, dass die Aufrufe der DTDs lokal gespeichert werden sollen.

Mögliche Werte:

-           Leerer String (default): Es wird nichts gemacht.

-           Die URL für xhtml1-transitional.dtd im HOCR-XML-file von HocrInputData wird durch einen Verweis auf die lokale Datei gleichen Namens ersetzt.

Set

FormatSearchablePdfConversionMode

(ab Version 1.18.0)

String

Diese Property definiert, in welcher Form die im PDF enthaltenen Bilder an CIB ocr übergeben werden.

Mögliche Werte:

FormatSearchablePdfConvertImages
Das bisherige Verhalten wird angewendet, d.h. jedes Bild einer Seite wird als eigenes Objekt behandelt.

FormatSearchablePdfConvertPages
Jede Seite wired in ein einziges Bild umgewandelt und an CIB ocr übergeben. Die Auflösung dieses Bildes kann über die Property TiffResolution gesteuert werden (Empfohlen sind Werte ab TiffResolution=150).

FormatSearchablePdfConvertAuto
Auf Seiten, die nur ein einziges Bild enthalten, wird das bisherige Verhalten angewendet. Auf alle anderen Seiten das Verhalten von „FormatSearchablePdfConvertPages“. . (Default)

Set

FormatSearchablePdfUseRotationHint

(ab Version 1.18.0

String

Wenn diese Property gesetzt ist, wird für jede Seite des PDFs die Information über eine Rotation an CIB ocr übergeben. Das verbessert die Erkennungsrate von CIB ocr bei gedrehten Seiten.
Dazu verwendet die CIB pdf toolbox die CIB ocr Property ImageRotationAngle.

Mögliche Werte:

0          Bisheriges Verhalten

1         Übergabe der Informationen über die Seiten-Rotation an CIB ocr. (Default)

Set

FormatSearchablePdfReplaceText

String

Diese Eigenschaft ist nur gültig für OutputFormat=FormatSearchablePdf

Wenn die Eigenschaft FormatSearchablePdfReplaceText NICHT gesetzt ist, wird das ursprüngliche Verhalten verwendet: pdf toolbox fügt immer neue CIB HOCR-Inhalte hinzu, ohne bestehende zu entfernen.

Wenn die Eigenschaft auf FormatSearchablePdfReplaceText=1 gesetzt ist, entfernt die pdf toolbox vorhandenen unsichtbaren CIB HOCR-Inhalt aus dem verarbeiteten Dokument, bevor ein neuer Inhalt hinzugefügt wird.

Die neue Eigenschaft FormatSearchablePdfReplaceText kann auch in Verbindung mit TextSelectionFilter verwendet werden:

Wenn FormatSearchablePdfReplaceText=1 und TextSelectionFilter einen Filter enthält, wird dieser Filter verwendet, um Text aus dem Originaldokument zu entfernen, bevor neuer HOCR-Text hinzugefügt wird.

 

Beispiele:

1. OutputFormat=FormatSearchablePdf FormatSearchablePdfReplaceText=1 - entfernt vorhandenen CIB-HOCR-Text, bevor neuer HOCR-Text hinzugefügt wird

2. OutputFormat=FormatDurchsuchbarPdf FormatSearchablePdfReplaceText=1 TextSelectionFilter={"Gruppen":["beliebig_unsichtbar"]} - entfernt jeglichen unsichtbaren Text (einschließlich CIB HOCR), bevor neuer HOCR-Text hinzugefügt wird.