fix(layout,table): update e2e test

Signed-off-by: Clément Doumouro <clement.doumouro@gmail.com>
This commit is contained in:
Clément Doumouro 2025-07-09 17:00:31 +02:00
parent bba05d1c37
commit 7b4a4457e8
40 changed files with 25443 additions and 23945 deletions

View File

@ -102,12 +102,7 @@ class LayoutModel(BasePageModel):
) )
def draw_clusters_and_cells_side_by_side( def draw_clusters_and_cells_side_by_side(
self, self, conv_res, page, clusters, mode_prefix: str, show: bool = False
conv_res,
page,
clusters,
mode_prefix: str,
show: bool = False,
): ):
""" """
Draws a page image side by side with clusters filtered into two categories: Draws a page image side by side with clusters filtered into two categories:
@ -115,9 +110,9 @@ class LayoutModel(BasePageModel):
- Right: Clusters including FORM, KEY_VALUE_REGION, and PICTURE. - Right: Clusters including FORM, KEY_VALUE_REGION, and PICTURE.
Includes label names and confidence scores for each cluster. Includes label names and confidence scores for each cluster.
""" """
page_image = deepcopy(page.image) scale_x = page.image.width / page.size.width
scale_x = page_image.width / page.size.width scale_y = page.image.height / page.size.height
scale_y = page_image.height / page.size.height
# Filter clusters for left and right images # Filter clusters for left and right images
exclude_labels = { exclude_labels = {
DocItemLabel.FORM, DocItemLabel.FORM,
@ -127,8 +122,8 @@ class LayoutModel(BasePageModel):
left_clusters = [c for c in clusters if c.label not in exclude_labels] left_clusters = [c for c in clusters if c.label not in exclude_labels]
right_clusters = [c for c in clusters if c.label in exclude_labels] right_clusters = [c for c in clusters if c.label in exclude_labels]
# Create a deep copy of the original image for both sides # Create a deep copy of the original image for both sides
left_image = page_image left_image = copy.deepcopy(page.image)
right_image = copy.deepcopy(left_image) right_image = copy.deepcopy(page.image)
# Draw clusters on both images # Draw clusters on both images
draw_clusters(left_image, left_clusters, scale_x, scale_y) draw_clusters(left_image, left_clusters, scale_x, scale_y)
@ -191,10 +186,7 @@ class LayoutModel(BasePageModel):
if settings.debug.visualize_raw_layout: if settings.debug.visualize_raw_layout:
self.draw_clusters_and_cells_side_by_side( self.draw_clusters_and_cells_side_by_side(
conv_res, conv_res, page, clusters, mode_prefix="raw"
page,
clusters,
mode_prefix="raw",
) )
# Apply postprocessing # Apply postprocessing
@ -228,10 +220,7 @@ class LayoutModel(BasePageModel):
if settings.debug.visualize_layout: if settings.debug.visualize_layout:
self.draw_clusters_and_cells_side_by_side( self.draw_clusters_and_cells_side_by_side(
conv_res, conv_res, page, processed_clusters, mode_prefix="postprocessed"
page,
processed_clusters,
mode_prefix="postprocessed",
) )
yield page yield page

View File

@ -107,10 +107,10 @@ class OcrMacModel(BaseOcrModel):
x2 = x1 + w * im_width x2 = x1 + w * im_width
y1 = y2 - h * im_height y1 = y2 - h * im_height
left = x1 / self.scale left = x1 / self.scale + ocr_rect.l
top = y1 / self.scale top = y1 / self.scale + ocr_rect.t
right = x2 / self.scale right = x2 / self.scale + ocr_rect.l
bottom = y2 / self.scale bottom = y2 / self.scale + ocr_rect.t
cells.append( cells.append(
TextCell( TextCell(

View File

@ -260,7 +260,7 @@ class TableStructureModel(BasePageModel):
) )
new_bbox = _rotate_bbox( new_bbox = _rotate_bbox(
new_cell.to_bounding_box(), new_cell.to_bounding_box(),
orientation=-cells_orientation, orientation=cells_orientation,
im_size=scaled_page_im.size, im_size=scaled_page_im.size,
).model_dump() ).model_dump()
tokens.append( tokens.append(

View File

@ -1,11 +1,8 @@
<document> <document>
<subtitle-level-1><location><page_1><loc_33><loc_87><loc_68><loc_91></location>This is a table test</subtitle-level-1> <table>
<paragraph><location><page_1><loc_12><loc_83><loc_61><loc_84></location>The test starts with some random text and then a table image:</paragraph> <location><page_1><loc_9><loc_45><loc_70><loc_86></location>
<paragraph><location><page_1><loc_45><loc_76><loc_56><loc_77></location>Some column</paragraph> <row_0><col_0><col_header>Vertically merged</col_0><col_1><col_header>Other merged column</col_1><col_2><col_header>Yet another column</col_2></row_0>
<paragraph><location><page_1><loc_62><loc_76><loc_78><loc_77></location>Some other column</paragraph> <row_1><col_0><body>value</col_0><col_1><body>Some other value</col_1><col_2><body>Yet another value</col_2></row_1>
<paragraph><location><page_1><loc_29><loc_70><loc_37><loc_71></location>Some row</paragraph> <row_2><col_0><body>value</col_0><col_1><body>Some other value</col_1><col_2><body>Yet another value</col_2></row_2>
<paragraph><location><page_1><loc_47><loc_70><loc_54><loc_71></location>some cell</paragraph> </table>
<paragraph><location><page_1><loc_65><loc_70><loc_76><loc_71></location>have content</paragraph>
<paragraph><location><page_1><loc_26><loc_64><loc_39><loc_65></location>Some other row</paragraph>
<paragraph><location><page_1><loc_46><loc_64><loc_55><loc_65></location>other don't</paragraph>
</document> </document>

View File

@ -27,13 +27,13 @@
"file-info": { "file-info": {
"filename": "ocr_test.pdf", "filename": "ocr_test.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "4220c26a23a085eeca7ed3904ae0952e7e73458e65ce19e56170a9ce095b2313", "document-hash": "0f391d12850f72bb91897f7f3bebfd4a0a8357e2a883ac1f664e32342c04e418",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "07ff68c95cc6ec01fb38d02dc5d5efc466f3cfbf2e1dcb6c16b4e722d7f9f657", "hash": "32f328168da3f69890a725c1168799f9ff7337249e98b1f36c12965551477be5",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
@ -41,223 +41,307 @@
}, },
"main-text": [ "main-text": [
{ {
"prov": [ "name": "Table",
{ "type": "table",
"bbox": [ "$ref": "#/tables/0"
201.26343,
690.10254,
417.96021,
719.14941
],
"page": 1,
"span": [
0,
20
],
"__ref_s3_data": null
}
],
"text": "This is a table test",
"type": "subtitle-level-1",
"payload": null,
"name": "Section-header",
"font": null
},
{
"prov": [
{
"bbox": [
72.0,
655.42273,
376.27319,
667.7117899999998
],
"page": 1,
"span": [
0,
61
],
"__ref_s3_data": null
}
],
"text": "The test starts with some random text and then a table image:",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
275.33333333333337,
601.0,
343.66666666666663,
609.6666666666666
],
"page": 1,
"span": [
0,
11
],
"__ref_s3_data": null
}
],
"text": "Some column",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
381.3333333333333,
601.0,
479.3333333333333,
609.6666666666666
],
"page": 1,
"span": [
0,
17
],
"__ref_s3_data": null
}
],
"text": "Some other column",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
175.0,
554.6666666666667,
225.66666666666669,
563.3333333333333
],
"page": 1,
"span": [
0,
8
],
"__ref_s3_data": null
}
],
"text": "Some row",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
286.0,
554.6666666666667,
333.0,
563.3333333333333
],
"page": 1,
"span": [
0,
9
],
"__ref_s3_data": null
}
],
"text": "some cell",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
398.3333333333333,
554.6666666666667,
463.0,
563.3333333333333
],
"page": 1,
"span": [
0,
12
],
"__ref_s3_data": null
}
],
"text": "have content",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
160.33333333333334,
508.33333333333337,
240.33333333333331,
517.0
],
"page": 1,
"span": [
0,
14
],
"__ref_s3_data": null
}
],
"text": "Some other row",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
283.0,
508.33333333333337,
336.33333333333337,
517.0
],
"page": 1,
"span": [
0,
11
],
"__ref_s3_data": null
}
],
"text": "other don't",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
} }
], ],
"figures": [], "figures": [],
"tables": [], "tables": [
{
"prov": [
{
"bbox": [
69.04969024658203,
277.41973876953125,
551.0990600585938,
524.3504486083984
],
"page": 1,
"span": [
0,
0
],
"__ref_s3_data": null
}
],
"text": "",
"type": "table",
"payload": null,
"#-cols": 3,
"#-rows": 3,
"data": [
[
{
"bbox": [
97.33333333333333,
105.66666666666666,
190.0,
126.33333333333334
],
"spans": [
[
0,
0
]
],
"text": "Vertically merged",
"type": "col_header",
"col": 0,
"col-header": true,
"col-span": [
0,
1
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
232.66666666666666,
105.66666666666666,
364.0,
126.33333333333334
],
"spans": [
[
0,
1
]
],
"text": "Other merged column",
"type": "col_header",
"col": 1,
"col-header": true,
"col-span": [
1,
2
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
406.3333333333333,
105.66666666666666,
518.3333333333333,
121.66666666666666
],
"spans": [
[
0,
2
]
],
"text": "Yet another column",
"type": "col_header",
"col": 2,
"col-header": true,
"col-span": [
2,
3
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
}
],
[
{
"bbox": [
121.66666666666667,
204.33333333333334,
168.66666666666666,
220.0
],
"spans": [
[
1,
0
]
],
"text": "value",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": [
247.0,
188.33333333333331,
349.6666666666667,
204.33333333333334
],
"spans": [
[
1,
1
]
],
"text": "Some other value",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": [
408.3333333333333,
188.33333333333331,
514.0,
204.33333333333334
],
"spans": [
[
1,
2
]
],
"text": "Yet another value",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
}
],
[
{
"bbox": [
121.66666666666667,
284.0,
168.66666666666666,
300.0
],
"spans": [
[
2,
0
]
],
"text": "value",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
},
{
"bbox": [
247.0,
268.0,
349.6666666666667,
284.0
],
"spans": [
[
2,
1
]
],
"text": "Some other value",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
},
{
"bbox": [
408.3333333333333,
268.0,
514.0,
284.0
],
"spans": [
[
2,
2
]
],
"text": "Yet another value",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
}
]
],
"model": null,
"bounding-box": null
}
],
"bitmaps": null, "bitmaps": null,
"equations": [], "equations": [],
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 792.0, "height": 612.0,
"page": 1, "page": 1,
"width": 612.0 "width": 792.0
} }
], ],
"page-footers": [], "page-footers": [],

