Blog

Ako previesť súbory PDF a Word na text pre AI: MarkItDown od Microsoftu

Markdown

Podrobná recenzia: Ako previesť súbory PDF a Word na text pre AI: MarkItDown od Microsoftu.

Prečítať celý článok

Kľúčové poznatky

MarkItDown je bezplatný nástroj od Microsoftu, ktorý prevádza dokumenty Word, Excel, prezentácie a PDF na štruktúrovaný text pre AI. Súbory Office spracuje čisto za zlomok sekundy. PDF so zložitým rozložením premení na chaos a pri skene vráti prázdny súbor s nulovým návratovým kódom. Nižšie nájdete funkčný príkaz na inštaláciu, merania na dokumentoch s cyrilikou a pravidlo, kedy použiť iný nástroj.

Ďalšie pokyny nájdete v dokumentácii Ailoot.

Čo je MarkItDown a na čo slúži?

Kľúčové poznatky

MarkItDown je nástroj v Pythone od Microsoftu, ktorý prečíta súbor a vráti jeho obsah ako štruktúrovaný text. Nadpisy zostanú nadpismi a tabuľky tabuľkami. Nachádza sa vo verejnom repozitári GitHub pod licenciou MIT, nainštaluje sa jedným príkazom a celé spracovanie prebieha vo vašom počítači. Má jedinú úlohu: pripraviť dokument tak, aby AI videla nielen slová, ale aj štruktúru.

Pošlete AI zmluvu, správu alebo účtovný export a dostanete odpoveď, ktorá s dokumentom vôbec nesúvisí. Príčinou zvyčajne nie je model. Súbor obsahuje určitý formát: Word je archív so značkami, Excel je tabuľkový hárok s prepojeniami medzi bunkami a PDF je súbor znakov so súradnicami na stránke. Model pracuje s textom a niekto ho musí zo súboru extrahovať.

Presne to robí MarkItDown. Repozitár je na adrese github.com/microsoft/markitdown a používa licenciu MIT, takže ho môžete používať bez obmedzení. K 18. augustu 2026 má 174,412 hviezdičiek a 12,756 fork-ov; najnovšie vydanie 0.1.7 vyšlo 29. júla. Projekt je aktívny, hoci sa jeho zameranie presunulo z vývoja na údržbu: má 481 otvorených pull requestov oproti 183 zlúčeným za celú históriu projektu.

Vývojári opisujú jeho účel takto:

MarkItDown je ľahký nástroj v Pythone na prevod súborov rôznych formátov do Markdownu na použitie s veľkými jazykovými modelmi a súvisiacimi postupmi analýzy textu.

— Microsoft, opis projektu (preložený), https://github.com/microsoft/markitdown

Nasledujúca veta v opise vysvetľuje polovicu sťažností, ktoré ľudia na tento nástroj majú:

Hoci výstup často vyzerá celkom dobre a je prívetivý pre ľudí, je určený na spracovanie nástrojmi na analýzu textu a nemusí byť najlepšou voľbou na vysoko verný prevod dokumentov určených na čítanie ľuďmi.

— Microsoft, opis projektu (preložený), https://github.com/microsoft/markitdown

Výstup je surový materiál pre model. Nebude to krásny dokument a projekt to hovorí otvorene hneď v prvej časti.

Opis priamo vysvetľuje, prečo používa Markdown: popredné modely už „hovoria“ týmto značkovacím jazykom a bez vyzvania ho zahŕňajú do odpovedí, pretože ho počas trénovania videli v obrovskom množstve. Značky sú navyše úsporné: tri znaky mriežky pre nadpis namiesto tucta riadkov metadát.

Čím sa MarkItDown líši od bežného konvertora?

Kľúčové poznatky

Konvertory, ako je pandoc, prekladajú jeden značkovací jazyk do druhého a zachovávajú rozloženie pre ľudí. pandoc vôbec neprijíma PDF ako vstup. MarkItDown rieši opačný problém: extrahuje obsah zo súboru Office a usporiada ho tak, aby mu model okamžite porozumel bez plytvania tokenmi. Zachovanie vizuálneho rozloženia nie je jeho cieľom, a v tom spočíva celý rozdiel.

Rozdiel je jasný na jednom príklade. Vezmite priečinok s dvadsiatimi PDF a skúste ich spracovať cez pandoc. Nepôjde to: pandoc dokáže vytvárať PDF ako výstup, ale nedokáže ich čítať ako vstup. A práve situácia „mám kopu dokumentov, dajte ich modelu“ je najčastejšia.

Autori MarkItDownu ho porovnávajú s knižnicou textract, ktorá jednoducho extrahuje text odkiaľkoľvek. Rozdiel je v tom, že MarkItDown sa pokúša zachovať štruktúru: nadpisy, zoznamy, tabuľky a odkazy.

FunkciapandocMarkItDown
Číta PDFnieáno, s výhradami
Číta Word, Excel a prezentáciečiastočneáno
Pre koho je výstup určenýpre ľudípre modely
Hlavná výhodavernosť rozloženiaštruktúra a nízky počet znakov
Inštaláciasamostatný programjeden príkaz v Pythone

Praktický záver je jednoduchý. Ak potrebujete previesť článok do rozloženia vhodného na publikovanie, použite pandoc. Ak chcete, aby AI porozumela dvadsiatim zmluvám, použite MarkItDown.

Ako nainštalovať MarkItDown bez toho, aby ste dostali prvé vydanie?

Kľúčové poznatky

