| --- |
| language: |
| - en |
| - ar |
| tags: |
| - ocr |
| - table-extraction |
| - document-ai |
| - paddleocr |
| - pdf |
| - arabic |
| - english |
| --- |
| |
| # OCR Table Extractor |
|
|
| ## Overview |
|
|
| This project extracts structured tables from scanned PDF documents and images. |
|
|
| PaddleOCR-VL is used as the primary table extraction model. Gemini independently analyzes the same document and is used as a verification model to identify cells that may require manual review. |
|
|
| ## Features |
|
|
| - Scanned PDF and image upload |
| - Automatic table extraction |
| - English and Arabic table support |
| - Excel workbook generation |
| - Highlighted disagreements between models |
| - Review Needed worksheet |
| - Summary worksheet |
| - Supabase storage and job tracking |
|
|
| ## Base Model |
|
|
| This project uses the official PaddleOCR-VL model. |
|
|
| The PaddleOCR-VL weights were not trained or created by this project. They are downloaded automatically through PaddleOCR when the backend starts. |
|
|
| No custom fine-tuned checkpoint has been uploaded yet. |
|
|
| ## Processing Pipeline |
|
|
| 1. A user uploads a PDF or image. |
| 2. PaddleOCR-VL detects and extracts the tables. |
| 3. Gemini extracts the same document independently. |
| 4. The two outputs are compared. |
| 5. PaddleOCR remains the primary output. |
| 6. Different cells are highlighted for manual review. |
| 7. A reviewed Excel workbook is generated. |
|
|
| ## Supported Inputs |
|
|
| - PDF |
| - PNG |
| - JPG |
| - JPEG |
| - WebP |
|
|
| ## Supported Languages |
|
|
| - English |
| - Arabic |
| - Mixed English and Arabic tables |
|
|
| ## Current Limitations |
|
|
| - Arabic OCR may contain spelling or character errors. |
| - Complex merged cells may be interpreted differently. |
| - Tables continuing across pages may require post-processing. |
| - Gemini availability depends on its external API. |
| - The public Vercel deployment currently contains the frontend only. |
| - The PaddleOCR backend requires a separate machine with suitable processing capacity. |
|
|
| ## Source Code |
|
|
| https://github.com/hazemmohamedsayed/OCR-table-extractor |
|
|
| ## Live Frontend |
|
|
| https://ocr-table-extractor-lemon.vercel.app |
|
|
| ## Future Work |
|
|
| - Fine-tune a model using company-specific bilingual forms. |
| - Improve Arabic text normalization. |
| - Improve multi-page table merging. |
| - Deploy the FastAPI OCR backend publicly. |