Zusammenführungsquelle und Zusammenführungsziel
Die Objekte "Zusammenführungsquelle" und "Zusammenführungsziel" gehören zusammen. Mit Hilfe des Zusammenführungsquelle-Objekts können Sie ein Fragment aus der aktuellen Seite ausschneiden. Sie können mehrere Zusammenführungsquellen erstellen und diese in einem einzigen Zusammenführungsziel, in dem die gesammelten Fragmente aus verschiedenen Seiten als einzige Gruppe von Seiten behandelt werden, miteinander verbinden. Im Zusammenführungsziel werden die Fragmente in der Reihenfolge, in der sie hinzugefügt wurden, verarbeitet.
Die Kombination von Zusammenführungsquellen und -zielen eignet sich vor allem dann, wenn Daten auf einer Seite gut strukturiert voneinander getrennt sind. In Fällen, in denen eine Zeile auf einer Seite beginnt und sich auf der nächsten Seite fortsetzt, wird allerdings empfohlen, eine Collage zu verwenden.
Informationen dazu, wie Sie Objekte zur Modellstruktur hinzufügen, finden Sie unter Einfügen eines Objekts.
Eigenschaften im Eigenschaftsfenster
Das Objekt "Zusammenführungsquelle" hat im Eigenschaftsfenster zwei Eigenschaften: Region und Zusammenführungsziel. Die Eigenschaft Region bezieht sich auf die Position einer Zusammenführungsquelle auf der Seite. Nähere Informationen dazu finden Sie unter Teilen unter der Eigenschaft "Region". Die Eigenschaft "Zusammenführungsziel" bezieht sich auf den Namen des Zusammenführungsziel-Objekts, in dem die relevanten Zusammenführungsquellen in einer Gruppe zusammengefasst werden.
Beachten Sie, dass die Werte des Zusammenführungsziel-Parameters aller Zusammenführungsquellen, die zu einem Zusammenführungsziel verbunden werden sollen, und der Name des dazugehörigen Zusammenführungsziels (die Eigenschaft Name) identisch sein müssen. Andernfalls können diese Zusammenführungsquellen nicht im Zusammenführungsziel zusammengefasst werden.
Beispiel
In diesem Beispiel wird gezeigt, wie Sie Zusammenführungsquell- und Zusammenführungsziel-Objekte verwenden. Das PDF-Dokument aus dem die Daten extrahiert werden sollen, heißt BookCatalog.pdf. Das Dokument hat zwei Seiten (Abbildungen unten) mit jeweils etwas unterschiedlichen Layouts. Seite 1 enthält eine Überschrift, eine Tabelle und eine Fußzeile. Die Tabelle geht auf Seite 2 weiter. Auch die Seite 2 hat eine Fußzeile. Die in diesem Beispiel erläuterte Extraktionsvorlage befindet sich im folgenden Ordner: MapForceExamples\BookCatalog.pxt.
Aufgabenstellung
Die Aufgabenstellung in diesem Beispiel ist folgende:
•Extraktion des Firmennamens
•Extraktion aller Daten aus dern Tabelle auf beiden Seiten
•Extraktion der Fußzeile und der Überschriftszeile aus der Tabelle, bevor sie verarbeitet wird
Implementierung
Zu diesem Zweck haben wir die folgende Modellstruktur erstellt:
Unter dem Root-Element mit dem Namen BookCatalog befindet sich ein Gruppieren/Filtern-Objekt, das das nur Objekte auf der ersten Seite des PDF-Dokuments verarbeitet (Gruppen auswählen ist auf 1 gesetzt). Das Gruppieren/Filtern-Objekt enthält als Child-Nodes zwei Texterfassungen: Company (der Firmenname im oberen Bereich des PDF-Dokuments) und CatalogYear (Abbildungen unten).
Dieses Gruppieren/Filtern-Objekt enthält auch ein Zusammenführungsquell-Objekt als Child-Node, das eine Region hat, die alle Zeilen auf der ersten Seite mit Ausnahme der Überschriftszeile enthält. Wir haben die Region manuell (anstatt mit Hilfe der automatischen Tabellenvorschläge) definiert. Unten sehen Sie einen Ausschnitt aus der Region der ersten Zusammenführungsquelle.
Das zweite Gruppieren/Filtern-Objekt verarbeitet die zweite Seite des PDF-Dokuments (Gruppen auswählen ist auf 2 gesetzt) und enthält ebenfalls eine Zusammenführungsquelle. Der Grund dafür, dass zwei separate Gruppen erstellt wurden, ist dass das Layout der Seiten nicht gleich ist. Wir können daher nicht dieselbe Verarbeitungslogik auf diese Seiten anwenden.
Das Zusammenführungsziel-Objekt führt die Fragmente aus beiden Zusammenführungsquellen zu einer Gruppe zusammen. Damit die relevanten Zusammenführungsquellen korrekt im Zusammenführungsziel zusammengeführt werden können, müssen die entsprechenden Zusammenführungsquellen und -ziele denselben Namen haben (in unserem Beispiel Table). Nachdem alle Fragmente gesammelt wurden, werden sie zu Zeilen gruppiert (das Gruppieren/Filtern-Objekt mit Texterfassungsobjekten). Jede Zeile enthält Informationen über ein Buch, seinen Autor, die ISBN-Nummer, den Verlag, die Drucklänge, das Jahr, das Genre und den Preis.l Das Gruppieren/Filtern-Objekt ist in das Teilen-Objekt verpackt und enthält das Ergebnis der Aufteilung des Zusammenführungsziels in Datenzeilen.
Ausgabe
Wir sind nun mit der Definition der Extraktionsregeln fertig. Im Ausgabefenster sehen Sie die Struktur, die wir definiert und die Daten, die wir aus dem PDF-Dokument extrahiert haben. Im Codefragement unten sehen Sie einen Auszug aus der Ausgabe.
<BookCatalog>
<Company>Crazy Book Lovers, Inc.</Company>
<CatalogYear>2024</CatalogYear>
<Book>
<Title>Dune (Dune Chronicles, Book 1)</Title>
<Author>Frank Herbert</Author>
<ISBN>0441013597</ISBN>
<Publisher>Penguin Publishing Group</Publisher>
<PrintLength>704</PrintLength>
<Year>2005</Year>
<Genre>Sci-Fi</Genre>
<Preis>14.99</Preis>
</Book>
<Book>
<Title>Dark Matter</Title>
<Author>Blake Crouch</Author>
<ISBN>9781447297581</ISBN>
<Publisher>Pan Macmillan</Publisher>
<PrintLength>416</PrintLength>
<Year>2017</Year>
<Genre>Sci-Fi</Genre>
<Preis>9.99</Preis>
</Book>
<Book>
<Title>Nos4a2</Title>
<Author>Joe Hill</Author>
<ISBN>978-1-4732-2641-8</ISBN>
<Publisher>Orion</Publisher>
<PrintLength>704</PrintLength>
<Year>2019</Year>
<Genre>Horror</Genre>
<Preis>16.99</Preis>
</Book>
<...>
</BookCatalog>