Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Reconstructing Arabic PDFs to Word (.docx): Solving Ligatures, BiDi & Tables in Python

Description and use

Converting Arabic PDFs to Word demands restoring ligatures, correct bidirectional text handling, and table integrity. A four‑stage pipeline delivers 100 % accuracy.

Problem

Arabic PDFs often produce disconnected letters, reversed text, and broken tables when converted to editable Word documents.

Outcome

The pipeline achieves 100 % fidelity, restoring ligatures, correct RTL flow, and intact tables in the resulting Word document.

Workflow

  • Stage 1: Detect layout and boundaries using line segmentation and Hough transform, clustering boxes with DBSCAN.
  • Stage 2: Apply high‑precision Arabic OCR (Tesseract/Transformer) and score tokens.
  • Stage 3: Restore ligatures via Unicode normalization, reshape with arabic_reshaper, and reorder with ICU/pybidi.
  • Stage 4: Generate native RTL Word document with python‑docx, inserting <w:bidi/> attributes and reversing table columns.

Evidence

Disconnected letters: Isolated Arabic glyphs instead of fluid cursive words (م ح م د instead of محمد).

Source

Reversed text: Numbers, punctuation, and entire sentences flipped left-to-right (.ءاروجلإا ليلدت).

Source

The crucial step that 90% of open-source converters fail to implement is configuring Microsoft Word's underlying OpenXML schema for native Arabic RTL paragraphs and tables.

Source

  • Record date: 2026-11-02T16:13:49.688Z