- Kopfzeile der Tabelle. Wie zuvor festgelegt, geben Sie die Spaltennamen mithilfe bereits erkannter Hilfselemente an.
- Fußzeile der Tabelle. Wie zuvor festgelegt, wird die Fußzeile mithilfe des bereits erkannten erforderlichen Elements Paragraph aus der Gruppe InvoiceFooter angegeben, das den Beginn des Schlussteils kennzeichnet. Dieses Element wurde als das dem unteren Rand der Tabelle nächstgelegene Element beschrieben.
- Suchbereich für die Tabelle. Sie können den Suchbereich auf der rechten Seite mithilfe des Namens der letzten Spalte Sales begrenzen, die für keine anderen Zwecke benötigt wird.
Erstellen des Elements InvoiceTable
- Erstellen Sie im SearchElements-Baum ein Element vom Typ Table und benennen Sie es als InvoiceTable.
- Klicken Sie auf die Registerkarte Columns.
- Klicken Sie auf Select, um den zuvor in Schritt 3 erstellten Block InvoiceTable als den zu suchenden Block auszuwählen.
- Geben Sie die Suchparameter für die Tabellenspalten an:
- Wählen Sie in der Spaltenliste Reference aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwReference. Um es zu verwenden, wählen Sie Use found element as column name aus, klicken Sie dann auf
und wählen Sie TableHeader.kwReferenceaus. - Wählen Sie in der Spaltenliste Bezeichnung aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwDesignation. - Wählen Sie in der Spaltenliste Unit aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwUnit. - Wählen Sie in der Spaltenliste Menge aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwQuantity. - Wählen Sie in der Spaltenliste UnitPrice aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwUnitPrice. - Wählen Sie in der Spaltenliste Gesamtbetrag aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
TableHeader.kwTotal.
- Wählen Sie in der Spaltenliste Reference aus und klicken Sie auf die Schaltfläche Properties…
Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element
- Klicken Sie auf die Registerkarte Reihenfolge.
- Da die gesuchten Spalten möglicherweise durch andere Spalten voneinander getrennt sind (zum Beispiel ExtraQtyTag), ihre Reihenfolge jedoch immer fest ist (zuerst Bezeichnung, dann Stückpreis, dann Gesamtbetrag), wählen Sie Regeln für Spaltenreihenfolge aus, klicken Sie auf Add…, und fügen Sie die Spalten in der folgenden Reihenfolge hinzu: Bezeichnung << Stückpreis << Gesamtbetrag.
- Klicken Sie auf die Registerkarte Header. Der Tabellen-Header wird benötigt, es sind jedoch keine zusätzlichen Einschränkungen erforderlich, daher behalten Sie die Standardwerte bei.
- Klicken Sie auf die Registerkarte Footer. Verwenden Sie das zuvor erkannte Element
InvoiceFooter.Paragraphfür den abschließenden Teil der Tabelle. Wählen Sie die Option gefundenes Element als Fußzeile verwenden aus, klicken Sie auf
und wählen Sie dann das Element InvoiceFooter.Paragraphaus.
- Klicken Sie auf die Registerkarte Rows.
-
Da die Zellen in einigen Spalten mehrere Zeilen enthalten können, müssen Sie Master columns für die Zeilentrennung angeben. Wählen Sie Use master columns to detect rows aus.
Geben Sie zuerst die Spalte Gesamtbetrag an, da diese Spalte immer Daten enthält und für jeden Tabellen-Datensatz genau eine Datenzeile aufweist.
Falls diese Spalte im Bild nicht erkannt wird, geben Sie die Spalten Stückpreis und Menge als nächste Option für die Zeilentrennung an. Verwenden Sie die Schaltfläche
, um diese Spalten auszuwählen.
-
Wählen Sie die Registerkarte Relations aus. Da sich die Tabellenspalten, die uns interessieren, links vom Namen der Spalte Sales befinden, fügen Sie die folgenden Suchbedingungen hinzu:
- Links vom Element
TableHeader.kwSales, Offset = 0
- Links vom Element
- Gleichen Sie das FlexiLayout mit den Testbildern ab. Sie werden feststellen, dass das Programm das Table-Element auf allen Bildern korrekt erkennt, bei einigen Bildern jedoch die Spalte Menge überflüssigen Text aus der vorhergehenden Spalte enthält. Um die relevanten Daten in der Spalte Menge von irrelevanten Daten zu trennen, legen Sie den Inhaltstyp für diese Spalte fest.
- Öffnen Sie das Dialogfeld Properties des Table-Elements InvoiceTable. Klicken Sie auf die Registerkarte Columns, öffnen Sie das Dialogfeld Properties… der Spalte Menge, und wählen Sie die Option Check content type aus. Wählen Sie unter Type of column content die Option Number aus.
- Wenn Sie das FlexiLayout jetzt mit den Bildern abgleichen, werden Sie sehen, dass die Spalte Menge nur Ziffern enthält, wie erforderlich.
- Legen Sie auf ähnliche Weise für die Spalten UnitPrice und Gesamtbetrag den Inhaltstyp Currency fest.
- Um die Position des Blocks InvoiceTable anzugeben, wählen Sie die Option Source element aus. Klicken Sie auf
und geben Sie InvoiceTable als Source element an.
