ملفات PDF في Claude Code: التحويل والرموز والحفاظ على البنية
MarkdownMarkItDown وPyMuPDF4LLM وMCP ونصوص برمجية كاملة للتحويل وحدود PDF والحالات التي يكون فيها التحليل البصري أهم من توفير الرموز.
قراءة المقال كاملًا
الخلاصة الرئيسية
تكلّف كل صفحة PDF في Claude Code ما بين 1,500 و3,000 رمز قبل طرح السؤال الأول، وتذكر Anthropic ذلك بوضوح في وثائقها. في الحساب التوضيحي أدناه، يستخدم تقرير ذو 15 صفحة عبر 4 محادثات مختلفة 135,000 رمز إدخال PDF بنحو $0.40، مقابل 18,000 رمز Markdown بـ $0.054؛ أي أقل بنحو 87%. يفترض ذلك 2,250 رمز PDF أو 300 رمز Markdown لكل صفحة بسعر الإدخال في المثال؛ وتختلف الوثائق الفعلية. يشرح هذا الدليل ثلاث طرق للتحويل (MarkItDown وPyMuPDF4LLM وخادم MCP)، إلى جانب نص برمجي bash جاهز للاستخدام مع مجلد من المستندات.
تجد التعليمات العملية لاستخدام Ailoot في الوثائق.
ماذا يحدث لملف PDF في Claude، ولماذا تكلّف كل صفحة 1,500–3,000 رمز؟
الخلاصة الرئيسية
عند تحميل ملف PDF إلى Claude Code، لا يقرؤه كملف نصي. أولًا، تتحول كل صفحة إلى صورة، ثم يُستخرج النص منها، وتُضاف الطبقتان—الصورة والنص—إلى السياق معًا. لذلك تشغل الصفحة الواحدة 1,500–3,000 رمز، وقد يستهلك مستند من 50 صفحة ما بين 75,000 و150,000 رمز قبل أن تطرح سؤالك الأول.
تصف وثائق Anthropic الرسمية العملية في ثلاث خطوات واضحة:
يحوّل النظام كل صفحة من صفحات المستند إلى صورة. ويُستخرج النص من كل صفحة ويُقدّم إلى جانب صورة الصفحة. يحلّل Claude النصوص والصور معًا لفهم المستند على نحو أفضل.
يبدو الأمر منطقيًا، لكن تكاليف المعالجة تزداد خطيًا مع عدد الصفحات. وهذا هو الرقم الذي يفسّر نفاد حد اشتراكك بسبب ملف PDF واحد:
تستخدم كل صفحة عادةً 1,500–3,000 رمز، بحسب كثافة المحتوى. وبما أن كل صفحة تتحول إلى صورة، تنطبق عليها التكلفة نفسها المطبّقة على الصور العادية.
لمعرفة حجم ذلك، قاست Anthropic ملف PDF نفسه المؤلف من 3 صفحات على Bedrock باستخدام وضعين. استهلك وضع النص (Converse Document Chat) نحو 1,000 رمز. أما التحليل البصري (Claude PDF Chat) فاستهلك نحو 7,000 رمز. إدراج الصور يجعل المعالجة أعلى تكلفة بـ7 مرات.
لقطات صفحات المستند أسوأ من ذلك. تكلّف لقطة شاشة بقياس 1000×1000 بكسل نحو 1,300 رمز.
الآلية بسيطة: ملفات PDF مكلفة لأن Claude لا يثق بتقنية OCR الخاصة به. فهو يستخدم النص والصورة معًا ليقارن بينهما، وتدفع تكلفة الطبقتين في الوقت نفسه. ويمكنك التعامل مع المستندات الكبيرة بطريقة مختلفة: احفظ الملف بصيغة Markdown في مجلد مشروعك، وقل لـClaude: «إليك مستندًا يحتوي على معلومات—وزّعها». سيقسّم المحتوى على ملفاته ويتابع العمل على النص المنظّم بدلًا من استهلاك كل شيء دفعة واحدة.
كم يستهلك ملف PDF في مهمة اعتيادية؟
الخلاصة الرئيسية
خذ تقريرًا عامًا ذا 15 صفحة مستخدمًا في 4 سياقات: التحليل والاقتباسات والترجمة والتلخيص. افترض 2,250 رمز إدخال لكل صفحة PDF و300 للصفحة المحولة إلى Markdown وسعر إدخال واحدًا لكليهما. يعطي رفع PDF مجددًا 135,000 رمز إدخال، نحو $0.40؛ ويعطي Markdown 18,000 رمز أو $0.054. يتبع التوفير بنحو 87% هذه الافتراضات، وليس قياسًا لكل PDF.
الأرقام المحددة (نموذج Sonnet 4.x، الإدخال بسعر $3 لكل مليون رمز):
| الطريقة | الرموز (15 صفحة، 4 محادثات) | التكلفة |
|---|---|---|
| تحميل PDF مباشرةً 4 مرات | 15 × 2250 × 4 = 135,000 | ~$0.40 |
| PDF → Markdown + 4 محادثات | 15 × 300 × 4 = 18,000 | ~$0.054 |
| التوفير | −87% | −$0.35 |
وهذه الحسابات تخص دورة واحدة من 4 طلبات فقط. بعد ذلك يأتي دور التخزين المؤقت للموجّهات (مدة صلاحية افتراضية تبلغ 5 دقائق، وتصل إلى ساعة واحدة في المستوى الموسّع، مع خصم يصل إلى 90% على الطلبات المتكررة ضمن النافذة)، فتتضاعف الوفورات.
في كل مرة تحمّل فيها ملف PDF نفسه في محادثة جديدة، يقرؤه Claude من جديد؛ فالتخزين المؤقت لا ينتقل بين المحادثات.
إذا حوّلت ملف PDF نفسه ذي 15 صفحة إلى Markdown مرة واحدة، ثم أضفته إلى كل من أربع محادثات جديدة كملف .md، يستخدم المثال 15 × 300 × 4 = 18,000 رمز إدخال بدل 135,000. يمثل 300 رمز للصفحة المحولة و2,250 للصفحة بصيغة PDF افتراضين للحساب، وليس ثابتين مقاسين لكل PDF. عُدّ رموز وثيقتك وتحقق من جودة التحويل قبل تقدير التوفير.
تزداد أهمية هذه الحسابات مع اشتراك Claude Pro. فقد يستهلك تقرير واحد من 100 صفحة حد الساعات الخمس بأكمله. وبعد تحويله إلى Markdown، تتّسع الميزانية نفسها لأكثر من 10 مستندات من هذا النوع.
ما حدود Anthropic API لملفات PDF في 2026؟
الخلاصة الرئيسية
تفرض Anthropic حدودًا صارمة: 32 MB كحد أقصى لكل طلب (يشمل كل المحتوى، وليس ملف PDF وحده) و600 صفحة كحد أقصى للطلب. لكن الحد أقل بالنسبة إلى نماذج Sonnet 4.x وOpus 4.x الحالية ذات السياق البالغ 200K: 100 صفحة. يمكنك إرسال ملف PDF بثلاث طرق: عبر URL أو بترميز Base64 أو من خلال Files API لإعادة استخدامه باستخدام file_id. وتُستخدم Files API مع تقسيم الملف إلى أجزاء عند التعامل مع المستندات الطويلة.
تسرد وثائق Anthropic الحدود في أعلاها (محدّثة حتى 31 مايو 2026):
| المتطلب | الحد |
|---|---|
| الحد الأقصى لحجم الطلب | 32 MB (يختلف حسب المنصة) |
| الحد الأقصى لعدد الصفحات في الطلب | 600 (100 للنماذج ذات سياق 200K رمز) |
| التنسيق | ملف PDF قياسي بلا كلمات مرور أو تشفير |
ينطبق كلا الحدّين على جسم الطلب بالكامل، بما في ذلك المحتوى المرفق بملف PDF. استخدم Files API مع ملفات PDF الكبيرة وأشِر إليها باستخدام `file_id` لإبقاء جسم الطلب صغيرًا.
تختلف حدود Claude.ai (تطبيق الويب المخصص للمستهلكين): حد أقصى يبلغ 500 MB لكل ملف، وما يصل إلى 20 ملفًا في المحادثة. لكن التحليل البصري يعمل فقط مع ملفات PDF التي لا تتجاوز 100 صفحة؛ أما ما يزيد على ذلك، فلا يرى Claude سوى النص، من دون المخططات والرسوم البيانية.
ثلاث طرق لإرسال ملف PDF عبر API:
- عبر URL -
"source": {"type": "url", "url": "..."}- أبسط طريقة عندما يكون المستند متاحًا على الإنترنت. - بترميز Base64 -
"source": {"type": "base64", "media_type": "application/pdf", "data": "..."}- للملفات المحلية. - عبر Files API -
"source": {"type": "file", "file_id": "file_abc123"}- للطلبات المتكررة؛ ويتطلب ترويسة الإصدار التجريبيanthropic-beta: files-api-2025-04-14.
تُعد Files API الوسيلة الأساسية للتوفير عند العمل على ملف PDF نفسه عبر محادثات مختلفة. حمّله مرة واحدة، واحصل على file_id، ثم استخدمه في جميع التفاعلات. مع cache_control: ephemeral، تكلّف الطلبات المتكررة 10% من السعر المعتاد.
تقدّم Anthropic أيضًا نصائح رسمية لتقليل الاستهلاك:
قد تملأ ملفات PDF الكثيفة (التي تحتوي على الكثير من النصوص الصغيرة أو الجداول المعقدة أو الرسومات الكثيرة) نافذة السياق قبل بلوغ حد الصفحات. حاول تقسيم المستند إلى أقسام؛ وبالنسبة إلى الملفات الكبيرة، خفّض دقة الصور المضمّنة قبل تحميلها.
الطريقة 1: كيف تُعدّ MarkItDown في 5 دقائق؟
الخلاصة الرئيسية
MarkItDown أداة Python من فريق Microsoft AutoGen، تحوّل ملفات PDF وDOCX وPPTX وXLSX وHTML والصوت والصور وحتى مقاطع YouTube إلى Markdown منسّق. لديها 134 ألف نجمة على GitHub، وترخيص MIT، ويمكن تثبيتها بأمر واحد: pip install 'markitdown[all]'. واستخدامها سهل بالقدر نفسه: markitdown document.pdf > document.md. إنها الأداة الأكثر تنوعًا لتحويل الملفات قبل استخدام Claude Code.
MarkItDown مشروع رسمي من Microsoft، ويتولى فريق AutoGen صيانته. لديها 134 ألف نجمة و9.2 ألف نسخة متفرعة على GitHub (حتى نهاية مايو 2026). ويشرح ملف README غرضها مباشرةً:
أداة Python خفيفة لتحويل الملفات إلى Markdown لاستخدامها مع LLMs وخطوط معالجة تحليل النصوص.
التنسيقات المدعومة:
- المستندات: PDF وDOCX وPPTX وXLSX
- الويب: HTML وJSON وXML وCSV
- الوسائط: صوت مع تفريغ نصي، وصور مع EXIF وOCR، ومقاطع YouTube (عبر التسميات التوضيحية)
- الأرشيفات: ZIP وEPub
- أخرى: جميع المرفقات داخل ملفات Outlook MSG
التثبيت
المتطلب: Python 3.10+ (يكون مثبتًا عادةً على macOS؛ أما على Windows فيجب تثبيته على نحو منفصل).
pip install 'markitdown[all]'
إذا لم تكن بحاجة إلى كل التنسيقات، يمكنك تثبيت التنسيقات التي تحتاج إليها فقط:
pip install 'markitdown[pdf, docx, pptx]'
تحويل ملف واحد
أبسط حالة:
markitdown document.pdf > document.md
بعد ذلك، سيظهر document.md في المجلد الحالي. أضفه إلى Claude Code باستخدام @document.md أو ضعه بجوار مشروعك.
Python API
إذا أردت دمجه في نصك البرمجي:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("research-paper.pdf")
print(result.text_content)
# يمكنك حفظه مباشرةً:
with open("research-paper.md", "w") as f:
f.write(result.text_content)
ما الذي لا يستطيع MarkItDown فعله
- OCR لملفات PDF الممسوحة ضوئيًا - لا يعيد أي نتيجة. تحتاج الملفات الممسوحة ضوئيًا إلى PyMuPDF4LLM أو Docling.
- التخطيطات المعقدة متعددة الأعمدة - قد يخلط ترتيب القراءة.
- عناوين URL المضمّنة في ملفات PDF - لا يحافظ عليها.
بالنسبة إلى ملفات PDF البسيطة (التقارير والمقالات والوثائق)، يُعد MarkItDown الخيار الأفضل: أداة متعددة الاستخدامات تُثبّت في دقيقة ولا تتطلب معرفة بـPython. ويعرض تحليل كيفية تحويل PDF إلى نص لاستخدامه مع AI نتائج قياس أدائه على المستندات التي تتضمن نصوصًا سيريليّة وملفات PDF ممسوحة ضوئيًا.
الطريقة 2: ماذا يقدّم PyMuPDF4LLM، ومتى يكون الخيار الأفضل؟
الخلاصة الرئيسية
PyMuPDF4LLM مشروع من Artifex Software يعتمد على محرك MuPDF الأصلي المكتوب بلغة C. إنه أسرع محوّل لملفات PDF (ولا يحتاج إلى GPU)؛ ويُطبّق OCR الذكي على المناطق غير المقروءة فقط، ما يقلل وقت المعالجة بنسبة 50%. وهو الأداة الشائعة الوحيدة التي تحافظ على عناوين URL والصور المضمّنة في ملفات PDF. لكن عيبه ترخيصه المزدوج AGPL v3 / Artifex التجاري: بالنسبة إلى مشاريع SaaS، يعني AGPL أنه يجب عليك نشر الكود.
يتميّز MarkItDown باتساع التنسيقات التي يدعمها، فيما يتعمق PyMuPDF4LLM في معالجة ملفات PDF.
إضافة خفيفة إلى PyMuPDF تحوّل ملفات PDF إلى بيانات منظّمة ونظيفة بأقل قدر من الإعداد.
الإصدار الحالي حتى 31 مايو 2026 هو 1.27.2.3 (صدر في 24 أبريل 2026).
ما الذي يتضمنه
- صفحات متعددة الأعمدة بترتيب القراءة الصحيح
- تحويل الجداول إلى Markdown متوافق مع GitHub
- إزالة الرؤوس والتذييلات تلقائيًا
- استخراج الصور مع روابط نسبية إلى مجلد منفصل
- OCR ذكي: يُطبّق على المناطق غير المقروءة فقط، ويوفر نحو 50% من وقت المعالجة
- محرك C أصلي، ولا يحتاج إلى GPU
التثبيت
pip install pymupdf4llm
الاستخدام
import pymupdf4llm
# الاستخدام الأساسي - التحويل مباشرة إلى Markdown:
md_text = pymupdf4llm.to_markdown("document.pdf")
# حفظه:
with open("document.md", "w") as f:
f.write(md_text)
في سطر واحد، كما وعدنا:
python3 -c "import pymupdf4llm; \
open('document.md','w').write(pymupdf4llm.to_markdown('document.pdf'))"
متى تختار PyMuPDF4LLM بدلًا من MarkItDown
- عندما يحتوي ملف PDF على روابط كثيرة تريد الحفاظ عليها (فـMarkItDown يفقدها).
- عندما يكون المستند ممسوحًا ضوئيًا وتحتاج إلى OCR.
- عندما تحتاج إلى سرعة في معالجة آلاف الملفات محليًا؛ فمحرك C الأصلي أسرع من أغلفة Python.
- عندما تحتاج إلى استخراج صور PDF إلى مجلد منفصل لمزيد من المعالجة.
تفاصيل الترخيص (مهمة للأعمال)
يخضع PyMuPDF4LLM لترخيص مزدوج: AGPL v3 أو ترخيص Artifex التجاري.
معنى AGPL: إذا استخدمت المكتبة في خدمة SaaS عامة، فعليك نشر كامل الشيفرة المصدرية للخدمة بموجب ترخيص AGPL نفسه. أما الاستخدام الداخلي (تشغيل النص البرمجي على حاسوبك المحمول) فلا تقيّده أي شروط.
للتطوير التجاري من دون الإفصاح عن الكود، اشترِ ترخيصًا من Artifex (artifex.com). الأسعار غير منشورة؛ اطلبها من فريق المبيعات.
إذا كنت تبني منتجًا للعملاء، فتحقّق من الترخيص منذ البداية. MarkItDown (MIT) وDocling (MIT) خياران أكثر أمانًا لخدمات SaaS.
الطريقة 3: كيف تربط خادم MarkItDown MCP بـClaude Code؟
الخلاصة الرئيسية
خادم MarkItDown MCP هو MarkItDown نفسه، لكن ضمن بروتوكول MCP، لذا يستطيع Claude Code تحويل ملفات PDF فورًا من دون تحميل الملف الأصلي إلى السياق. اربطه بأمر واحد باستخدام uv مع تثبيت الإصدار: markitdown-mcp@0.0.1a7. والأداة التي يحصل عليها Claude هي convert_to_markdown(uri). تبلغ تكلفة الخمول نحو 110 رموز لوصف المهارة، وتنعدم التكلفة عندما لا تكون مطلوبة.
يعني MarkItDown في وضع CLI: «أحوّل الملفات يدويًا مسبقًا»؛ أما خادم MCP فيعني: «يقرر Claude Code متى يحوّلها».
التثبيت
تحتاج إلى مدير الحزم uv. لا حاجة إلى تثبيت الخادم بشكل منفصل؛ إذ ينزّله uv عند تشغيله أول مرة.
الإعداد في Claude Code
يربط أمر واحد الخادم بجميع مشاريعك مع تثبيت الإصدار:
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
ينبغي أن يظهر بجوار markitdown وصف “Connected”. ينزّل التشغيل الأول نحو 70 حزمة وقد يستغرق دقيقة؛ وبعدها يبدأ الخادم خلال ثانية أو ثانيتين.
إليك سبب الحاجة إلى المتغيرين في الأمر. يعطّل ORT_DISABLE_TELEMETRY=1 الإحصاءات التي يرسلها محرك onnxruntime المضمّن في الخادم إلى Microsoft افتراضيًا على Mac وLinux. ويشغّل UV_PYTHON=3.12 الخادم باستخدام Python 3.12، الذي تتوفر له حزم مُعدّة مسبقًا على Windows وLinux وأجهزة Mac المزودة بمعالجات Apple Silicon. وعلى أجهزة Intel Mac وmacOS 13 والإصدارات الأقدم، لا يُثبّت الخادم باستخدام Python 3.14. ثمة ملاحظة تخص Intel و3.12: سيبني uv مكتبة cryptography من المصدر، لأن حزمة Intel مُعدّة مسبقًا غير متاحة منذ يونيو 2026. يستغرق التثبيت وقتًا أطول وقد يفشل. إذا لم يكن Python 3.12 مثبتًا لديك، فسينزّله uv.
يعمل الخادم مباشرةً على حاسوبك ويمكنه فتح أي ملف تستطيع الوصول إليه. إذا كان Claude Code مفتوحًا، فأعد تشغيله؛ وسيظهر markitdown في قائمة خوادم MCP.
طريقة الاستخدام
قل ببساطة في Claude Code:
حوّل /Users/your-user/Documents/report.pdf إلى Markdown وحلّل النقاط الرئيسية.
يستدعي Claude الأداة convert_to_markdown(uri) بنفسه، ويحصل على Markdown، ثم يعمل عليه؛ ولا يُحمّل ملف PDF إلى السياق أصلًا.
عناوين URI المدعومة
file://- الملفات المحليةhttp://وhttps://- المستندات المتاحة على الإنترنتdata:- بيانات مضمنة (Base64)
الأمان
من ملف README الرسمي:
لا يدعم الخادم التفويض، ويعمل بصلاحيات المستخدم الذي شغّله.
يرتبط الخادم افتراضيًا بـlocalhost. إذا شغّلته عبر HTTP/SSE (الخيار --http --host 127.0.0.1 --port 3001)، فلا تكشف المنفذ للعامة من دون وكيل عكسي يتطلب المصادقة.
أي طريقة تختار لمهمتك؟
الخلاصة الرئيسية
MarkItDown أداة متعددة الاستخدامات إذا كنت تتعامل مع تنسيقات مختلفة (PDF + DOCX + PPTX + YouTube) وتحتاج إلى أمر CLI سريع. أما PyMuPDF4LLM فهو متخصص في PDF: أسرع، مع OCR والحفاظ على الروابط، لكنه ينطوي على مأزق ترخيص AGPL لخدمات SaaS. وDocling أداة بمستوى الإنتاج وتتعامل مع الجداول والصيغ على أفضل وجه. أما Marker فهو مخصص للأوراق العلمية التي تتضمن صيغًا رياضية. وخادم MCP مناسب عندما لا تريد التفكير في التحويل وتريد أن يقرر Claude Code بنفسه.
جدول مقارنة موسّع:
| الأداة | نجوم GitHub | الأنسب لـ | السرعة | الترخيص |
|---|---|---|---|---|
| MarkItDown (Microsoft) | 134k | PDF + DOCX + PPTX + YouTube + الصوت | متوسطة | MIT |
| PyMuPDF4LLM (Artifex) | - | PDF أصلي، وOCR، وعناوين URL مضمّنة | الأسرع (دون GPU) | AGPL v3 / تجاري |
| Docling (IBM Research) | 60.7k | RAG للإنتاج، والجداول، والصيغ | متوسطة | MIT |
| Marker (datalab.to) | 35.6k | ملفات PDF العلمية، وarXiv، والصيغ | عالية (باستخدام GPU) | GPL-3.0 + Open Rail-M |
| MinerU | - | مستندات CJK (الصينية/اليابانية) | عالية | Apache-2.0 |
ينشر Marker أرقامًا لافتة للدقة في الاختبارات المعيارية:
0.18 ثانية لكل صفحة على وحدة معالجة رسومية H100 (122 صفحة في الثانية). دقة تبلغ 95.67% مقارنةً بـ84.24% لـLlamaparse و86.43% لـMathpix. وتبلغ الدقة في الأوراق العلمية 96.67%.
لكن Marker يحتاج إلى GPU لتحقيق سرعة جيدة، كما يضم نماذج تعلّم آلي. أما معظم المهام (ملفات PDF النصية العادية)، فيمكن إنجازها باستخدام PyMuPDF4LLM أو MarkItDown خلال ثوانٍ ومن دون GPU.
قاعدة بسيطة للاختيار
- ملف PDF واحد أو اثنان، وتريد إنجازهما بسرعة - MarkItDown CLI.
- عشرات ملفات PDF وتحتاج إلى الأتمتة - خادم MarkItDown MCP أو PyMuPDF4LLM ضمن نص برمجي.
- ملفات PDF تحوي روابط وصورًا، والحفاظ على بنيتها مهم - PyMuPDF4LLM.
- RAG للإنتاج في الأعمال، حيث ثبات الجداول مهم - Docling.
- أوراق علمية تتضمن صيغًا رياضية - Marker.
- لا تريد التفكير في الأمر، ودع Claude يحوّل الملف - خادم MarkItDown MCP.
كيف تكتب نصًا برمجيًا جاهزًا لتحويل مجلد من المستندات تلقائيًا؟
الخلاصة الرئيسية
الطريقة العملية الأكثر ملاءمة هي استخدام نص برمجي bash يتصفح مجلد المشروع، ويحوّل جميع ملفات PDF وDOCX وPPTX إلى Markdown، ثم يضعها في مجلد فرعي باسم _md/. أعدّ الإعداد مرة واحدة، وسيصبح أي مجلد جديد من المستندات «مقروءًا لدى Claude» بخطوة واحدة. بعد ذلك، أضف _md/ إلى Claude Code باستخدام @_md/ واعمل على النص المضغوط.
مثال عملي: تخيّل أن لديك 40 تقريرًا بصيغة PDF وPPTX من عملاء في مجلد واحد—كشوف حسابات الوساطة والعقود والعروض التقديمية. تحميل المجلد مباشرةً إلى Claude لن يفيد؛ فستمتلئ نافذة السياق بالمعلومات قبل أن تتلقى أول رد. مرّر المجلد كاملًا عبر النص البرمجي أدناه مرة واحدة، ثم تابع العمل على ملفات .md خفيفة بدلًا من ملفات PDF كبيرة.
احفظ هذا النص البرمجي في scripts/docs-to-md.sh في جذر المشروع:
#!/bin/bash
# docs-to-md.sh - يحوّل جميع المستندات في مجلد إلى Markdown باستخدام MarkItDown
# الاستخدام: bash docs-to-md.sh ./documents
set -e
INPUT_DIR="${1:-./documents}"
OUTPUT_DIR="${INPUT_DIR}/_md"
mkdir -p "$OUTPUT_DIR"
echo "Scanning $INPUT_DIR..."
for file in "$INPUT_DIR"/*.{pdf,docx,pptx,xlsx}; do
[ -f "$file" ] || continue
basename=$(basename "$file")
name="${basename%.*}"
output="$OUTPUT_DIR/${name}.md"
if [ -f "$output" ] && [ "$output" -nt "$file" ]; then
echo "Skipping $basename (already converted)"
continue
fi
echo "Converting $basename..."
markitdown "$file" > "$output"
done
echo "Done. Results are in $OUTPUT_DIR"
اجعله قابلًا للتنفيذ:
chmod +x scripts/docs-to-md.sh
شغّله:
bash scripts/docs-to-md.sh ./reports
بعد التشغيل، سيحتوي ./reports/_md/ على نسخ .md من جميع المستندات. أضفها إلى Claude Code باستخدام @reports/_md/، واعمل على النص المضغوط بدلًا من ملفات PDF.
يتخطى النص البرمجي تلقائيًا الملفات التي سبق تحويلها (إذا كان ملف .md أحدث من الملف المصدر)؛ لذا فإن إعادة تشغيله سريعة ولا تعيد حساب كل شيء.
idempotency والتحويل التدريجي
إذا أردت أن يكتشف النص البرمجي ملفات PDF التي تغيّرت (وأُعيد حفظها بالاسم نفسه)، فأضف فحصًا لبصمة المحتوى:
hash=$(shasum -a 256 "$file" | cut -d' ' -f1)
hash_file="$OUTPUT_DIR/.${name}.sha256"
if [ -f "$hash_file" ] && [ "$(cat "$hash_file")" = "$hash" ]; then
echo "Skipping $basename (hash matches)"
continue
fi
markitdown "$file" > "$output"
echo "$hash" > "$hash_file"
يعيد هذا الإصدار تحويل الملف فقط إذا تغيّر محتواه.
متى يكون استخدام PDF في Claude أفضل من Markdown؟
الخلاصة الرئيسية
يفقد التحويل إلى Markdown ثلاثة أشياء: العناصر المرئية (المخططات والرسوم البيانية والمخططات الهندسية)، والجداول المعقدة ذات الخلايا المدمجة والتعليقات التوضيحية، والتنسيق الكامل للمستند بوصفه كيانًا مستقلًا (مثل عقد تحتاج إلى الاستشهاد به حسب الصفحة). إذا كانت هذه الأمور مهمة للمهمة، فأبقِ ملف PDF، وفعّل التحليل البصري، وتحمّل تكلفته عن دراية.
ثلاث حالات لا يفي فيها التحويل إلى Markdown بالغرض:
1. التحليل البصري للمخططات والرسوم البيانية
إذا احتاج Claude إلى «قراءة» رسم بياني—مثل منحنى الأسعار أو مخطط عملية أو مخطط بنية—فلن تكون هذه المعلومات موجودة في Markdown. يحافظ Markdown على التعليقات التوضيحية للأشكال فقط؛ أما الشكل نفسه فيضيع.
الحل: حمّل ملف PDF وفعّل الوضع البصري صراحةً. يعمل الخيار تلقائيًا في Claude API؛ أما في AWS Bedrock فتحتاج إلى خيار citations.
يحلّل Claude النصوص والصور معًا لفهم المستند على نحو أفضل.
2. الجداول المعقدة ذات الخلايا المدمجة
جداول Markdown مسطّحة. إذا احتوى ملف PDF على جدول بخلايا مدمجة أو رؤوس متعددة المستويات أو جداول فرعية متداخلة، فسيحوّله المحوّل إلى بنية مسطّحة أو يفقد الروابط بين أجزائه.
الحل: استخدم ملف PDF مباشرةً أو Docling (فهو الأفضل في التعامل مع الجداول المعقدة) أو نسّق الجدول يدويًا بعد التحويل.
3. المستندات بوصفها مراجع مع أرقام الصفحات
في المستندات القانونية والعقود ومحاضر الاجتماعات، من المهم أن تتمكن من الاستشهاد بعبارة «الصفحة 7، الفقرة 3». تضيع أرقام الصفحات في Markdown.
الحل: PDF + Files API + التخزين المؤقت للموجّهات. حمّله مرة واحدة، ثم أشِر إليه باستخدام file_id؛ عندها يرى Claude ترقيم الصفحات ويمكنه الاستشهاد بصفحات محددة.
المستندات القصيرة
إذا كان ملف PDF أقل من صفحتين وكنت ستستخدمه مرة واحدة، فلا يستحق التحويل. فالتوفير من 5,000 رمز لملف PDF إلى 800 رمز في Markdown لا يبرر تثبيت MarkItDown.
تبدأ نقطة التعادل عند نحو 5 صفحات أو أكثر، أو عند استخدام المستند نفسه مرتين أو أكثر. دون ذلك، حمّل ملف PDF مباشرةً؛ وفوق ذلك، حوّله.
ما الأخطاء الخمسة الأكثر شيوعًا عند استخدام ملفات PDF في Claude؟
الخلاصة الرئيسية
أبرز الأخطاء: تحميل ملف PDF نفسه مجددًا في محادثات مختلفة بدلًا من تحويله مرة واحدة، وعدم استخدام التخزين المؤقت للموجّهات مع الطلبات المتكررة، واستخدام لقطات الشاشة بدلًا من النص، وإهمال OCR في ملفات PDF الممسوحة ضوئيًا، وتجاهل حد الصفحات البالغ 100 صفحة للنماذج ذات سياق 200K. يكلّف كل خطأ عشرات الآلاف من الرموز بلا داعٍ.
1. تحميل ملف PDF نفسه في كل محادثة جديدة
يفرض Claude Pro حدًا للرسائل على مدى 5 ساعات؛ وقد يستهلك تقرير واحد من 50 صفحة الحد كله قبل أن تطرح سؤالًا ثانيًا.
هناك مبدأ بسيط: مهمة واحدة—محادثة واحدة. عندما يبدأ AI باستهلاك عدد هائل من الرموز، فهذا يعني أنك تحشر كل شيء في محادثة واحدة وتعيد إدراج ملف PDF مرارًا. خصّص مهمة صغيرة واحدة لكل نافذة. حوّل المستند إلى Markdown مرة واحدة، ثم أضف ملف .md إلى كل نافذة جديدة بجوار المشروع. لن تتحول دائرة نافذة السياق إلى اللون الأصفر.
الحل: حوّله إلى Markdown مرة واحدة، أو استخدم Files API مع file_id والتخزين المؤقت للموجّهات.
2. استخدام لقطة شاشة بدلًا من النص
مثال شائع: يريد شخص أن يري Claude جزءًا من الكود أو جدولًا، فيأخذ لقطة شاشة للشاشة بأكملها بقياس 1920×1080، ثم يتساءل عن سبب نفاد الحد بعد 5 طلبات.
تكلّف لقطة شاشة بقياس 1000×1000 بكسل نحو 1,300 رمز. أما النص نفسه إذا نُسخ يدويًا فيكلّف 50–100 رمز. أي فرق يتراوح بين 13 و26 ضعفًا.
الحل: اقتطع لقطات الشاشة بدقة لتشمل الجزء المهم فقط، أو الأفضل من ذلك، انسخ النص مباشرةً.
3. ملف PDF ممسوح ضوئيًا بلا OCR
لا يستطيع MarkItDown إجراء OCR. إذا حوّلت ملفًا ممسوحًا ضوئيًا، فستكون النتيجة ملف .md فارغًا (أو 3 أسطر من التشويش).
الحل: استخدم PyMuPDF4LLM (مع OCR الذكي المضمّن فيه) أو Docling للملفات الممسوحة ضوئيًا.
4. تجاهل حد الصفحات البالغ 100 صفحة
تحدد وثائق Anthropic الحد الأقصى بـ600 صفحة للطلب، لكن الحد الفعلي للنماذج ذات سياق 200K (Sonnet 4.x وOpus 4.x) هو 100 صفحة. ويستهدف حد 600 صفحة النماذج الأقدم أو المستويات الخاصة.
إذا حمّلت تقريرًا من 150 صفحة إلى Sonnet 4.6، فستحصل على خطأ أو، ما هو أسوأ، سيعالج Claude أول 100 صفحة فقط ويتصرف كما لو أنه قرأ المستند كاملًا.
الحل: قسّم ملفات PDF الطويلة إلى أجزاء قبل تحميلها، أو حوّلها إلى Markdown؛ فلا يوجد حد للصفحات، بل حد للرموز فقط.
5. عدم استخدام التخزين المؤقت للموجّهات مع الطلبات المتكررة
إذا كنت تعمل على المستند نفسه عبر API، فأحط محتواه بـcache_control: ephemeral. تكلّف الطلبات المتكررة خلال 5 دقائق 10% من السعر الأولي. يكلّف الطلب الأول أكثر، وتحصل بقية الطلبات على خصم 90%.
الحل: فعّل التخزين المؤقت للموجّهات افتراضيًا لكل ما تحمّله أكثر من مرة.
الخطوة التالية: هندسة السياق
الخلاصة الرئيسية
تحويل ملفات PDF إلى Markdown إحدى تقنيات هندسة السياق، وهي مهارة جديدة للعمل مع AI. الموجّه سؤال. أما السياق فهو كل ما يراه Claude قبل السؤال وحوله: موجّه النظام وCLAUDE.md والملفات وخوادم MCP وسجل الجلسة. كلما كان السياق أنظف، زادت دقة الإجابة وانخفضت تكلفتها. اقرأ التحليل الكامل في دليل «هندسة السياق في 2026».
تحويل PDF إلى Markdown طريقة لتوفير الرموز. لكنه وحده لا يجعل إجابات Claude أدق. تأتي الدقة من هندسة السياق—أي تحديد ما تضعه في سياق النموذج قبل طرح السؤال.
إذا احتوى ملف CLAUDE.md على 800 سطر، وضمّ مشروعك 10 خوادم MCP غير ضرورية، وأضفت ملف PDF من 100 صفحة، فسيمنع التحويل إلى Markdown أحد مصادر الهدر، لكن المصادر الثلاثة الأخرى ستبقى. لذلك تتناول هذه الأدلة ما يلي:
- أين تُستهلك الرموز في Claude Code - 9 أنماط لتسرّب السياق، وليس ملفات PDF فقط.
- هندسة السياق في 2026 - إدارة السياق بطريقة منهجية.
- وضع Plan Mode في Claude Code - وضع التخطيط قبل أن يبدأ Claude بكتابة الكود.
المصادر
تابع استكشاف Ailoot على ailoot.ai.
المزيد من التفاصيل
أسئلة شائعة
كم رمز Markdown يستخدم مثال 15 صفحة وأربع محادثات؟
بافتراض المقال 300 رمز لكل صفحة محولة، يكون الإجمالي 15 × 300 × 4 = 18,000 رمز إدخال. هذا تقدير توضيحي؛ عُدّ رموز الوثيقة المحولة لملفك الفعلي.
هل يكفي التحويل النصي لكل PDF؟
لا. قارن Markdown المحول بملف PDF، خاصة الجداول وترتيب الصفحات والمحتوى المعتمد على الصور. قارن الرموز بعد التأكد من بقاء المعلومات اللازمة لمهمتك فقط.