Teilen
Mit Hilfe des Teilen-Objekts (siehe Abb. unten) wird ein bestimmter Ausschnitt einer Seite in Bereiche geteilt. Beim Teilen-Objekt kann eine festgelegte Anzahl von Anfangs- und/oder Endfragmenten einer Region verworfen werden. Es werden verschiedene Methoden unterstützt, um die Positionen für die Teilung festzulegen. Nähere Informationen dazu finden Sie im Unterabschnitt Eigenschaften weiter unten.
Informationen dazu, wie Sie Objekte zur Modellstruktur hinzufügen, finden Sie unter Einfügen eines Objekts.
![PDFEX_SplitObject](./images/pdfex_splitobject.png)
Eigenschaften im Eigenschaftsfenster
Für das Teilen-Objekt können die folgenden Eigenschaften konfiguriert werden:
Mit der Eigenschaft Region wird der aufzuteilende Seitenausschnitt beschrieben. Wenn kein Wert definiert wird, bezieht sich die Eigenschaft Region auf die gesamte Seite. In der Abbildung unten sehen Sie die Definition einer Region sowie die Positionen des linken, rechten, oberen und unteren Rands der Region. ![]()
|
Mit der Eigenschaft Suchen wird der Bereich der Seite beschrieben, in dem nach bestimmten Teilungspositionen gesucht wird (siehe Methode unten). Wenn kein Wert definiert wird, ist die Standardoption gleich dem Wert der Eigenschaft Region.
Die Option "Suchen" wird normalerweise in Kombination mit der Region verwendet. Mit "Region" wird der Bereich einer Seite definiert, der geteilt werden soll (z.B. die gesamte Tabelle), während mit Hilfe der Suchregion nach Linien oder Objekten in einem bestimmten Bereich (z.B. entlang des linken Rands) gesucht werden kann. Wenn eine Spalte z.B. klare, einheitliche Ränder hat, können Sie die Suchregion auf diese bestimmte Spalte einschränken. Ein Beispiel für die Verwendung der Suchregion finden Sie im Beispiel 2 unten.
|
Mit den Eigenschaften Erste überspringen und Letzte überspringen wird festgelegt, wie viele Fragmente ab dem Beginn bzw. dem Ende der Region von der Verarbeitung ausgenommen werden sollen.
|
Die Eigenschaft Methode bezieht sich auf den Mechanismus zum Identifizieren von Teilungspositionen, auf Basis dessen eine bestimmte Region in Bereiche unterteilt werden soll. Es stehen die folgenden Methoden zur Verfügung:
•Linien oder Kanten suchen •Objekte suchen •Fester Abstand
Alle Methoden haben zwei Richtungen: (i) die Suchrichtung, die für den Splitter und vertikale Positions- und Randsuchen vertikal und für horizontale Positions- und Randsuchen horizontal ist, und die sekundäre Richtung, die senkrecht zur Suchrichtung verläuft.
Linien oder Kanten suchenMit der Methode Linien oder Kanten suchen wird bei der in Fragmente aufzuteilenden Region nach Linien oder Kanten gesucht. Die Methode zum Suchen von Kanten hat die folgenden Eigenschaften:
•Mit der Eigenschaft Lücken füllen können Sie den Abstand zwischen benachbarten Pixel mit hohem Kontrast definieren, sodass diese Pixel zusammengeführt werden. Die Eigenschaft Lücken füllen erweist sich als besonders hilfreich, wenn eine Tabellenzeile z.B. gepunktete Linien hat. Durch Zusammenführung der gepunkteten Linien zu einer durchgezogenen Linie kann der PDF Extractor diese Linie als Kante identifizieren. •Die Eigenschaft Mindestkantenlänge ist eine erweiterte Einstellung, mit der definiert wird, wie viel Prozent der Suchregionbreite ein Objekt betragen muss, damit es berücksichtigt wird. Diese Eigenschaft ist oft hilfreich, wenn Rasterlinien nicht einheitlich sind (wenn z.B. eine Rasterlinie kürzer als die Zeile ist). Der Standardwert beträgt 60 %. Bei genügend Abstand und einheitlichen Rasterlinien wirkt sich die Eigenschaft Mindestkantenlänge nicht allzu stark auf die Erkennung von Teilungspositionen aus. Wenn Rasterlinien jedoch fehlen, können Sie diesen Parameter anpassen. In diesem Fall lässt sich der Rand bei Definition eines niedrigeren Prozentwerts eventuell leichter finden. •Mit Hilfe der Eigenschaft Auflösung kann ein Dokument bei einer höheren Auflösung gescannt werden, falls es sehr dünne Linien enthält. Zur Wahl stehen die Auflösungswerte Standard, Genau (144 ppi) und Sehr genau (288 ppi).
Ein Beispiel für die Verwendung der Methode Linien oder Kanten suchen finden Sie im Beispiel 1 unten.
Objekte suchenDie Methode Objekte suchen erweist sich unter Umständen als hilfreich, wenn es keine Umrandungen gibt. Mit der Objektsuche wird die Suchregion gescannt und immer, wenn eine Suchrichtungskoordinate in der zweiten Richtung mindestens ein Pixel aufweist, welches sich stark genug von der Hintergrundfarbe abhebt, wird dieses Pixel als Teil eines Objekts behandelt. Je nachdem, welche Kante oder Kanten des Objekts Sie ausgewählt haben, schneidet der Spitter die Region auf Basis dieser Linien in Fragmente. Diese Linien können bei Bedarf angepasst werden. Wenn die Methode Objekte suchen korrekt konfiguriert ist, können damit auch große Lücken zwischen Textzeilen erkannt werden.
Die Methode "Objekte suchen" hat die folgenden Eigenschaften:
•Die Eigenschaft Hintergrundfarbe ist die Hintergrundfarbe eines PDF-Dokuments und kann in hexadezimalen Farbcodes angegeben werden. Der Standardwert ist #FFF, d.h. Weiß. •Mit der Eigenschaft Toleranz wird der Prozentsatz der Farbabweichung vom Parameter Hintergrundfarbe definiert. Dies ist der Farbbereich, innerhalb dessen die Hintergrundfarbe noch als Hintergrundfarbe erkannt wird. Alle Werte oberhalb dieses Abweichungsprozentsatzes gelten nicht mehr als Hintergrund. So bedeutet etwa der Wert 100, dass alles als Hintergrund behandelt wird. •Mit der Eigenschaft Mindestgröße wird die Mindestgröße eines Objekts definiert; Objekte unterhalb dieses Werts werden ignoriert. •Mit der Eigenschaft Lücken füllen wird festgelegt, wie groß eine Lücke in der Suchrichtung sein muss. Wenn zwei Nicht-Hintergrundzeilen einen geringeren Abstand haben, gelten sie als ein einziges Objekt. •Mit der Eigenschaft Zu suchende Kante wird festgelegt, an welcher Kante ein Objekt geteilt wird. Dies kann der Anfang sein (Beginn), das Ende (Ende) oder der Anfang und das Ende des Objekts (Beginn und Ende). •Mit der Eigenschaft Versetzen wird ein Versatz definiert, der zur erkannten Position eines Objekts hinzugefügt wird. Der Versatzwert ist normalerweise negativ, wenn die Eigenschaft Zu suchende Kante auf Beginn gesetzt ist. Andernfalls ist er positiv.
Ein Beispiel für die Verwendung der Methode Objekte suchen finden Sie im Beispiel 2 unten.
Fester AbstandBei der Methode "Fester Abstand" wird am oberen Rand der Suchregion (bzw. der Umrandung) begonnen und anschließend wird um einen im Feld Abstand festgelegten Abstand weitergemacht. Diese Methode kann bei bestimmten Dokumenten mit festgelegten Zeilen oder Zellenhöhen hilfreich sein.
In der Abbildung unten sehen Sie einen Ausschnitt aus einer Tabelle, die auf Basis der im Eigenschaftsfenster im Abschnitt Methode definierten Parameter in Zeilen unterteilt wird. Als Methode wurde Fester Abstand ausgewählt. Anhand der in der Statusleiste angezeigten Abmessungen haben wir den Abstand zwischen dem Beginn und dem Ende der einzelnen Zeilen als 24pt ermittelt (Definiert im Feld Abstand). Eine genauere Anleitung zum Messen von Abständen finden Sie im Beispiel im Unterabschnitt Nachbearbeiten unten. ![]() |
Der Abschnitt Nachbearbeiten enthält zusätzliche Nachbearbeitungsoptionen für das Ergebnis der ausgewählten Methode:
•Mit der Eigenschaft Mindestgröße wird ein Schwellenwert für den Abstand definiert, unterhalb dessen die Ergebnisse der Teilung als kleine Fragmente gelten. •Mit dem Parameter Kleine Fragmente wird festgelegt, wie mit kleinen Fragmente verfahren werden soll. Die folgenden Werte stehen zur Verfügung:
oVerwerfen: Kleine Fragmente werden nicht in die Teilen-Sequenz inkludiert (Standardoption). oMit dem vorherigen zusammenführen: Ein kleines Fragment wird mit dem unmittelbar vorhergehenden nicht kleinen Fragment zusammengeführt. oMit dem nächsten zusammenführen: Ein kleines Fragment wird mit dem unmittelbar nachfolgenden nicht kleinen Fragment zusammengeführt. oIn der Mitte teilen Die Region zwischen zwei nicht kleinen Fragmenten wird gleichmäßig aufgeteilt; das kleine Anfangs- bzw. das kleine Endfragment wird mit dem ersten bzw. letzten nicht kleinen Fragment zusammengeführt.
BeispielUnerwünschte Fragmente können auf verschiedene Arten von der Verarbeitung ausgenommen werden. Wenn z.B. jede Seite Ihres PDF-Dokuments dieselben Anzahl an zu eliminierenden Fragmenten hat, können Sie dazu die Eigenschaften Erste überspringen und Letzte überspringen verwenden (siehe Beispiel 1 unten). Wenn die Anzahl der unerwünschten Fragmente jedoch von Seite zu Seite variiert, können Sie die Eigenschaft Mindestgröße verwenden.
Um die Höhe des Fragments, das von der Verarbeitung ausgenommen werden soll, zu ermitteln, gehen Sie folgendermaßen vor:
1.Ziehen Sie ein Rechteck auf, das die Höhe des unerwünschten Fragments abdeckt (Abbildung unten). ![]() 2.Überprüfen Sie dessen Abmessungen in der Statusleiste (Abbildung unten). Der Wert 26.84pt stellt die Höhe des Fragments dar. ![]() 3.Wir können die Eigenschaft Mindestgröße auf Basis der Abmessungen in der Statusleiste nun auf 30pt setzen. Wir haben die Eigenschaft Kleine Fragmente auf Verwerfen gesetzt. Alle Fragmente unterhalb einer Größe von 30pt werden dadurch von der Verarbeitung ausgenommen. Um unvorhersehbare Ergebnissen zu vermeiden, müssen Sie sicherstellen, dass die Höhe der Fragmente, die in die Teilung inkludiert werden sollen, größer ist als der Wert der Eigenschaft Mindestgröße. In unserem Beispiel ist die Höhe der zu teilenden Zeilen größer als die Höhe der Überschriftszeile. Daher wirkt sich der in der Eigenschaft Mindestgröße definierte Wert nur auf die zu verwerfenden Fragmente aus.
|
Beispiel 1: Linien oder Kanten suchen
In diesem Beispiel wird gezeigt, wie Sie die Methode Linien oder Kanten suchen konfigurieren. Die Aufgabenstellung in diesem Beispiel ist folgende:
•Es sollen Daten aus der Tabelle extrahiert werden.
•Der obere Bereich der Seite (mit der Überschrift, der Firma, dem Kunden und den Rechnungsinformationen), die Kopfzeile der Tabelle und der untere Bereich der Seite sollen von der Verarbeitung ausgenommen werden.
Wir haben das Teilen-Objekt zu diesem Zweck folgendermaßen konfiguriert:
•Die Eigenschaft Erste überspringen wurde auf 2 gesetzt.
•Die Eigenschaft Letzte überspringen wurde auf 1 gesetzt.
•Die Methode wurde auf Linien oder Kanten suchen gesetzt.
•Für die Region wurde kein Wert definiert, daher wird die gesamte Seite als Region behandelt.
Der Algorithmus hat als erste Kante den Beginn der Kopfzeile und als zweite Kante das Ende der Kopfzeile identifiziert. Der obere Bereich des Dokuments wurde daher zusammen mit der Kopfzeile der Tabelle von der Verarbeitung ausgenommen (in der Abbildung unten der obere ausgegraute Bereich).
Auf Grund des Werts Erste überspringen (1) wurden die Zellen Subtotal, Sales Tax und Total ausgenommen, da die erste Kante ab dem unteren Rand der Region in der Zeile gefunden wurde, in der die Zeile Fence repair endet. Der Rest der Tabelle wird in Zeilen aufgeteilt (ausgegrauter unterer Bereich in der Abbildung unten).
![PDFEX_SkipInitial2](./images/pdfex_skipinitial2.png)
Beispiel 2: Objekte suchen
In diesem Beispiel wird gezeigt, wie Sie die Methode Objekte suchen konfigurieren. Die Aufgabenstellung in diesem Beispiel ist, Tabellendaten aus der unten gezeigten Beispielrechnung zu extrahieren.
![PDFEX_BookInvoice](./images/pdfex_bookinvoice.png)
Die Tabelle in der Abbildung unten enthält keine regulären Rasterlinien, wodurch die korrekten Teilungspositionen nicht so leicht ermittelt werden können. Außerdem überlappen einander die Zellen in der zweiten (No) und der dritten Spalte (Description). Wir haben die Methode Objekte suchen verwendet, um die Tabelle korrekt in Zeilen aufzuteilen. Wir haben die Methode folgendermaßen konfiguriert:
•Die Eigenschaften Hintergrundfarbe und Toleranz haben Standardwerte (#FFF bzw. 10%).
•Die Eigenschaft Mindestgröße wurde auf 4pt gesetzt, wodurch Objekte, die kleiner als dieser Wert sind, entfernt werden.
•Da es keine zu füllenden Lücken gibt, hat die Eigenschaft Lücken füllen den Standardwert 0pt.
•Die Eigenschaft Zu suchende Kante wurde auf Beginn gesetzt, d.h. die Objekte werden an ihrem jeweiligen Beginn geteilt.
•Durch Versuch und Irrtum haben wir den idealen Wert für die Eigenschaft Versetzen ermittelt, nämlich -3pt. Aufgrund dieses Werts wurden die Teilungspositionen etwas nach oben versetzt, sodass keine Daten abgeschnitten werden.
•Es wurden keine Nachbearbeitungsoptionen definieren.
Suchregion
Da keine einheitlichen Linien vorhanden sind, entlang derer die Tabelle in Zeilen aufgeteilt werden könnte, ermitteln wir geeignete Teilungspositionen, die anschließend auf die gesamte Region angewendet werden, mit Hilfe der Suchregion. In der Abbildung unten sehen Sie, dass die Region alle Zeilen der Tabelle enthält (hellgelber Bereich). Die Region stellt einen Bereich dar, der aufgeteilt werden soll. Allerdings beinhaltet die Suchregion (orangegelb unten) nur die erste Spalte der Tabelle, in der Objekte leichter als in anderen Teilen der Tabelle erkannt werden können.
![PDFEX_BookInvoiceSearch](./images/pdfex_bookinvoicesearch.png)
Wenn keine Suchregion verwendet wird, werden die unten gezeigten Teilungspositionen ermittelt, was in der Ausgabe zu falschen Ergebnissen führen würde.
![PDFEX_BookInvoiceNoSearch](./images/pdfex_bookinvoicenosearch.png)