Od vydania 0.1.8 príkaz z opisu projektu nainštaluje najnovšiu verziu v Pythone 3.14 aj 3.12; overili to v ôsmich čistých prostrediach. Tichý návrat na verziu 0.0.2, druhé vydanie v histórii projektu, stále nastáva v Pythone 3.15, na Macoch s procesorom Intel s verziou 3.14 a na Macoch so staršími verziami macOS s verziami 3.13 a 3.14. V takýchto prípadoch inštalátor oznámi úspech. Použite preto Python 3.12, pomenujte potrebné formáty a hneď skontrolujte číslo verzie.

Najprv správny príkaz a potom vysvetlenie, prečo je správny.

  1. Skontrolujte verziu Pythonu

    Najspoľahlivejší je Python 3.12: najnovší MarkItDown sa nainštaloval v každom prostredí, v ktorom sme ho testovali. Príkaz python3 --version ukáže, akú verziu máte. Na Macoch s procesorom Intel alebo so staršou verziou macOS sa môžu verzie Python 3.13 a 3.14 potichu vrátiť na staršiu verziu; Python 3.15 zatiaľ nie je podporovaný, ako vysvetľujeme nižšie.

  2. Nainštalujte ho s uvedenými formátmi

    Spustite pip install 'markitdown[pdf,docx,xlsx,pptx]'. Úvodzovky sú povinné, inak shell interpretuje hranaté zátvorky. Na Macu s procesorom Intel pridajte po install príznak --prefer-binary.

  3. Hneď skontrolujte, či sa nainštaloval

    Spustite markitdown --version. Výstup má byť markitdown 0.1.8 alebo novšia verzia. Nižšie číslo znamená, že sa inštalácia vrátila na staršiu verziu; táto časť vysvetľuje prečo.

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

Opis projektu uvádza ako hlavný príkaz pip install 'markitdown[all]'—na nainštalovanie všetkého naraz. Dňa 28. septembra 2026, týždeň po vydaní verzie 0.1.8, sa v čistých prostrediach na Macu s Apple Silicon a Pythonom 3.14.6 a 3.12.12 spustili štyri varianty:

PríkazNainštalované v Pythone 3.14Nainštalované v Pythone 3.12
pip install markitdown0.1.80.1.8
pip install 'markitdown[pdf,docx,xlsx,pptx]'0.1.80.1.8
pip install 'markitdown[all]'0.1.80.1.8
pip install 'markitdown[all]==0.1.8'0.1.80.1.8

Všetkých osem inštalácií sa skončilo hlásením „Successfully installed“ a príkaz markitdown --version v každom prípade vrátil 0.1.8. V auguste, keď bola najnovším vydaním verzia 0.1.7, tretí príkaz v Pythone 3.14 nainštaloval verziu 0.0.2, vydanú 8. marca 2025—druhé vydanie v histórii projektu. Teraz má projekt jedenásť stabilných vydaní, od 0.0.1 po 0.1.8, a spolu s predbežnými vydaniami dvadsaťšesť.

Príčinou bol reťazec závislostí. Vo verzii 0.1.7 doplnok [all] pridáva knižnicu titulkov YouTube z konkrétnej série vydaní a všetky vydania z tejto série deklarujú, že v Pythone 3.14 nefungujú. Inštalátor ich odmietne a keďže nie je pripnutá žiadna verzia, postupne skúša staršie verzie MarkItDownu, kým nenájde takú, ktorú možno nainštalovať. Nájde 0.0.2 a nainštaluje ju, čím do počítača dostanete vydanie spred roka a pol. Vo verzii 0.1.8 sa požiadavka na knižnicu titulkov posunula na sériu, ktorá funguje v Pythone 3.14, a návrat na staršiu verziu sa tým zastavil.

Mechanizmus stále existuje. Ak inštalátor nedokáže nájsť jednu požadovanú súčasť pre váš systém, rovnakým spôsobom sa potichu vráti na 0.0.2. V nedávnych verziách je touto súčasťou engine onnxruntime, ktorý používa detektor typu súboru. Na Macu je dostupný takto: pre Python 3.12 macOS 11 a novší; pre 3.13 macOS 13; pre 3.14 iba Apple Silicon s macOS 14 alebo novším. Ak váš Mac tieto požiadavky nespĺňa, aj samotný príkaz pip install markitdown nainštaluje 0.0.2. Test na Macu s procesorom Intel, Pythonom 3.14 a Rosettou priniesol presne tento výsledok: „Successfully installed“, bez upozornení a s verziou 0.0.2.

Macy s procesorom Intel majú ešte jednu komplikáciu. Od júna 2026 sa knižnica cryptography potrebná na čítanie PDF vydáva bez predpripravenej verzie pre tento procesor, takže inštalátor sa ju pokúša zostaviť zo zdrojového kódu. Pridajte k príkazu príznak --prefer-binary a použije sa predchádzajúca verzia s predpripraveným balíkom. Pri testovaní na Pythone 3.13 s procesorom Intel sa tak nainštalovala verzia 0.1.8 a PDF sa otvorilo. Príznak nainštaluje cryptography 48.0.1, ktorá má tri známe zraniteľnosti: pri dešifrovaní PKCS#7 a overovaní reťazca certifikátov. MarkItDown ju používa iba na dešifrovanie zašifrovaných PDF a pri čítaní dokumentov sa k týmto častiam nedostane.

Pri Pythone 3.15 dochádza k návratu na staršiu verziu z dvoch dôvodov. Verzia 0.1.8 deklaruje podporu iba pre verzie od 3.10 po 3.14 a pre verziu 3.15 zatiaľ neexistuje engine. Riešenie závislostí inštalátorom pre verziu 3.15 to potvrdzuje: základný príkaz aj príkaz s uvedenými formátmi nainštalujú rovnakú verziu 0.0.2.

Upozornenie na návrat k staršej verzii vyzerá takto, jeden riadok pre každý doplnok v príkaze:

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

