تحويل PDF إلى Markdown لتوفير توكنات النماذج اللغوية: دليل MarkItDown

تمرير ملفات PDF مباشرة إلى Claude أو أي نموذج لغوي يستهلك التوكنات بصمت: كل صفحة تتحول أيضًا إلى صورة. حوّل الملف إلى Markdown أولًا باستخدام MarkItDown، أداة Microsoft المجانية مفتوحة المصدر، واخفض فاتورة التوكنات بنسبة تصل إلى 80%. دليل كامل مع CLI وPython وإعداد MCP.

تُسقِط ملف PDF من 20 صفحة في Claude، وتطرح سؤالًا واحدًا، فتأتيك الإجابة على ما يرام. ما لا تراه هو الفاتورة. قبل أن يُقرأ سؤالك أصلًا، يمكن لهذا المستند أن يبتلع عشرات الآلاف من التوكنات. كرّر ذلك بضع مرات في اليوم على مستوى فريق كامل، وستجد نفسك تدفع مالًا حقيقيًا لتُغرق نموذجًا بملفات PDF خام كان سيكتفي بسعادة بنص نظيف.

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

لماذا يكلّف ملف PDF هذا الكم من التوكنات

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

  1. يستخرج النص من الصفحة.
  2. يحوّل الصفحة بأكملها إلى صورة، ثم يرسل تلك الصورة إلى جانب النص.

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

أرقام Anthropic تجعل التكلفة ملموسة. النص المستخرج وحده يبلغ 1500 إلى 3000 توكن لكل صفحة حسب الكثافة. وفوق ذلك، تحمل كل صفحة تكلفة صورة. ومن البيانات الكاشفة في تكامل Amazon Bedrock: يستخدم وضع PDF المرئي الكامل نحو 7000 توكن لملف PDF من 3 صفحات، بينما يستخدم استخراج النص العادي للصفحات الثلاث نفسها نحو 1000 توكن. هذا فارق بمقدار 7 أضعاف، ومصدره بالكامل صور الصفحات واحدة تلو الأخرى.

طبّق ذلك على مستند حقيقي. تقرير كثيف من 20 صفحة قد يتراوح بين 40000 و70000 توكن بمجرد أن تتحول كل صفحة إلى صورة نقطية. لم تطلب أي شيء بعد. كل ما فعلته هو أنك فتحت الملف.

رسم بياني بأعمدة يقارن تكلفة التوكنات لمستند واحد من 20 صفحة مُرسَل بصيغة PDF مقابل المستند نفسه محوّلًا إلى Markdown. يكدّس الـ PDF توكنات النص المستخرج زائد توكنات صورة كل صفحة لما يقارب 48000 توكن، بينما تستخدم نسخة Markdown توكنات النص فقط لما يقارب 11000 توكن، أي أقل بنحو 77 بالمئة.

الكتلة البرتقالية المحمرّة عبء صافٍ: صورة لكل صفحة، سواء أكان فيها ما يستحق الرؤية بصريًا أم لا.

الحل: مرّر Markdown نظيفًا بدلًا من ذلك

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

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

حوّل ملف PDF إلى Markdown وستتخلّص تمامًا من صور الصفحات. لا صفحات نقطية، ولا عبء رؤية، فقط النص المُهيكل الذي كان النموذج سيقرأه على أي حال. من هنا تأتي الوفورات.

تعرّف على MarkItDown، محوّل Microsoft المجاني

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

ليست أداة لملفات PDF فحسب. إنها تحوّل قائمة طويلة من الصيغ:

  • مستندات PDF
  • Word (.docx)
  • Excel (.xlsx, .xls)
  • PowerPoint (.pptx)
  • الصور، مع بيانات EXIF الوصفية وOCR للنص داخل الصورة
  • الصوت، مع البيانات الوصفية ونسخ الكلام نصيًا
  • صفحات HTML
  • بيانات CSV وJSON وXML
  • أرشيفات ZIP (تتنقّل عبر محتوياتها)
  • روابط YouTube (تسحب النص التفريغي)
  • كتب EPub الإلكترونية
  • رسائل Outlook (.msg)

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

تثبيت MarkItDown في 30 ثانية

