docling-project / docling-project/docling-parse

RTL Parsing

Open
#132 7 comments 0 reactions 1 assignee Claimed by @PeterStaar-IBM View on GitHub
Dominant language
C++
Stars
333
Forks
80
Avg merge
1d 14h
Merged PRs (30d)
10

Description

Thanks for the great work guys.

I am facing an issue parsing RTL languages especially Arabic and Hebrew. My current pipeline:
1. Start with a .doc/.docx
2. Convert to a PDF using MAC Microsoft Office
3. Extract text using `docling-parse`

I attached a .docx file along with its pdf and the extracted text using docling-parse. Some characters get repeated `مصاسةةةةةة`, others get separated `الدر اسة`, and there is some random char injections `حصةاا`

First Page Output
```
الميكانيكية المتغيرات بعض دراســة ...................................................................................... زياد فلاح الزيود المــنـــــارة، المجلـد (23)، الـعـدد (4)، 2017م 37 دراســة بعض المتغيرات الميكانيكية وعـ ـلاقتها بالقــوة الانفجاريــة في الطيران الأول والـد خــول على حصــان القفـز في رياضــة الجم بـاز زيــاد فـلاح الزيـــود * :تاريخ تسلم البحث01/12/2016 م :تاريخ قبوله للنشر08/02/2017م الملخص اسةةةةةةهدفت الدرللتعرف على مقدار القو ة الانفجار يو علاقتها في بعض المتغير ات الميكانيكي على حصةاا القفف في ر يا ة الجم ا ، ومقار ن القو ة لانفجار يوبعض المتغير ات الميكانيكي لكلى اللاع ين على . اجها حصاا القفف في ر يا الجم تم اسةةةةةةتندج المصهي الو ةةةةةةفي اسةةةةةة لمصاسةةةةةة تة لل يع الدر، وتكونت عيص الدر اسةةةةةة من مال ين من الللاب المسةةةةجلين في مسةةةةات جم ا مسةةةةتو(2) في كلي التر بي الر يا ةةةةي في الجامع اةر وني و هم من .لاع ي المصتنب الومصي اةر وني ةةةةةةةةورت المهار ة على حصةةةةةةةةاا القفف وج النميس المو افق 7/4/2016ج ( من على بعد5.50) ج من بدايسةةةةةةلم القفف إلى نهاي الحصةةةةةةاا على مسةةةةةةتو الحر ك الجان ي. حيث تم اسةةةةةةتنداج بر نامي التحلي(kinovea) للتحلي الحر كي. اسةةةو أظهر ت نتائي الدر أا و ايا أجسةةةاج اللاع ين عيص الدر اسةةة كانت مت ا ص في مر حلتي الار تكا على سةةةةةةةةةةلم القفف ومر حل اللير اا اةو مما أوإلى ت ا ن في ار تفاع مر كف ثقلهم, و اا لحظ لمس اللاعب لسةلم القفف أو جها حصةاا القفف ولحظ اللير اا بف و ايا مصاسة و ةحيح وووا اناصازات ائدة تعلي كمي. التحر ك الف اوي المللوب لإنجا الو اجب الحر كي بانسيابي في الحر ك الكلمات الدالة: الجمباز، التحليل الحر كي، حصان القفز، القو ة الانفجارية . * محاضـر متفــرغ، جامعـــة اليرمـــوك. الميكانيكية المتغيرات بعض دراســة ...................................................................................... زياد فلاح الزيود المــنـــــارة، المجلـد (23)، الـعـدد (4)،
```

Parsing code
```python
from docling_core.types.doc.page import TextCellUnit
from docling_parse.pdf_parser import DoclingPdfParser, PdfDocument

parser = DoclingPdfParser()

pdf_doc: PdfDocument = parser.load(
path_or_stream="arabic_sample2.pdf"
)

page_text = ""

for page_no, pred_page in pdf_doc.iterate_pages():
for word in pred_page.iterate_cells(unit_type=TextCellUnit.LINE):
page_text += word.text

with open("out.txt", "w") as f:
f.write(page_text)
```

[doc file](https://docs.google.com/document/d/1Yuu03eg_NPZ-EyDmfr5oFeEvDdMgiC0l/edit?usp=sharing&ouid=106585513776294168689&rtpof=true&sd=true)

[pdf file](https://drive.google.com/file/d/14thurZXy8eAmOBqkBaTX_FX7ZPs2keUZ/view?usp=sharing)

Can you please help me fixing this issue @PeterStaar-IBM @staar @dolfim-ibm?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.