opendataloader-project--opendataloader-pdf
2.2 KiB
2.2 KiB
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
labelfield for text types, OpenDataLoader usestype - Table structure: Docling detects more detailed row structure
- Coordinate format: Same origin but different field order
- Heading detection: Docling uses
SectionHeaderItemwithlevel, OpenDataLoader usesheadingtype withlevel