Riadok sa stratí medzi desiatkami riadkov sťahovania a nič nehovorí o verzii, ktorá ho nahradila. Pri základnom príkaze bez doplnkov sa nezobrazí ani upozornenie. Záverečné hlásenie pritom znie veselo: „Successfully installed“.

Inštalácia bez doplnkov tiež nie je riešením. Základný balík sa nainštaluje, ale nedokáže otvoriť 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]'

Samotný nástroj odporúča [all] a vo verzii 0.1.8 táto rada znovu funguje v Pythone 3.14 aj 3.12. Aj tak je lepšie uviesť formáty jednotlivo: [all] pridáva ďalších približne pätnásť balíkov a približne 55 megabajtov vrátane predbežnej verzie knižnice Azure a práve toho reťazca závislostí YouTube, ktorý už raz spôsobil problém s inštaláciou.

Inštalátor si s predbežnou verziou Azure poradí sám. pip predbežné verzie zvyčajne preskakuje, ale tu požiadavka výslovne uvádza predbežnú verziu, takže ju nainštaluje. V Pythone 3.12 sa testovali štyri verzie pipu, od 23.2 po 26.2; všetky vyberú 0.1.8.

Upozornenie

Hneď po inštalácii spustite markitdown --version. Zaberie to päť sekúnd a je to jediný spôsob, ako zistiť, či ste nainštalovali to, čo ste žiadali. Hlásenie o úspechu tu nič neznamená.

V auguste priniesla opakovaná inštalácia v ďalšom čistom prostredí rovnaký výsledok: 0.0.2 a slovo „Successfully“.

Vopred sa oplatí poznať niekoľko praktických podrobností.

Je pomerne veľký: základná inštalácia zaberie 143 megabajtov, so štyrmi formátmi 303. Najväčšou súčasťou je detektor typu súboru s veľkosťou 81 megabajtov, ktorý sa pridá aj pri základnej inštalácii. Na notebooku to neprekáža, ale pri cloudovej funkcii s limitom veľkosti áno.

Nespoliehajte sa na zrkadlá ako na záložnú možnosť. Testované zrkadlo poskytlo index a obsahovalo súbory MarkItDownu, ale chýbala jedna požadovaná závislosť, takže inštalácia zlyhala v Pythone 3.14 aj 3.12.

Inštalácia je drobnosť v porovnaní s hlavným problémom. Oveľa častejšie AI vytvára nezmysly preto, že do kontextového okna dostala nesprávny obsah alebo jeho nesprávnu reprezentáciu. Schopnosť rozhodnúť, čo modelu poskytnúť pred úlohou, sa nazýva kontextové inžinierstvo a príprava dokumentov je jeho súčasťou.

Ako previesť prvý dokument na text?

Kľúčové poznatky

Jeden príkaz v termináli: názov programu a cesta k súboru. Výsledok sa predvolene vypíše v okne, takže ho môžete uložiť priamo do súboru. Existujú tri metódy: výstup do konzoly, zápis pomocou príznaku alebo odovzdanie súboru ako streamu. Na začlenenie do vlastných skriptov je k dispozícii trojriadkový obal v Pythone, ktorý prijíma aj URL.

Najkratšia možnosť:

markitdown dogovor.docx

Text sa vypíše v termináli. Ak ho chcete uložiť do súboru, máte dve možnosti:

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

Na Macu a Linuxe je rozdiel zanedbateľný, ale vo Windows na ňom záleží: presmerovanie pomocou > môže spôsobiť zlyhanie programu, keď výstup obsahuje cyriliku.

Súbor môžete odovzdať ako stream; v takom prípade sa hodí uviesť príponu:

cat dogovor.docx | markitdown -x docx

Tu sú hlavné príznaky z pomocníka vo verzii 0.1.8:

PríznakČo robí
-o, --outputzapíše výsledok do súboru namiesto vypísania v okne
-x, --extensionprípona súboru pri jeho odovzdaní ako streamu
-m, --mime-typenápoveda pre typ obsahu
-c, --charsetnápoveda pre kódovanie znakov
-d, --use-docintelspracovanie cez platenú cloudovú službu Microsoftu
-v, --versionzobrazí verziu

Ten istý pomocník uvádza tri ďalšie užitočné príznaky, z ktorých každý bol otestovaný: --list-plugins zobrazí nainštalované doplnky, -p ich zapne pre konkrétne spustenie a --keep-data-uris zachová vo výstupe obrázky vložené do dokumentu (predvolene sa orežú). Ostatné príznaky nastavujú cloudové služby Microsoftu.

Obal v Pythone má tri riadky:

from markitdown import MarkItDown

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

Rovnaké volanie prijíma aj URL. Jednoduchá stránka vrátila čistý text so 167 znakmi vrátane nadpisu a odkazu, bez ponuky a päty:

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

Aké formáty MarkItDown rozpozná a čo to naozaj znamená?

Kľúčové poznatky

Opis projektu uvádza široký rozsah: súbory Office, PDF, obrázky, zvuk, archívy, odkazy YouTube a elektronické knihy. Tri položky nefungujú tak, ako názov napovedá. Bezplatná verzia vôbec nerozpoznáva text v obrázkoch. Reč sa posiela do enginu pre angličtinu. Súbory, ktoré sa nepodarilo analyzovať, z archívov zmiznú bez upozornenia.

Súhrnná tabuľka toho, čo sa deklaruje a čo sa deje v praxi.

