Docling vs OpenDataLoader Output Comparison
Test Document
- File:
01030000000045.pdf (1 page with table)
Element Count Comparison
| Category |
Docling |
OpenDataLoader |
| Tables |
1 |
1 |
| Text elements |
5 |
4 paragraphs |
| Images |
0 |
1 |
| Headings |
(N/A - uses labels) |
1 |
Text Element Labels (Docling)
| Label |
Count |
| caption |
1 |
| footnote |
1 |
| page_footer |
1 |
| page_header |
1 |
| text |
1 |
Table Structure Comparison
| Property |
Docling |
OpenDataLoader |
| Rows |
9 |
3 |
| Columns |
3 |
3 |
| Total cells |
26 |
9 |
Note: Docling detects more rows in the table structure. This may be due to:
- Different table detection algorithms
- OpenDataLoader may have merged some rows
- Different handling of header rows
Bounding Box Comparison (Table)
| System |
l/left |
t/top |
r/right |
b/bottom |
Origin |
| Docling |
53.22 |
439.98 |
373.94 |
234.74 |
BOTTOMLEFT |
| OpenDataLoader |
54.0 |
234.44 |
372.73 |
440.21 |
BOTTOMLEFT |
Coordinate mapping: Both use BOTTOMLEFT origin.
- Docling:
{l, t, r, b} where t=top, b=bottom
- OpenDataLoader:
[left, bottom, right, top]
So the actual coordinates match closely:
- Left: 53.22 ≈ 54.0
- Bottom: 234.74 ≈ 234.44
- Right: 373.94 ≈ 372.73
- Top: 439.98 ≈ 440.21
Schema Mapping Summary
| Docling Type |
OpenDataLoader Type |
| texts (label: text) |
paragraph |
| texts (label: section_header) |
heading |
| tables |
table |
| pictures |
image |
| texts (label: page_header) |
paragraph (filtered as header) |
| texts (label: page_footer) |
paragraph (filtered as footer) |
| texts (label: caption) |
paragraph |
| texts (label: footnote) |
paragraph |
Key Differences
- Type naming: Docling uses
label field for text types, OpenDataLoader uses type
- Table structure: Docling detects more detailed row structure
- Coordinate format: Same origin but different field order
- Heading detection: Docling uses
SectionHeaderItem with level, OpenDataLoader uses heading type with level