fix(layout,table): orientation-aware layout and table detection

Signed-off-by: Clément Doumouro <clement.doumouro@gmail.com>
This commit is contained in:
Clément Doumouro 2025-07-09 13:17:42 +02:00
parent 8ffa01bc9f
commit bba05d1c37
24 changed files with 38224 additions and 2044 deletions

View File

@ -213,10 +213,10 @@
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
139.66741943359375, 139.66746520996094,
322.5054626464844, 322.5054626464844,
475.00927734375, 475.0093078613281,
454.45458984375 454.4546203613281
], ],
"page": 1, "page": 1,
"span": [ "span": [

View File

@ -2705,7 +2705,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9373534917831421, "confidence": 0.9373531937599182,
"cells": [ "cells": [
{ {
"index": 0, "index": 0,
@ -2745,7 +2745,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.8858680725097656, "confidence": 0.8858677744865417,
"cells": [ "cells": [
{ {
"index": 1, "index": 1,
@ -2785,7 +2785,7 @@
"b": 152.90697999999998, "b": 152.90697999999998,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9806433916091919, "confidence": 0.9806435108184814,
"cells": [ "cells": [
{ {
"index": 2, "index": 2,
@ -3155,7 +3155,7 @@
"b": 327.98218, "b": 327.98218,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9591909050941467, "confidence": 0.9591910243034363,
"cells": [ "cells": [
{ {
"index": 15, "index": 15,
@ -3339,9 +3339,9 @@
"id": 0, "id": 0,
"label": "table", "label": "table",
"bbox": { "bbox": {
"l": 139.66741943359375, "l": 139.66746520996094,
"t": 337.54541015625, "t": 337.5453796386719,
"r": 475.00927734375, "r": 475.0093078613281,
"b": 469.4945373535156, "b": 469.4945373535156,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
@ -7846,7 +7846,7 @@
"b": 518.17419, "b": 518.17419,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9589294195175171, "confidence": 0.9589295387268066,
"cells": [ "cells": [
{ {
"index": 91, "index": 91,
@ -8243,9 +8243,9 @@
"id": 0, "id": 0,
"label": "table", "label": "table",
"bbox": { "bbox": {
"l": 139.66741943359375, "l": 139.66746520996094,
"t": 337.54541015625, "t": 337.5453796386719,
"r": 475.00927734375, "r": 475.0093078613281,
"b": 469.4945373535156, "b": 469.4945373535156,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
@ -13641,7 +13641,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9373534917831421, "confidence": 0.9373531937599182,
"cells": [ "cells": [
{ {
"index": 0, "index": 0,
@ -13687,7 +13687,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.8858680725097656, "confidence": 0.8858677744865417,
"cells": [ "cells": [
{ {
"index": 1, "index": 1,
@ -13733,7 +13733,7 @@
"b": 152.90697999999998, "b": 152.90697999999998,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9806433916091919, "confidence": 0.9806435108184814,
"cells": [ "cells": [
{ {
"index": 2, "index": 2,
@ -14121,7 +14121,7 @@
"b": 327.98218, "b": 327.98218,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9591909050941467, "confidence": 0.9591910243034363,
"cells": [ "cells": [
{ {
"index": 15, "index": 15,
@ -14311,9 +14311,9 @@
"id": 0, "id": 0,
"label": "table", "label": "table",
"bbox": { "bbox": {
"l": 139.66741943359375, "l": 139.66746520996094,
"t": 337.54541015625, "t": 337.5453796386719,
"r": 475.00927734375, "r": 475.0093078613281,
"b": 469.4945373535156, "b": 469.4945373535156,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
@ -19701,7 +19701,7 @@
"b": 518.17419, "b": 518.17419,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9589294195175171, "confidence": 0.9589295387268066,
"cells": [ "cells": [
{ {
"index": 91, "index": 91,
@ -20116,7 +20116,7 @@
"b": 152.90697999999998, "b": 152.90697999999998,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9806433916091919, "confidence": 0.9806435108184814,
"cells": [ "cells": [
{ {
"index": 2, "index": 2,
@ -20504,7 +20504,7 @@
"b": 327.98218, "b": 327.98218,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9591909050941467, "confidence": 0.9591910243034363,
"cells": [ "cells": [
{ {
"index": 15, "index": 15,
@ -20694,9 +20694,9 @@
"id": 0, "id": 0,
"label": "table", "label": "table",
"bbox": { "bbox": {
"l": 139.66741943359375, "l": 139.66746520996094,
"t": 337.54541015625, "t": 337.5453796386719,
"r": 475.00927734375, "r": 475.0093078613281,
"b": 469.4945373535156, "b": 469.4945373535156,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
@ -26084,7 +26084,7 @@
"b": 518.17419, "b": 518.17419,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9589294195175171, "confidence": 0.9589295387268066,
"cells": [ "cells": [
{ {
"index": 91, "index": 91,
@ -26499,7 +26499,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.9373534917831421, "confidence": 0.9373531937599182,
"cells": [ "cells": [
{ {
"index": 0, "index": 0,
@ -26545,7 +26545,7 @@
"b": 102.78223000000003, "b": 102.78223000000003,
"coord_origin": "TOPLEFT" "coord_origin": "TOPLEFT"
}, },
"confidence": 0.8858680725097656, "confidence": 0.8858677744865417,
"cells": [ "cells": [
{ {
"index": 1, "index": 1,

View File

@ -1,2 +1,2 @@
<doctag><text><loc_59><loc_46><loc_424><loc_90>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package</text> <doctag><text><loc_60><loc_46><loc_424><loc_91>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package</text>
</doctag> </doctag>

View File

@ -1,9 +1,11 @@
<document> <document>
<table> <subtitle-level-1><location><page_1><loc_33><loc_87><loc_68><loc_91></location>This is a table test</subtitle-level-1>
<location><page_1><loc_12><loc_39><loc_67><loc_87></location> <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>
<row_0><col_0><body></col_0><col_1><col_header>Column 0</col_1><col_2><col_header>Column 1</col_2><col_3><col_header>Column 2</col_3></row_0> <paragraph><location><page_1><loc_45><loc_76><loc_56><loc_77></location>Some column</paragraph>
<row_1><col_0><row_header>this is row 0</col_0><col_1><body>some cells</col_1><col_2><body>have content</col_2><col_3><body>and</col_3></row_1> <paragraph><location><page_1><loc_62><loc_76><loc_78><loc_77></location>Some other column</paragraph>
<row_2><col_0><row_header>and row 1</col_0><col_1><body></col_1><col_2><body>other</col_2><col_3><body>have</col_3></row_2> <paragraph><location><page_1><loc_29><loc_70><loc_37><loc_71></location>Some row</paragraph>
<row_3><col_0><row_header>and last row 2</col_0><col_1><body>nothing</col_1><col_2><body></col_2><col_3><body>inside</col_3></row_3> <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": "80f38f5b87a84870681556176a9622186fd200dd32c5557be9e0c0af05b8bc61", "document-hash": "4220c26a23a085eeca7ed3904ae0952e7e73458e65ce19e56170a9ce095b2313",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "14d896dc8bcb7ee7c08c0347eb6be8dcb92a3782501992f1ea14d2e58077d4e3", "hash": "07ff68c95cc6ec01fb38d02dc5d5efc466f3cfbf2e1dcb6c16b4e722d7f9f657",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
@ -44,20 +44,204 @@
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
69.6796630536824, 201.26343,
689.0124221922704, 690.10254,
504.8720051760782, 417.96021,
764.9216921155637 719.14941
], ],
"page": 1, "page": 1,
"span": [ "span": [
0, 0,
94 20
], ],
"__ref_s3_data": null "__ref_s3_data": null
} }
], ],
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package", "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", "type": "paragraph",
"payload": null, "payload": null,
"name": "Text", "name": "Text",
@ -71,9 +255,9 @@
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 841.9216918945312, "height": 792.0,
"page": 1, "page": 1,
"width": 595.201171875 "width": 612.0
} }
], ],
"page-footers": [], "page-footers": [],

File diff suppressed because it is too large Load Diff

View File

@ -27,37 +27,42 @@
"file-info": { "file-info": {
"filename": "ocr_test_rotated_180.pdf", "filename": "ocr_test_rotated_180.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "a9cbfe0f2a71171face9ee31d2347ca4195649670ad75680520d67d4a863f982", "document-hash": "687553cff95da8e2898fa50a68986ee2a3735ba5d287615e03c0d40fd3b33758",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "baca27070f05dd84cf0903ded39bcf0fc1fa6ef0ac390e79cf8ba90c8c33ba49", "hash": "9e7213c0aa5ff85dfdb9a5b7566dfd229a4c5b8a4e289dd68655ddb1197c3b1f",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
] ]
}, },
"main-text": [ "main-text": [
{
"name": "Table",
"type": "table",
"$ref": "#/tables/0"
},
{ {
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
441.2561096985719, 238.78076,
131.89488404865142, 124.28821000000005,
522.0347860494834, 540.0,
151.87873262042876 136.57727
], ],
"page": 1, "page": 1,
"span": [ "span": [
0, 0,
7 71
], ],
"__ref_s3_data": null "__ref_s3_data": null
} }
], ],
"text": "package", "text": "ehT t se t w strats it modnar emos h t xe t dna t a neh t elba i egam :",
"type": "paragraph", "type": "paragraph",
"payload": null, "payload": null,
"name": "Text", "name": "Text",
@ -67,20 +72,20 @@
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
89.23887497045128, 194.03979,
77.02339852098021, 72.85058600000002,
523.208764293368, 410.73657,
124.75312428291147 101.89746000000002
], ],
"page": 1, "page": 1,
"span": [ "span": [
0, 0,
86 20
], ],
"__ref_s3_data": null "__ref_s3_data": null
} }
], ],
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained", "text": "tset elbat a si sihT",
"type": "paragraph", "type": "paragraph",
"payload": null, "payload": null,
"name": "Text", "name": "Text",
@ -88,15 +93,267 @@
} }
], ],
"figures": [], "figures": [],
"tables": [], "tables": [
{
"prov": [
{
"bbox": [
112.69406127929688,
163.70050048828125,
470.0718078613281,
302.27655029296875
],
"page": 1,
"span": [
0,
0
],
"__ref_s3_data": null
}
],
"text": "",
"type": "table",
"payload": null,
"#-cols": 3,
"#-rows": 3,
"data": [
[
{
"bbox": null,
"spans": [
[
0,
0
]
],
"text": "",
"type": "body"
},
{
"bbox": [
303.0,
508.3333333333333,
329.0,
517.0
],
"spans": [
[
0,
1
]
],
"text": "other don't",
"type": "col_header",
"col": 1,
"col-header": true,
"col-span": [
1,
2
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
},
{
"bbox": [
422.6666666666667,
508.3333333333333,
451.6666666666667,
517.0
],
"spans": [
[
0,
2
]
],
"text": "Some other row",
"type": "col_header",
"col": 2,
"col-header": true,
"col-span": [
2,
3
],
"row": 0,
"row-header": false,
"row-span": [
0,
1
]
}
],
[
{
"bbox": [
190.0,
554.6666666666666,
213.66666666666666,
563.3333333333334
],
"spans": [
[
1,
0
]
],
"text": "have content",
"type": "row_header",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 1,
"row-header": true,
"row-span": [
1,
2
]
},
{
"bbox": [
299.0,
554.6666666666666,
326.33333333333337,
561.0
],
"spans": [
[
1,
1
]
],
"text": "some cell",
"type": "body",
"col": 1,
"col-header": false,
"col-span": [
1,
2
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
},
{
"bbox": [
408.3333333333333,
554.6666666666666,
437.3333333333333,
563.3333333333334
],
"spans": [
[
1,
2
]
],
"text": "Some row",
"type": "body",
"col": 2,
"col-header": false,
"col-span": [
2,
3
],
"row": 1,
"row-header": false,
"row-span": [
1,
2
]
}
],
[
{
"bbox": [
201.66666666666669,
601.0,
230.66666666666666,
609.6666666666666
],
"spans": [
[
2,
0
]
],
"text": "Some other column",
"type": "row_header",
"col": 0,
"col-header": false,
"col-span": [
0,
1
],
"row": 2,
"row-header": true,
"row-span": [
2,
3
]
},
{
"bbox": [
308.0,
601.0,
337.0,
609.6666666666666
],
"spans": [
[
2,
1
]
],
"text": "Some column",
"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"
}
]
],
"model": null,
"bounding-box": null
}
],
"bitmaps": null, "bitmaps": null,
"equations": [], "equations": [],
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 841.9216918945312, "height": 792.0,
"page": 1, "page": 1,
"width": 595.201171875 "width": 612.0
} }
], ],
"page-footers": [], "page-footers": [],

File diff suppressed because it is too large Load Diff

View File

@ -27,53 +27,136 @@
"file-info": { "file-info": {
"filename": "ocr_test_rotated_270.pdf", "filename": "ocr_test_rotated_270.pdf",
"filename-prov": null, "filename-prov": null,
"document-hash": "52f54e7183bdb73aa3713c7b169baca93e276963a138418c26e7d6a1ea128f14", "document-hash": "6fefac7b5b41551979e0acb695ca99549a91784619c82c6095d8130179431437",
"#-pages": 1, "#-pages": 1,
"collection-name": null, "collection-name": null,
"description": null, "description": null,
"page-hashes": [ "page-hashes": [
{ {
"hash": "59bc9ddba89e7b008185dd16d384493beb034686e5670546786390c5d237a304", "hash": "68730d83582a6ac50587fdba1a8ce6b263d682a0daf984522d4dbe9f9e3d4fbe",
"model": "default", "model": "default",
"page": 1 "page": 1
} }
] ]
}, },
"main-text": [ "main-text": [
{
"name": "Table",
"type": "table",
"$ref": "#/tables/0"
},
{ {
"prov": [ "prov": [
{ {
"bbox": [ "bbox": [
690.2441821046808, 640.87671,
442.39487414368364, 235.72681,
709.8255852011977, 653.16504,
523.076601235155 533.28552
], ],
"page": 1, "page": 1,
"span": [ "span": [
0, 0,
7 49
], ],
"__ref_s3_data": null "__ref_s3_data": null
} }
], ],
"text": "package", "text": "heteststartswithsomerandomtextandthenatableimage:",
"type": "paragraph", "type": "paragraph",
"payload": null, "payload": null,
"name": "Text", "name": "Text",
"font": null "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
}
],
"tables": [
{
"prov": [
{
"bbox": [
460.5577697753906,
112.21743774414062,
599.0364074707031,
469.385986328125
],
"page": 1,
"span": [
0,
0
],
"__ref_s3_data": null
}
],
"text": "",
"type": "table",
"payload": null,
"#-cols": 0,
"#-rows": 0,
"data": [],
"model": null,
"bounding-box": null
} }
], ],
"figures": [],
"tables": [],
"bitmaps": null, "bitmaps": null,
"equations": [], "equations": [],
"footnotes": [], "footnotes": [],
"page-dimensions": [ "page-dimensions": [
{ {
"height": 595.201171875, "height": 612.0,
"page": 1, "page": 1,
"width": 841.9216918945312 "width": 792.0
} }
], ],
"page-footers": [], "page-footers": [],

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
<doctag><text><loc_59><loc_46><loc_424><loc_91>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package</text> <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> </doctag>

View File

@ -4,7 +4,7 @@
"name": "ocr_test", "name": "ocr_test",
"origin": { "origin": {
"mimetype": "application/pdf", "mimetype": "application/pdf",
"binary_hash": 14853448746796404529, "binary_hash": 3906211175708501508,
"filename": "ocr_test.pdf" "filename": "ocr_test.pdf"
}, },
"furniture": { "furniture": {
@ -18,7 +18,7 @@
"self_ref": "#/body", "self_ref": "#/body",
"children": [ "children": [
{ {
"$ref": "#/texts/0" "$ref": "#/tables/0"
} }
], ],
"content_layer": "body", "content_layer": "body",
@ -26,44 +26,592 @@
"label": "unspecified" "label": "unspecified"
}, },
"groups": [], "groups": [],
"texts": [ "texts": [],
"pictures": [],
"tables": [
{ {
"self_ref": "#/texts/0", "self_ref": "#/tables/0",
"parent": { "parent": {
"$ref": "#/body" "$ref": "#/body"
}, },
"children": [], "children": [],
"content_layer": "body", "content_layer": "body",
"label": "text", "label": "table",
"prov": [ "prov": [
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 69.68, "l": 103.33,
"t": 764.92, "t": 519.86,
"r": 504.87, "r": 560.95,
"b": 689.01, "b": 234.07,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
0, 0,
94 0
] ]
} }
], ],
"orig": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package", "captions": [],
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained package" "references": [],
"footnotes": [],
"data": {
"table_cells": [
{
"bbox": {
"l": 245.02,
"t": 106.57,
"r": 307.59,
"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": 1,
"end_col_offset_idx": 2,
"text": "Column 0",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 358.65,
"t": 106.57,
"r": 421.22,
"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": 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"
},
"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": "this is row 0",
"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,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 347.4,
"t": 174.07,
"r": 431.1,
"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": 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"
},
"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 row 1",
"column_header": false,
"row_header": true,
"row_section": false
},
{
"bbox": {
"l": 373.27,
"t": 242.7,
"r": 406.59,
"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": 2,
"end_col_offset_idx": 3,
"text": "other",
"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,
"row_header": false,
"row_section": false
}
],
"num_rows": 4,
"num_cols": 4,
"grid": [
[
{
"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_header": false,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 245.02,
"t": 106.57,
"r": 307.59,
"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": 1,
"end_col_offset_idx": 2,
"text": "Column 0",
"column_header": true,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 358.65,
"t": 106.57,
"r": 421.22,
"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": 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"
},
"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": "this is row 0",
"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,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 347.4,
"t": 174.07,
"r": 431.1,
"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": 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"
},
"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 row 1",
"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,
"row_header": false,
"row_section": false
},
{
"bbox": {
"l": 373.27,
"t": 242.7,
"r": 406.59,
"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": 2,
"end_col_offset_idx": 3,
"text": "other",
"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,
"row_header": false,
"row_section": false
}
]
]
},
"annotations": []
} }
], ],
"pictures": [],
"tables": [],
"key_value_items": [], "key_value_items": [],
"form_items": [], "form_items": [],
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 595.2, "width": 842.0,
"height": 841.92 "height": 595.0
}, },
"page_no": 1 "page_no": 1
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,2 @@
<doctag><text><loc_371><loc_410><loc_439><loc_422>package</text> <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>
<text><loc_75><loc_426><loc_440><loc_454>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained</text>
</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": 2530576989861832966, "binary_hash": 9953198396702586979,
"filename": "ocr_test_rotated_180.pdf" "filename": "ocr_test_rotated_180.pdf"
}, },
"furniture": { "furniture": {
@ -18,10 +18,7 @@
"self_ref": "#/body", "self_ref": "#/body",
"children": [ "children": [
{ {
"$ref": "#/texts/0" "$ref": "#/tables/0"
},
{
"$ref": "#/texts/1"
} }
], ],
"content_layer": "body", "content_layer": "body",
@ -29,71 +26,592 @@
"label": "unspecified" "label": "unspecified"
}, },
"groups": [], "groups": [],
"texts": [ "texts": [],
{
"self_ref": "#/texts/0",
"parent": {
"$ref": "#/body"
},
"children": [],
"content_layer": "body",
"label": "text",
"prov": [
{
"page_no": 1,
"bbox": {
"l": 441.26,
"t": 151.88,
"r": 522.03,
"b": 131.89,
"coord_origin": "BOTTOMLEFT"
},
"charspan": [
0,
7
]
}
],
"orig": "package",
"text": "package"
},
{
"self_ref": "#/texts/1",
"parent": {
"$ref": "#/body"
},
"children": [],
"content_layer": "body",
"label": "text",
"prov": [
{
"page_no": 1,
"bbox": {
"l": 89.24,
"t": 124.75,
"r": 523.21,
"b": 77.02,
"coord_origin": "BOTTOMLEFT"
},
"charspan": [
0,
86
]
}
],
"orig": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained",
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained"
}
],
"pictures": [], "pictures": [],
"tables": [], "tables": [
{
"self_ref": "#/tables/0",
"parent": {
"$ref": "#/body"
},
"children": [],
"content_layer": "body",
"label": "table",
"prov": [
{
"page_no": 1,
"bbox": {
"l": 280.59,
"t": 361.27,
"r": 738.57,
"b": 75.91,
"coord_origin": "BOTTOMLEFT"
},
"charspan": [
0,
0
]
}
],
"captions": [],
"references": [],
"footnotes": [],
"data": {
"table_cells": [
{
"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
},
{
"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"
},
"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": "inside",
"column_header": true,
"row_header": false,
"row_section": false
}
],
"num_rows": 4,
"num_cols": 4,
"grid": [
[
{
"bbox": {
"l": 319.15,
"t": 265.46,
"r": 357.35,
"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": 0,
"end_col_offset_idx": 1,
"text": "inside",
"column_header": true,
"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": 1,
"end_col_offset_idx": 2,
"text": "",
"column_header": false,
"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": 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": 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": 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
},
{
"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,
"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": 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": 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": 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": 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,
"row_header": false,
"row_section": false
}
]
]
},
"annotations": []
}
],
"key_value_items": [], "key_value_items": [],
"form_items": [], "form_items": [],
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 595.2, "width": 842.0,
"height": 841.92 "height": 595.0
}, },
"page_no": 1 "page_no": 1
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,2 @@
<doctag><page_header><loc_426><loc_60><loc_454><loc_424>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained</page_header> <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>
<text><loc_410><loc_61><loc_422><loc_128>package</text>
</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": 10890858393843077593, "binary_hash": 142009988718862333,
"filename": "ocr_test_rotated_270.pdf" "filename": "ocr_test_rotated_270.pdf"
}, },
"furniture": { "furniture": {
@ -18,10 +18,7 @@
"self_ref": "#/body", "self_ref": "#/body",
"children": [ "children": [
{ {
"$ref": "#/texts/0" "$ref": "#/tables/0"
},
{
"$ref": "#/texts/1"
} }
], ],
"content_layer": "body", "content_layer": "body",
@ -29,71 +26,592 @@
"label": "unspecified" "label": "unspecified"
}, },
"groups": [], "groups": [],
"texts": [ "texts": [],
"pictures": [],
"tables": [
{ {
"self_ref": "#/texts/0", "self_ref": "#/tables/0",
"parent": {
"$ref": "#/body"
},
"children": [],
"content_layer": "furniture",
"label": "page_header",
"prov": [
{
"page_no": 1,
"bbox": {
"l": 717.17,
"t": 524.3,
"r": 764.9,
"b": 90.33,
"coord_origin": "BOTTOMLEFT"
},
"charspan": [
0,
86
]
}
],
"orig": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained",
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained"
},
{
"self_ref": "#/texts/1",
"parent": { "parent": {
"$ref": "#/body" "$ref": "#/body"
}, },
"children": [], "children": [],
"content_layer": "body", "content_layer": "body",
"label": "text", "label": "table",
"prov": [ "prov": [
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 690.24, "l": 233.88,
"t": 523.08, "t": 739.02,
"r": 709.83, "r": 519.9,
"b": 442.39, "b": 280.96,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
0, 0,
7 0
] ]
} }
], ],
"orig": "package", "captions": [],
"text": "package" "references": [],
"footnotes": [],
"data": {
"table_cells": [
{
"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
},
{
"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"
},
"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": "this is row 0",
"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": 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"
},
"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 row 1",
"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": 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"
},
"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": "and last row 2",
"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,
"row_header": false,
"row_section": false
}
],
"num_rows": 4,
"num_cols": 4,
"grid": [
[
{
"bbox": {
"l": 265.46,
"t": 116.78,
"r": 279.18,
"b": 207.76,
"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": "and last row 2",
"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"
},
"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 row 1",
"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"
},
"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": "this is row 0",
"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,
"row_header": false,
"row_section": false
}
]
]
},
"annotations": []
} }
], ],
"pictures": [],
"tables": [],
"key_value_items": [], "key_value_items": [],
"form_items": [], "form_items": [],
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 841.92, "width": 595.0,
"height": 595.2 "height": 842.0
}, },
"page_no": 1 "page_no": 1
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,2 @@
<doctag><page_header><loc_46><loc_75><loc_75><loc_440>Docling bundles PDF document conversion to JSON and Markdown in an easy self contained</page_header> <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>
<text><loc_78><loc_370><loc_90><loc_438>package</text>
</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": 6989291015361162334, "binary_hash": 18214570700708620554,
"filename": "ocr_test_rotated_90.pdf" "filename": "ocr_test_rotated_90.pdf"
}, },
"furniture": { "furniture": {
@ -18,10 +18,7 @@
"self_ref": "#/body", "self_ref": "#/body",
"children": [ "children": [
{ {
"$ref": "#/texts/0" "$ref": "#/tables/0"
},
{
"$ref": "#/texts/1"
} }
], ],
"content_layer": "body", "content_layer": "body",
@ -29,71 +26,592 @@
"label": "unspecified" "label": "unspecified"
}, },
"groups": [], "groups": [],
"texts": [ "texts": [],
"pictures": [],
"tables": [
{ {
"self_ref": "#/texts/0", "self_ref": "#/tables/0",
"parent": {
"$ref": "#/body"
},
"children": [],
"content_layer": "furniture",
"label": "page_header",
"prov": [
{
"page_no": 1,
"bbox": {
"l": 77.1,
"t": 506.07,
"r": 126.08,
"b": 71.88,
"coord_origin": "BOTTOMLEFT"
},
"charspan": [
0,
86
]
}
],
"orig": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained",
"text": "Docling bundles PDF document conversion to JSON and Markdown in an easy self contained"
},
{
"self_ref": "#/texts/1",
"parent": { "parent": {
"$ref": "#/body" "$ref": "#/body"
}, },
"children": [], "children": [],
"content_layer": "body", "content_layer": "body",
"label": "text", "label": "table",
"prov": [ "prov": [
{ {
"page_no": 1, "page_no": 1,
"bbox": { "bbox": {
"l": 131.21, "l": 75.13,
"t": 154.19, "t": 562.14,
"r": 152.2, "r": 361.19,
"b": 74.12, "b": 103.0,
"coord_origin": "BOTTOMLEFT" "coord_origin": "BOTTOMLEFT"
}, },
"charspan": [ "charspan": [
0, 0,
7 0
] ]
} }
], ],
"orig": "package", "captions": [],
"text": "package" "references": [],
"footnotes": [],
"data": {
"table_cells": [
{
"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": 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": []
} }
], ],
"pictures": [],
"tables": [],
"key_value_items": [], "key_value_items": [],
"form_items": [], "form_items": [],
"pages": { "pages": {
"1": { "1": {
"size": { "size": {
"width": 841.92, "width": 595.0,
"height": 595.2 "height": 842.0
}, },
"page_no": 1 "page_no": 1
} }

File diff suppressed because it is too large Load Diff

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(), True))
engines.append((OcrMacOptions(force_full_page_ocr=True), True)) # engines.append((OcrMacOptions(force_full_page_ocr=True), True))
for ocr_options, supports_rotation in engines: for ocr_options, supports_rotation in engines:
print( print(