FormátDeklarovaná podporaČo sa v skutočnosti deje
Word, Excel, prezentácieánofunguje čisto; toto je jeho silná stránka
CSV, JSON, XML, HTMLánofunguje, ale CSV má pascu s oddeľovačom
PDFánozávisí od rozloženia: jeden stĺpec sa poskladá, dva sa rozpadnú
Obrázky„metadáta a rozpoznávanie“nerozpoznáva, spracuje iba metadáta alebo platený model videnia
Zvuk„prepis reči“odosiela sa do anglického enginu spoločnosti Google
Archívy ZIP„prechádza obsah“všetko, čo nedokáže analyzovať, potichu zmizne
Odkazy YouTubeánoiba úplné odkazy v tvare '<OFFICIAL_URL>'?...
Elektronické knihy EPUBánofunguje

Tri položky podrobnejšie.

Obrázky. Opis obsahuje slovo OCR, takže ľudia očakávajú, že program prečíta text z fotografie. Nerobí to. Číta metadáta pomocou samostatného programu exiftool a ak pripojíte model videnia s vlastným kľúčom, môže mu poslať obrázok na vytvorenie opisu.

Zvuk. Prepis reči je dostupný, ale jazyk sa neodovzdáva a engine predvolene očakáva angličtinu. Volá aj neoficiálny bezplatný endpoint Google, ktorý je obmedzený na približne päťdesiat požiadaviek denne na jeden kľúč.

Archívy. Program rozbalí súbory ZIP a prejde súbory v nich, pričom výsledky spojí. Ak súbor nedokáže analyzovať, chyba sa zachytí a potlačí. Súbor sa jednoducho vo výsledku neobjaví a vy sa o tom nedozviete.

Čo sa stane s dokumentmi obsahujúcimi cyriliku?

Kľúčové poznatky

Najnovšou verziou prešli tri súbory s cyrilikou: zmluva vo Worde, inventárny hárok v Exceli a prezentácia. Cyrilika aj číslo sa zachovali neporušené vo všetkých troch. Problémy vznikajú na troch miestach: v súboroch CSV so stredníkmi, pri formátovaní meny v bunkách Excelu a pri výstupe do konzoly Windows. Pre všetky tri existujú riešenia.

Nasledujúce súbory boli vytvorené špeciálne na testovanie; ich údaje sú vymyslené.

Inventárny hárok Excelu sa spracoval rovnako čisto, pričom názov hárka sa zmenil na nadpis:

## Stock
| Položka | Na sklade | Rezervované | Dostupné |
| --- | --- | --- | --- |
| Zrnková káva, kg | 420 | 38 | 382 |
| Sypaný čaj, kg | 180 | 52 | 128 |

Prezentácia sa zmenila na text, čísla snímok sa zobrazili ako poznámky a názvy snímok sa zmenili na nadpisy. Aj tu sa cyrilika zachovala neporušená. Všeobecné tvrdenie, že „MarkItDown nerozumie cyrilike“, je nepravdivé.

Teraz tri miesta, kde sa veci naozaj pokazia.

CSV so stredníkmi. Na porovnanie sa spracovali dva rovnaké exporty faktúr. Ten s čiarkami vytvoril správnu tabuľku so štyrmi stĺpcami. Pri stredníkoch sa celý riadok dostal do jednej bunky.

Celý riadok skončil v jednej bunke. Kódovanie sa rozpoznalo správne a nedošlo k chybe; príznak -c nepomôže. Model dostane túto tabuľku a nepochopí, ktorá hodnota je suma a ktorá stav. Súbor exportujte znova s výslovným oddeľovačom čiarkou a správnym kódovaním, pričom originál zachovajte. Stredníky nenahrádzajte globálne: oddeľovače v texte v úvodzovkách a desatinné čiarky môžu byť súčasťou hodnoty. Ak nemožno export zopakovať, originál spracujte parserom so skutočným oddeľovačom a nový CSV zapíšte nástrojom, ktorý zachová úvodzovky a hodnoty buniek. Pred analýzou porovnajte počty stĺpcov, riadkov a kontrolné súčty so zdrojovým exportom.

Formátovanie meny v Exceli. Symbol meny je uložený v nastaveniach zobrazenia bunky a nestane sa súčasťou samotnej hodnoty. Správcovia projektu príčinu potvrdili. Pri cenníku alebo faktúre je to dôležité: model uvidí čísla bez informácie o mene, v ktorej sú vyjadrené.

Konzola Windows. Pri súboroch s nelatinkovými znakmi môže program spadnúť.

Záznam chyby ukazuje kódovanie cp1251, teda konzolu Windows. Samotný dokument sa analyzuje správne; zlyháva vypísanie výsledku do okna terminálu. Existujú dve riešenia:

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

Prvý spôsob úplne obíde konzolu, druhý prinúti Python zapisovať v UTF-8. Opravy samotného nástroja boli navrhnuté aspoň šesťkrát: niektoré návrhy sa uzavreli bez zlúčenia a ostatné zostávajú otvorené. Preto si musíte pomôcť obchádzkovým riešením.

Štvrtý príznak sa objavuje v PDF: namiesto písmen sú v ňom reťazce ako (cid:1090). Znamená to, že súbor obsahuje neštandardnú tabuľku písiem a jeho znaky sa nepodarilo dekódovať. Spracúvať takýto dokument cez MarkItDown nemá zmysel; potrebujete iný nástroj.

Prečo je výsledkom PDF chaos?

Kľúčové poznatky

PDF neobsahuje štruktúru, iba znaky so súradnicami na stránke. Text v jednom stĺpci sa poskladá celkom dobre. Dva stĺpce sa zmenia na chaos: riadky sa spájajú naprieč stĺpcami, slová sa zlievajú a rozloženie sa zmení na tabuľky, ktoré v dokumente nikdy neboli. Nástroj v PDF vôbec nerozpoznáva nadpisy—vidno to zo zdrojového kódu aj z nezávislých meraní.