إنها حزمة Python عادية. للحصول على كل شيء، ثبّت الإضافة all:

pip install 'markitdown[all]'

إذا كنت تهتم ببضع صيغ فقط وتريد تثبيتًا أخفّ، فاطلب تلك الإضافات وحدها:

pip install 'markitdown[pdf, docx, pptx]'

تتضمن الخيارات المتاحة [all] و[pdf] و[docx] و[pptx] و[xlsx] و[xls] و[outlook] و[audio-transcription] و[youtube-transcription]، من بين خيارات أخرى.

تحويل PDF إلى Markdown من سطر الأوامر

أسرع مسار هو الـ CLI. وجّهها نحو ملف وأرسل المخرجات إلى حيث تشاء:

markitdown report.pdf -o report.md

أو استخدم إعادة توجيه بسيطة، وهي تؤدي الغرض نفسه:

markitdown report.pdf > report.md

يمكنك أيضًا تمرير ملف مباشرة عبر الأنبوب:

cat report.pdf | markitdown

هذا كل سير العمل. لديك الآن ملف report.md يمكنك تسليمه إلى أي نموذج، أو إسقاطه في مستودع، أو لصقه في محادثة، وتكلّفه جزء يسير من التكلفة الأصلية.

مخطط سير العمل: ملفات مصدر مثل PDF وDOCX وXLSX وPPTX تتدفق إلى MarkItDown، الذي يُخرج ملف Markdown نظيفًا واحدًا، ثم يُمرَّر إلى نموذج لغوي كبير أو وكيل برمجة. علامة توكن تسير على طول المسار لتُظهر المستند وهو ينتقل عبر خط المعالجة.

ملف ثقيل في الدخل، وMarkdown جاهز للوكيل في الخرج، وأمر واحد بينهما.

التحويل في Python (ومعالجة مجلد كامل دفعة واحدة)

إذا كنت توصّل هذا داخل خط معالجة، فإن واجهة Python البرمجية بالقدر نفسه من الإيجاز:

from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False)
result = md.convert("report.pdf")
print(result.text_content)

result.text_content هو سلسلة Markdown الخاصة بك، جاهزة للكتابة على القرص أو التمرير إلى نموذج. ولتحويل مجلد كامل من المستندات في مرور واحد، دُر عليه في حلقة:

from pathlib import Path
from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False)
for src in Path("docs").glob("*.pdf"):
    out = src.with_suffix(".md")
    out.write_text(md.convert(str(src)).text_content, encoding="utf-8")

شغّل ذلك مرة واحدة، فيتحول مجلد من ملفات PDF باهظة إلى مجلد من Markdown رخيص ومُهيكل، يستطيع أي وكيل قراءته في كل دور دون أن يدفع ضريبة الرؤية من جديد.

كم توفّر فعليًا؟

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

PDF مُرسَل إلى النموذجمحوّل إلى Markdown
النص المستخرجنعمنعم
صورة واحدة لكل صفحةنعم، كل صفحةلا
عبء الرؤيةكامللا شيء
مستند من 3 صفحات (رقم Bedrock)~7000 توكن~1000 توكن
مستند من 20 صفحة (تقدير)40000 إلى 70000 توكن10000 إلى 15000 توكن

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

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

متى تُبقي على PDF (لا تُفرط في التحسين)

التحويل هو الخيار الافتراضي الصحيح، لا قاعدة مطلقة. أبقِ على ملف PDF الأصلي حين يكون التخطيط المرئي هو المقصود ذاته:

  • الرسوم البيانية والمنحنيات التي تحتاج فعلًا أن يقرأها النموذج. إذا كان المعنى يقطن في رسم بأعمدة، فإن الصورة تؤدي عملًا حقيقيًا.
  • المستندات الممسوحة ضوئيًا التي هي صور لنص. يستطيع MarkItDown تطبيق OCR عليها، لكن إذا كان التعرّف متذبذبًا، فقد تقرأ رؤية النموذج نفسها الصفحة بموثوقية أعلى.
  • الجداول أو النماذج المرئية المعقّدة حيث يحمل الموضع والمحاذاة معنى يتسطّح في Markdown.
  • الرسوم المعلوماتية والصفحات المثقلة بالتصميم حيث يكون التخطيط هو المحتوى.

