# Claude Code’da PDF’lar: konvertatsiya, tokenlar va tuzilmani saqlash

> MarkItDown, PyMuPDF4LLM, MCP, to‘liq konvertatsiya skriptlari, PDF cheklovlari va tokenlarni tejashdan ko‘ra vizual tahlil muhimroq bo‘ladigan holatlar.

Source: https://ailoot.ai/blog/uz/pdf-claude-code-markdown/
Canonical: https://ailoot.ai/blog/uz/pdf-claude-code-markdown/
Language: uz
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-196
Revision: sha256-22c3bc05daba370736ce4ed36d6cd9a4bd4851198692c43c9579d058f531f360


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Claude Code’da PDF’ning har bir sahifasi birinchi savoldan oldin 1 500–3 000 token sarflaydi — Anthropic buni hujjatlarida ochiq aytadi. Quyidagi misoliy hisobda 15 sahifa to‘rtta chatda PDF sifatida 135 000 kirish tokeni va taxminan $0.40, Markdown’da 18 000 token va $0.054 — taxminan 87% kam. Bu misol tarifi va sahifaga 2 250 PDF yoki 300 Markdown tokeni faraziga asoslangan; hujjatlar farq qiladi. Ushbu qo‘llanmada uchta konvertatsiya usuli (MarkItDown, PyMuPDF4LLM va MCP serveri) hamda hujjatlar papkasi uchun tayyor bash skripti ko‘rib chiqiladi.

</div>

<div class="aside" data-semantic="ailoot-docs-link" aria-label="Ailoot hujjatlari">

