Agile — رشيق
ARDiscuss a Project
Document demo

Reconstructing a complex Arabic document — not merely copying its text

The pipeline extracts the text, the page structure, and the relationships between its elements, then exports the result in formats ready for editing, search, and integration.

FIG. 01 · COMPARISON WORKSPACETABS · KEYBOARD ACCESSIBLE
100%
A historical Arabic newspaper page
heading
The document shown is a historical newspaper page, displayed for technical illustration only.
{ "page": { "page_number": 1, "primary_language": "ar", "primary_direction": "rtl" },
  "blocks": [
{ "id": "block_1", "type": "heading", "reading_order": 1, "bbox": [25, 715, 60, 985] },
{ "id": "block_2", "type": "paragraph", "reading_order": 2, "bbox": [65, 715, 145, 985] },
{ "id": "block_3", "type": "paragraph", "reading_order": 3, "bbox": [90, 640, 140, 710] },
{ "id": "block_4", "type": "image", "reading_order": 4, "bbox": [25, 305, 145, 630] },
{ "id": "block_5", "type": "paragraph", "reading_order": 5, "bbox": [145, 305, 160, 630] },
{ "id": "block_6", "type": "paragraph", "reading_order": 6, "bbox": [100, 240, 140, 300] },
{ "id": "block_7", "type": "heading", "reading_order": 7, "bbox": [25, 15, 65, 230] },
{ "id": "block_8", "type": "paragraph", "reading_order": 8, "bbox": [70, 15, 145, 230] },
{ "id": "block_9", "type": "header", "reading_order": 9, "bbox": [150, 700, 175, 985] },
{ "id": "block_10", "type": "header", "reading_order": 10, "bbox": [160, 300, 175, 700] },
{ "id": "block_11", "type": "header", "reading_order": 11, "bbox": [160, 15, 175, 300] },
{ "id": "block_12", "type": "heading", "reading_order": 12, "bbox": [175, 15, 210, 985], "direction": "rtl", "alignment": "right", "level": 1, "text": "العثور على جثة طفل إسرائيلي في مغارة قرب مستوطنة ايلون موريه…" },
{ "id": "block_13", "type": "heading", "reading_order": 13, "bbox": [210, 400, 240, 985] },
{ "id": "block_14", "type": "heading", "reading_order": 14, "bbox": [245, 400, 275, 985] },
{ "id": "block_15", "type": "paragraph", "reading_order": 15, "bbox": [275, 830, 410, 985] },
{ "id": "block_16", "type": "paragraph", "reading_order": 16, "bbox": [275, 670, 410, 820] },
{ "id": "block_17", "type": "paragraph", "reading_order": 17, "bbox": [275, 510, 410, 660] },
{ "id": "block_18", "type": "paragraph", "reading_order": 18, "bbox": [275, 350, 410, 500] },
{ "id": "block_19", "type": "image", "reading_order": 19, "bbox": [275, 235, 350, 340] },
{ "id": "block_20", "type": "caption", "reading_order": 20, "bbox": [350, 235, 365, 340] },
{ "id": "block_21", "type": "paragraph", "reading_order": 21, "bbox": [365, 235, 410, 340] },
{ "id": "block_22", "type": "paragraph", "reading_order": 22, "bbox": [275, 15, 410, 120] },
{ "id": "block_23", "type": "image", "reading_order": 23, "bbox": [275, 130, 380, 225] },
{ "id": "block_24", "type": "caption", "reading_order": 24, "bbox": [380, 130, 410, 225] },
{ "id": "block_25", "type": "heading", "reading_order": 25, "bbox": [420, 715, 475, 985] },
{ "id": "block_26", "type": "paragraph", "reading_order": 26, "bbox": [480, 715, 550, 985] },
{ "id": "block_27", "type": "heading", "reading_order": 27, "bbox": [420, 465, 455, 705] },
{ "id": "block_28", "type": "paragraph", "reading_order": 28, "bbox": [460, 465, 550, 705] },
{ "id": "block_29", "type": "heading", "reading_order": 29, "bbox": [420, 250, 465, 455] },
{ "id": "block_30", "type": "paragraph", "reading_order": 30, "bbox": [470, 250, 550, 455] },
{ "id": "block_31", "type": "heading", "reading_order": 31, "bbox": [420, 100, 445, 240] },
{ "id": "block_32", "type": "heading", "reading_order": 32, "bbox": [450, 15, 470, 240] },
{ "id": "block_33", "type": "paragraph", "reading_order": 33, "bbox": [475, 15, 550, 240] },
{ "id": "block_34", "type": "heading", "reading_order": 34, "bbox": [560, 315, 600, 985] },
{ "id": "block_35", "type": "heading", "reading_order": 35, "bbox": [605, 315, 620, 985] },
{ "id": "block_36", "type": "heading", "reading_order": 36, "bbox": [625, 845, 660, 985] },
{ "id": "block_37", "type": "paragraph", "reading_order": 37, "bbox": [665, 845, 775, 985] },
{ "id": "block_38", "type": "paragraph", "reading_order": 38, "bbox": [625, 675, 680, 835] },
{ "id": "block_39", "type": "heading", "reading_order": 39, "bbox": [685, 675, 705, 835] },
{ "id": "block_40", "type": "paragraph", "reading_order": 40, "bbox": [710, 675, 775, 835] },
{ "id": "block_41", "type": "paragraph", "reading_order": 41, "bbox": [625, 505, 715, 665] },
{ "id": "block_42", "type": "heading", "reading_order": 42, "bbox": [720, 505, 740, 665] },
{ "id": "block_43", "type": "paragraph", "reading_order": 43, "bbox": [745, 505, 775, 665] },
{ "id": "block_44", "type": "heading", "reading_order": 44, "bbox": [560, 260, 580, 495] },
{ "id": "block_45", "type": "paragraph", "reading_order": 45, "bbox": [585, 260, 775, 495] },
{ "id": "block_46", "type": "heading", "reading_order": 46, "bbox": [785, 260, 830, 985] },
{ "id": "block_47", "type": "heading", "reading_order": 47, "bbox": [835, 845, 860, 985] },
{ "id": "block_48", "type": "paragraph", "reading_order": 48, "bbox": [865, 845, 985, 985] },
{ "id": "block_49", "type": "heading", "reading_order": 49, "bbox": [835, 675, 865, 835] },
{ "id": "block_50", "type": "paragraph", "reading_order": 50, "bbox": [870, 675, 985, 835] },
{ "id": "block_51", "type": "paragraph", "reading_order": 51, "bbox": [835, 505, 985, 665] },
{ "id": "block_52", "type": "heading", "reading_order": 52, "bbox": [835, 335, 860, 495] },
{ "id": "block_53", "type": "paragraph", "reading_order": 53, "bbox": [865, 335, 915, 495] },
{ "id": "block_54", "type": "heading", "reading_order": 54, "bbox": [920, 335, 940, 495] },
{ "id": "block_55", "type": "paragraph", "reading_order": 55, "bbox": [945, 335, 985, 495] },
{ "id": "block_56", "type": "heading", "reading_order": 56, "bbox": [835, 205, 865, 325] },
{ "id": "block_57", "type": "paragraph", "reading_order": 57, "bbox": [870, 205, 985, 325] },
{ "id": "block_58", "type": "heading", "reading_order": 58, "bbox": [785, 15, 810, 195] },
{ "id": "block_59", "type": "heading", "reading_order": 59, "bbox": [815, 15, 835, 195] },
{ "id": "block_60", "type": "paragraph", "reading_order": 60, "bbox": [840, 15, 985, 195] },
  ] }
SELECTED · BLK-12 · heading · ORDER 12Selecting a block in the document highlights its block in the JSON
On this test page
60 content blocks
Headings, paragraphs, and headers
Images and captions
RTL direction
Word, Markdown, and JSON output
FIG. 02 · PROCESSING PIPELINE

How the pipeline works

STEP 01Page preparation
STEP 02Layout analysis
STEP 03Region segmentation
STEP 04Content extraction
STEP 05Output verification
STEP 06Structured format generation
SEC. 04 · HUMAN REVIEW

Why human review?

A model can sometimes produce a phrase that reads convincingly but does not match the original, especially in poorly printed areas. Low-confidence passages must therefore be flagged and sent to review.

Review is part of the design, not an exception to it
· Flagging low-confidence passages before handover· Routing difficult pages to a human reviewer· Recording corrections inside the workflow
SEC. 05 · ROADMAP

Still in development

01Block-level confidence scores
02Linking the parts of a single article
03Surfacing uncertain text
04Linking images to their captions
05Improving reading order
06A detailed benchmark

Request a private evaluation of a non-sensitive sample

This page does not accept direct file uploads; once your request is reviewed, a secure link is sent to you.

Request a private evaluation