أما كل ما عدا ذلك، وهو معظم المستندات، فيفوز فيه Markdown.

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

السؤال ليس أبدًا "PDF أم Markdown" في المطلق. بل هو "هل يحتاج النموذج إلى رؤية هذه الصفحة، أم مجرّد قراءتها؟"

أبعد من ملفات PDF: Word وExcel وPowerPoint، وحتى YouTube

الأمر نفسه المؤلَّف من سطر واحد يعمل على بقية كومة مستنداتك. مستند Word، أو جدول بيانات، أو مجموعة شرائح، أو صفحة ويب، وحتى النص التفريغي لمقطع YouTube، كلها تتقلّص إلى Markdown نظيف بالطريقة ذاتها:

markitdown deck.pptx -o deck.md
markitdown budget.xlsx -o budget.md
markitdown https://www.youtube.com/watch?v=VIDEO_ID -o transcript.md

إذا كان سير عملك يتضمّن استخراج السياق بانتظام من ملفات Office أو من الويب وتسليمه إلى نموذج، فإن توحيد كل شيء إلى Markdown أولًا من أرخص العادات وأعلاها مردودًا التي يمكنك بناؤها.

وصّله بوكلاء البرمجة لديك عبر خادم MCP الخاص بـ MarkItDown

إذا كنت تعمل مع وكلاء برمجة، فالأمر يصبح أفضل بعد. يأتي MarkItDown مزوّدًا بخادم MCP (Model Context Protocol) رسمي، فيستطيع وكيلك تحويل الملفات بنفسه، في أثناء المهمة، دون أن تشغّل أي شيء يدويًا.

ثبّته وشغّله عبر stdio:

pip install markitdown-mcp
markitdown-mcp

يكشف الخادم أداة واحدة، convert_to_markdown(uri)، حيث يمكن أن يكون uri أي عنوان http: أو https: أو file: أو data:. وصّله بوكيلك مرة واحدة، فيستطيع سحب ملف PDF، أو جدول بيانات، أو صفحة ويب وتحويلها إلى Markdown عند الطلب، دافعًا أسعار توكنات النص بدلًا من أسعار الرؤية طوال الوقت.

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

كما أنه يتناغم طبيعيًا مع الطريقة التي تدير بها إعدادات الوكلاء الجيدة سياقها أصلًا. إذا كنت تحتفظ بملف سياق AGENTS.md، فإن توجيهه نحو مراجع .md خفيفة بدلًا من ملفات PDF خام يُبقي نافذة السياق ضيّقة، وهو ما يمثّل، كما تناولنا في حيلة الكناري لرصد انحراف السياق، نصف المعركة في أي جلسة طويلة.

الخلاصة

تمرير ملفات PDF خام إلى نموذج لغوي ضريبة تدفعها دون أن تنتبه، لأن كل صفحة تتحول بهدوء إلى صورة. يزيل MarkItDown هذه الضريبة مجانًا: أمر واحد يحوّل أي ملف تقريبًا إلى Markdown نظيف، فتُسقط ما يصل إلى 80% من تكلفة التوكنات، ويجيب النموذج بالقدر نفسه من الجودة، وغالبًا أفضل، لأنه يقرأ بنية بدلًا من أن يحدّق في صور الصفحات.

حوّل أولًا، ثم اسأل. ستشكرك فاتورة التوكنات ونافذة السياق كلتاهما.

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

تحميل AgentsRoom

شغّل وكلاء Claude على جميع مشاريعك من نافذة واحدة.

مجانيتحميل AgentsRoom

التطبيق المرافق: تابع وكلاءك أينما كنت

استخدم Claude أو Codex أو Gemini CLI أو أي مزود AI آخر.

تثبيت الملحق
Chrome Web Store

أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.

لمحة عن AgentsRoom أثناء العمل.

مشاريع متعددة
متعدد المزوّدين
وكلاء متعددون
حالة مباشرة
فرق الملفات والإيداع
تطبيق الهاتف
معاينة مباشرة
فرق الوكلاء
أتمتة المتصفح
تطوير موجّه بالـ backlog
مكتبة البرومبت
مكتبة المهارات
عرض جميع الميزات