Ailoot’dan foydalanish bo‘yicha amaliy ko‘rsatmalar [hujjatlarda](https://ailoot.ai/docs/) berilgan.

</div>

## Claude’da PDF bilan nima sodir bo‘ladi va nega har bir sahifa 1 500–3 000 token turadi?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Claude Code’ga PDF yuklaganingizda, u uni matn fayli sifatida o‘qimaydi. Avval har bir sahifa tasvirga aylantiriladi, keyin undan matn ajratib olinadi va ikkala qatlam — tasvir ham, matn ham — birgalikda kontekstga qo‘shiladi. Shu sababli bitta sahifa 1 500–3 000 token joy egallaydi, 50 sahifali hujjat esa birinchi savolingizni berishdan oldin 75 000–150 000 token ishlatishi mumkin.

</div>

Anthropic’ning rasmiy hujjatlarida jarayon uchta sodda qadamda tasvirlangan:

<figure>
<blockquote>
<p>Tizim hujjatning har bir sahifasini tasvirga aylantiradi. Har bir sahifadagi matn ajratib olinib, sahifa tasviri bilan birga taqdim etiladi. Claude hujjatni yaxshiroq tushunish uchun matn va tasvirlarni birgalikda tahlil qiladi.</p>
</blockquote>
<figcaption>— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

Bu mantiqli tuyuladi, ammo sahifalar soni ortgani sari ishlov berish xarajati ham chiziqli ravishda oshadi. Obuna limitingiz nega bitta PDF’ning o‘zida tugab qolishini ko‘rsatadigan raqam esa mana bu:

<figure>
<blockquote>
<p>Har bir sahifa, undagi ma’lumotlar zichligiga qarab, odatda 1 500–3 000 token ishlatadi. Har bir sahifa tasvirga aylantirilgani uchun standart tasvirlar bilan bir xil xarajat qo‘llanadi.</p>
</blockquote>
<figcaption>— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

Bu miqdorni tasavvur qilish uchun Anthropic Bedrock’da aynan bir xil 3 sahifali PDF’ni ikki rejimda o‘lchadi. Matn rejimida (Converse Document Chat) u ~1 000 token ishlatdi. Vizual tahlil bilan (Claude PDF Chat) esa ~7 000 token ishlatdi. Tasvirlarni qo‘shish ishlov berishni **7 baravar qimmatlashtiradi**.

Sahifa skrinshotlari bundan ham yomon. 1000×1000 pikselli skrinshot taxminan 1 300 token turadi.

Mexanizmi oddiy: PDF’lar qimmat, chunki Claude OCR’iga to‘liq ishonmaydi. Matn va tasvirni solishtirish uchun ikkalasidan ham foydalanadi — siz esa bir vaqtning o‘zida ikkala qatlam uchun haq to‘laysiz. Katta hujjatlar uchun boshqacha yo‘l tutishingiz mumkin: faylni loyiha papkangizda Markdown sifatida saqlang va Claude’ga “mana ma’lumotlar bor hujjat — uni tartiblab chiq” deb ayting. U mazmunni o‘z fayllariga taqsimlaydi va hammasini birdaniga sarflash o‘rniga tartiblangan matn bilan ishlashda davom etadi.

## Oddiy vazifada PDF qancha sarflaydi?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

15 sahifali ochiq hisobotni tahlil, iqtibos, tarjima va xulosa uchun 4 xil kontekstda olaylik. PDF sahifasiga 2 250, Markdown sahifasiga 300 kirish tokeni va bir xil tarif deb faraz qilamiz. PDF’ni qayta yuklash 135 000 token, taxminan $0.40; Markdown 18 000 token, $0.054. Taxminan 87% tejam shu farazlardan keladi, har PDF o‘lchovidan emas.

</div>

Aniq raqamlar (Sonnet 4.x modeli, har bir million token uchun kiruvchi ma’lumot narxi $3):

| Yondashuv | Tokenlar (15 sahifa, 4 chat) | Xarajat |
|------------------------------|-----------------------------|-------------|
| PDF’ni bevosita 4 marta yuklash | 15 × 2250 × 4 = **135 000** | ~$0.40 |
| PDF → Markdown + 4 chat | 15 × 300 × 4 = **18 000** | ~$0.054 |
| Tejash | **−87%** | **−$0.35** |

Bu atigi 4 so‘rovdan iborat bitta davr uchun. Shundan keyin prompt keshlash ishga tushadi (standart TTL 5 daqiqa, kengaytirilgan bosqichda 1 soatgacha, shu muddat ichida takroriy chaqiruvlarga 90% gacha chegirma) — tejash ko‘payadi.

Har safar yangi chatda o‘sha PDF’ni yuklaganingizda, Claude uni qayta o‘qiydi; kesh chatlar orasida saqlanmaydi.

15 sahifali PDF’ni bir marta Markdown’ga aylantirib, to‘rtta yangi chatga `.md` sifatida bersangiz, bu misolda 135 000 o‘rniga 15 × 300 × 4 = 18 000 kirish tokeni ishlatiladi. O‘girilgan sahifaga 300 va PDF sahifasiga 2 250 token — shu hisob farazlari, har PDF uchun o‘lchangan doimiy sonlar emas. Tejamni baholashdan oldin haqiqiy hujjat tokenlarini va o‘girish sifatini tekshiring.

Claude Pro obunasi bilan bu hisob yanada ahamiyatli bo‘ladi. Bitta 100 sahifali hisobot 5 soatlik limitingizni to‘liq tugatishi mumkin. Markdown’ga aylantirgandan keyin esa shu budjetga 10+ ta shunday hujjat sig‘adi.

## 2026-yilda Anthropic API’ning PDF cheklovlari qanday?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Anthropic qat’iy cheklovlar qo‘yadi: har bir so‘rov uchun eng ko‘pi bilan 32 MB (faqat PDF emas, butun mazmun hisoblanadi) va har bir so‘rovda ko‘pi bilan 600 sahifa. Ammo hozirgi Sonnet 4.x va Opus 4.x, 200K kontekst modellarida limit pastroq — **100 sahifa**. PDF’ni uch usulda yuborish mumkin: URL orqali, Base64 ko‘rinishida yoki qayta ishlatish uchun `file_id` beradigan Files API orqali. Files API va hujjatni qismlarga ajratish uzun hujjatlar uchun ishlatiladi.

</div>

Anthropic hujjatlarida cheklovlar yuqorida keltirilgan (2026-yil 31-may holatiga ko‘ra amaldagi):

| Talab | Cheklov |
|-----------------------------|--------------------------------------------|
| So‘rovning maksimal hajmi | 32 MB (platformaga qarab farq qiladi) |
| Bir so‘rovdagi sahifalarning maksimal soni | 600 (200K tokenli kontekst modellari uchun 100) |
| Format | Parol yoki shifrlashsiz standart PDF |

<figure>
<blockquote>
<p>Ikkala cheklov ham so‘rov tanasining barcha qismlariga, jumladan PDF bilan birga yuborilgan mazmunga tegishli. Katta PDF’lar uchun Files API’dan foydalaning va so‘rov tanasini kichik saqlash maqsadida ularni `file_id` bilan ko‘rsating.</p>
</blockquote>
<figcaption>— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

Claude.ai (iste’molchilar uchun veb-ilova) boshqa cheklovlarga ega: har bir fayl ko‘pi bilan 500 MB, bitta chatda esa 20 tagacha fayl. Biroq vizual tahlil faqat 100 sahifagacha bo‘lgan PDF’lar bilan ishlaydi — undan kattalarida Claude diagramma va chizmalarsiz, faqat matnni ko‘radi.

PDF’ni API orqali yuborishning uchta usuli:

1. **URL orqali** - `"source": {"type": "url", "url": "..."}` - hujjat onlayn bo‘lsa, eng sodda usul.
2. **Base64 ko‘rinishida** - `"source": {"type": "base64", "media_type": "application/pdf", "data": "..."}` - mahalliy fayllar uchun.
3. **Files API orqali** - `"source": {"type": "file", "file_id": "file_abc123"}` - takroriy so‘rovlar uchun; `anthropic-beta: files-api-2025-04-14` beta sarlavhasi kerak.

Bir xil PDF’ni turli chatlarda ishlatganda Files API tejashning asosiy usuli hisoblanadi. Uni bir marta yuklang, `file_id` oling va keyingi barcha muloqotlarda undan foydalaning. `cache_control: ephemeral` bilan takroriy chaqiruvlar odatdagi narxning 10% ini tashkil qiladi.

Anthropic foydalanishni kamaytirish bo‘yicha rasmiy tavsiyalar ham beradi:

<figure>
<blockquote>
<p>Zich PDF’lar (mayda matn, murakkab jadvallar yoki ko‘p grafikalar bilan) sahifalar limitiga yetmasdan kontekst oynasini to‘ldirishi mumkin. Hujjatni bo‘limlarga ajratib ko‘ring; katta fayllar uchun yuklashdan oldin ichiga joylangan tasvirlar aniqligini pasaytiring.</p>
</blockquote>
<figcaption>— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

## 1-usul: MarkItDown’ni 5 daqiqada qanday sozlash mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

MarkItDown — Microsoft AutoGen jamoasining Python yordamchi vositasi bo‘lib, PDF, DOCX, PPTX, XLSX, HTML, audio, tasvirlar va hatto YouTube videolarini toza Markdown’ga aylantiradi. GitHub’da 134 ming yulduzga ega, MIT litsenziyasi bilan tarqatiladi va bitta buyruq orqali o‘rnatiladi: `pip install 'markitdown[all]'`. Ishlatish ham shunchalik oson: `markitdown document.pdf > document.md`. Claude Code’dan foydalanishdan oldin fayllarni aylantirish uchun eng ko‘p qirrali vosita.

</div>

MarkItDown — AutoGen jamoasi yuritadigan Microsoft’ning rasmiy loyihasi. 2026-yil may oyi oxiridagi holatga ko‘ra, GitHub’da 134 ming yulduz va 9,2 ming fork bor. Loyihaning maqsadi README’da bevosita bayon qilingan:

<figure>
<blockquote>
<p>LLM’lar va matn tahlili jarayonlarida foydalanish uchun fayllarni Markdown’ga aylantiradigan yengil Python yordamchi vositasi.</p>
</blockquote>
<figcaption>— Microsoft, https://github.com/microsoft/markitdown</figcaption>
</figure>

Qo‘llab-quvvatlanadigan formatlar:

- **Hujjatlar:** PDF, DOCX, PPTX, XLSX
- **Veb:** HTML, JSON, XML, CSV
- **Media:** transkripsiyali audio, EXIF va OCR’li tasvirlar, YouTube videolari (subtitrlar orqali)
- **Arxivlar:** ZIP, EPub
- **Boshqa:** Outlook MSG fayllaridagi barcha biriktirmalar

### O‘rnatish

Talab: Python 3.10+ (odatda macOS’da allaqachon o‘rnatilgan bo‘ladi; Windows’da alohida o‘rnatish kerak).

```bash
pip install 'markitdown[all]'
```

Barcha formatlar kerak bo‘lmasa, keraklilarinigina o‘rnatishingiz mumkin:

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

### Bitta faylni konvertatsiya qilish

Eng sodda holat:

```bash
markitdown document.pdf > document.md
```

Shundan so‘ng joriy papkada `document.md` paydo bo‘ladi. Uni `@document.md` orqali Claude Code’ga kiriting yoki shunchaki loyiha yoniga qo‘ying.

### Python API

Skriptingizga qo‘shmoqchi bo‘lsangiz:

```python
from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("research-paper.pdf")
print(result.text_content)

# Uni darhol saqlashingiz mumkin:
with open("research-paper.md", "w") as f:
    f.write(result.text_content)
```

### MarkItDown NIMA QILA OLMAYDI

- **Skanerlangan PDF’lar uchun OCR** - hech narsa qaytarmaydi. Skanerlar uchun PyMuPDF4LLM yoki Docling kerak.
- **Bir necha ustunli murakkab maketlar** - o‘qish tartibini chalkashtirib yuborishi mumkin.
- **PDF ichiga joylangan URL’lar** - ularni saqlab qolmaydi.

Oddiy PDF’lar (hisobotlar, maqolalar, hujjatlar) uchun MarkItDown eng yaxshi tanlov: ko‘p qirrali, bir daqiqada o‘rnatiladi va Python bilishni talab qilmaydi. Kirill yozuvidagi matn va skanerlar bilan qanday ishlashi [AI uchun PDF’ni matnga aylantirish](https://ailoot.ai/blog/uz/markitdown-pdf-word-to-text/) tahlilidagi o‘lchovlarda ko‘rsatilgan.

## 2-usul: PyMuPDF4LLM nimalarni taklif qiladi va qachon u yaxshiroq?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

PyMuPDF4LLM — native C MuPDF dvigateliga asoslangan Artifex Software loyihasi. Bu eng tez PDF konvertori (GPU kerak emas); aqlli OCR faqat o‘qib bo‘lmaydigan qismlarga qo‘llanadi va ishlov vaqtini 50% kamaytiradi. PDF’dagi ichki URL va tasvirlarni saqlab qoladigan mashhur vositalar ichida yagona. Kamchiligi — ikki xil AGPL v3 / Artifex tijoriy litsenziyasi: SaaS loyihalari uchun AGPL kodni oshkor etishni talab qiladi.

</div>

MarkItDown formatlarning kengligini taklif qilsa, PyMuPDF4LLM PDF’ni chuqur qayta ishlashni taklif qiladi.

<figure>
<blockquote>
<p>PDF’larni toza, tuzilgan ma’lumotlarga aylantiradigan va juda oz sozlashni talab qiladigan yengil PyMuPDF kengaytmasi.</p>
</blockquote>
<figcaption>— Artifex Software, https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/</figcaption>
</figure>

2026-yil 31-may holatidagi versiyasi 1.27.2.3 (2026-yil 24-aprelda chiqarilgan).

### Nimalar kiradi

- To‘g‘ri o‘qish tartibidagi ko‘p ustunli sahifalar
- GitHub uslubidagi Markdown’ga aylantirilgan jadvallar
- Sarlavha va pastki kolontitullar avtomatik olib tashlanadi
- Tasvirlar ajratib olinib, alohida papkaga nisbiy havolalar bilan joylanadi
- Aqlli OCR: faqat o‘qib bo‘lmaydigan qismlarga qo‘llanib, ishlov vaqtining ~50% ini tejaydi
- Native C dvigateli, **GPU kerak emas**

### O‘rnatish

```bash
pip install pymupdf4llm
```

### Foydalanish

```python
import pymupdf4llm

# Asosiy foydalanish - to‘g‘ridan-to‘g‘ri Markdown formatiga:
md_text = pymupdf4llm.to_markdown("document.pdf")

# Saqlash:
with open("document.md", "w") as f:
    f.write(md_text)
```

Va’da qilinganidek, bir qatorda:

```bash
python3 -c "import pymupdf4llm; \
  open('document.md','w').write(pymupdf4llm.to_markdown('document.pdf'))"
```

### Qachon MarkItDown o‘rniga PyMuPDF4LLM’ni tanlash kerak

- Saqlab qolish kerak bo‘lgan havolalari ko‘p PDF bo‘lsa (MarkItDown ularni yo‘qotadi).
- Hujjat skanerlangan va OCR kerak bo‘lsa.
- Minglab fayllarni mahalliy kompyuterda tez qayta ishlash kerak bo‘lsa — native C dvigateli Python o‘ramlaridan tezroq.
- PDF’dagi tasvirlar keyingi ishlov uchun alohida papkaga kerak bo‘lsa.

### Litsenziya tafsiloti (biznes uchun muhim)

PyMuPDF4LLM ikki litsenziya bilan tarqatiladi: AGPL v3 YOKI Artifex tijoriy litsenziyasi.

**AGPL ma’nosi:** kutubxonadan ommaviy SaaS’da foydalansangiz, xizmatingizning butun manba kodini xuddi shu AGPL ostida e’lon qilishingiz kerak. Ichki foydalanishda (noutbukingizdagi skriptingizda) cheklovlar yo‘q.

Kodni oshkor qilmasdan tijoriy dastur ishlab chiqish uchun Artifex’dan (artifex.com) litsenziya sotib oling. Narxlar e’lon qilinmagan; ularni savdo bo‘limidan so‘rang.

Mijozlar uchun mahsulot yaratayotgan bo‘lsangiz, boshida litsenziyani tekshiring. MarkItDown (MIT) va Docling (MIT) SaaS uchun xavfsizroq tanlov.

## 3-usul: MarkItDown MCP serverini Claude Code’ga qanday ulash mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

MarkItDown MCP serveri — MCP protokoliga o‘ralgan ayni MarkItDown; shu sababli Claude Code asl faylni kontekstga yuklamasdan PDF’larni joyida konvertatsiya qila oladi. Versiyasi mahkamlangan bitta uv buyrug‘i bilan ulang: `markitdown-mcp@0.0.1a7`. Claude oladigan vosita — `convert_to_markdown(uri)`. Bekor turgandagi xarajat skill tavsifi uchun ~110 token, kerak bo‘lmaganda esa nol.

</div>

CLI rejimidagi MarkItDown “fayllarni oldindan qo‘lda konvertatsiya qilaman” degani; MCP serveri esa “Claude Code qachon konvertatsiya qilishni o‘zi hal qiladi” degani.

### O‘rnatish

uv paket menejeri kerak. Serverni alohida o‘rnatish shart emas; uv uni birinchi ishga tushganda yuklab oladi.

### Claude Code’da sozlash

Versiyasi mahkamlangan serverni barcha loyihalaringizga bitta buyruq bilan ulang:

```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
```

`markitdown` yozuvi “Connected” deb ko‘rsatilishi kerak. Birinchi ishga tushishda taxminan yetmishta paket yuklanadi va bu bir daqiqagacha davom etadi; keyin server bir-ikki soniyada ishga tushadi.

Buyruqda nega bu ikki o‘zgaruvchi borligi: `ORT_DISABLE_TELEMETRY=1` Mac va Linux’da server ichidagi onnxruntime dvigateli sukut bo‘yicha Microsoft’ga yuboradigan statistikani o‘chiradi. `UV_PYTHON=3.12` serverni Windows, Linux va Apple Silicon’li Mac’larda oldindan yig‘ilgan paketlari mavjud Python 3.12’da ishga tushiradi. Intel Mac’larda va macOS 13 yoki undan oldingi versiyalarda server Python 3.14 ostida o‘rnatilmaydi. Intel va Python 3.12 uchun bir jihat bor: 2026-yil iyunidan beri oldindan yig‘ilgan Intel paketi bo‘lmagani sabab uv cryptography kutubxonasini manba kodidan yig‘adi. O‘rnatish uzoqroq davom etadi va muvaffaqiyatsiz bo‘lishi mumkin. Python 3.12 sizda bo‘lmasa, uv uni yuklab oladi.

Server to‘g‘ridan-to‘g‘ri kompyuteringizda ishlaydi va kirish huquqingiz bor istalgan faylni ochishi mumkin. Claude Code ochiq turgan bo‘lsa, uni qayta ishga tushiring; `markitdown` MCP serverlar ro‘yxatida paydo bo‘ladi.

### Qanday foydalanish kerak

Claude Code’da shunchaki quyidagicha ayting:

```
Convert /Users/your-user/Documents/report.pdf to Markdown and analyze the main points.
```

Claude `convert_to_markdown(uri)` funksiyasini o‘zi chaqiradi, Markdown’ni oladi va u bilan ishlaydi — PDF umuman kontekstga yuklanmaydi.

### Qo‘llab-quvvatlanadigan URI’lar

- `file://` - mahalliy fayllar
- `http://`, `https://` - onlayn hujjatlar
- `data:` - ichki ma’lumot (Base64)

### Xavfsizlik

Rasmiy README’dan:

<figure>
<blockquote>
<p>Server avtorizatsiyani qo‘llab-quvvatlamaydi va uni ishga tushirgan foydalanuvchining ruxsatlari bilan ishlaydi.</p>
</blockquote>
<figcaption>— Microsoft, https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp</figcaption>
</figure>

Sukut bo‘yicha u localhost’ga bog‘lanadi. Uni HTTP/SSE orqali ishga tushirsangiz (`--http --host 127.0.0.1 --port 3001` parametri), portni autentifikatsiyalangan reverse proxy’siz tashqariga ochmang.

## Vazifangiz uchun qaysi usulni tanlash kerak?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Turli formatlar (PDF + DOCX + PPTX + YouTube) bilan ishlasangiz va tezkor CLI buyrug‘i kerak bo‘lsa, MarkItDown — universal vosita. PyMuPDF4LLM PDF mutaxassisi: tezroq, OCR va havolalarni saqlash imkoniyatiga ega, ammo SaaS uchun AGPL tuzog‘i bor. Docling ishlab chiqarish uchun tayyor va jadvallar hamda formulalarni eng yaxshi qayta ishlaydi. Marker matematikali ilmiy maqolalar uchun. MCP serveri esa konvertatsiya haqida o‘ylashni istamay, Claude Code’dan o‘zi hal qilishini xohlaganingizda kerak.

</div>

Kengaytirilgan taqqoslash jadvali:

| Vosita | GitHub yulduzlari | Eng mos foydalanish | Tezlik | Litsenziya |
|----|----|----|----|----|
| **MarkItDown** (Microsoft) | 134k | PDF + DOCX + PPTX + YouTube + audio | O‘rtacha | MIT |
| **PyMuPDF4LLM** (Artifex) | \- | Native PDF, OCR, ichki URL’lar | Eng tez (GPU kerak emas) | AGPL v3 / tijoriy |
| **Docling** (IBM Research) | 60.7k | Ishlab chiqarish RAG’i, jadvallar, formulalar | O‘rtacha | MIT |
| **Marker** (datalab.to) | 35.6k | Ilmiy PDF’lar, arXiv, formulalar | Yuqori (GPU bilan) | GPL-3.0 + Open Rail-M |
| **MinerU** | \- | CJK hujjatlari (xitoy/yapon) | Yuqori | Apache-2.0 |

Marker benchmarklarda ta’sirli aniqlik ko‘rsatkichlarini e’lon qiladi:

<figure>
<blockquote>
<p>H100 GPU’da har bir sahifaga 0,18 soniya (soniyasiga 122 sahifa). Llamaparse’ning 84,24% va Mathpix’ning 86,43% ko‘rsatkichlariga nisbatan aniqligi 95,67%. Ilmiy maqolalarda 96,67%.</p>
</blockquote>
<figcaption>— datalab.to, https://github.com/datalab-to/marker</figcaption>
</figure>

Ammo yaxshi tezlik uchun Marker’ga GPU kerak va u bilan birga mashinaviy o‘rganish modellari ham keladi. Ko‘p vazifalarda (oddiy matnli PDF’lar) PyMuPDF4LLM yoki MarkItDown GPU’siz, bir necha soniyada ishni bajaradi.

### Tanlashning sodda qoidasi

1. **Bitta yoki ikkita PDF, tezda kerak** - MarkItDown CLI.
2. **O‘nlab PDF, avtomatlashtirish kerak** - MarkItDown MCP serveri yoki skriptdagi PyMuPDF4LLM.
3. **Havola va tasvirlari bor, tuzilmasini saqlash muhim PDF’lar** - PyMuPDF4LLM.
4. **Jadvallar barqarorligi muhim bo‘lgan biznes uchun ishlab chiqarish RAG’i** - Docling.
5. **Formulali ilmiy maqolalar** - Marker.
6. **Bu haqda o‘ylashni istamayman, Claude konvertatsiya qilsin** - MarkItDown MCP serveri.

## Hujjatlar papkasini avtomatik konvertatsiya qilish uchun tayyor skriptni qanday yozish mumkin?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Eng qulay usul — loyiha papkasini ko‘zdan kechirib, barcha PDF, DOCX va PPTX fayllarini Markdown’ga aylantiradigan va natijani `_md/` ichki papkasiga joylaydigan bash skripti. Bir marta sozlang, shunda yangi hujjatlar papkasini bir yurishda “Claude o‘qiy oladigan” holga keltirasiz. Keyin `_md/` ni `@_md/` orqali Claude Code’ga qo‘shib, ixcham matn bilan ishlaysiz.

</div>

Amaliy misol: tasavvur qiling, bitta papkangizda mijozlardan kelgan 40 ta PDF va PPTX hisobot — brokerlik hisoboti, shartnomalar, taqdimotlar — bor. Butun papkani to‘g‘ridan-to‘g‘ri Claude’ga yuklash befoyda: birinchi javobdan oldin kontekst oynasi ma’lumotga to‘ladi. Quyidagi skript bilan butun papkani bir yurishda qayta ishlang, so‘ng hajmi katta PDF’lar o‘rniga yengil `.md` fayllar bilan ishlashni davom ettiring.

Ushbu skriptni loyiha ildizidagi `scripts/docs-to-md.sh` sifatida saqlang:

```bash
#!/bin/bash
# docs-to-md.sh - MarkItDown yordamida papkadagi barcha hujjatlarni Markdown formatiga o‘tkazadi
# Foydalanish: 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"
```

Uni bajariladigan qiling:

```bash
chmod +x scripts/docs-to-md.sh
```

Ishga tushiring:

```bash
bash scripts/docs-to-md.sh ./reports
```

Ish tugagach, `./reports/_md/` papkasida barcha hujjatlarning `.md` versiyalari bo‘ladi. Ularni `@reports/_md/` orqali Claude Code’ga qo‘shing va PDF’lar o‘rniga ixcham matn bilan ishlang.

Skript avvaldan konvertatsiya qilingan fayllarni avtomatik o‘tkazib yuboradi (`.md` fayli manba fayldan yangiroq bo‘lsa) — uni qayta ishga tushirish arzon va hammasini boshqatdan hisoblamaydi.

### Idempotentlik va bosqichma-bosqich konvertatsiya

Skript bir xil nom bilan qayta saqlangan, o‘zgargan PDF’larni aniqlashini istasangiz, mazmun xeshini tekshirishni qo‘shing:

```bash
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"
```

Bu versiya faylni faqat mazmuni o‘zgargan bo‘lsa qayta konvertatsiya qiladi.

## Qachon Claude’da PDF’ni Markdown’dan ko‘ra ishlatgan ma’qul?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Markdown’ga konvertatsiya qilish uch narsani yo‘qotadi: vizual elementlar (diagrammalar, grafiklar, chizmalar), birlashtirilgan yacheykalar va izohlari bor murakkab jadvallar, hamda hujjatning artefakt sifatidagi to‘liq formatlanishi (masalan, sahifa bo‘yicha iqtibos keltirish kerak bo‘lgan shartnoma). Bu jihatlar vazifa uchun muhim bo‘lsa, PDF’ni saqlang, vizual tahlilni yoqing va vizual xarajatni ongli ravishda qabul qiling.

</div>

Markdown’ga konvertatsiya yetarli bo‘lmaydigan uchta holat:

### 1. Diagramma va grafiklarni vizual tahlil qilish

Claude grafikni — narx egri chizig‘i, jarayon diagrammasi yoki arxitektura chizmasini — “o‘qishi” kerak bo‘lsa, bu ma’lumot Markdown’da bo‘lmaydi. Markdown faqat rasm izohlarini saqlaydi; rasmning o‘zi yo‘qoladi.

Yechim: PDF’ni yuklang va vizual rejimni aniq yoqing. Claude API’da bayroq avtomatik ishlaydi; AWS Bedrock’da esa `citations` bayrog‘i kerak.

<figure>
<blockquote>
<p>Claude hujjatni yaxshiroq tushunish uchun matn va tasvirlarni birgalikda tahlil qiladi.</p>
</blockquote>
<figcaption>— Anthropic, https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support</figcaption>
</figure>

### 2. Birlashtirilgan yacheykali murakkab jadvallar

Markdown jadvallari tekis tuzilgan. PDF’da birlashtirilgan yacheykalar, ko‘p pog‘onali sarlavhalar yoki ichma-ich jadvallar bo‘lsa, konvertor ularni tekislaydi yoki o‘zaro bog‘liqligini yo‘qotadi.

Yechim: PDF’ni bevosita ishlating, Docling’dan foydalaning (u murakkab jadvallarni eng yaxshi boshqaradi) yoki konvertatsiyadan keyin qo‘lda formatlang.

### 3. Sahifa raqamlariga murojaat qilinadigan artefakt sifatidagi hujjatlar

Yuridik hujjatlar, shartnomalar va bayonnomalarda “7-sahifa, 3-xatboshi” deb iqtibos keltira olish muhim. Markdown’da sahifa raqamlari yo‘qoladi.

Yechim: PDF + Files API + prompt keshlash. Uni bir marta yuklang, keyin `file_id` orqali murojaat qiling; Claude sahifalar raqamlarini ko‘radi va muayyan sahifalarga havola bera oladi.

### Qisqa hujjatlar

PDF 2 sahifadan qisqa bo‘lsa va undan bir marta foydalansangiz, uni konvertatsiya qilishga hojat yo‘q. PDF uchun 5 000 token, Markdown uchun esa 800 token sarflanadi — bu MarkItDown’ni o‘rnatishga arziydigan darajada tejamaydi.

O‘zini oqlash chegarasi taxminan 5+ sahifa yoki bir hujjatdan 2+ marta foydalanishdir. Bundan kami bo‘lsa, PDF’ni bevosita yuklang; ko‘p bo‘lsa, konvertatsiya qiling.

## Claude’da PDF bilan ishlashda odamlar qiladigan eng keng tarqalgan 5 ta xato qaysilar?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

Asosiy xatolar: bir PDF’ni bir marta konvertatsiya qilish o‘rniga turli chatlarda qayta-qayta yuklash, takroriy so‘rovlar uchun prompt keshlashdan foydalanmaslik, matn o‘rniga skrinshot ishlatish, skanerlangan PDF’larda OCR qilmaslik va 200K kontekst modellaridagi 100 sahifali limitni e’tiborsiz qoldirish. Har bir xato hech qanday sababsiz o‘n minglab tokenlarni isrof qiladi.

</div>

### 1. Har safar yangi chatda bir xil PDF’ni yuklash

Claude Pro’da 5 soatlik xabar limiti bor — bitta 50 sahifali hisobot ikkinchi savolni berishdan oldin limitni tugatishi mumkin.

Buning sodda qoidasi bor: **bitta vazifa — bitta chat**. AI aql bovar qilmaydigan darajada ko‘p token sarflay boshlasa, demak hamma narsani bitta chatga tiqib, PDF’ni qayta-qayta qo‘shyapsiz. Har bir oynada bitta kichik vazifani bajaring. Hujjatni bir marta Markdown’ga aylantiring, keyin loyiha bilan birga har bir yangi oynaga `.md` faylini qo‘shing. Kontekst oynasi doirachasi sariq rangga kirmaydi.

Yechim: uni bir marta Markdown’ga aylantiring yoki `file_id` va prompt keshlash bilan Files API’dan foydalaning.

### 2. Matn o‘rniga skrinshot

Oddiy misol: kimdir Claude’ga kod parchasini yoki jadvalni ko‘rsatmoqchi bo‘ladi, butun 1920×1080 ekranning skrinshotini oladi va nega 5 ta so‘rovdan keyin limit tugaganiga hayron qoladi.

1000×1000 pikselli skrinshot ~1 300 token turadi. Xuddi shu matnni qo‘lda nusxalash 50–100 token turadi. Bu 13–26 baravar farq.

Yechim: skrinshotlarni tor qilib qirqing (faqat muhim qismni qoldiring) yoki undan ham yaxshisi, matnni bevosita nusxalang.

### 3. OCR’siz skanerlangan PDF

MarkItDown OCR qila olmaydi. Skanerlangan hujjatni konvertatsiya qilsangiz, natijada bo‘sh `.md` fayli (yoki 3 qator shovqin) chiqadi.

Yechim: skanerlangan hujjatlar uchun PyMuPDF4LLM’dan (ichki aqlli OCR’i bilan) yoki Docling’dan foydalaning.

### 4. 100 sahifali limitni e’tiborsiz qoldirish

Anthropic hujjatlarida bir so‘rov uchun 600 sahifali limit ko‘rsatilgan — ammo 200K kontekstli modellar (Sonnet 4.x, Opus 4.x) uchun amaldagi limit **100 sahifa**. 600 sahifali limit eski modellar yoki maxsus bosqichlar uchun mo‘ljallangan.

Sonnet 4.6’ga 150 sahifali hisobot yuklasangiz, xato olasiz yoki, undan yomoni, Claude faqat dastlabki 100 sahifani qayta ishlab, butun hujjatni o‘qigandek ish tutadi.

Yechim: yuklashdan oldin uzun PDF’larni qismlarga bo‘ling. Yoki Markdown’ga aylantiring — sahifa limiti yo‘q, faqat token limiti bor.

### 5. Takroriy so‘rovlar uchun prompt keshlashdan foydalanmaslik

API orqali bir hujjat bilan qayta-qayta ishlasangiz, uni `cache_control: ephemeral` bilan o‘rang. 5 daqiqa ichidagi takroriy chaqiruvlar boshlang‘ich narxning 10% ini tashkil qiladi. Bitta so‘rov qimmatroq, qolganlariga 90% chegirma beriladi.

Yechim: bir martadan ortiq yuklaydigan barcha narsalar uchun prompt keshlashni sukut bo‘yicha yoqing.

## Keyingi qadam: kontekst muhandisligi

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Asosiy xulosa">

Asosiy xulosa

PDF’larni Markdown’ga aylantirish — kontekst muhandisligi usullaridan biri, AI bilan ishlashning yangi savodxonligi. Prompt — savol. Kontekst esa Claude savol berilishidan oldin va uning atrofida ko‘radigan hamma narsa: tizim prompti, CLAUDE.md, fayllar, MCP serverlari va sessiya tarixi. Kontekst qanchalik toza bo‘lsa, javob shunchalik aniq va arzon bo‘ladi. To‘liq tahlilni “2026-yilda kontekst muhandisligi” qo‘llanmasida o‘qing.

</div>

PDF’ni Markdown’ga aylantirish tokenlarni tejash usullaridan biri. Bu o‘z-o‘zidan Claude javoblarining aniqligini oshirmaydi. Aniqlik **kontekst muhandisligi**dan — savol berishdan oldin model kontekstiga nimalarni kiritishni boshqarish mahoratidan keladi.

`CLAUDE.md` faylingiz 800 qator, loyihangizda keraksiz 10 ta MCP serveri bor va siz 100 sahifali PDF’ni ham qo‘shsangiz, Markdown’ga konvertatsiya bitta sizib chiqishni to‘xtatadi, ammo qolgan uchtasi saqlanib qoladi. Shu sababli bu qo‘llanmalarda quyidagilar yoritiladi:

- [Claude Code’da tokenlar qayerga ketadi](https://ailoot.ai/blog/uz/where-claude-code-tokens-go/) - faqat PDF’lar emas, kontekst sizib chiqishining 9 ta namunasi.
- [2026-yilda kontekst muhandisligi](https://ailoot.ai/blog/uz/context-engineering/) - kontekstni tizimli boshqarish.
- [Claude Code’da Plan Mode](https://ailoot.ai/blog/uz/claude-code-plan-mode/) - Claude kod yozishni boshlashidan oldingi rejalashtirish rejimi.

<div class="section" role="doc-bibliography" aria-label="Manbalar">

### Manbalar

- [Anthropic - PDF qo‘llab-quvvatlashi (platform.claude.com)](https://platform.claude.com/docs/en/docs/build-with-claude/pdf-support)
- [Anthropic - Claude’ga fayllarni yuklash (support.claude.com)](https://support.claude.com/en/articles/8241126-upload-files-to-claude)
- [GitHub’dagi Microsoft MarkItDown](https://github.com/microsoft/markitdown)
- [MarkItDown MCP serveri](https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp)
- [PyMuPDF4LLM - rasmiy hujjatlar](https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/)
- [GitHub’dagi Docling (IBM Research)](https://github.com/DS4SD/docling)
- [GitHub’dagi Marker (datalab.to)](https://github.com/datalab-to/marker)

</div>



<div class="aside" data-semantic="ailoot-link" aria-label="Ailoot">

[ailoot.ai](https://ailoot.ai/) saytida Ailoot’ni o‘rganishda davom eting.

</div>

## Ko‘p beriladigan savollar

### 15 sahifa va to‘rtta chat misolida Markdown nechta token ishlatadi?

Har o‘girilgan sahifaga 300 token degan farazda jami 15 × 300 × 4 = 18,000 kirish tokeni. Bu misoliy taxmin. O‘z faylingiz uchun o‘girilgan hujjat tokenlarini hisoblang.

### Har qanday PDF uchun matnga o‘girish yetarlimi?

Yo‘q. Markdown’ni PDF bilan, ayniqsa jadval, sahifa tartibi va tasvirga bog‘liq mazmunni solishtiring. Vazifaga zarur axborot saqlanganini tasdiqlagachgina token sarfini qiyoslang.


## Ailoot · Kompaniya va uning loyihalar portfeli

Ailoot to‘plangan faoliyat tajribasi, keng mijozlar bazasi, barqaror xizmat va doimiy KPI nazoratiga tayanadi.

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Ailoot bu faoliyat tajribasini mijozlar mahsulotlari, agentlar, ilovalar va avtomatlashtirishlarda AI imkoniyatlariga API orqali kirishni ta’minlashda qo‘llaydi.