View File

@ -1,5 +1,4 @@
| | Column 0 | Column 1 | Column 2 | | Vertically merged | Other merged column | Yet another column |
|----------------|------------|--------------|------------| |---------------------|-----------------------|----------------------|
| this is row 0 | some cells | have content | and | | value | Some other value | Yet another value |
| and row 1 | | other | have | | value | Some other value | Yet another value |
| and last row 2 | nothing | | inside |

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,8 @@
<document> <document>
<table> <table>
<location><page_1><loc_33><loc_13><loc_88><loc_61></location> <location><page_1><loc_30><loc_14><loc_91><loc_55></location>
<row_0><col_0><col_header>inside</col_0><col_1><body></col_1><col_2><col_header>nothing</col_2><col_3><col_header>and last row 2</col_3></row_0> <row_0><col_0><col_header>Vertically merged</col_0><col_1><col_header>Other merged column</col_1><col_2><col_header>Yet another column</col_2></row_0>
<row_1><col_0><body>have</col_0><col_1><body>other</col_1><col_2><body></col_2><col_3><body>and row 1</col_3></row_1> <row_1><col_0><body>value</col_0><col_1><body>Some other value</col_1><col_2><body>Yet another value</col_2></row_1>
<row_2><col_0><body>and</col_0><col_1><body>have content</col_1><col_2><body>some cells</col_2><col_3><body>this is row 0</col_3></row_2> <row_2><col_0><body>value</col_0><col_1><body>Some other value</col_1><col_2><body>Yet another value</col_2></row_2>
<row_3><col_0><body>Column 2</col_0><col_1><body>Column 1</col_1><col_2><body>Column 0</col_2><col_3><body></col_3></row_3>
</table> </table>
</document> </document>

View File