Na testovanie sa spracoval vedecký článok s dvoma stĺpcami s veľkosťou 2.16 megabajtu. Návratový kód bol nula; po 0.9 sekundy obsahoval výstup 88,000 znakov, takmer všetky nezmyselné. Osemdesiattisícosemsto znakov vyvoláva dojem, že všetko fungovalo. Až kým súbor neotvoríte:

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

Naraz sa pokazili tri veci. Rozloženie s dvoma stĺpcami sa zmenilo na tabuľky, ktoré v článku nie sú. Slová sa spojili bez medzier. Posledný riadok je zvislý bočný panel na stránke, extrahovaný odzadu.

Potom prišla tá zábavná časť. Ukázalo sa, že testovací článok je práca, ktorá merala MarkItDown a porovnávala ho s ďalšími nástrojmi. Nástroj previedol odsek s vlastnými meraniami takto:

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-

Ľavý a pravý stĺpec sa spájajú po riadkoch. Model, ktorý dostane tento text, prečíta polovicu vety z jedného odseku a polovicu z iného.

Príčina je technická a jednoduchá. Word výslovne ukladá „toto je nadpis“ a „toto je bunka tabuľky“. PDF ukladá „toto je znak“ a „toto sú jeho súradnice na stránke“. Obnovenie štruktúry zo súradníc je samostatná a náročná úloha a MarkItDown sa o ňu sotva pokúša. Zdrojový kód na spracovanie PDF neobsahuje rozpoznávanie nadpisov: ak sa stránka nerozpozná ako formulár alebo tabuľka, celý dokument prejde základnou extrakciou textu.

Používatelia to v repozitári projektu pravidelne hlásia, okrem iného pri vedeckých článkoch a tabuľkách.

Nástroj v PDF nenájde ani jeden nadpis, presne ako ukazuje jeho zdrojový kód.

Na internete koluje tvrdenie, že „MarkItDown dosahuje 82 % presnosť“, bez uvedenia akejkoľvek metodiky. Pátranie po pôvodnom zdroji nikam nevedie: reťazec odkazov sa končí na stránke, ktorá sa nenačíta. Nemožno to považovať za meranie.

Čo sa stane pri skenovanej zmluve?

Kľúčové poznatky

Nič. Súbor sa spracuje, program oznámi úspech a výstup obsahuje nula znakov. Bez chyby, bez upozornenia. Dvakrát sa to testovalo na PDF vytvorenom z obrázka a samostatne aj na samotnom obrázku—výsledok bol rovnaký. Nástroj extrahuje text, ktorý je už v súbore uložený ako text; bezplatná verzia nemá schopnosť rozpoznávania.

Toto správanie je nebezpečnejšie než ostatné, pretože nevyzerá ako zlyhanie.

Na testovanie sa z obrázka s textom vytvorilo PDF—presne taký súbor vznikne, keď zmluvu odfotíte alebo naskenujete. Test sa zopakoval, aby sa vylúčila náhoda:

VstupNávratový kódPočet znakov vo výstupeChybové hlásenie
PDF z obrázka, spustenie 100žiadne
PDF z obrázka, spustenie 200žiadne
Obrázok PNG priamo01 (nový riadok)žiadne

Nula znakov a nula chýb, dvakrát za sebou. Nulový návratový kód znamená „všetko prebehlo v poriadku“ a každý skript, ktorý kontroluje úspech podľa návratového kódu, bude dokument považovať za spracovaný. Potom prázdny výstup dostane model, model nič nevidí a začne si odpoveď vymýšľať.

Upozornenie

Ak spracúvate dokumenty v dávkach, skontrolujte dĺžku výstupu. Návratový kód vám nič nepovie: prázdny súbor s nulovým návratovým kódom vyzerá ako sken.

Existujú dve riešenia a obe sú platené. Prvým je príznak -d, ktorý odošle dokument do cloudovej rozpoznávacej služby Microsoftu; text pomocníka pri príznaku výslovne uvádza, že je potrebný platný endpoint služby. Druhým je samostatný doplnkový balík, ktorý posiela stránky modelu videnia pomocou vášho kľúča, takže poskytovateľovi modelu platíte za každú stránku. Od apríla 2026 otvorená diskusia o druhom spôsobe uvádza, že sa spracuje iba prvá strana viacstranového skenu.

Rozpoznávací model môžete spustiť aj na vlastnom počítači, ale to je samostatný projekt.

Pri jednom dokumente je jednoduchšie otvoriť ho a skopírovať text ručne. Pri prúde skenov potrebujete nástroj so zabudovaným rozpoznávaním.

Môžete súbor jednoducho nahrať do online konvertora?

Kľúčové poznatky

Technicky áno; existuje mnoho domén s týmto názvom. S Microsoftom však nie je spojená ani jedna. Tvrdenie „súbor nikdy neopustí váš prehliadač“ sa dá overiť jedným kliknutím a nie vždy je pravdivé. Skôr než nahráte zmluvu alebo export s menami ľudí, sami si overte, kam súbor odchádza.

„MarkItDown online“ je jedným z najčastejších návrhov pri vyhľadávaní a existujú stránky, ktoré ho ponúkajú. Pôvodný nástroj Microsoftu nemá vôbec žiadnu webovú stránku; je dostupný len ako program, ktorý si nainštalujete sami. Čokoľvek s podobným názvom, čo sa otvára v prehliadači, vytvoril niekto iný.

Takúto službu môžete skontrolovať za minútu: otvorte vývojárske nástroje na karte sieťových požiadaviek, nahrajte ľubovoľný neškodný súbor a zistite, či sa odosiela na server. Ak áno, tvrdenie o spracovaní v prehliadači je nepravdivé, nech je v časti FAQ podané akokoľvek presvedčivo.

