Skip to main content

6 posts tagged with "Docling"

Posts using Docling for document parsing, OCR, and structured extraction

View All Tags

OCR Consensus: EasyOCR and Qwen3-VL Agree on 5 of 444 Pages

· 7 min read
Bogdan Varlamov
Bogdan Varlamov
Technologist
OCR Consensus: EasyOCR and Qwen3-VL Agree on 5 of 444 Pages

I diffed the EasyOCR and Qwen3-VL transcriptions of 444 Soviet cookbook pages against each other, and the two engines produced character-for-character identical text on only 5 pages. All 5 are nearly blank (a heading or a page number, 13 to 24 characters each). The plan from the previous post was to treat pages where both engines agree as "probably accurate" and hand-check only the rest. On real content pages that agreement almost never happens, so cross-engine agreement doesn't work as the cheap accuracy filter I hoped for.

Qwen3-VL vs EasyOCR in Docling: 10x Slower, No Boxes

· 7 min read
Bogdan Varlamov
Bogdan Varlamov
Technologist
Qwen3-VL vs EasyOCR in Docling: 10x Slower, No Boxes

Docling's vision-language model pipeline, running the 4B-parameter Qwen3-VL model locally, processed 444 cookbook page images for the soviet.recipes project at a 99.5% success rate. Compared to the earlier EasyOCR run, it gave up every piece of debugging output that run had: no text-region overlays, no per-page confidence score, no reading-order artifacts. It also ran far slower, and Docling still processes one-page image documents one at a time, so the batch took about 26.3 hours.

Bank Statement Review with AI

· 5 min read
Bogdan Varlamov
Bogdan Varlamov
Technologist
Bank Statement Review with AI

The Statement Processor reads PDF bank and credit card statements, extracts every transaction, and groups them by vendor. It's finished and on GitHub under an MIT license. Building it surfaced a problem worth writing down: even on a clean, digitally-generated PDF straight from the bank, the table extraction sometimes dropped a row, usually the last one in a transaction table. A sum check that compares the extracted transactions against the total the statement already prints on itself is what made the output trustworthy.

Wrapping Docling in a Reusable Text Extraction Pipeline

· 11 min read
Bogdan Varlamov
Bogdan Varlamov
Technologist
Wrapping Docling in a Reusable Text Extraction Pipeline

Docling already does most of what a batch text-extraction harness needs: it iterates over documents, swaps OCR backends, isolates per-document errors, and exports structured output. For the soviet.recipes project I wrap it in a thin pipeline so I can put different extraction approaches against each other on the same pages and trust the result. Docling does the extraction, but the wrapper prepares the book's curled and shadowed pages first and puts every engine behind one interface, whether it runs through Docling or bypasses it, so routing and scoring stay independent of which tool produced the text.

Testing Docling OCR on a Soviet Cookbook

· 5 min read
Bogdan Varlamov
Bogdan Varlamov
Technologist
Testing Docling OCR on a Soviet Cookbook

Docling with the EasyOCR engine extracted the Cyrillic text and page structure from a scanned Soviet cookbook, but it dropped text where the pages curved away from the camera. That data loss makes this configuration insufficient on its own for the soviet.recipes project. I tested four sample pages configured for Russian and English, using Kiro.dev to write the script.