@ -27,13 +27,13 @@
"file-info": { "file-info": {
"filename": "ocr_test_rotated_180.pdf", "filename": "ocr_test_rotated_180.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "687553cff95da8e2898fa50a68986ee2a3735ba5d287615e03c0d40fd3b33758", "document-hash": "361fa0fc8db9c3a973d316d08509ac78cc0e7f81dea94358319092640d439ca0",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "9e7213c0aa5ff85dfdb9a5b7566dfd229a4c5b8a4e289dd68655ddb1197c3b1f", "hash": "ab89ee70d4aee0b8dc5ed72ad42e16e98a8ec9c2eea1e03d99b50c25bbc5a806",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
@ -44,52 +44,6 @@
"name": "Table", "name": "Table",
"type": "table", "type": "table",
"$ref": "#/tables/0" "$ref": "#/tables/0"
},
{
"prov": [
{
"bbox": [
238.78076,
124.28821000000005,
540.0,
136.57727
],
"page": 1,
"span": [
0,
71
],
"__ref_s3_data": null
}
],
"text": "ehT t se t w strats it modnar emos h t xe t dna t a neh t elba i egam :",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"prov": [
{
"bbox": [
194.03979,
72.85058600000002,
410.73657,
101.89746000000002
],
"page": 1,
"span": [
0,
20
],
"__ref_s3_data": null
}
],
"text": "tset elbat a si sihT",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
} }
], ],
"figures": [], "figures": [],
@ -98,10 +52,10 @@
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
112.69406127929688, 240.90093994140625,
163.70050048828125, 87.64955139160156,
470.0718078613281, 722.950309753418,
302.27655029296875 334.58026123046875
], ],
"page": 1, "page": 1,
"span": [ "span": [
@ -119,22 +73,39 @@
"data": [ "data": [
[ [
{ {
"bbox": null, "bbox": [
97.33333333333337,
105.66666666666669,
190.0,
126.33333333333337
],
"spans": [ "spans": [
[ [
0, 0,
0 0
] ]
], ],
"text": "", "text": "Vertically merged",
"type": "body" "type": "col_header",
"col": 0,
"col-header": true,
"col-span": [
0,
1
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
}, },
{ {
"bbox": [ "bbox": [
303.0, 232.33333333333326,
508.3333333333333, 105.66666666666669,
329.0, 363.6666666666667,
517.0 126.33333333333337
], ],
"spans": [ "spans": [
[ [
@ -142,7 +113,7 @@
1 1
] ]
], ],
"text": "other don't", "text": "Other merged column",
"type": "col_header", "type": "col_header",
"col": 1, "col": 1,
"col-header": true, "col-header": true,
@ -159,10 +130,10 @@
}, },
{ {
"bbox": [ "bbox": [
422.6666666666667, 406.3333333333333,
508.3333333333333, 105.66666666666669,
451.6666666666667, 518.0,
517.0 121.66666666666663
], ],
"spans": [ "spans": [
[ [
@ -170,7 +141,7 @@
2 2
] ]
], ],
"text": "Some other row", "text": "Yet another column",
"type": "col_header", "type": "col_header",
"col": 2, "col": 2,
"col-header": true, "col-header": true,
@ -189,10 +160,10 @@
[ [
{ {
"bbox": [ "bbox": [
190.0, 121.66666666666663,
554.6666666666666, 204.0,
213.66666666666666, 168.66666666666663,
563.3333333333334 220.0
], ],
"spans": [ "spans": [
[ [
@ -200,8 +171,8 @@
0 0
] ]
], ],
"text": "have content", "text": "value",
"type": "row_header", "type": "body",
"col": 0, "col": 0,
"col-header": false, "col-header": false,
"col-span": [ "col-span": [
@ -209,7 +180,7 @@
1 1
], ],
"row": 1, "row": 1,
"row-header": true, "row-header": false,
"row-span": [ "row-span": [
1, 1,
2 2
@ -217,10 +188,10 @@
}, },
{ {
"bbox": [ "bbox": [
299.0, 247.0,
554.6666666666666, 188.0,
326.33333333333337, 349.6666666666667,
561.0 204.0
], ],
"spans": [ "spans": [
[ [
@ -228,7 +199,7 @@
1 1
] ]
], ],
"text": "some cell", "text": "Some other value",
"type": "body", "type": "body",
"col": 1, "col": 1,
"col-header": false, "col-header": false,
@ -246,9 +217,9 @@
{ {
"bbox": [ "bbox": [
408.3333333333333, 408.3333333333333,
554.6666666666666, 188.0,
437.3333333333333, 514.0,
563.3333333333334 204.0
], ],
"spans": [ "spans": [
[ [
@ -256,7 +227,7 @@
2 2
] ]
], ],
"text": "Some row", "text": "Yet another value",
"type": "body", "type": "body",
"col": 2, "col": 2,
"col-header": false, "col-header": false,
@ -275,10 +246,10 @@
[ [
{ {
"bbox": [ "bbox": [
201.66666666666669, 121.66666666666663,
601.0, 284.0,
230.66666666666666, 168.66666666666663,
609.6666666666666 300.0
], ],
"spans": [ "spans": [
[ [
@ -286,8 +257,8 @@
0 0
] ]
], ],
"text": "Some other column", "text": "value",
"type": "row_header", "type": "body",
"col": 0, "col": 0,
"col-header": false, "col-header": false,
"col-span": [ "col-span": [
@ -295,7 +266,7 @@
1 1
], ],
"row": 2, "row": 2,
"row-header": true, "row-header": false,
"row-span": [ "row-span": [
2, 2,
3 3
@ -303,10 +274,10 @@
}, },
{ {
"bbox": [ "bbox": [
308.0, 247.0,
601.0, 268.0,
337.0, 349.6666666666667,
609.6666666666666 284.0
], ],
"spans": [ "spans": [
[ [
@ -314,7 +285,7 @@
1 1
] ]
], ],
"text": "Some column", "text": "Some other value",
"type": "body", "type": "body",
"col": 1, "col": 1,
"col-header": false, "col-header": false,
@ -330,15 +301,32 @@
] ]
}, },
{ {
"bbox": null, "bbox": [
408.3333333333333,
268.0,
514.0,
284.0
],
"spans": [ "spans": [
[ [
2, 2,
2 2
] ]
], ],
"text": "", "text": "Yet another value",
"type": "body" "type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
} }
] ]
], ],
@ -351,9 +339,9 @@
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 792.0, "height": 612.0,
"page": 1, "page": 1,
"width": 612.0 "width": 792.0
} }
], ],
"page-footers": [], "page-footers": [],

View File

@ -1,5 +1,4 @@
| inside | | nothing | and last row 2 | | Vertically merged | Other merged column | Yet another column |
|----------|--------------|------------|------------------| |---------------------|-----------------------|----------------------|
| have | other | | and row 1 | | value | Some other value | Yet another value |
| and | have content | some cells | this is row 0 | | value | Some other value | Yet another value |
| Column 2 | Column 1 | Column 0 | |

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,6 @@
<document> <document>
<table> <table>
<location><page_1><loc_39><loc_33><loc_87><loc_88></location> <location><page_1><loc_45><loc_30><loc_86><loc_91></location>
<row_0><col_0><body>and last row 2</col_0><col_1><body>and row 1</col_1><col_2><body>this is row 0</col_2><col_3><body></col_3></row_0> <row_0><col_0><body>Yet another value</col_0><col_1><body>Some other value</col_1><col_2><body>value</col_2></row_0>
<row_1><col_0><body>nothing</col_0><col_1><body></col_1><col_2><body>some cells</col_2><col_3><body>Column 0</col_3></row_1>
<row_2><col_0><body></col_0><col_1><body>other</col_1><col_2><body>have content</col_2><col_3><body>Column 1</col_3></row_2>
<row_3><col_0><body>inside</col_0><col_1><body>have</col_1><col_2><body>and</col_2><col_3><body>Column 2</col_3></row_3>
</table> </table>
</document> </document>

View File

@ -27,13 +27,13 @@
"file-info": { "file-info": {
"filename": "ocr_test_rotated_270.pdf", "filename": "ocr_test_rotated_270.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "6fefac7b5b41551979e0acb695ca99549a91784619c82c6095d8130179431437", "document-hash": "753140dc9b8c39b67c6f6712e2a1de4c364c808ca09d13dd05b79c23192429dc",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "68730d83582a6ac50587fdba1a8ce6b263d682a0daf984522d4dbe9f9e3d4fbe", "hash": "c8fa256d58940f76c5e0ec6b65548a2e939f867c2c75d0ee27f5f70ff32a44be",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
@ -44,92 +44,18 @@
"name": "Table", "name": "Table",
"type": "table", "type": "table",
"$ref": "#/tables/0" "$ref": "#/tables/0"
},
{
"prov": [
{
"bbox": [
640.87671,
235.72681,
653.16504,
533.28552
],
"page": 1,
"span": [
0,
49
],
"__ref_s3_data": null
}
],
"text": "heteststartswithsomerandomtextandthenatableimage:",
"type": "paragraph",
"payload": null,
"name": "Text",
"font": null
},
{
"name": "Picture",
"type": "figure",
"$ref": "#/figures/0"
},
{
"prov": [
{
"bbox": [
690.10272,
194.03976,
719.1490499999999,
410.73663
],
"page": 1,
"span": [
0,
20
],
"__ref_s3_data": null
}
],
"text": "This is a table test",
"type": "subtitle-level-1",
"payload": null,
"name": "Section-header",
"font": null
}
],
"figures": [
{
"prov": [
{
"bbox": [
668.9778442382812,
532.5339431762695,
683.4164962768555,
541.4290084838867
],
"page": 1,
"span": [
0,
0
],
"__ref_s3_data": null
}
],
"text": "",
"type": "figure",
"payload": null,
"bounding-box": null
} }
], ],
"figures": [],
"tables": [ "tables": [
{ {
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
460.5577697753906, 277.4178771972656,
112.21743774414062, 240.90216064453125,
599.0364074707031, 524.3541717529297,
469.385986328125 722.9614028930664
], ],
"page": 1, "page": 1,
"span": [ "span": [
@ -142,9 +68,96 @@
"text": "", "text": "",
"type": "table", "type": "table",
"payload": null, "payload": null,
"#-cols": 0, "#-cols": 3,
"#-rows": 0, "#-rows": 1,
"data": [], "data": [
[
{
"bbox": [
98.0,
296.6666666666667,
203.66666666666669,
344.0
],
"spans": [
[
0,
0
]
],
"text": "Yet another value",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
262.3333333333333,
296.6666666666667,
365.0,
344.0
],
"spans": [
[
0,
1
]
],
"text": "Some other value",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
443.33333333333337,
312.0,
490.33333333333337,
328.0
],
"spans": [
[
0,
2
]
],
"text": "value",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
}
]
],
"model": null, "model": null,
"bounding-box": null "bounding-box": null
} }
@ -154,9 +167,9 @@
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 612.0, "height": 792.0,
"page": 1, "page": 1,
"width": 792.0 "width": 612.0
} }
], ],
"page-footers": [], "page-footers": [],

View File

@ -1,5 +0,0 @@
| and last row 2 | and row 1 | this is row 0 | |
|------------------|-------------|-----------------|----------|
| nothing | | some cells | Column 0 |
| | other | have content | Column 1 |
| inside | have | and | Column 2 |

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,5 @@
<document> <document>
<table> <table>
<location><page_1><loc_13><loc_12><loc_61><loc_67></location> <location><page_1><loc_14><loc_9><loc_55><loc_70></location>
<row_0><col_0><body>Column 2</col_0><col_1><body>and</col_1><col_2><body>have</col_2><col_3><body>inside</col_3></row_0>
<row_1><col_0><body>Column 1</col_0><col_1><body>have content</col_1><col_2><body>other</col_2><col_3><body></col_3></row_1>
<row_2><col_0><body>Column 0</col_0><col_1><body>some cells</col_1><col_2><body></col_2><col_3><body>nothing</col_3></row_2>
<row_3><col_0><body></col_0><col_1><body>this is row 0</col_1><col_2><body>and row 1</col_2><col_3><body>and last row 2</col_3></row_3>
</table> </table>
</document> </document>

View File

@ -27,13 +27,13 @@
"file-info": { "file-info": {
"filename": "ocr_test_rotated_90.pdf", "filename": "ocr_test_rotated_90.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "2fb20caf4f54c878a0b454b496010d92adc6ae1b7f10fbd9ba1ba26260f818a8", "document-hash": "418ae4425f514f002bd4223ea3003c17f319cbeafd67801732d58f2bedb3bd91",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "56c847ad7c5ab9f0346a325510af001ab66a9bb45f65ffc7bbfc60c929def7d2", "hash": "36315c08dc861ecde4be6179d2f155da0519b93e0311c290f8db164f593d36d8",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
@ -52,10 +52,10 @@
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
75.13359832763672, 87.64582824707031,
102.99908447265625, 69.0385971069336,
361.18695068359375, 334.5821228027344,
562.1403198242188 551.0978393554688
], ],
"page": 1, "page": 1,
"span": [ "span": [
@ -68,415 +68,9 @@
"text": "", "text": "",
"type": "table", "type": "table",
"payload": null, "payload": null,
"#-cols": 4, "#-cols": 0,
"#-rows": 4, "#-rows": 0,
"data": [ "data": [],
[
{
"bbox": [
105.0718660651769,
304.7354643560275,
119.73306194406335,
369.59883715876185
],
"spans": [
[
0,
0
]
],
"text": "Column 2",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
172.26899264661517,
324.3168597625203,
188.15195177751215,
352.46511670018316
],
"spans": [
[
0,
1
]
],
"text": "and",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
240.68788382926402,
321.869185135892,
256.570842960161,
356.13662847492196
],
"spans": [
[
0,
2
]
],
"text": "have",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
312.772072637728,
319.42151173034614,
326.21150018118874,
359.8081389276117
],
"spans": [
[
0,
3
]
],
"text": "inside",
"type": "body",
"col": 3,
"col-header": false,
"col-span": [
3,
4
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
}
],
[
{
"bbox": [
105.0718660651769,
419.77616156495424,
119.73306194406335,
483.4156981046677
],
"spans": [
[
1,
0
]
],
"text": "Column 1",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": [
172.26898999097682,
408.7616301134671,
185.70842261785268,
495.6540658231026
],
"spans": [
[
1,
1
]
],
"text": "have content",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": [
240.68788377535307,
433.23837164942523,
255.34907711253194,
468.729651251476
],
"spans": [
[
1,
2
]
],
"text": "other",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": null,
"spans": [
[
1,
3
]
],
"text": "",
"type": "body"
}
],
[
{
"bbox": [
105.07186605295925,
532.3691850430223,
119.73306193184567,
597.2325578457567
],
"spans": [
[
2,
0
]
],
"text": "Column 0",
"type": "body",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
},
{
"bbox": [
172.26899069197702,
529.9215107729757,
186.93018720629036,
600.9040699770771
],
"spans": [
[
2,
1
]
],
"text": "some cells",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
},
{
"bbox": null,
"spans": [
[
2,
2
]
],
"text": "",
"type": "body"
},
{
"bbox": [
311.49999737299976,
536.775000315586,
332.5000022770002,
592.9083316144141
],
"spans": [
[
2,
3
]
],
"text": "nothing",
"type": "body",
"col": 3,
"col-header": false,
"col-span": [
3,
4
],
"row": 2,
"row-header": false,
"row-span": [
2,
3
]
}
],
[
{
"bbox": null,
"spans": [
[
3,
0
]
],
"text": "",
"type": "body"
},
{
"bbox": [
172.2689900422697,
638.8430233885732,
186.93018846286373,
719.6162777831045
],
"spans": [
[
3,
1
]
],
"text": "this is row 0",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 3,
"row-header": false,
"row-span": [
3,
4
]
},
{
"bbox": [
240.68788248006402,
647.4098827174411,
255.34907835895044,
712.2732555201754
],
"spans": [
[
3,
2
]
],
"text": "and row 1",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 3,
"row-header": false,
"row-span": [
3,
4
]
},
{
"bbox": [
313.9938353514431,
633.9476737903873,
327.43326861374595,
725.735464724632
],
"spans": [
[
3,
3
]
],
"text": "and last row 2",
"type": "body",
"col": 3,
"col-header": false,
"col-span": [
3,
4
],
"row": 3,
"row-header": false,
"row-span": [
3,
4
]
}
]
],
"model": null, "model": null,
"bounding-box": null "bounding-box": null
} }
@ -486,9 +80,9 @@
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 842.0, "height": 792.0,
"page": 1, "page": 1,
"width": 595.0 "width": 612.0
} }
], ],
"page-footers": [], "page-footers": [],