Upozornenie

Zmluva, faktúra alebo export obsahujúci mená zamestnancov zahŕňa osobné údaje. Ak takýto súbor odošlete na webovú stránku tretej strany, prenesiete ho vy. Lokálny nástroj tomuto problému predchádza: súbor neopustí váš počítač.

Preto sa MarkItDown cení tam, kde sa dokumenty nesmú posielať mimo organizácie. V jednej diskusii niekto opísal svoju situáciu: na pracovnom notebooku mal zakázané ľubovoľné programy, no knižnice Pythonu boli povolené, a miestny nástroj sa ukázal ako jediná dostupná možnosť.

Koľko toho MarkItDown v skutočnosti ušetrí?

Kľúčové poznatky

Hlavným prínosom je, že model dokáže dokument vôbec pochopiť. Rozdiel je aj vo veľkosti: porovnanie objemu značiek v súboroch Office s veľkosťou extrahovaného textu ukazuje päť- až sedemnásobné zmenšenie. Odstráni sa aj všetko, čo model nemusí čítať: opisy písiem, okrajov a farieb buniek.

Súbor Office je štruktúrovaný ako archív so značkami. Ak rozbalíte tri testovacie súbory a porovnáte veľkosť časti s obsahom s veľkosťou výstupu, dostanete toto:

SúborZnačky vo vnútriExtrahovaný textKoľkokrát menší
Zmluva Word3,701 bajtov711 bajtov5.2
Tabuľkový hárok Excel1,561 bajtov262 bajtov6.0
Prezentácia2,203 bajtov296 bajtov7.4

Súbory sú malé; pri väčších sa pomery budú líšiť a neexistuje jedno univerzálne číslo úspory. Keď sa v porovnávacích článkoch objavia zaokrúhlené čísla, pýtajte sa na metodiku.

O úspore hovoria aj samotní vývojári: opis projektu výslovne uvádza, že konvencie Markdownu sú z hľadiska počtu znakov veľmi úsporné. Je to pravda, ale nemalo by ísť o hlavný argument. Rozdiel medzi „model dostal tritisíc znakov namiesto pätnástich tisíc“ a „model dostal jasnú štruktúru namiesto zhluku“ je iného rádu. Prvý šetrí peniaze; druhý rozhoduje o tom, či bude odpoveď dávať zmysel.

Ak vás zaujíma využitie kontextu, tejto téme sa venujú samostatné články: Kam smerujú tokeny v Claude a koľko ich obsahuje každý plán.

Ako pripojiť MarkItDown ku Claude cez MCP?

Kľúčové poznatky

Projekt má samostatný balík, ktorý spustí server MCP jediným príkazom: zadáte cestu k súboru a dostanete text. V septembri 2026 bol balík konečne aktualizovaný na 0.0.1a7, ale zostavenie je stále predbežné a predvolene posiela telemetriu Microsoftu. Nasledujúci príkaz ho pripojí cez uv, pripne verziu, použije Python 3.12 a vypne telemetriu. Nemá overovanie a podľa vlastnej dokumentácie môže server čítať každý súbor dostupný používateľovi, ktorý ho spustil.

MCP je spôsob, ako dať AI externý nástroj, ktorý môže používať samostatne. Prehľad mechanizmu a ďalších serverov nájdete v recenzii serverov MCP pre Claude Code.

Server MarkItDown sprístupňuje presne jeden nástroj: prevod dokumentu na text. Prijíma lokálnu cestu k súboru, URL stránky alebo údaje vložené priamo do požiadavky.

Ku Claude Code sa pripojí jediným príkazom s pripnutou verziou servera. Potrebujete správcu balíkov uv:

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

Odpoveď na druhý príkaz má pri markitdown zobrazovať „Connected“. Prvé spustenie stiahne približne sedemdesiat balíkov a trvá až minútu; potom sa server spustí za jednu až jeden a pol sekundy.

Tu sú výhrady, každá z nich overená ručne.

Zostavenie 0.0.1a7 vyšlo 14. septembra 2026. Predtým server viac než rok uviazol na verzii 0.0.1a4 z mája 2025. Najnovšie číslo verzie stále označuje predbežné vydanie.

Nenainštaluje sa na každý systém s novou verziou Pythonu. Engine onnxruntime, od ktorého závisí, je pre Python 3.14 na Macu dostupný iba pre Apple Silicon s macOS 14 alebo novším, takže inštalácia zlyhá na Macoch s procesorom Intel a pri macOS 13 alebo staršom s Pythonom 3.14. Na Macu s Apple Silicon sa server spustil v Pythone 3.14, 3.13 a 3.12 a nainštaloval sa vo všetkých troch. Príkaz používa UV_PYTHON=3.12: predpripravené balíky pre verziu 3.12 sú dostupné vo Windows, Linuxe a na Macoch s Apple Silicon, a ak túto verziu Pythonu nemáte, uv si ju stiahne. Aj tu platí výhrada pre Macy s procesorom Intel: uv zostaví knižnicu cryptography zo zdrojového kódu, pretože od júna 2026 nie je pre Intel k dispozícii predpripravený balík. Inštalácia trvá dlhšie a môže zlyhať.

Verzia MarkItDownu nainštalovaná vo vnútri závisí od verzie uv. Od verzie MarkItDown 0.1.6 vyžaduje jeho doplnok [all] predbežnú verziu knižnice Azure: uv 0.12 a novší ju nainštaluje spolu s najnovším MarkItDownom 0.1.8, zatiaľ čo staršie verzie uv sa vrátia na 0.1.5. Verziu uv skontrolujte príkazom uv --version.

