Community

Repeating group across multiple pages Answered

Hello everybody.

I've got this problem. I need to extrat information from semi-structured documents. I prefer using reapeating group instead of tables because of their flexibility. The problem I'm facing is rapresented in the attached image. I have an outer group which may reapeat several time on every page and starts every time the string "Vs. ORDINE CLIENTE" is found. Then there might be one or many more inner reapeating group below it. Those inner groups are my table rows. I thought that this was a good solution becouse the inner groups are all producs requested whit the order pointed next to the string

I'm not using tables because I have other similar examples where data are not so well structured. So, the question: is it possible to let the outer group continue in the next page (and so the inner ones)? How? The picture shows what I'd like to accomplish. Is it feasible in Flexilayout studio or should I rely on scripts in FlaxiCapture? If this is the case, could you please provide sample code?

Thanks

0

Comments

5 comments

  • Avatar
    t.t.

    I use two repeating groups for a plain table divided to several pages - outer group for "page repeat", and inner for "row repeat". Here is elements structure:

    I think for your case you need three repeating groups - "pages" "outer table structure", and "inner table rows".

    0
  • Avatar
    AndreaB

    Hi t.t. thanks for your reply. That's exactly what I usually do in normal cases, but in this way the inner repeating group stops when a page ends. The inner group restart when a new instance of the outer group is found. For this particular case I adopted this solution: one repeating group for the string "vs ORDINE CLIENTE" and one repeating group (not nested) for table rows. Finally i merged those groups via scrip in Flexicapture but it's very tedious. As I understand flexilayout reasons in terms of pages so a group can't be splitted in two contiguous pages. I think adding one more repeating group representig the whole page won't solve the problem because it's the same as working page by page. Now I'm investigating advaneced pre-search relations to check if I can set/force the search area to be in the next page.

    0
  • Avatar
    t.t.

    There is also a second way to do it. I use this way for documents without strict columns headers, but with a key field which can be easily distinguished from any other text lines in the document (outside of the table). You can use two repeating groups on the same level (not nested). For example, if your document don't have other lines ended with number, you can use a charstring with appropriate alphabets for "Quantita" field (and find a table line right-to-left starting from it). And for your "green" table you maybe can use "ordine cliente" static. Both of your repeating groups should be in "Document mode", not "Page mode" - it means, their search areas will be the whole document.

    0
  • Avatar
    AndreaB

    Thanks t.t.

    In the end this is the solution I've chosen, which I think, is a slight modification of yours. First a repeating group A is created in order to pick out all the instances of "Vs. ORDINE CLIENTE". Next another repeating group B not nested in A is created putting as condition in Advanced pre-search realtions that the i-th instance on B must lie between the i-th and the (i+1)-th instance of A. With those constraints defined, another repeating group C nested in B whill search for table rows using column "Quantità" as line reference. All the repeating groups are in Document mode 

    0
  • Avatar
    t.t.

    I'm glad if I could help.

    0

Please sign in to leave a comment.