View File

@ -1,5 +0,0 @@
| Column 2 | and | have | inside |
|------------|---------------|-----------|----------------|
| Column 1 | have content | other | |
| Column 0 | some cells | | nothing |
| | this is row 0 | and row 1 | and last row 2 |

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
<doctag><otsl><loc_61><loc_63><loc_333><loc_303><ecel><ched>Column 0<ched>Column 1<ched>Column 2<nl><rhed>this is row 0<fcel>some cells<fcel>have content<fcel>and<nl><rhed>and row 1<ecel><fcel>other<fcel>have<nl><rhed>and last row 2<fcel>nothing<ecel><fcel>inside<nl></otsl> <doctag><otsl><loc_44><loc_72><loc_348><loc_273><ched>Vertically merged<ched>Other merged column<ched>Yet another column<nl><fcel>value<fcel>Some other value<fcel>Yet another value<nl><fcel>value<fcel>Some other value<fcel>Yet another value<nl></otsl>
</doctag> </doctag>

View File

@ -4,7 +4,7 @@
"name": "ocr_test", "name": "ocr_test",
"origin": { "origin": {
"mimetype": "application/pdf", "mimetype": "application/pdf",
"binary_hash": 3906211175708501508, "binary_hash": 14846044078209721391,
"filename": "ocr_test.pdf" "filename": "ocr_test.pdf"
}, },
"furniture": { "furniture": {
@ -41,10 +41,10 @@
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 103.33, "l": 69.05,
"t": 519.86, "t": 524.35,
"r": 560.95, "r": 551.1,
"b": 234.07, "b": 277.42,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
@ -60,67 +60,29 @@
"table_cells": [ "table_cells": [
{ {
"bbox": { "bbox": {
"l": 245.02, "l": 97.33,
"t": 106.57, "t": 105.67,
"r": 307.59, "r": 190.0,
"b": 120.29, "b": 126.33,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
"col_span": 1, "col_span": 1,
"start_row_offset_idx": 0, "start_row_offset_idx": 0,
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 1, "start_col_offset_idx": 0,
"end_col_offset_idx": 2, "end_col_offset_idx": 1,
"text": "Column 0", "text": "Vertically merged",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 358.65, "l": 121.67,
"t": 106.57, "t": 204.33,
"r": 421.22, "r": 168.67,
"b": 120.29, "b": 220.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Column 1",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 472.27,
"t": 106.57,
"r": 534.84,
"b": 120.29,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 2",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 123.52,
"t": 174.07,
"r": 200.67,
"b": 187.79,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -129,74 +91,17 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "this is row 0", "text": "value",
"column_header": false,
"row_header": true,
"row_section": false
},
{
"bbox": {
"l": 241.65,
"t": 174.07,
"r": 310.71,
"b": 187.79,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "some cells",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 347.4, "l": 121.67,
"t": 174.07, "t": 284.0,
"r": 431.1, "r": 168.67,
"b": 187.79, "b": 300.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 491.4,
"t": 174.07,
"r": 515.79,
"b": 187.79,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 130.27,
"t": 242.7,
"r": 194.46,
"b": 256.41,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -205,17 +110,112 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "and row 1", "text": "value",
"column_header": false, "column_header": false,
"row_header": true, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 373.27, "l": 232.67,
"t": 242.7, "t": 105.67,
"r": 406.59, "r": 364.0,
"b": 256.41, "b": 126.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Other merged column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 247.0,
"t": 188.33,
"r": 349.67,
"b": 204.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 247.0,
"t": 268.0,
"r": 349.67,
"b": 284.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 406.33,
"t": 105.67,
"r": 518.33,
"b": 121.67,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Yet another column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 408.33,
"t": 188.33,
"r": 514.0,
"b": 204.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 408.33,
"t": 268.0,
"r": 514.0,
"b": 284.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -224,110 +224,41 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "other", "text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 486.9,
"t": 242.7,
"r": 518.61,
"b": 256.41,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 116.77,
"t": 315.82,
"r": 207.76,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "and last row 2",
"column_header": false,
"row_header": true,
"row_section": false
},
{
"bbox": {
"l": 251.77,
"t": 315.82,
"r": 299.73,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 484.65,
"t": 315.82,
"r": 522.85,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "inside",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
} }
], ],
"num_rows": 4, "num_rows": 3,
"num_cols": 4, "num_cols": 3,
"grid": [ "grid": [
[ [
{ {
"bbox": {
"l": 97.33,
"t": 105.67,
"r": 190.0,
"b": 126.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1, "row_span": 1,
"col_span": 1, "col_span": 1,
"start_row_offset_idx": 0, "start_row_offset_idx": 0,
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "", "text": "Vertically merged",
"column_header": false, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 245.02, "l": 232.67,
"t": 106.57, "t": 105.67,
"r": 307.59, "r": 364.0,
"b": 120.29, "b": 126.33,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -336,17 +267,17 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "Column 0", "text": "Other merged column",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 358.65, "l": 406.33,
"t": 106.57, "t": 105.67,
"r": 421.22, "r": 518.33,
"b": 120.29, "b": 121.67,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -355,26 +286,7 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "Column 1", "text": "Yet another column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 472.27,
"t": 106.57,
"r": 534.84,
"b": 120.29,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 2",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -383,10 +295,10 @@
[ [
{ {
"bbox": { "bbox": {
"l": 123.52, "l": 121.67,
"t": 174.07, "t": 204.33,
"r": 200.67, "r": 168.67,
"b": 187.79, "b": 220.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -395,17 +307,17 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "this is row 0", "text": "value",
"column_header": false, "column_header": false,
"row_header": true, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 241.65, "l": 247.0,
"t": 174.07, "t": 188.33,
"r": 310.71, "r": 349.67,
"b": 187.79, "b": 204.33,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -414,17 +326,17 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "some cells", "text": "Some other value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 347.4, "l": 408.33,
"t": 174.07, "t": 188.33,
"r": 431.1, "r": 514.0,
"b": 187.79, "b": 204.33,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -433,26 +345,7 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "have content", "text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 491.4,
"t": 174.07,
"r": 515.79,
"b": 187.79,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -461,10 +354,10 @@
[ [
{ {
"bbox": { "bbox": {
"l": 130.27, "l": 121.67,
"t": 242.7, "t": 284.0,
"r": 194.46, "r": 168.67,
"b": 256.41, "b": 300.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -473,29 +366,36 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "and row 1", "text": "value",
"column_header": false,
"row_header": true,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 373.27, "l": 247.0,
"t": 242.7, "t": 268.0,
"r": 406.59, "r": 349.67,
"b": 256.41, "b": 284.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 408.33,
"t": 268.0,
"r": 514.0,
"b": 284.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -504,97 +404,7 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "other", "text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 486.9,
"t": 242.7,
"r": 518.61,
"b": 256.41,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 116.77,
"t": 315.82,
"r": 207.76,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "and last row 2",
"column_header": false,
"row_header": true,
"row_section": false
},
{
"bbox": {
"l": 251.77,
"t": 315.82,
"r": 299.73,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 484.65,
"t": 315.82,
"r": 522.85,
"b": 329.54,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "inside",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -610,8 +420,8 @@
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 842.0, "width": 792.0,
"height": 595.0 "height": 612.0
}, },
"page_no": 1 "page_no": 1
} }

View File

@ -1,5 +1,4 @@
| | Column 0 | Column 1 | Column 2 | | Vertically merged | Other merged column | Yet another column |
|----------------|------------|--------------|------------| |---------------------|-----------------------|----------------------|
| this is row 0 | some cells | have content | and | | value | Some other value | Yet another value |
| and row 1 | | other | have | | value | Some other value | Yet another value |
| and last row 2 | nothing | | inside |

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
<doctag><otsl><loc_167><loc_196><loc_439><loc_436><ched>inside<ecel><ched>nothing<ched>and last row 2<nl><fcel>have<fcel>other<ecel><fcel>and row 1<nl><fcel>and<fcel>have content<fcel>some cells<fcel>this is row 0<nl><fcel>Column 2<fcel>Column 1<fcel>Column 0<ecel><nl></otsl> <doctag><otsl><loc_152><loc_227><loc_456><loc_428><ched>Vertically merged<ched>Other merged column<ched>Yet another column<nl><fcel>value<fcel>Some other value<fcel>Yet another value<nl><fcel>value<fcel>Some other value<fcel>Yet another value<nl></otsl>
</doctag> </doctag>

View File

@ -4,7 +4,7 @@
"name": "ocr_test_rotated_180", "name": "ocr_test_rotated_180",
"origin": { "origin": {
"mimetype": "application/pdf", "mimetype": "application/pdf",
"binary_hash": 9953198396702586979, "binary_hash": 16151733167151414937,
"filename": "ocr_test_rotated_180.pdf" "filename": "ocr_test_rotated_180.pdf"
}, },
"furniture": { "furniture": {
@ -41,10 +41,10 @@
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 280.59, "l": 240.9,
"t": 361.27, "t": 334.58,
"r": 738.57, "r": 722.95,
"b": 75.91, "b": 87.65,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
@ -60,238 +60,10 @@
"table_cells": [ "table_cells": [
{ {
"bbox": { "bbox": {
"l": 534.41, "l": 97.33,
"t": 474.71, "t": 105.67,
"r": 596.97, "r": 190.0,
"b": 488.43, "b": 126.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 420.78,
"t": 474.71,
"r": 483.35,
"b": 488.43,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 307.16,
"t": 474.71,
"r": 369.73,
"b": 488.43,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 641.33,
"t": 407.21,
"r": 718.47,
"b": 420.93,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "this is row 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 531.29,
"t": 407.21,
"r": 600.35,
"b": 420.93,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "some cells",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 410.9,
"t": 407.21,
"r": 494.6,
"b": 420.93,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 326.21,
"t": 407.21,
"r": 350.6,
"b": 420.93,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 647.54,
"t": 338.59,
"r": 711.72,
"b": 352.3,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and row 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 435.41,
"t": 338.59,
"r": 468.73,
"b": 352.3,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "other",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 323.39,
"t": 338.59,
"r": 355.1,
"b": 352.3,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 634.24,
"t": 265.46,
"r": 725.22,
"b": 279.18,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and last row 2",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 542.27,
"t": 265.46,
"r": 590.22,
"b": 279.18,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "nothing",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 319.15,
"t": 265.46,
"r": 357.35,
"b": 279.18,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -300,22 +72,174 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "inside", "text": "Vertically merged",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
},
{
"bbox": {
"l": 121.67,
"t": 204.0,
"r": 168.67,
"b": 220.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 121.67,
"t": 284.0,
"r": 168.67,
"b": 300.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 232.33,
"t": 105.67,
"r": 363.67,
"b": 126.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Other merged column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 247.0,
"t": 188.0,
"r": 349.67,
"b": 204.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 247.0,
"t": 268.0,
"r": 349.67,
"b": 284.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 406.33,
"t": 105.67,
"r": 518.0,
"b": 121.67,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Yet another column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 408.33,
"t": 188.0,
"r": 514.0,
"b": 204.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 408.33,
"t": 268.0,
"r": 514.0,
"b": 284.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
} }
], ],
"num_rows": 4, "num_rows": 3,
"num_cols": 4, "num_cols": 3,
"grid": [ "grid": [
[ [
{ {
"bbox": { "bbox": {
"l": 319.15, "l": 97.33,
"t": 265.46, "t": 105.67,
"r": 357.35, "r": 190.0,
"b": 279.18, "b": 126.33,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -324,29 +248,36 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "inside", "text": "Vertically merged",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": {
"l": 232.33,
"t": 105.67,
"r": 363.67,
"b": 126.33,
"coord_origin": "TOPLEFT"
},
"row_span": 1, "row_span": 1,
"col_span": 1, "col_span": 1,
"start_row_offset_idx": 0, "start_row_offset_idx": 0,
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "", "text": "Other merged column",
"column_header": false, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 542.27, "l": 406.33,
"t": 265.46, "t": 105.67,
"r": 590.22, "r": 518.0,
"b": 279.18, "b": 121.67,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -355,26 +286,7 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "nothing", "text": "Yet another column",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 634.24,
"t": 265.46,
"r": 725.22,
"b": 279.18,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and last row 2",
"column_header": true, "column_header": true,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -383,10 +295,10 @@
[ [
{ {
"bbox": { "bbox": {
"l": 323.39, "l": 121.67,
"t": 338.59, "t": 204.0,
"r": 355.1, "r": 168.67,
"b": 352.3, "b": 220.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -395,17 +307,17 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "have", "text": "value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 435.41, "l": 247.0,
"t": 338.59, "t": 188.0,
"r": 468.73, "r": 349.67,
"b": 352.3, "b": 204.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -414,38 +326,26 @@
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "other", "text": "Some other value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 647.54, "l": 408.33,
"t": 338.59, "t": 188.0,
"r": 711.72, "r": 514.0,
"b": 352.3, "b": 204.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
"col_span": 1, "col_span": 1,
"start_row_offset_idx": 1, "start_row_offset_idx": 1,
"end_row_offset_idx": 2, "end_row_offset_idx": 2,
"start_col_offset_idx": 3, "start_col_offset_idx": 2,
"end_col_offset_idx": 4, "end_col_offset_idx": 3,
"text": "and row 1", "text": "Yet another value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -454,10 +354,10 @@
[ [
{ {
"bbox": { "bbox": {
"l": 326.21, "l": 121.67,
"t": 407.21, "t": 284.0,
"r": 350.6, "r": 168.67,
"b": 420.93, "b": 300.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -466,17 +366,17 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "and", "text": "value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 410.9, "l": 247.0,
"t": 407.21, "t": 268.0,
"r": 494.6, "r": 349.67,
"b": 420.93, "b": 284.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -485,17 +385,17 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "have content", "text": "Some other value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 531.29, "l": 408.33,
"t": 407.21, "t": 268.0,
"r": 600.35, "r": 514.0,
"b": 420.93, "b": 284.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -504,97 +404,7 @@
"end_row_offset_idx": 3, "end_row_offset_idx": 3,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "some cells", "text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 641.33,
"t": 407.21,
"r": 718.47,
"b": 420.93,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "this is row 0",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 307.16,
"t": 474.71,
"r": 369.73,
"b": 488.43,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 420.78,
"t": 474.71,
"r": 483.35,
"b": 488.43,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 534.41,
"t": 474.71,
"r": 596.97,
"b": 488.43,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -610,8 +420,8 @@
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 842.0, "width": 792.0,
"height": 595.0 "height": 612.0
}, },
"page_no": 1 "page_no": 1
} }

View File

@ -1,5 +1,4 @@
| inside | | nothing | and last row 2 | | Vertically merged | Other merged column | Yet another column |
|----------|--------------|------------|------------------| |---------------------|-----------------------|----------------------|
| have | other | | and row 1 | | value | Some other value | Yet another value |
| and | have content | some cells | this is row 0 | | value | Some other value | Yet another value |
| Column 2 | Column 1 | Column 0 | |

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
<doctag><otsl><loc_197><loc_61><loc_437><loc_333><fcel>and last row 2<fcel>and row 1<fcel>this is row 0<ecel><nl><fcel>nothing<ecel><fcel>some cells<fcel>Column 0<nl><ecel><fcel>other<fcel>have content<fcel>Column 1<nl><fcel>inside<fcel>have<fcel>and<fcel>Column 2<nl></otsl> <doctag><otsl><loc_227><loc_44><loc_428><loc_348><fcel>Yet another value<fcel>Some other value<fcel>value<nl></otsl>
</doctag> </doctag>

View File

@ -4,7 +4,7 @@
"name": "ocr_test_rotated_270", "name": "ocr_test_rotated_270",
"origin": { "origin": {
"mimetype": "application/pdf", "mimetype": "application/pdf",
"binary_hash": 142009988718862333, "binary_hash": 8365439800722100027,
"filename": "ocr_test_rotated_270.pdf" "filename": "ocr_test_rotated_270.pdf"
}, },
"furniture": { "furniture": {
@ -41,10 +41,10 @@
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 233.88, "l": 277.42,
"t": 739.02, "t": 722.96,
"r": 519.9, "r": 524.35,
"b": 280.96, "b": 240.9,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
@ -60,67 +60,10 @@
"table_cells": [ "table_cells": [
{ {
"bbox": { "bbox": {
"l": 474.71, "l": 443.33,
"t": 245.03, "t": 312.0,
"r": 488.43, "r": 490.33,
"b": 307.59, "b": 328.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 474.71,
"t": 358.65,
"r": 488.43,
"b": 421.22,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 474.71,
"t": 472.27,
"r": 488.43,
"b": 534.84,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 123.53,
"r": 420.93,
"b": 200.67,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -129,74 +72,17 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "this is row 0", "text": "value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 407.21, "l": 262.33,
"t": 241.65, "t": 296.67,
"r": 420.93, "r": 365.0,
"b": 310.71, "b": 344.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "some cells",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 347.4,
"r": 420.93,
"b": 431.1,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 491.4,
"r": 420.93,
"b": 515.79,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 338.59,
"t": 130.28,
"r": 352.3,
"b": 194.46,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -205,55 +91,17 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "and row 1", "text": "Some other value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 338.59, "l": 98.0,
"t": 373.27, "t": 296.67,
"r": 352.3, "r": 203.67,
"b": 406.59, "b": 344.0,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "other",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 338.59,
"t": 486.9,
"r": 352.3,
"b": 518.61,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 265.46,
"t": 116.78,
"r": 279.18,
"b": 207.76,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -262,60 +110,22 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "and last row 2", "text": "Yet another value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 265.46,
"t": 251.78,
"r": 279.18,
"b": 299.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 265.46,
"t": 484.65,
"r": 279.18,
"b": 522.85,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "inside",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
} }
], ],
"num_rows": 4, "num_rows": 1,
"num_cols": 4, "num_cols": 3,
"grid": [ "grid": [
[ [
{ {
"bbox": { "bbox": {
"l": 265.46, "l": 98.0,
"t": 116.78, "t": 296.67,
"r": 279.18, "r": 203.67,
"b": 207.76, "b": 344.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -324,17 +134,17 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 0, "start_col_offset_idx": 0,
"end_col_offset_idx": 1, "end_col_offset_idx": 1,
"text": "and last row 2", "text": "Yet another value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 338.59, "l": 262.33,
"t": 130.28, "t": 296.67,
"r": 352.3, "r": 365.0,
"b": 194.46, "b": 344.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -343,17 +153,17 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 1, "start_col_offset_idx": 1,
"end_col_offset_idx": 2, "end_col_offset_idx": 2,
"text": "and row 1", "text": "Some other value",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
}, },
{ {
"bbox": { "bbox": {
"l": 407.21, "l": 443.33,
"t": 123.53, "t": 312.0,
"r": 420.93, "r": 490.33,
"b": 200.67, "b": 328.0,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"row_span": 1, "row_span": 1,
@ -362,239 +172,7 @@
"end_row_offset_idx": 1, "end_row_offset_idx": 1,
"start_col_offset_idx": 2, "start_col_offset_idx": 2,
"end_col_offset_idx": 3, "end_col_offset_idx": 3,
"text": "this is row 0", "text": "value",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 265.46,
"t": 251.78,
"r": 279.18,
"b": 299.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 241.65,
"r": 420.93,
"b": 310.71,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "some cells",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 474.71,
"t": 245.03,
"r": 488.43,
"b": 307.59,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 338.59,
"t": 373.27,
"r": 352.3,
"b": 406.59,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "other",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 347.4,
"r": 420.93,
"b": 431.1,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 474.71,
"t": 358.65,
"r": 488.43,
"b": 421.22,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 265.46,
"t": 484.65,
"r": 279.18,
"b": 522.85,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "inside",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 338.59,
"t": 486.9,
"r": 352.3,
"b": 518.61,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 407.21,
"t": 491.4,
"r": 420.93,
"b": 515.79,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 474.71,
"t": 472.27,
"r": 488.43,
"b": 534.84,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "Column 2",
"column_header": false, "column_header": false,
"row_header": false, "row_header": false,
"row_section": false "row_section": false
@ -610,8 +188,8 @@
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 595.0, "width": 612.0,
"height": 842.0 "height": 792.0
}, },
"page_no": 1 "page_no": 1
} }

View File

@ -1,5 +0,0 @@
| and last row 2 | and row 1 | this is row 0 | |
|------------------|-------------|-----------------|----------|
| nothing | | some cells | Column 0 |
| | other | have content | Column 1 |
| inside | have | and | Column 2 |

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
<doctag><otsl><loc_63><loc_166><loc_304><loc_439><fcel>Column 2<fcel>and<fcel>have<fcel>inside<nl><fcel>Column 1<fcel>have content<fcel>other<ecel><nl><fcel>Column 0<fcel>some cells<ecel><fcel>nothing<nl><ecel><fcel>this is row 0<fcel>and row 1<fcel>and last row 2<nl></otsl> <doctag><otsl><loc_72><loc_152><loc_273><loc_456></otsl>
</doctag> </doctag>

View File

@ -4,7 +4,7 @@
"name": "ocr_test_rotated_90", "name": "ocr_test_rotated_90",
"origin": { "origin": {
"mimetype": "application/pdf", "mimetype": "application/pdf",
"binary_hash": 18214570700708620554, "binary_hash": 6752841177619701916,
"filename": "ocr_test_rotated_90.pdf" "filename": "ocr_test_rotated_90.pdf"
}, },
"furniture": { "furniture": {
@ -41,10 +41,10 @@
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 75.13, "l": 87.65,
"t": 562.14, "t": 551.1,
"r": 361.19, "r": 334.58,
"b": 103.0, "b": 69.04,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
@ -57,550 +57,10 @@
"references": [], "references": [],
"footnotes": [], "footnotes": [],
"data": { "data": {
"table_cells": [ "table_cells": [],
{ "num_rows": 0,
"bbox": { "num_cols": 0,
"l": 106.57, "grid": []
"t": 534.41,
"r": 120.29,
"b": 596.98,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 106.57,
"t": 420.78,
"r": 120.29,
"b": 483.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 106.57,
"t": 307.16,
"r": 120.29,
"b": 369.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 641.33,
"r": 187.79,
"b": 718.48,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "this is row 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 531.29,
"r": 187.79,
"b": 600.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "some cells",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 410.9,
"r": 187.79,
"b": 494.6,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 326.21,
"r": 187.79,
"b": 350.6,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 647.54,
"r": 256.41,
"b": 711.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "and row 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 435.41,
"r": 256.41,
"b": 468.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "other",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 323.39,
"r": 256.41,
"b": 355.1,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 634.24,
"r": 329.54,
"b": 725.23,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and last row 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 542.27,
"r": 329.54,
"b": 590.23,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 319.15,
"r": 329.54,
"b": 357.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "inside",
"column_header": false,
"row_header": false,
"row_section": false
}
],
"num_rows": 4,
"num_cols": 4,
"grid": [
[
{
"bbox": {
"l": 106.57,
"t": 307.16,
"r": 120.29,
"b": 369.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 2",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 326.21,
"r": 187.79,
"b": 350.6,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "and",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 323.39,
"r": 256.41,
"b": 355.1,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "have",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 319.15,
"r": 329.54,
"b": 357.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 0,
"end_row_offset_idx": 1,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "inside",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 106.57,
"t": 420.78,
"r": 120.29,
"b": 483.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 410.9,
"r": 187.79,
"b": 494.6,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "have content",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 435.41,
"r": 256.41,
"b": 468.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "other",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 1,
"end_row_offset_idx": 2,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"bbox": {
"l": 106.57,
"t": 534.41,
"r": 120.29,
"b": 596.98,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "Column 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 531.29,
"r": 187.79,
"b": 600.35,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "some cells",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 542.27,
"r": 329.54,
"b": 590.23,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 2,
"end_row_offset_idx": 3,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "nothing",
"column_header": false,
"row_header": false,
"row_section": false
}
],
[
{
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 0,
"end_col_offset_idx": 1,
"text": "",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 174.07,
"t": 641.33,
"r": 187.79,
"b": 718.48,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 1,
"end_col_offset_idx": 2,
"text": "this is row 0",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 242.7,
"t": 647.54,
"r": 256.41,
"b": 711.73,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 2,
"end_col_offset_idx": 3,
"text": "and row 1",
"column_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 315.82,
"t": 634.24,
"r": 329.54,
"b": 725.23,
"coord_origin": "TOPLEFT"
},
"row_span": 1,
"col_span": 1,
"start_row_offset_idx": 3,
"end_row_offset_idx": 4,
"start_col_offset_idx": 3,
"end_col_offset_idx": 4,
"text": "and last row 2",
"column_header": false,
"row_header": false,
"row_section": false
}
]
]
}, },
"annotations": [] "annotations": []
} }
@ -610,8 +70,8 @@
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 595.0, "width": 612.0,
"height": 842.0 "height": 792.0
}, },
"page_no": 1 "page_no": 1
} }

View File

@ -1,5 +0,0 @@
| Column 2 | and | have | inside |
|------------|---------------|-----------|----------------|
| Column 1 | have content | other | |
| Column 0 | some cells | | nothing |
| | this is row 0 | and row 1 | and last row 2 |

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -57,24 +57,24 @@ def test_e2e_conversions():
engines: List[Tuple[OcrOptions, bool]] = [ engines: List[Tuple[OcrOptions, bool]] = [
(TesseractOcrOptions(), True), (TesseractOcrOptions(), True),
# (TesseractCliOcrOptions(), True), (TesseractCliOcrOptions(), True),
# (EasyOcrOptions(), False), (EasyOcrOptions(), False),
# (TesseractOcrOptions(force_full_page_ocr=True), True), (TesseractOcrOptions(force_full_page_ocr=True), True),
# (TesseractOcrOptions(force_full_page_ocr=True, lang=["auto"]), True), (TesseractOcrOptions(force_full_page_ocr=True, lang=["auto"]), True),
# (TesseractCliOcrOptions(force_full_page_ocr=True), True), (TesseractCliOcrOptions(force_full_page_ocr=True), True),
# (TesseractCliOcrOptions(force_full_page_ocr=True, lang=["auto"]), True), (TesseractCliOcrOptions(force_full_page_ocr=True, lang=["auto"]), True),
# (EasyOcrOptions(force_full_page_ocr=True), False), (EasyOcrOptions(force_full_page_ocr=True), False),
] ]
#
# # rapidocr is only available for Python >=3.6,<3.13 # rapidocr is only available for Python >=3.6,<3.13
# if sys.version_info < (3, 13): if sys.version_info < (3, 13):
# engines.append((RapidOcrOptions(), False)) engines.append((RapidOcrOptions(), False))
# engines.append((RapidOcrOptions(force_full_page_ocr=True), False)) engines.append((RapidOcrOptions(force_full_page_ocr=True), False))
#
# # only works on mac # only works on mac
# if "darwin" == sys.platform: if "darwin" == sys.platform:
# engines.append((OcrMacOptions(), True)) engines.append((OcrMacOptions(), False))
# engines.append((OcrMacOptions(force_full_page_ocr=True), True)) engines.append((OcrMacOptions(force_full_page_ocr=True), False))
for ocr_options, supports_rotation in engines: for ocr_options, supports_rotation in engines:
print( print(