Dve veci odchádzajú mimo počítača. Prvou je telemetria: na Macu a Linuxe ju engine onnxruntime vo vnútri servera predvolene posiela Microsoftu. Premenná ORT_DISABLE_TELEMETRY=1 v príkaze ju vypne. Pri teste sa server bez tejto premennej pripojil k telemetrickým endpointom Microsoftu. Keď bola premenná nastavená, počas spracovania súborov z disku nevznikli žiadne spojenia.

Druhou vecou je zvuk. Server posiela súbory WAV, MP3, M4A a MP4 do služby rozpoznávania reči Google, ktorá ich prepisuje cez bežné HTTP bez šifrovania. Radšej cez ňu neposielajte nahrávky rozhovorov s klientmi.

Veľký dokument sa cez server nezmestí. Otvorená diskusia opisuje odpoveď servera s 51,000 tokenmi, ktorá narazila na limit 25,000 tokenov, a nástroj súbory nerozdeľuje na časti.

A bezpečnosť. Dokumentácia vlastného balíka jasne uvádza:

Server nepodporuje overovanie a beží s oprávneniami používateľa, ktorý ho spustil. Nástroj na konverziu možno použiť na čítanie ľubovoľného súboru dostupného používateľovi servera alebo ľubovoľných údajov v sieti.

— Microsoft, opis balíka markitdown-mcp (preložený), https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp

Inými slovami, agent s týmto nástrojom môže čítať všetko, čo môžete čítať vy. Pri práci na vlastnom počítači je to prijateľné. Server nesmiete sprístupniť verejne ani ho poskytnúť nedôveryhodnému agentovi.

Upozornenie

Dokumentácia projektu neobsahuje konfiguráciu špeciálne pre Claude Code—opisuje iba Claude Desktop a spustenie cez kontajner. Ak na internete nájdete hotovú konfiguráciu označenú ako „z oficiálnej dokumentácie“ pre Claude Code, vedzte, že v repozitári takáto konfigurácia nie je.

Pri pravidelnej práci je jednoduchšie spustiť program príkazom a výsledný text uložiť do projektu. Súbor potom leží vedľa ostatných materiálov, kde s ním model môže pracovať samostatne.

Kedy je poctivejšie použiť iný nástroj?

Kľúčové poznatky

Pravidlo je jednoduché: ak je štruktúra už zaznamenaná v súbore, použite MarkItDown—je najrýchlejší a bezplatný. Ak treba štruktúru zrekonštruovať z obrázka stránky, použite nástroj s modelmi rozloženia. Docling zvláda tabuľky a zložité rozloženia, MinerU vzorce a viacero stĺpcov a platené cloudové služby pomôžu, keď nie je čas sa s tým hrať.

Porovnanie podľa úloh; počet hviezdičiek na GitHube s tým nesúvisí:

NástrojSilná stránkaZa čo zaplatíte
MarkItDownsúbory Office, rýchlosť, bezplatné použitienezvláda zložité PDF ani skeny
Doclingtabuľky a rozloženia cez špecializované modelydesiatky sekúnd na dokument
MinerUviacero stĺpcov, vzorce, husté tabuľkynáročnejšia inštalácia
Markervysoká presnosť, vzorce, ilustrácievyžaduje grafickú kartu a jeho licencia obmedzuje príjmy
unstructuredvracia štruktúru dokumentu v úsekoch s opismivýstup sa používa ťažšie
Cloudové analyzátorybez nastavovaniapeniaze a odoslanie dokumentu mimo vášho počítača

Pri Markeri je jeden detail, ktorý porovnávacie články vynechávajú. Od júla 2026 má samotný kód permisívnu licenciu, kým váhy modelu podliehajú samostatnej licencii s hranicou: používanie je bezplatné, ak príjmy vašej spoločnosti neprekročili päť miliónov dolárov a v predchádzajúcom roku získala rovnakú sumu financovania. Samostatná klauzula zakazuje používanie komukoľvek, kto vytvára konkurenčný produkt. Väčšiny čitateľov sa to netýka, ale rastúca firma by si mala pred jeho prijatím licenciu prečítať.

Z toho vyplýva praktický pracovný postup v štyroch krokoch:

  1. Všetko spracujte cez MarkItDown—je bezplatný a okamžitý.
  2. Otvorte výsledok a skontrolujte jeho veľkosť.
  3. Ak text dáva zmysel, úloha je hotová; nič ďalšie netreba.
  4. Ak je výstup chaotický alebo prázdny, spracujte daný súbor náročnejším nástrojom.

Tak zaplatíte časom a zložitosťou len pri dokumentoch, ktoré to potrebujú.

Ako začleniť MarkItDown do pracovného postupu?

Kľúčové poznatky

Samotná Anthropic uvádza pravidlo v opisoch svojich hotových nástrojov: použite tento nástroj na prečítanie dokumentu. Na základe jeho výstupu neplánujte úpravy. Tu sú tri scenáre, v ktorých sa oplatí už pri prvom použití: analýza dávky podobných dokumentov, jednorazové pridanie trvalých referenčných materiálov do projektu AI a príprava exportu z účtovného systému na analýzu.

Anthropic používa MarkItDown vo vlastných hotových nástrojoch na prácu so súbormi Office a tie jasne vymedzujú hranicu, ktorú by ste mali úplne prevziať:

Rýchlo skontrolujte hárok: markitdown file.xlsx. Súradnice buniek nie sú k dispozícii, preto na základe toho neplánujte úpravy.

— Anthropic, opis nástroja na prácu s tabuľkami (preložený), https://github.com/anthropics/skills/blob/main/skills/xlsx/SKILL.md

Odkazy na bunky a strany sa v texte stratia, takže ho nemožno použiť na úpravy zdrojového súboru. Tu sú tri scenáre.

