# كيفية تحويل ملفات PDF وWord إلى نص للذكاء الاصطناعي: MarkItDown من Microsoft

> مراجعة معمقة: كيفية تحويل ملفات PDF وWord إلى نص للذكاء الاصطناعي: MarkItDown من Microsoft.

Source: https://ailoot.ai/blog/ar/markitdown-pdf-word-to-text/
Canonical: https://ailoot.ai/blog/ar/markitdown-pdf-word-to-text/
Language: ar
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-171
Revision: sha256-df9e4da1cf149104776d947b80f381936471fd38ca6de063db572743cde73a82


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

MarkItDown أداة مجانية من Microsoft تحوّل ملفات Word وExcel والعروض التقديمية وPDF إلى نص منظم للذكاء الاصطناعي. تحلل ملفات Office بوضوح خلال جزء من الثانية. لكنها تحوّل ملفات PDF ذات التخطيطات المعقدة إلى فوضى، وتُخرج ملفًا فارغًا برمز خروج يساوي صفرًا عند معالجة ملف ممسوح ضوئيًا. فيما يلي أمر تثبيت يعمل، وقياسات على مستندات تحتوي على نص سيريلي، وقاعدة لمعرفة متى تستخدم أداة أخرى.

</div>



تتوفر تعليمات إضافية في [توثيق Ailoot](https://ailoot.ai/docs/).

## ما MarkItDown، وما الغرض منه؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

MarkItDown أداة Python من Microsoft تقرأ ملفًا وتُعيد محتواه كنص منظم. تتحول العناوين إلى عناوين، والجداول إلى جداول. الأداة موجودة في مستودع GitHub مفتوح بموجب ترخيص MIT، وتُثبَّت بأمر واحد، وتُجري كل المعالجة على جهازك. لها مهمة واحدة: إعداد المستند كي يتمكن الذكاء الاصطناعي من رؤية الكلمات والبنية معًا.

</div>

ترسل إلى الذكاء الاصطناعي عقدًا أو تقريرًا أو تصديرًا محاسبيًا، فتحصل على إجابة لا علاقة لها بالمستند. غالبًا لا يكون السبب هو النموذج. فالملف يحتوي على تنسيق: Word أرشيف يتضمن ترميزًا، وExcel جدول بيانات تتصل خلاياه بعضها ببعض، وPDF مجموعة من الأحرف ذات إحداثيات على الصفحة. يعمل النموذج مع النص، ولا بد أن يستخرج أحدهم ذلك النص.

وهذا ما يفعله MarkItDown. يوجد المستودع على [github.com/microsoft/markitdown](https://github.com/microsoft/markitdown)، بموجب ترخيص MIT، لذا يمكنك استخدامه بلا قيود. حتى 18 أغسطس 2026، حصد 174,412 نجمة و12,756 تفرعًا؛ وصدر أحدث إصدار، 0.1.7، في 29 يوليو. المشروع نشط، لكن تركيزه انتقل من التطوير إلى الصيانة: لديه 481 طلب سحب مفتوحًا، مقابل 183 طلبًا دُمجت طوال تاريخه.

يصف المطورون الغرض منه كما يلي:

<figure>
<blockquote>
<p>MarkItDown أداة Python خفيفة لتحويل الملفات ذات التنسيقات المختلفة إلى Markdown لاستخدامها مع نماذج اللغة الكبيرة وخطوط أنابيب تحليل النصوص ذات الصلة.</p>
</blockquote>
<figcaption>— Microsoft، وصف المشروع (مترجم)، https://github.com/microsoft/markitdown</figcaption>
</figure>

توضح الجملة التالية في الوصف نصف الشكاوى التي يطرحها الناس عن الأداة:

<figure>
<blockquote>
<p>مع أن المخرجات تبدو غالبًا جيدة ومريحة للقراءة البشرية، فإنها معدّة للاستهلاك بواسطة أدوات تحليل النصوص، وقد لا تكون الخيار الأفضل للتحويل عالي الدقة للمستندات المخصصة لقراءتها من قبل الأشخاص.</p>
</blockquote>
<figcaption>— Microsoft، وصف المشروع (مترجم)، https://github.com/microsoft/markitdown</figcaption>
</figure>

المخرجات مادة خام للنموذج. لن تكون مستندًا جميلًا، والمشروع يصرّح بذلك بوضوح في القسم الأول نفسه.

يجيب الوصف مباشرة عن سبب استخدام Markdown: فالنماذج الرائدة «تتحدث» بالفعل بهذا الترميز، وتضمّنه في إجاباتها من دون طلب، لأنها شاهدت كميات هائلة منه أثناء التدريب. كما أن الترميز موجز: ثلاث علامات هاش لعنوان بدلًا من عشرات الأسطر من البيانات الوصفية.

## كيف يختلف MarkItDown عن المحوّل العادي؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

تحوّل أدوات مثل pandoc لغة ترميز إلى أخرى وتحافظ على التخطيط لقراءته من قبل الأشخاص. لا يقبل pandoc ملفات PDF كمدخلات أصلًا. يحل MarkItDown المشكلة المعاكسة: استخراج المحتوى من ملف Office وترتيبه بحيث يفهمه النموذج فورًا من دون إهدار الرموز. الحفاظ على التخطيط المرئي ليس هدفه، وهذا هو جوهر الاختلاف.

</div>

يتضح الفرق من مثال واحد. خذ مجلدًا يحتوي على عشرين ملف PDF وحاول معالجتها بواسطة pandoc. لن ينجح ذلك: يستطيع [pandoc](https://pandoc.org/) إنتاج ملفات PDF، لكنه لا يستطيع قراءتها كمدخلات. وهذا الموقف—«لدي كومة من المستندات؛ أعطني إياها للنموذج»—هو الأكثر شيوعًا.

يقارن مؤلفو MarkItDown أداتهم بـ textract، وهي مكتبة تستخرج النص ببساطة من أي مكان. والفرق أن MarkItDown يحاول الحفاظ على البنية: العناوين والقوائم والجداول والروابط.

| الميزة | pandoc | MarkItDown |
|----|----|----|
| قراءة ملفات PDF | لا | نعم، مع تحفظات |
| قراءة Word وExcel والعروض التقديمية | جزئيًا | نعم |
| الجمهور المقصود للمخرجات | الأشخاص | النماذج |
| القيمة الأساسية | دقة التخطيط | البنية وانخفاض عدد الأحرف |
| التثبيت | برنامج مستقل | أمر Python واحد |

الخلاصة العملية بسيطة. إذا كنت تحتاج إلى تحويل مقال إلى تخطيط صالح للنشر، فاستخدم pandoc. وإذا كنت تريد من الذكاء الاصطناعي فهم عشرين عقدًا، فاستخدم MarkItDown.

## كيف تثبّت MarkItDown من دون الحصول على الإصدار الأول؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

مع الإصدار 0.1.8، يثبّت الأمر الوارد في وصف المشروع أحدث إصدار على Python 3.14 و3.12؛ وقد أُعيد التحقق من ذلك في ثماني بيئات نظيفة. ولا يزال الرجوع الصامت إلى 0.0.2، وهو ثاني إصدار في تاريخ المشروع، يحدث على Python 3.15، وعلى أجهزة Mac بمعالجات Intel التي تعمل بـ 3.14، وعلى أجهزة Mac ذات إصدارات macOS الأقدم التي تعمل بـ 3.13 و3.14. في هذه الحالات، يُبلغ المثبّت عن نجاح العملية. لذلك استخدم Python 3.12، وحدد التنسيقات التي تحتاج إليها بالاسم، وتحقق من رقم الإصدار فورًا.

</div>

أولًا، الأمر الصحيح؛ ثم سبب كونه صحيحًا.

1.  ### تحقق من إصدار Python

    Python 3.12 هو الأكثر موثوقية: يُثبَّت أحدث إصدار من MarkItDown في كل بيئة اختُبرت عليه. يعرض الأمر `python3 --version` الإصدار الموجود لديك. على أجهزة Mac بمعالجات Intel أو الأجهزة التي تعمل بإصدار أقدم من macOS، قد يحدث رجوع صامت على Python 3.13 و3.14؛ أما Python 3.15 فغير مدعوم بعد، كما هو موضح أدناه.

2.  ### ثبّت الأداة مع تحديد التنسيقات

    شغّل `pip install 'markitdown[pdf,docx,xlsx,pptx]'`. علامات الاقتباس مطلوبة، وإلا فسيفسر الصدفة المربعات. على جهاز Mac بمعالج Intel، أضف الخيار `--prefer-binary` بعد `install`.

3.  ### تحقق فورًا من نجاح التثبيت

    شغّل `markitdown --version`. يجب أن تكون الاستجابة `markitdown 0.1.8` أو إصدارًا أحدث. الرقم الأقل يعني أن التثبيت رجع إلى إصدار أقدم؛ ويشرح هذا القسم السبب.

```bash
pip install 'markitdown[pdf,docx,xlsx,pptx]'
markitdown --version
```

يسرد وصف المشروع `pip install 'markitdown[all]'` باعتباره الأمر الرئيسي لتثبيت كل شيء دفعة واحدة. في 28 سبتمبر 2026، بعد أسبوع من صدور 0.1.8، اختُبرت أربعة أشكال في بيئات نظيفة على جهاز Mac بمعالج Apple Silicon وإصدارَي Python 3.14.6 و3.12.12:

| الأمر | التثبيت على Python 3.14 | التثبيت على Python 3.12 |
|----|----|----|
| `pip install markitdown` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[pdf,docx,xlsx,pptx]'` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[all]'` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[all]==0.1.8'` | 0.1.8 | 0.1.8 |

انتهى التثبيت في الحالات الثماني برسالة “Successfully installed”، وأعاد `markitdown --version` القيمة 0.1.8 في كل مرة. في أغسطس، حين كان 0.1.7 أحدث إصدار، ثبّت الأمر الثالث على Python 3.14 الإصدار 0.0.2، الذي صدر في 8 مارس 2025، وكان ثاني إصدار في تاريخ المشروع. وللمشروع الآن أحد عشر إصدارًا مستقرًا، من 0.0.1 إلى 0.1.8، وستة وعشرون إصدارًا إذا احتُسبت الإصدارات التمهيدية.

كان السبب سلسلة التبعيات. في 0.1.7، تجلب الإضافة `[all]` مكتبة ترجمة ترجمات YouTube من سلسلة إصدارات محددة، وتعلن جميع إصدارات تلك السلسلة أنها لا تعمل على Python 3.14. يرفضها المثبّت، ولأن الإصدار غير مثبت، يرجع عبر إصدارات MarkItDown إلى أن يجد إصدارًا يمكن تثبيته. يعثر على 0.0.2 ويثبّته، فيضع على جهازك إصدارًا صدر قبل عام ونصف. في 0.1.8، رُفع شرط مكتبة الترجمات إلى سلسلة تعمل على 3.14، فتوقف الرجوع عندها.

لكن آلية الرجوع ما زالت موجودة. إذا لم يتمكن المثبّت من العثور على أحد المكونات المطلوبة لنظامك، فسيعود بصمت إلى 0.0.2 بالطريقة نفسها. في الإصدارات الحديثة، هذا المكوّن هو محرك onnxruntime الذي يستخدمه كاشف أنواع الملفات. وعلى Mac، يُبنى على النحو التالي: لـ Python 3.12، يتطلب macOS 11 أو أحدث؛ ولـ 3.13، يتطلب macOS 13؛ ولـ 3.14، يتطلب Apple Silicon مع macOS 14 أو أحدث فقط. إذا لم يستوفِ جهاز Mac لديك هذه المتطلبات، فإن الأمر الأساسي `pip install markitdown` يثبّت 0.0.2 أيضًا. وقد أعطى اختبار على جهاز Mac بمعالج Intel يعمل بـ Python 3.14 عبر Rosetta النتيجة نفسها تمامًا: “Successfully installed”، بلا تحذيرات، ووجود 0.0.2 في الداخل.

تواجه أجهزة Mac بمعالجات Intel تعقيدًا آخر. فمنذ يونيو 2026، صدرت مكتبة cryptography اللازمة لقراءة ملفات PDF من دون إصدار مُسبق البناء لهذا المعالج، لذلك يحاول المثبّت بناؤها من المصدر. أضف الخيار `--prefer-binary` إلى الأمر، وسيستخدم الإصدار السابق الذي يحتوي على حزمة مُسبقة البناء. في الاختبار على Python 3.13 لأجهزة Intel، ثبّت ذلك الإصدار 0.1.8، وفُتح ملف PDF. يثبّت الخيار cryptography 48.0.1، الذي يضم ثلاث ثغرات معروفة: في فك تشفير PKCS#7 والتحقق من سلسلة الشهادات. لا يستخدمه MarkItDown إلا لفك تشفير ملفات PDF المشفرة، وقراءة المستندات لا تصل إلى تلك الأجزاء.

يحدث الرجوع على Python 3.15 لسببين. يعلن الإصدار 0.1.8 دعم الإصدارات من 3.10 إلى 3.14 فقط، ولا يتوفر محرك لـ 3.15 بعد. ويؤكد حل المثبّت لـ 3.15 ذلك: يثبّت الأمر الأساسي والأمر المحدد للتنسيقات الإصدار 0.0.2 نفسه.

يبدو تحذير الرجوع كما يلي، بسطر لكل إضافة في الأمر:

```
WARNING: markitdown 0.0.2 does not provide the extra 'all'
```

يضيع السطر بين عشرات أسطر التنزيل، ولا يقول شيئًا عن الإصدار الذي استُبدل. ومع الأمر الأساسي من دون إضافات، لا يظهر أي تحذير أصلًا. أما التقرير النهائي فمبتهج: “Successfully installed.”

التثبيت من دون إضافات ليس حلًا أيضًا. تُثبَّت الحزمة الأساسية، لكنها لا تستطيع فتح ملفات PDF:

```
PdfConverter recognized the input as a potential .pdf file, but the
dependencies needed to read .pdf files have not been installed. To resolve
this error, include the optional dependency [pdf] or [all] when installing
MarkItDown. For example:

* pip install 'markitdown[pdf]'
* pip install 'markitdown[all]'
```

توصي الأداة نفسها بـ `[all]`، ومع 0.1.8 تعمل هذه النصيحة مجددًا على Python 3.14 و3.12. ومع ذلك، من الأفضل تحديد التنسيقات بالاسم: تضيف `[all]` نحو خمسة عشر حزمة أخرى وحوالي 55 ميغابايت، بما في ذلك مكتبة Azure تمهيدية وسلسلة تبعيات YouTube نفسها التي عطّلت التثبيت من قبل.

يتعامل المثبّت بنفسه مع إصدار Azure التمهيدي. عادةً ما يتجاهل pip الإصدارات التمهيدية، لكنه يثبّته هنا لأن الشرط يذكر إصدارًا تمهيديًا صراحة. اختُبرت أربعة إصدارات من pip، من 23.2 إلى 26.2، على Python 3.12؛ واختارت كلها 0.1.8.

<div class="aside" data-semantic="callout" role="note" aria-label="تنبيه">

تنبيه

شغّل `markitdown --version` فور التثبيت. يستغرق ذلك خمس ثوانٍ، وهو الطريقة الوحيدة لمعرفة أنك ثبّت ما طلبته. لا تعني رسالة النجاح شيئًا هنا.

</div>

في أغسطس، أدى التثبيت مجددًا في بيئة نظيفة أخرى إلى النتيجة نفسها: 0.0.2 وكلمة “Successfully”.

من المفيد معرفة بعض التفاصيل العملية مسبقًا.

حجم التثبيت كبير نسبيًا: يستغرق التثبيت الأساسي 143 ميغابايت؛ ومع أربعة تنسيقات، 303 ميغابايت. أثقل مكوّن، بحجم 81 ميغابايت، هو كاشف أنواع الملفات، وهو يُثبَّت حتى مع التثبيت الأساسي. لا يهم ذلك على حاسوب محمول، لكنه مهم لوظيفة سحابية ذات حد للحجم.

لا تعتمد على المرايا كخيار احتياطي. وفرت مرآة اختُبرت فهرسًا وكانت ملفات MarkItDown موجودة، لكن أحد التبعيات المطلوبة كان مفقودًا، لذلك فشل التثبيت على كل من Python 3.14 و3.12.

التثبيت مسألة ثانوية مقارنة بالمشكلة الرئيسية. ففي كثير من الأحيان، يُنتج الذكاء الاصطناعي كلامًا بلا معنى لأن الشيء الخطأ، أو تمثيله الخطأ، دخل إلى نافذة السياق. تُسمى القدرة على تحديد ما تقدمه للنموذج قبل تنفيذ مهمة ما بهندسة السياق، وإعداد المستند جزء منها.



## كيف تحوّل مستندك الأول إلى نص؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

أمر واحد في الطرفية: اسم البرنامج ومسار الملف. افتراضيًا، تظهر النتيجة في النافذة، ويمكنك حفظها مباشرة في ملف. هناك ثلاث طرق: الإخراج إلى وحدة التحكم، أو الكتابة باستخدام خيار، أو تمرير الملف كتيار. ولتضمينه في نصوصك البرمجية، هناك غلاف Python من ثلاثة أسطر، يقبل الروابط أيضًا.

</div>

أقصر طريقة:

```bash
markitdown dogovor.docx
```

يُطبع النص في الطرفية. ولحفظه في ملف، هناك طريقتان:

```bash
markitdown dogovor.docx -o dogovor.md
markitdown dogovor.docx > dogovor.md
```

الفرق ضئيل على Mac وLinux، لكنه مهم على Windows: قد يؤدي التوجيه عبر `>` إلى تعطل البرنامج عندما يحتوي الإخراج على نص سيريلي.

يمكنك تمرير ملف كتيار؛ وفي هذه الحالة يكون تلميح الامتداد مفيدًا:

```bash
cat dogovor.docx | markitdown -x docx
```

فيما يلي الخيارات الرئيسية من تعليمات 0.1.8:

| الخيار | وظيفته |
|----|----|
| `-o`, `--output` | كتابة النتيجة في ملف بدلًا من طباعتها في النافذة |
| `-x`, `--extension` | تلميح الامتداد عند تمرير الملف كتيار |
| `-m`, `--mime-type` | تلميح نوع المحتوى |
| `-c`, `--charset` | تلميح ترميز الأحرف |
| `-d`, `--use-docintel` | المعالجة عبر خدمة Microsoft السحابية المدفوعة |
| `-v`, `--version` | عرض الإصدار |

تسرد التعليمات نفسها ثلاثة خيارات مفيدة أخرى، وقد اختُبر كل منها: يعرض `--list-plugins` الإضافات المثبتة، ويمكّنها `-p` لتشغيل معين، ويحافظ `--keep-data-uris` على الصور المضمّنة في المستند ضمن المخرجات (تُقصّ افتراضيًا). أما البقية فهي إعدادات لخدمات Microsoft السحابية.

يتألف غلاف Python من ثلاثة أسطر:

```python
from markitdown import MarkItDown

md = MarkItDown()
print(md.convert("ostatki.xlsx").text_content)
```

يقبل الاستدعاء نفسه رابطًا. أعادت صفحة بسيطة نصًا نظيفًا من 167 حرفًا، بما في ذلك عنوان ورابط، من دون قائمتها وتذييلها:

```python
r = md.convert("https://example.com")
```

## ما التنسيقات التي يفهمها MarkItDown، وماذا يعني ذلك فعلًا؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

يسرد وصف المشروع نطاقًا واسعًا: ملفات Office وPDF والصور والصوت والأرشيفات وروابط YouTube والكتب الإلكترونية. لكن ثلاثة عناصر لا تعمل كما يوحي وصفها. لا تتضمن النسخة المجانية أي تعرف على نصوص الصور. ويُرسل الكلام إلى محرك باللغة الإنجليزية. أما الملفات التي تعذّر تحليلها فتختفي من الأرشيفات من دون تحذير.

</div>

جدول موجز لما يُدّعى وما يعنيه ذلك عمليًا.

| التنسيق | مُدرج | ما يحدث فعلًا |
|----|----|----|
| Word وExcel والعروض التقديمية | نعم | يعمل بوضوح؛ وهذه نقطة قوته |
| CSV وJSON وXML وHTML | نعم | يعمل، لكن CSV ينطوي على مشكلة فاصل |
| PDF | نعم | يعتمد على التخطيط: يُجمع النص ذو العمود الواحد، بينما ينهار ذو العمودين |
| الصور | «البيانات الوصفية والتعرف» | لا يوجد تعرف، بل بيانات وصفية فقط أو نموذج رؤية مدفوع |
| الصوت | «نسخ الكلام» | يُرسل إلى محرك Google باللغة الإنجليزية |
| أرشيفات ZIP | «يمر على المحتويات» | يختفي بصمت كل ما لا يستطيع تحليله |
| روابط YouTube | نعم | الروابط الكاملة فقط بالصيغة `'<OFFICIAL_URL>'?...` |
| كتب EPUB الإلكترونية | نعم | تعمل |

ثلاثة عناصر بمزيد من التفصيل.

الصور. يتضمن الوصف كلمة OCR، لذلك يتوقع الناس أن يقرأ البرنامج النص الموجود في صورة. لكنه لا يفعل. يقرأ البيانات الوصفية بواسطة برنامج منفصل هو exiftool، وإذا ربطت نموذج رؤية باستخدام مفتاحك الخاص، فيمكنه إرسال الصورة إليه لوصفها.

الصوت. يتوفر نسخ الكلام، لكن اللغة لا تُمرر، والمحرك يتوقع الإنجليزية افتراضيًا. كما يستدعي نقطة النهاية المجانية غير الرسمية لـ Google، والمحدودة بنحو خمسين طلبًا في اليوم لكل مفتاح.

الأرشيفات. يفك البرنامج ملفات ZIP ويمر على الملفات بداخلها، جامعًا النتائج. إذا لم يتمكن من تحليل ملف، يُلتقط الخطأ ويُتجاهل. لن يظهر الملف ببساطة في النتيجة، ولن تعرف بغيابه.

## ماذا يحدث مع المستندات التي تحتوي على نص سيريلي؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

عولجت ثلاثة ملفات تحتوي على نص سيريلي باستخدام أحدث إصدار: عقد Word، وجدول جرد في Excel، وعرض تقديمي. ظل النص السيريلي والرقم سليمين في الملفات الثلاثة. وتتعطل الأمور في ثلاثة مواضع: ملفات CSV التي تستخدم الفواصل المنقوطة، وتنسيق العملة في خلايا Excel، ومخرجات وحدة تحكم Windows. ولكل هذه المشكلات حلول بديلة.

</div>

أُنشئت الملفات أدناه خصيصًا للاختبار؛ وبياناتها مختلقة.



خرج جدول الجرد في Excel بوضوح مماثل، وتحول اسم الورقة إلى عنوان:

```markdown
## Stock
| Item | In stock | Reserved | Available |
| --- | --- | --- | --- |
| Coffee beans, kg | 420 | 38 | 382 |
| Loose-leaf tea, kg | 180 | 52 | 128 |
```

تحول العرض التقديمي إلى نص، مع إظهار أرقام الشرائح كتعليقات توضيحية، وتحويل عناوين الشرائح إلى عناوين. والنص السيريلي هنا سليم أيضًا. لذا فإن الادعاء العام بأن «MarkItDown لا يفهم السيريلي» غير صحيح.

والآن إلى المواضع الثلاثة التي تتعطل فيها الأمور.

CSV بفواصل منقوطة. عولج تصديران متطابقان للفواتير للمقارنة. أنتج الملف الذي يستخدم الفواصل جدولًا صحيحًا من أربعة أعمدة. أما مع الفواصل المنقوطة، فيذهب السطر كله إلى خلية واحدة.

انتهى السطر بأكمله في خلية واحدة. وقد تعرّف البرنامج على الترميز بشكل صحيح، ولم يظهر أي خطأ؛ ولا يساعد الخيار `-c`. سيتلقى النموذج هذا الجدول ولن يفهم أي قيمة هي المبلغ وأيها الحالة. أعد تصدير الملف بفاصل فاصلة محدد صراحة وبالترميز الصحيح، مع إبقاء الأصل كما هو. لا تستبدل الفواصل المنقوطة استبدالًا شاملًا؛ فقد تكون الفواصل داخل نص مقتبس أو الفواصل العشرية جزءًا من القيمة. إذا تعذر التصدير مجددًا، فحلل الأصل بفاصله الفعلي واكتب CSV جديدًا بكاتب يفهم CSV ويحفظ الاقتباس وقيم الخلايا. قبل التحليل، قارن أعداد الأعمدة والصفوف والمجاميع الرقابية بملف التصدير الأصلي.

تنسيق العملة في Excel. يُخزَّن رمز العملة في إعدادات عرض الخلية، ولا يُضمَّن في القيمة نفسها. وقد أكد مشرفو المشروع السبب. وهذا مهم في قائمة أسعار أو فاتورة: سيرى النموذج الأرقام من دون أن يعرف العملة التي تمثلها.

وحدة تحكم Windows. قد يتعطل البرنامج عند معالجة ملفات فيها أحرف غير لاتينية.

يُظهر أثر الخطأ الترميز `cp1251`، أي وحدة تحكم Windows. يُحلَّل المستند نفسه بصورة صحيحة؛ لكن طباعة النتيجة في نافذة الطرفية هي ما يفشل. لذا يوجد حلان بديلان:

```powershell
markitdown dogovor.docx -o dogovor.md
$env:PYTHONUTF8 = "1"; markitdown dogovor.docx > dogovor.md
```

يتجاوز الأول وحدة التحكم بالكامل؛ والثاني يجعل Python يكتب بترميز UTF-8. قدم الناس إصلاحات للمشكلة في الأداة نفسها ست مرات على الأقل: أُغلق بعضها من دون دمج، ولا يزال الباقي مفتوحًا. لذا عليك الالتفاف على المشكلة.

تظهر علة رابعة في ملفات PDF: سلاسل مثل `(cid:1090)` بدلًا من الأحرف. وهذا يعني أن الملف يحتوي على جدول خطوط غير قياسي، وتعذّر فك ترميز أحرفه. لا جدوى من معالجة هذا المستند باستخدام MarkItDown؛ إذ تحتاج إلى أداة أخرى.

## لماذا يتحول ملف PDF إلى فوضى؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

لا يحتوي PDF على بنية، بل على أحرف ذات إحداثيات على الصفحة. يُجمع النص أحادي العمود بصورة معقولة. أما العمودان فيتحولان إلى فوضى: تُوصل الأسطر عبر الأعمدة، وتلتصق الكلمات بعضها ببعض، ويتحول التخطيط إلى جداول لم تكن موجودة أصلًا في المستند. ولا يتعرف MarkItDown على العناوين في ملفات PDF إطلاقًا، وهذا واضح من الشيفرة المصدرية ومن القياسات المستقلة.

</div>

للاختبار، عولجت ورقة علمية من عمودين حجمها 2.16 ميغابايت. كان رمز الخروج صفرًا؛ وبعد 0.9 ثانية، احتوت المخرجات على 88,000 حرف، معظمها كلام بلا معنى. يوحي 88,000 حرف بأن كل شيء سار على ما يرام. إلى أن تفتح الملف:

```
|     | Hybrid |          | OCR-LLM     |     | Framework  |
| --- | ------ | -------- | ----------- | --- | ---------- |
...
Informationextractionfromcopy-heavydoc-
5202 tcO 11  ]LC.sc[  1v83101.0152:viXra
```

حدثت ثلاثة أخطاء في آن واحد. تحول تخطيط العمودين إلى جداول غير موجودة في الورقة. والتصقت الكلمات من دون مسافات. أما السطر الأخير فهو شريط جانبي عمودي على الصفحة، استُخرج بالعكس.

ثم جاء الجزء المضحك. اتضح أن ورقة الاختبار هي العمل نفسه الذي قاس أداء MarkItDown وقارنه بأدوات أخرى. وقد حوّل البرنامج الفقرة التي تعرض قياساته إلى ما يلي:

```
cues. This name-matching error could be miti-  OCRpreprocessingoverhead(0.056s),whileDo-
gatedthroughpromptengineeringtoprovidemore  clingandMinerUadoptmorecomputationallyin-
explicit matching instructions or fine-tuning the  tensive strategies with OCR latencies of approxi-
```

وُصل العمودان الأيسر والأيمن سطرًا بسطر. وسيقرأ النموذج الذي يتلقى هذا نصف جملة من فقرة ونصفًا من أخرى.

السبب تقني وبسيط. يخزّن Word صراحةً «هذا عنوان» و«هذه خلية جدول». أما PDF فيخزّن «هذا حرف» و«هذه إحداثياته على الصفحة». إعادة بناء البنية من الإحداثيات مهمة منفصلة وصعبة، ولا يحاول MarkItDown القيام بها إلا بالكاد. ولا تتضمن الشيفرة المصدرية لتحليل PDF أي اكتشاف للعناوين: إذا لم تُصنّف الصفحة على أنها نموذج أو جدول، يمر المستند كله عبر استخراج النص الأساسي.

يبلغ المستخدمون عن ذلك بانتظام في مستودع المشروع، بما في ذلك ما يخص الأوراق العلمية والجداول.

لا يعثر البرنامج على أي عنوان في ملفات PDF، تمامًا كما تُظهر شيفرته المصدرية.

يتداول الناس عبر الإنترنت رقم «يحقق MarkItDown دقة 82%» من دون أي منهجية. ولا يوصل تتبعه إلى المصدر الأصلي إلى أي مكان: تنتهي سلسلة الروابط عند صفحة لا تُحمّل. لذلك لا يمكن اعتباره قياسًا.

## ماذا يحدث مع عقد ممسوح ضوئيًا؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

لا شيء. يُعالج الملف، ويعلن البرنامج نجاح العملية، لكن المخرجات تحتوي على صفر حرف. لا خطأ ولا تحذير. اختُبر ذلك مرتين على ملف PDF مُنشأ من صورة، ومرة أخرى على الصورة نفسها؛ وكانت النتيجة واحدة. يستخرج البرنامج النص المخزن أصلًا كنص داخل الملف؛ فالنسخة المجانية لا تملك قدرة على التعرف.

</div>

هذا السلوك أخطر من غيره لأنه لا يبدو كأنه فشل.

للاختبار، أُنشئ ملف PDF من صورة تحتوي على نص، أي تمامًا مثل ما تحصل عليه عند تصوير عقد أو مسحه ضوئيًا. وأُعيد التشغيل لاستبعاد المصادفة:

| المدخل | رمز الخروج | عدد أحرف المخرجات | رسالة الخطأ |
|----|----|----|----|
| PDF من صورة، التشغيل 1 | 0 | 0 | لا شيء |
| PDF من صورة، التشغيل 2 | 0 | 0 | لا شيء |
| صورة PNG مباشرة | 0 | 1 (فاصل سطر) | لا شيء |

صفر حرف وصفر أخطاء، مرتين متتاليتين. يعني رمز الخروج صفرًا أن «كل شيء سار على ما يرام»، وأي نص برمجي يتحقق من النجاح عبر رمز الخروج سيعتبر أن المستند عولج. ثم يُرسل الإخراج الفارغ إلى النموذج، فلا يرى شيئًا ويبدأ باختلاق إجابة من العدم.

<div class="aside" data-semantic="callout" role="note" aria-label="تنبيه">

تنبيه

إذا عالجت مستندات على دفعات، فتحقق من طول المخرجات. لن يخبرك رمز الخروج بأي شيء: فالملف الفارغ ذو رمز الخروج صفر هو ما يبدو عليه المسح الضوئي.

</div>

هناك حلان بديلان، وكلاهما مدفوع. الأول هو الخيار `-d`، الذي يرسل المستند إلى خدمة التعرف السحابية من Microsoft؛ وينص نص المساعدة الخاص بالخيار صراحةً على ضرورة وجود نقطة نهاية خدمة صالحة. والثاني حزمة إضافة منفصلة ترسل الصفحات إلى نموذج رؤية باستخدام مفتاحك، فتدفع لمزود النموذج مقابل كل صفحة. ومنذ أبريل 2026، يفيد نقاش مفتوح بشأن الطريقة الثانية بأن المعالجة تقتصر على الصفحة الأولى من المسح متعدد الصفحات.

يمكنك أيضًا تشغيل نموذج التعرف على جهازك، لكن ذلك مشروع منفصل.

بالنسبة إلى مستند لمرة واحدة، يسهل فتحه ونسخ النص يدويًا. أما إذا كان لديك تدفق من المستندات الممسوحة ضوئيًا، فتحتاج إلى أداة تتضمن التعرف.

## هل يمكنك ببساطة رفع الملف إلى محوّل عبر الإنترنت؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

من الناحية التقنية، نعم؛ فهناك نطاقات كثيرة بهذا الاسم. لكن لا يتبع أي منها Microsoft. ويمكن التحقق بنقرة واحدة من الادعاء «الملف لا يغادر المتصفح أبدًا»، وهو ليس صحيحًا دائمًا. قبل رفع عقد أو تصدير يتضمن أسماء أشخاص، تحقق بنفسك من الوجهة التي يذهب إليها الملف.

</div>

«MarkItDown عبر الإنترنت» أحد أكثر اقتراحات البحث شيوعًا، وهناك مواقع تعرضه. لكن أداة Microsoft الأصلية لا تملك موقعًا إلكترونيًا أصلًا؛ فهي متاحة فقط كبرنامج تثبّته بنفسك. أما أي شيء يحمل اسمًا مشابهًا ويُفتح في المتصفح، فقد أنشأه طرف آخر.

يمكنك فحص هذه الخدمة في دقيقة: افتح أدوات المطور في تبويب طلبات الشبكة، وارفع أي ملف غير حساس، ثم تحقق مما إذا كان يُرسل إلى خادم. إذا كان كذلك، فالادعاء بأن المعالجة تتم في المتصفح غير صحيح، مهما أكدت ذلك الأسئلة الشائعة.

<div class="aside" data-semantic="callout" role="note" aria-label="تنبيه">

تنبيه

يتضمن العقد أو الفاتورة أو التصدير الذي يحتوي على أسماء الموظفين بيانات شخصية. إذا أرسلت ملفًا كهذا إلى موقع طرف ثالث، فأنت من أرسله. وتتجنب الأداة المحلية هذه المشكلة: فالملف لا يغادر جهازك.

</div>

لهذا يُقدَّر MarkItDown عندما يتعذر إرسال المستندات خارج المؤسسة. في أحد النقاشات، وصف شخص وضعه: كانت البرامج العشوائية ممنوعة على حاسوب العمل المحمول، لكن مكتبات Python كانت مسموحة، واتضح أن الأداة المحلية هي الخيار الوحيد المتاح.

## كم يوفر MarkItDown فعلًا؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

الفائدة الرئيسية هي أن النموذج يستطيع فهم المستند أصلًا. وهناك أيضًا فرق في الحجم: تُظهر مقارنة حجم الترميز داخل ملفات Office بحجم النص المستخرج انخفاضًا بمقدار خمسة إلى سبعة أضعاف. كما تُزيل كل ما لا يحتاج النموذج إلى قراءته: أوصاف الخطوط والهوامش وألوان الخلايا.

</div>

ملف Office عبارة عن أرشيف منظم يحتوي على ترميز. إذا فككت الملفات التجريبية الثلاثة وقارنت حجم الجزء الذي يحتوي على المحتوى بحجم المخرجات، فستحصل على ما يلي:

| الملف | الترميز في الداخل | النص المستخرج | عدد مرات الانخفاض |
|-----------------|-----------------|---------------|-----------------------|
| عقد Word | 3,701 بايت | 711 بايت | 5.2 |
| جدول بيانات Excel | 1,561 بايت | 262 بايت | 6.0 |
| عرض تقديمي | 2,203 بايت | 296 بايت | 7.4 |

الملفات صغيرة؛ وستختلف النسب في الملفات الأكبر، ولا يوجد رقم واحد للتوفير. وعندما ترى أرقامًا مستديرة في مقالات المقارنة، اسأل عن المنهجية.

ويتحدث المطورون أنفسهم عن التوفير أيضًا: يذكر وصف المشروع تحديدًا أن اصطلاحات Markdown اقتصادية جدًا من حيث عدد الأحرف. وهذا صحيح، لكن لا ينبغي أن يكون نقطة البيع الرئيسية. فالفرق بين «حصل النموذج على ثلاثة آلاف حرف بدلًا من خمسة عشر ألفًا» و«حصل النموذج على بنية واضحة بدلًا من خليط مبعثر» فرق من نوع آخر. الأول يوفر المال؛ أما الثاني فيحدد ما إذا كانت الإجابة ستبدو منطقية.

إذا كنت تتابع استخدام السياق، فيُشرح ذلك على نحو منفصل: [أين تذهب الرموز في Claude](https://ailoot.ai/blog/ar/where-claude-code-tokens-go/) و[عدد الرموز المتضمن في كل خطة](https://ailoot.ai/blog/ar/claude-pro-max-usage-limits/).

## كيف تربط MarkItDown بـ Claude عبر MCP؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

للمشروع حزمة منفصلة تشغّل خادم MCP بأمر واحد: أدخل مسار الملف، واحصل على النص. في سبتمبر 2026، حُدثت الحزمة أخيرًا إلى 0.0.1a7، لكن الإصدار لا يزال تمهيديًا ويرسل بيانات القياس عن بُعد إلى Microsoft افتراضيًا. يربط الأمر أدناه الخادم عبر uv، ويثبت الإصدار، ويستخدم Python 3.12، ويعطّل بيانات القياس. لا توجد مصادقة، ووفقًا لوثائقه نفسها، يستطيع الخادم قراءة أي ملف متاح للمستخدم الذي شغّله.

</div>

MCP طريقة لمنح الذكاء الاصطناعي أداة خارجية يستطيع استخدامها بنفسه. للاطلاع على نظرة عامة على الآلية والخوادم الأخرى، راجع مراجعة [خوادم MCP لـ Claude Code](https://ailoot.ai/blog/ar/mcp-servers-claude-code/).

يقدم خادم MarkItDown أداة واحدة بالضبط: تحويل مستند إلى نص. يقبل مسار ملف محليًا، أو رابط صفحة، أو بيانات مضمّنة مباشرةً في الطلب.

يتصل بـ Claude Code بأمر واحد، مع تثبيت إصدار الخادم. تحتاج إلى مدير الحزم uv:

```bash
claude mcp add --scope user --env 'ORT_DISABLE_TELEMETRY=1' --env 'UV_PYTHON=3.12' --transport stdio markitdown -- uvx markitdown-mcp@0.0.1a7
claude mcp list
```

ينبغي أن تُظهر استجابة الأمر الثاني كلمة “Connected” مقابل `markitdown`. ينزّل التشغيل الأول نحو سبعين حزمة ويستغرق حتى دقيقة؛ وبعد ذلك يبدأ الخادم خلال ثانية إلى ثانية ونصف.

فيما يلي تحفظات جرى التحقق من كل منها يدويًا.

صدر الإصدار `0.0.1a7` في 14 سبتمبر 2026. وقبل ذلك، ظل الخادم عالقًا على `0.0.1a4` من مايو 2025 لأكثر من عام. ولا يزال رقم أحدث إصدار يشير إلى إصدار تمهيدي.

لن يُثبّت على كل نظام يعمل بإصدار حديث من Python. محرك onnxruntime الذي يعتمد عليه متاح لـ Python 3.14 على Mac لأجهزة Apple Silicon التي تعمل بـ macOS 14 أو أحدث فقط؛ لذلك يفشل التثبيت على أجهزة Mac بمعالجات Intel وعلى macOS 13 أو أقدم عند استخدام Python 3.14. شُغّل الخادم على جهاز Mac بمعالج Apple Silicon بإصدارات Python 3.14 و3.13 و3.12، وثُبّت على الإصدارات الثلاثة. يستخدم الأمر `UV_PYTHON=3.12`: تتوفر الحزم المُسبقة البناء للإصدار 3.12 على Windows وLinux وأجهزة Mac بمعالجات Apple Silicon، وإذا لم يكن هذا الإصدار من Python لديك، فسينزّله uv. وثمة تحفظ لأجهزة Mac بمعالجات Intel أيضًا: سيبني uv مكتبة cryptography من المصدر لعدم توفر حزمة مُسبقة البناء لأجهزة Intel منذ يونيو 2026. يستغرق التثبيت وقتًا أطول وقد يفشل.

يعتمد إصدار MarkItDown المثبّت في الداخل على إصدار uv. فبدءًا من MarkItDown 0.1.6، تتطلب إضافته `[all]` مكتبة Azure تمهيدية: يثبّت uv 0.12 والإصدارات الأحدث المكتبة وأحدث MarkItDown 0.1.8، بينما ترجع إصدارات uv الأقدم إلى 0.1.5. تحقق من إصدار uv باستخدام `uv --version`.

يُرسل شيئان إلى خارج الجهاز. الأول هو بيانات القياس عن بُعد: على Mac وLinux، يرسلها محرك onnxruntime داخل الخادم إلى Microsoft افتراضيًا. يعطّلها المتغير `ORT_DISABLE_TELEMETRY=1` في الأمر. في الاختبار، اتصل الخادم بنقاط نهاية القياس عن بُعد من Microsoft من دونه. وعند ضبط المتغير، لم تحدث أي اتصالات أثناء معالجة الملفات من القرص.

والثاني هو الصوت. يرسل الخادم ملفات WAV وMP3 وM4A وMP4 إلى خدمة Google للتعرف على الكلام ونسخه عبر HTTP عادي، من دون تشفير. من الأفضل ألا ترسل تسجيلات المحادثات مع العملاء عبره.

لن يتسع لمستند كبير. يصف نقاش مفتوح استجابة من الخادم تبلغ 51,000 رمز اصطدمت بحد يبلغ 25,000 رمز، ولا تقسم الأداة الملفات إلى أجزاء.

والأمان. تنص وثائق الحزمة نفسها بوضوح على ما يلي:

<figure>
<blockquote>
<p>لا يدعم الخادم المصادقة، ويعمل بصلاحيات المستخدم الذي شغّله. ويمكن استخدام أداة التحويل لقراءة أي ملف متاح لمستخدم الخادم، أو أي بيانات على الشبكة.</p>
</blockquote>
<figcaption>— Microsoft، وصف حزمة markitdown-mcp (مترجم)، https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp</figcaption>
</figure>

بعبارة أخرى، يستطيع الوكيل الذي يستخدم هذه الأداة قراءة كل ما تستطيع قراءته. وهذا مقبول للعمل على جهازك الشخصي. لكن يجب ألا تكشف الخادم علنًا أو تمنحه لوكيل غير موثوق.

<div class="aside" data-semantic="callout" role="note" aria-label="تنبيه">

تنبيه

لا يتضمن توثيق المشروع إعدادًا مخصصًا لـ Claude Code؛ فهو يصف Claude Desktop والتشغيل عبر حاوية فقط. إذا وجدت إعدادًا جاهزًا على الإنترنت موصوفًا بأنه «من التوثيق الرسمي» لـ Claude Code، فاعلم أن هذا الإعداد غير موجود في المستودع.

</div>

للعمل المعتاد، يسهل تشغيل البرنامج بأمر ووضع النص الناتج في المشروع. عندئذ يبقى الملف بجانب المواد الأخرى، حيث يمكن للنموذج الرجوع إليه من تلقاء نفسه.

## متى يكون استخدام أداة أخرى أكثر صراحة؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

القاعدة بسيطة: إذا كانت البنية مسجلة داخل الملف أصلًا، فاستخدم MarkItDown؛ فهو الأسرع ومجاني. وإذا كان لا بد من إعادة بناء البنية من صورة الصفحة، فاستخدم أداة مزودة بنماذج تخطيط. يتعامل Docling مع الجداول والتخطيطات المعقدة، ويتعامل MinerU مع الصيغ والأعمدة المتعددة، وتساعد الخدمات السحابية المدفوعة حين لا يتوفر وقت للتلاعب بالتفاصيل.

</div>

مقارنة حسب المهمة؛ ولا علاقة لنجوم GitHub بها:

| الأداة | نقطة القوة | ما تدفعه مقابلها |
|----|----|----|
| MarkItDown | ملفات Office والسرعة ومجاني | لا يستطيع التعامل مع ملفات PDF المعقدة أو المسح الضوئي |
| Docling | الجداول والتخطيطات عبر نماذج متخصصة | عشرات الثواني لكل مستند |
| MinerU | الأعمدة المتعددة والصيغ والجداول الكثيفة | تثبيته أصعب |
| Marker | دقة عالية وصيغ ورسوم توضيحية | يتطلب بطاقة رسومات، كما يقيّد ترخيصه الإيرادات |
| unstructured | يعيد بنية المستند في أجزاء مع أوصاف | يصعب استخدام المخرجات |
| المحللات السحابية | لا تتطلب إعدادًا | مال وإرسال المستند إلى خارج جهازك |

هناك تفصيل عن Marker تغفله مقالات المقارنة. فمنذ يوليو 2026، أصبح الكود نفسه بموجب ترخيص متساهل، بينما تخضع أوزان النموذج لترخيص منفصل ذي حد معين: يكون الاستخدام مجانيًا إذا لم تتجاوز إيرادات شركتك خمسة ملايين دولار ولم يتجاوز التمويل الذي جمعته المبلغ نفسه في السنة السابقة. ويحظر بند منفصل الاستخدام على أي جهة تبني منتجًا منافسًا. لا يهم ذلك معظم القراء، لكنه سبب يدعو أي شركة نامية إلى قراءة الترخيص قبل اعتماده.

يقود ذلك إلى سير عمل عملي من أربع خطوات:

1. عالج كل الملفات باستخدام MarkItDown؛ فهو مجاني وفوري.
2. افتح النتيجة وتحقق من حجمها.
3. إذا كان النص منطقيًا، فقد انتهت المهمة؛ لا حاجة إلى شيء آخر.
4. إذا كانت المخرجات فوضوية أو فارغة، فمرر هذا الملف تحديدًا عبر أداة أثقل.

وهكذا لا تتحمل كلفة الوقت والتعقيد إلا للمستندات التي تحتاج إليها.

## كيف تدمج MarkItDown في سير عملك؟

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="الخلاصة الأساسية">

الخلاصات الأساسية

تذكر Anthropic نفسها القاعدة في أوصاف مهاراتها: استخدم هذه الأداة لقراءة مستند. ولا تخطط لإجراء تعديلات بناءً عليها. إليك ثلاثة سيناريوهات تؤتي ثمارها من المحاولة الأولى: تحليل دفعة من المستندات المتشابهة، وإضافة مواد مرجعية دائمة إلى مشروع ذكاء اصطناعي مرة واحدة، وإعداد تصدير من نظام محاسبي لتحليله.

</div>

تستخدم Anthropic MarkItDown في مهاراتها الجاهزة للعمل مع ملفات Office، وتوضح تلك المهارات الحد الذي ينبغي أن تلتزم به بالكامل:

<figure>
<blockquote>
<p>افحص ورقة بسرعة: markitdown file.xlsx. إحداثيات الخلايا غير متاحة، لذلك لا تخطط لإجراء تعديلات بناءً على ذلك.</p>
</blockquote>
<figcaption>— Anthropic، وصف المهارة المخصصة للعمل مع الجداول (مترجم)، https://github.com/anthropics/skills/blob/main/skills/xlsx/SKILL.md</figcaption>
</figure>

تضيع مراجع الخلايا والصفحات في النص، لذا لا يمكنك استخدامه لإجراء تغييرات على الملف المصدر. إليك ثلاثة سيناريوهات.

دفعة من المستندات المتشابهة—محاضر وفواتير ونماذج وطلبات. ضعها في مجلد وشغّلها بسطر واحد:

```bash
for f in dokumenty/*.docx; do markitdown "$f" -o "text/$(basename "$f" .docx).md"; done
```

ثم أعطِ النموذج مجلد الملفات النصية واطلب منه تجميع المعلومات ذات الصلة في جدول. ينجح ذلك مع الملفات الرقمية؛ أما المسح الضوئي فيفشل، وستلاحظه فورًا من حجم ملفه الصفري.

مواد المشروع المرجعية الدائمة—قوائم الأسعار وقوالب العقود والسياسات وأوصاف الخدمات. حوّلها إلى نص مرة واحدة وضعها بجانب المشروع. يمكن للنموذج عندئذ قراءتها مع كل طلب، فلا تحتاج إلى إرفاق الملفات بالمحادثة في كل مرة. ويوضح المقال عن [رفع الملفات إلى Claude](https://ailoot.ai/blog/ar/claude-file-upload/) الفرق بين ذلك وبين رفع ملف إلى الدردشة.

تصدير من نظام محاسبي. يتحول تصدير Excel من برنامج محاسبة أو حساب مصرفي إلى جدول في ثلث ثانية، ويمكن للنموذج إجراء الحسابات منه من دون خطوات وسيطة. تحقق من تصدير CSV أو تحليله بفاصله الفعلي وقواعد الاقتباس والترميز الصحيحة، وقارن الصفوف والأعمدة والمجاميع الرقابية قبل إعطائه للنموذج. لا توحّد الفواصل بالبحث والاستبدال. وسجّل العملة صراحة؛ فرمز مخزن في تنسيق خلية Excel وحده لا يبقى بعد الاستخراج.

معالجة ملفات PDF الكبيرة في الطرفية ليست ضمن هذه القائمة. فهذه مسألة منفصلة تتعلق باستخدام السياق، ويتناولها المقال عن [ملفات PDF في Claude Code من دون فقدان الرموز](https://ailoot.ai/blog/ar/pdf-claude-code-markdown/). وإذا كنت لا تزال تهيئ مساحة عملك، فابدأ بـ[تثبيت Claude Code](https://ailoot.ai/blog/ar/install-claude-code/).

لتبدأ الآن، شغّل `pip install 'markitdown[pdf,docx,xlsx,pptx]'`، وعالج أول عقد Word تجده، وتحقق من حجم النتيجة. خلال نصف دقيقة، ستعرف ما إذا كان يعمل مع ملفاتك.

<div class="section">

### الأسئلة الشائعة

هل MarkItDown مجاني؟

نعم. لديه ترخيص MIT، من دون قيود على الاستخدام التجاري. لا تدفع إلا مقابل طريقتين اختياريتين: التعرف السحابي بواسطة Microsoft عبر الخيار `-d`، ووصف الصور بواسطة نموذج رؤية باستخدام مفتاحك الخاص. وكل ما عدا ذلك يعمل على جهازك مجانًا.

هل تُرسل البيانات إلى أي خادم؟

في التحويل العادي لملفات Office وPDF، لا؛ إذ تتم المعالجة محليًا بالكامل. هناك ثلاثة استثناءات: يمر نسخ الصوت عبر خدمة Google، ويرسل الخيار `-d` المستند إلى سحابة Microsoft، وتُرسل أوصاف الصور إلى نموذج يستخدم مفتاحك. ولا تُفعّل أي من هذه الطرق تلقائيًا.

لماذا لا أجد الأمر markitdown بعد التثبيت؟

غالبًا ثُبّت البرنامج في بيئة غير موجودة في مسار البحث لديك. تحقق من المسار الكامل للملف داخل البيئة. ومن الحالات الشائعة أيضًا أنك ثبّتّه لإصدار من Python ثم تستدعيه باستخدام إصدار آخر. وهناك فخ آخر: على إصدارات Python الأقدم من 3.10، تُثبَّت حزمة فارغة من دون خطأ تثبيت.

ماذا أفعل إذا رأيت `(cid:1090)` وسلاسل مشابهة بدلًا من الأحرف؟

هذا جدول خطوط غير مفكوك الترميز داخل PDF. لن تصلحه الإعدادات؛ بل تحتاج إلى معالجة الملف باستخدام أداة أخرى، مثل Docling أو MinerU. ولمستند لمرة واحدة، يكون نسخ النص يدويًا من عارض أسرع.

هل يمكنني معالجة مجلد كامل من الملفات دفعة واحدة؟

لا يوجد وضع منفصل للمجلدات، لكن يمكنك فعل ذلك بحلقة طرفية من سطر واحد: for f in papka/\*.docx; do markitdown "\$f" <bdi>-o</bdi> "\$f.md"; done. وخيار آخر هو وضع كل شيء في ملف ZIP وتمرير الأرشيف؛ سيعالج البرنامج محتوياته، لكن الملفات التي يتعذر تحليلها ستختفي من دون تحذير.

كيف تختلف المخرجات عن نسخ النص يدويًا؟

تحافظ على البنية. فالنسخ يمنحك نصًا مسطحًا لا يمكن فيه تمييز العنوان عن الفقرة، وينهار الجدول. أما MarkItDown فيحافظ على العناوين والقوائم والجداول، كي يعرف النموذج ماهية كل عنصر. يكون الفرق ضئيلًا لمستند قصير واحد، لكنه حاسم لعشرين مستندًا.

هل يستطيع MarkItDown فتح مستندات محمية بكلمة مرور؟

لا. لن يُفتح الملف المحمي بكلمة مرور، ولا يمكنك تمرير كلمة المرور إلى البرنامج. عليك إزالة الحماية مسبقًا في التطبيق الذي أضافها.

</div>

<div class="section" role="doc-bibliography" aria-label="المصادر">

### المصادر

- [MarkItDown - مستودع المشروع على GitHub](https://github.com/microsoft/markitdown)
- [MarkItDown على PyPI - الإصدارات وتواريخ النشر](https://pypi.org/project/markitdown/)
- [markitdown-mcp - وصف خادم MCP](https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp)
- [Anthropic Skills - كيفية استخدام MarkItDown مع الجداول](https://github.com/anthropics/skills/blob/main/skills/xlsx/SKILL.md)
- [Docling - تحليل المستندات باستخدام نماذج التخطيط](https://docling-project.github.io/docling/)
- [MinerU - تحليل تخطيطات PDF المعقدة](https://github.com/opendatalab/MinerU)
- [Marker - ترخيص أوزان النموذج](https://github.com/datalab-to/marker/blob/master/MODEL_LICENSE)
- [pandoc - محوّل ترميز](https://pandoc.org/)

</div>





وعندما تكون مستعدًا، تعرّف على [Ailoot](https://ailoot.ai/).

## أسئلة شائعة

### هل أصلح CSV بفواصل منقوطة باستبدالها كلها بفواصل؟

لا. قد تحتوي النصوص المقتبسة والتنسيقات العشرية هذه الأحرف. أعد التصدير بالفاصل المقصود، أو استخدم محلل وكاتب CSV بفاصل وترميز واقتباس محددة؛ وتحقق من الأعمدة والصفوف والمجاميع الرقابية مقابل الأصل.

### هل يعني رمز خروج صفري تحويل PDF بصورة مفيدة؟

لا. أعاد مثال المسح الضوئي في المقال مخرجًا فارغًا دون خطأ، وأنتج PDF معقد نصًا غير مقروء. افتح النتيجة وافحص طولها وبنيتها، واستخدم أداة تخطيط أو تعرّف عند فراغ النص أو تشوهه.


## Ailoot · الشركة ومحفظة مشاريعها

تستند Ailoot إلى خبرة تشغيلية متراكمة وقاعدة عملاء واسعة وخدمة مستقرة ومراقبة مستمرة لمؤشرات الأداء KPI.

الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.

توظف Ailoot هذه الخبرة التشغيلية لإتاحة الوصول عبر API إلى قدرات الذكاء الاصطناعي في منتجات العملاء ووكلائهم وتطبيقاتهم وعمليات الأتمتة.