Dávka podobných dokumentov—protokoly, faktúry, formuláre a žiadosti. Vložte ich do priečinka a spracujte jedným riadkom:

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

Potom dajte modelu priečinok s textovými súbormi a požiadajte ho, aby zhromaždil dôležité informácie do tabuľky. Funguje to s digitálnymi súbormi; skeny zlyhajú a podľa nulovej veľkosti si ich hneď všimnete.

Trvalé materiály projektu—cenníky, šablóny zmlúv, pravidlá a opisy služieb. Raz ich preveďte na text a uložte vedľa projektu. Model si ich potom môže prečítať pri každej požiadavke, takže ich nemusíte zakaždým prikladať ku konverzácii. Článok o nahrávaní súborov do Claude vysvetľuje, čím sa to líši od nahratia súboru do chatu.

Export z účtovného systému. Export Excelu z účtovného softvéru alebo bankového účtu sa za tretinu sekundy zmení na tabuľku a model z nej môže počítať bez medzikrokov. Overte export alebo parsovanie CSV so skutočným oddeľovačom, úvodzovkami a kódovaním a pred odovzdaním modelu porovnajte riadky, stĺpce a kontrolné súčty. Oddeľovače neupravujte hľadaním a nahrádzaním. Menu tiež zaznamenajte výslovne: symbol uložený iba vo formáte bunky Excelu sa pri extrakcii nezachová.

Spracovanie veľkých PDF v termináli do tohto zoznamu nepatrí. Je to samostatný problém týkajúci sa využitia kontextu, ktorému sa venuje článok o PDF v Claude Code bez straty tokenov. Ak si práve nastavujete pracovné prostredie, začnite inštaláciou Claude Code.

Ak chcete začať hneď, spustite pip install 'markitdown[pdf,docx,xlsx,pptx]', spracujte prvú zmluvu vo Worde, ktorú nájdete, a skontrolujte veľkosť výsledku. Za pol minúty budete vedieť, či funguje s vašimi súbormi.

Často kladené otázky

Je MarkItDown bezplatný?

Áno. Má licenciu MIT bez obmedzení komerčného používania. Platíte iba za dve voliteľné metódy: cloudové rozpoznávanie od Microsoftu pomocou príznaku -d a opisovanie obrázkov modelom videnia s vlastným kľúčom. Všetko ostatné sa bezplatne spracúva vo vašom počítači.

Posielajú sa údaje na nejaký server?

Pri bežnej konverzii súborov Office a PDF nie—všetko sa spracúva lokálne. Existujú tri výnimky: prepis zvuku prebieha cez službu Google, príznak -d odosiela dokument do cloudu Microsoftu a opisy obrázkov sa posielajú modelu pomocou vášho kľúča. Žiadna z týchto metód nie je predvolene zapnutá.

Prečo po inštalácii neviem nájsť príkaz markitdown?

Najčastejšou príčinou je, že sa program nainštaloval do prostredia, ktoré nie je v ceste vyhľadávania. Skontrolujte úplnú cestu k súboru v tomto prostredí. Ďalším častým prípadom je inštalácia pre jednu verziu Pythonu a spúšťanie z inej. Ešte jedna pasca: v Pythonoch starších než 3.10 sa nainštaluje prázdny balík bez chyby inštalácie.

Čo mám robiť, ak namiesto písmen vidím (cid:1090) a podobné reťazce?

Ide o nedekódovanú tabuľku písiem v súbore PDF. Nastavenia to nevyriešia; súbor musíte spracovať iným nástrojom, napríklad Doclingom alebo MinerU. Pri jednom dokumente je rýchlejšie ručne skopírovať text z prehliadača dokumentov.

Môžem spracovať celý priečinok súborov naraz?

Samostatný režim priečinka neexistuje, ale dá sa to jednorazovou slučkou v termináli: for f in papka/*.docx; do markitdown "$f" -o "$f.md"; done. Ďalšou možnosťou je vložiť všetko do ZIP a odovzdať archív: program spracuje jeho obsah, ale súbory, ktoré nedokáže analyzovať, bez upozornenia zmiznú.

Čím sa výstup líši od ručného skopírovania textu?

Zachováva štruktúru. Kopírovaním získate plochý text, v ktorom sa nadpis nedá rozoznať od odseku a tabuľka sa rozpadne. MarkItDown zachováva nadpisy, zoznamy a tabuľky, takže model vie, čo je čo. Pri jednom krátkom dokumente je rozdiel malý, pri dvadsiatich rozhodujúci.

Dokáže MarkItDown otvoriť dokumenty chránené heslom?

Nie. Súbor chránený heslom sa neotvorí a heslo nemôžete programu odovzdať. Ochranu musíte vopred odstrániť v aplikácii, ktorá ju nastavila.

Keď budete pripravení, zoznámte sa s Ailoot.

Viac podrobností

Otázky a odpovede: Ako previesť súbory PDF a Word na text pre AI: MarkItDown od Microsoftu

Môžem CSV so stredníkmi opraviť nahradením každého stredníka čiarkou?

Nie. Text v úvodzovkách a desatinné formáty môžu tieto znaky obsahovať. Zopakujte export s určeným oddeľovačom alebo použite parser a zapisovač CSV s výslovným oddeľovačom, kódovaním a úvodzovkami; overte stĺpce, riadky a kontrolné súčty oproti originálu.

Znamená nulový návratový kód užitočnú konverziu PDF?

Nie. Ukážka skenu v článku vrátila prázdny výstup bez chyby a zložité PDF vytvorilo nečitateľný text. Výsledok otvorte, skontrolujte dĺžku a štruktúru a pri prázdnom či poškodenom texte použite nástroj na rozloženie alebo rozpoznávanie.

Všetky články