Publikováno

Marker převádí PDF, Word i Excel do Markdownu. Pro AI je to mnohem důležitější, než se zdá

Marker převádí PDF, DOCX, XLSX a PPTX do strukturovaných dat pro AI

Umělá inteligence dnes zvládne otevřít PDF, přečíst Word nebo analyzovat tabulku. Mohlo by tedy vypadat zbytečně komplikovaně nejdřív dokument někam převádět a teprve potom ho posílat AI.

Jenže mezi tím, že model dokument nějak přečte, a tím, že z něj dostaneme spolehlivě strukturovaná data, je poměrně velký rozdíl.

PDF může mít dva sloupce, tabulku rozdělenou přes několik stran, záhlaví opakující se na každé stránce, matematické vzorce, poznámky pod čarou nebo obrázky vložené mezi textem. A protože PDF bylo navrženo především pro zachování vzhledu dokumentu, nikoliv jako ideální zdroj dat pro umělou inteligenci, může jeho strojové zpracování rychle narazit na problémy.

Právě tento problém řeší open-source projekt Marker.

Marker dokáže převádět PDF, obrázky, PowerPoint, Word, Excel, HTML nebo EPUB do strukturovanějších formátů, jako jsou Markdown, JSON, HTML nebo takzvané chunks. Přitom se snaží zachovat tabulky, rovnice, odkazy, obrázky, nadpisy, formuláře nebo bloky kódu.

A právě proto je Marker mnohem zajímavější než jen jako „převodník PDF do Markdownu“.

Shrnutí článku

Marker je open-source nástroj, který převádí PDF, Word, Excel, PowerPoint, obrázky nebo EPUB do strukturovaných formátů, jako je Markdown, JSON nebo HTML. Jeho hlavní výhodou není jen vytažení textu, ale zachování jeho významové struktury – nadpisů, tabulek, rovnic, odkazů, formulářů nebo správného pořadí bloků. Právě to je zásadní pro další zpracování pomocí AI, protože jazykový model potřebuje nejen samotná slova, ale také vztahy mezi nimi.

Marker navíc nespoléhá automaticky na drahé AI modely. U digitálních dokumentů využije existující textovou vrstvu, podle potřeby zapojí OCR a VLM a teprve u složitějších případů lze přidat také LLM – například pro tabulky pokračující přes několik stran. Díky tomu může fungovat jako praktická předzpracovací vrstva pro RAG, AI agenty, firemní vyhledávání nebo automatizované workflow, kde je kvalitně připravený vstup často stejně důležitý jako samotný AI model.

Co je Marker

Marker je open-source projekt společnosti Datalab zaměřený na převod dokumentů do strukturovaných formátů.

V aktuální verzi podporuje vstupy jako:

  • PDF,
  • obrázky,
  • DOCX,
  • PPTX,
  • XLSX,
  • HTML,
  • EPUB.

Výstupem může být:

  • Markdown,
  • JSON,
  • HTML,
  • chunks.

Marker se přitom nesnaží pouze vytáhnout z dokumentu jednotlivá slova. Rozpoznává například tabulky, formuláře, rovnice, inline matematiku, odkazy, reference nebo bloky kódu. Dokáže také samostatně uložit obrázky a odstraňovat některé typické artefakty, například opakující se záhlaví a zápatí.

Pro běžného uživatele si ho můžeme představit následovně:

PDF / Word / PowerPoint / Excel
                ↓
              Marker
                ↓
 Markdown / JSON / HTML / chunks

Zdrojový dokument tedy převede do podoby, se kterou se mnohem snáz pracuje programově nebo pomocí AI.

Proč vůbec převádět PDF do Markdownu

Tady je potřeba pochopit jeden základní rozdíl.

PDF je skvělý formát pro člověka. Nemusí ale být skvělý formát pro počítač.

Jeho hlavním úkolem je zajistit, že dokument bude vypadat stejně na různých počítačích, při tisku nebo při otevření v různých aplikacích.

Představme si stránku:

Nadpis

levý sloupec                 pravý sloupec

odstavec A                   odstavec C

odstavec B                   odstavec D

Člověk okamžitě pozná správné pořadí:

A
B
C
D

Jednoduchá textová extrakce ale může získat například:

A
C
B
D

Podobný problém vzniká u tabulek.

Člověk vidí:

ProduktCenaSkladem
Notebook25 000 KčAno
Monitor8 000 KčNe

Špatná extrakce může vytvořit:

Produkt
Cena
Skladem
Notebook
Monitor
25000
8000
Ano
Ne

Všechna slova jsou sice správně, ale zmizely vztahy mezi nimi.

A právě vztahy a struktura jsou pro AI často stejně důležité jako samotný text.

Markdown naproti tomu umožní výsledek reprezentovat třeba takto:

# Výroční zpráva

## Finanční výsledky

| Rok | Tržby | Zisk |
|---|---:|---:|
| 2025 | 10 mil. Kč | 2 mil. Kč |
| 2026 | 14 mil. Kč | 3,5 mil. Kč |

## Výhled společnosti

Společnost očekává...

Pro člověka je text stále velmi dobře čitelný, zároveň je ale jeho struktura výrazně jasnější i pro další software.

Co je „born-digital PDF“

V souvislosti s Markerem se často objevuje termín born-digital PDF.

Zní technicky, ale znamená něco velmi jednoduchého.

Born-digital PDF je dokument, který už vznikl digitálně.

Například:

Word → Exportovat do PDF

nebo:

InDesign → PDF

či:

webová stránka → Uložit jako PDF

Takový dokument obvykle obsahuje skutečnou textovou vrstvu. Po označení textu myší ho můžete kopírovat a vyhledávat v něm.

Úplně jiná situace je:

papírová smlouva
      ↓
    skener
      ↓
     PDF

Stránka zde může být v podstatě jen obrázek.

Aby počítač zjistil, co je na obrázku napsáno, potřebuje OCR – Optical Character Recognition, tedy optické rozpoznávání znaků.

Rozdíl mezi digitálním PDF a skenem je důležitý i pro výkon. Pokud už kvalitní text v dokumentu existuje, není nutné všechno znovu rozpoznávat z obrazu.

Marker není jen OCR

Marker patří mezi nástroje pro OCR a document parsing, ale popsat ho pouze jako OCR by bylo dost nepřesné.

OCR řeší: „Co je na tomto obrázku napsáno?“

Marker řeší: „Jak z tohoto dokumentu vytvořit použitelnou strukturovanou reprezentaci?“

Jeho pipeline může zahrnovat několik kroků:

dokument
   ↓
existující textová vrstva
   ↓
analýza layoutu
   ↓
OCR problematických částí
   ↓
tabulky a rovnice
   ↓
struktura dokumentu
   ↓
postprocessing
   ↓
Markdown / JSON / HTML / chunks

Marker podle své dokumentace nejprve využívá existující text PDF přes pdftext, analyzuje layout stránky, rozhoduje, jestli je původní text použitelný, a problematické nebo naskenované části případně posílá přes VLM. Tabulky se snaží rekonstruovat z textové vrstvy a při nízké jistotě může opět využít VLM.

Důležitá je právě kombinace několika metod.

Není tedy nutné řešit každý dokument stylem:

vykreslit stránku jako obrázek
↓
poslat celý obrázek AI modelu
↓
nechat všechno znovu přečíst

Pokud už použitelná data existují, Marker se je snaží využít.

Jak Marker funguje pod kapotou

Aktuální Marker staví mimo jiné na VLM systému Surya a několika menších modelech běžících na CPU.

Zjednodušeně funguje následovně:

  1. Z PDF získá existující textovou vrstvu.
  2. Určí rozložení stránky a pořadí jednotlivých bloků.
  3. Posoudí kvalitu existujícího textu.
  4. Pokud je některá stránka nebo její část špatně čitelná, použije OCR/VLM.
  5. Samostatně řeší rovnice a matematiku.
  6. Rekonstruuje tabulky.
  7. Jednotlivé části spojí do výsledného dokumentu.

Autoři přitom výslovně uvádějí, že VLM používají jen tam, kde je potřeba.

To je poměrně důležitý princip.

Výpočetně dražší AI totiž nemusí být nejlepší řešení pro každý odstavec obyčejného digitálního dokumentu.

Balanced, fast a režim bez OCR

Marker umožňuje volit mezi různými kompromisy rychlosti, nároků na hardware a přesnosti.

Balanced

Režim balanced je zaměřený na vyšší kvalitu a je určený především pro GPU.

Používá Surya VLM také pro analýzu layoutu a v případě problematického textu může znovu zpracovat celou stránku.

Je vhodnější například pro:

  • složitější dokumenty,
  • matematiku,
  • problematický text,
  • kombinaci digitálních a skenovaných stran.

Fast

fast je optimalizovaný spíše pro CPU.

Používá lehčí detekci layoutu a VLM zapojuje selektivně – například u rovnic nebo konkrétních poškozených bloků.

U čistého digitálního dokumentu bez rovnic podle dokumentace dokonce nemusí VLM server vůbec spustit.

Bez OCR

Existuje také:

--disable_ocr

V tomto režimu se VLM vůbec nepoužije a Marker pracuje jen s existující textovou vrstvou a layoutem dokumentu.

To bude samozřejmě špatná volba pro naskenovanou smlouvu, ale může dávat smysl při masovém zpracování čistých digitálních PDF.

Co dělá --use_llm

Marker umí jít ještě o krok dál.

Volitelně lze při zpracování zapnout:

--use_llm

Do pipeline se následně přidá velký jazykový model.

Neznamená to, že Marker celý dokument zahodí a nechá všechno přečíst ChatGPT. LLM se používá jako další vrstva pro zvýšení kvality u situací, které jsou pro klasické zpracování komplikované.

Typický příklad představuje tabulka pokračující přes dvě stránky.

Strana 1

ProduktCena
A500
B800

Strana 2

ProduktCena
C600
D900

Parser může dvě stránky považovat za dvě nezávislé tabulky.

Jazykový model ale může z kontextu rozpoznat:

Druhá tabulka je pokračováním té první.

Marker podle své dokumentace využívá LLM například pro spojování tabulek přes více stran, inline matematiku, lepší formátování tabulek nebo získávání hodnot z formulářů.

Podporované backendy zahrnují mimo jiné:

  • Gemini,
  • Claude,
  • OpenAI-compatible API,
  • Azure OpenAI,
  • Google Vertex,
  • OpenRouter,
  • Ollama.

To poslední je zajímavé zejména v situaci, kdy chceme některé části infrastruktury provozovat lokálně.

Proč nedává smysl používat LLM vždy

Na první pohled by se nabízelo jednoduše zapnout --use_llm pořád.

Nemusí to být nejlepší řešení.

Pokud máme tisíce jednoduchých digitálních dokumentů, velká část textu už v nich existuje ve správné podobě.

Používat drahý model na každý odstavec by znamenalo:

  • vyšší cenu,
  • vyšší latenci,
  • složitější infrastrukturu,
  • u cloudového modelu také předávání obsahu dalšímu poskytovateli.

Rozumnější architektura proto může vypadat třeba takto:

jednoduchý digitální dokument
        ↓
      Marker

komplikovaný dokument
        ↓
  Marker + OCR/VLM

problematická tabulka / struktura
        ↓
   Marker + LLM

A právě tento hybridní přístup je na Markeru zajímavý.

Jak si Marker vede v benchmarcích

Autoři Markeru aktuálně používají pro hodnocení olmOCR-bench od Allen Institute for AI.

Nejde tedy o benchmark vytvořený přímo projektem Marker. Samotný benchmark obsahuje přibližně 1 400 dokumentů a tisíce automatických testů zaměřených například na tabulky, matematiku, vícesloupcový layout, staré skeny nebo záhlaví a zápatí.

Podle reprodukovatelného benchmarku publikovaného projektem Marker dosahuje režim balanced:

SystémCelkové skóreBorn-digital
Marker balanced76,0 %83,5 %
MinerU pipeline72,7 %83,3 %
Docling50,3 %64,0 %

Marker balanced zde dosahuje také vyššího uváděného throughputu než porovnávané pipeline režimy MinerU a Docling.

Je ale potřeba dodat důležitý kontext.

Tato tabulka neříká, že Marker je nejlepší systém na zpracování dokumentů ze všech existujících řešení.

Autoři sami rozlišují mezi pipeline nástroji typu Marker, MinerU pipeline a Docling a systémy používajícími full-page VLM. Například jejich novější hosted model Chandra dosahuje ve stejném benchmarku vyššího skóre.

Čísla je proto správnější číst následovně:

Marker v tomto konkrétním benchmarku velmi dobře vychází proti srovnatelným pipeline nástrojům, zejména u digitálně vytvořených PDF.

Ne jako univerzální tvrzení, že porazí úplně každý OCR nebo multimodální model v každé situaci.

Markdown, JSON, HTML nebo chunks?

Markdown je jen jedna z možností.

Marker podporuje čtyři hlavní typy výstupu.

Markdown

Nejsrozumitelnější varianta pro člověka i další AI zpracování.

Může obsahovat:

  • nadpisy,
  • odstavce,
  • tabulky,
  • odkazy,
  • obrázky,
  • LaTeX rovnice,
  • bloky kódu.

JSON

JSON zachovává detailnější stromovou strukturu dokumentu.

Každá stránka a jednotlivé části mohou mít vlastní typ – například:

SectionHeader
Text
Table
Picture
Equation
ListItem
Footnote

To je vhodnější, pokud nad dokumenty stavíme vlastní aplikaci a potřebujeme přesně vědět, co která část představuje.

HTML

Další možností je HTML, které se hodí například tam, kde chceme zachovat bohatší reprezentaci dokumentu nebo výstup dále zobrazovat na webu.

Chunks

Pro AI aplikace je možná nejzajímavější právě chunks.

Marker v tomto režimu vytvoří plochý seznam hlavních bloků a přidá jejich kompletní HTML reprezentaci.

Dokumentace přímo uvádí, že tento formát usnadňuje další chunking pro RAG.

A tím se dostáváme k pravděpodobně nejzajímavějšímu použití Markeru.

Marker jako vstupní vrstva pro RAG

RAG znamená Retrieval-Augmented Generation.

Jednoduše řečeno jde o způsob, jak umožnit AI odpovídat na základě našich vlastních dat.

Představme si firmu, která má:

5 000 PDF
500 Word dokumentů
200 prezentací
100 tabulek

Chceme vytvořit AI asistenta, kterého se zaměstnanec zeptá:

Jaká je výpovědní lhůta podle smlouvy s dodavatelem X?

Nejjednodušší architektura může vypadat přibližně takto:

PDF / DOCX / PPTX / XLSX
             ↓
           Marker
             ↓
      strukturovaný text
             ↓
           chunks
             ↓
         embeddings
             ↓
       vector database
             ↓
            RAG
             ↓
            LLM

Marker zde řeší velmi důležitou první část:

Jak dostat informace z různých dokumentů do jednotné a použitelné podoby.

Pokud se tento krok nepovede, chyby se přenesou dál.

Například špatně přečtená tabulka:

Smlouva A | 30 dní
Smlouva B | 90 dní

se může změnit na:

Smlouva A
Smlouva B
30 dní
90 dní

LLM pak nemá spolehlivý způsob, jak poznat, která hodnota patří ke které smlouvě.

V RAG systémech se proto často řeší kvalita embedding modelu, vector databáze nebo samotného LLM, ale kvalita vstupního parsingu dokumentů může být stejně důležitá.

Kde se dá Marker prakticky použít

Firemní knowledge base

Manuály, směrnice, procesy, návody a další dokumentace lze převést do jednotné struktury a následně nad nimi postavit interní AI vyhledávání.

Smlouvy

Marker může pomoci převést velké množství smluv do podoby vhodné pro další automatizovanou analýzu.

U právně nebo finančně kritických údajů je samozřejmě stále nutná kontrola výsledků.

Technické manuály

Manuály často obsahují tabulky, obrázky, kód, poznámky nebo složitější layout. To je přesně typ dokumentu, kde prosté zkopírování textu nemusí stačit.

Vědecké články

Marker má podporu rovnic a matematického zápisu a právě akademické PDF patří mezi dokumenty, na kterých se podobné nástroje často testují.

AI agenti

Agent může mít Marker jako jeden z nástrojů.

Například:

uživatel nahraje dokument
        ↓
agent spustí Marker
        ↓
výstup uloží do knowledge base
        ↓
vytvoří shrnutí
        ↓
extrahuje důležité informace

Dokument se tak nemusí ručně připravovat před každým použitím.

Jak Marker nainstalovat

Marker vyžaduje Python 3.10 nebo novější a PyTorch.

Pro práci s PDF stačí:

pip install marker-pdf

Pokud chceme také Word, PowerPoint, Excel, EPUB nebo HTML:

pip install marker-pdf[full]

Základní převod jednoho PDF pak může vypadat jednoduše:

marker_single dokument.pdf

Výstupní formát lze určit například:

marker_single dokument.pdf --output_format markdown

nebo:

marker_single dokument.pdf --output_format json

Pro RAG:

marker_single dokument.pdf --output_format chunks

A pro zvýšení kvality pomocí LLM:

marker_single dokument.pdf --use_llm

Marker může běžet i lokálně

Další zajímavou vlastností je možnost lokálního provozu.

Marker podporuje:

  • NVIDIA GPU,
  • CPU,
  • Apple Silicon přes MPS / lokální inference infrastrukturu.

Aktuální dokumentace například pro CPU a Apple Silicon počítá s llama.cpp, zatímco na NVIDIA GPU lze použít vLLM.

To je důležité u dokumentů, které nechceme automaticky posílat do externí cloudové služby.

Je ale potřeba rozlišovat dvě věci.

Samotný Marker může běžet lokálně, ale pokud zapneme například:

--use_llm

a jako backend použijeme cloudové Gemini, Claude nebo OpenAI API, relevantní obsah samozřejmě opět opouští náš počítač.

Pro citlivá data je proto potřeba řešit celou pipeline, nikoliv pouze místo, kde běží Marker.

Open source neznamená úplně bez omezení

Marker používá dvě různé licenční vrstvy.

Zdrojový kód je aktuálně licencovaný pod Apache 2.0 a lze jej používat i komerčně.

Modelové váhy mají samostatnou upravenou AI Pubs Open Rail-M licenci. Datalab uvádí bezplatné použití pro výzkum, osobní využití a startupy pod hranicí 5 milionů dolarů ve financování nebo tržbách. Pro širší komerční použití je potřeba řešit jejich komerční licenci.

To je důležitý detail zejména pro firmy, které by Marker chtěly integrovat do vlastního komerčního produktu nebo služby.

Co Marker neumí dokonale

Ani sofistikovaný document parser nedokáže spolehlivě převést každý existující dokument.

Sám projekt mezi problematické případy řadí například velmi složité layouty, vnořené tabulky nebo formuláře. Použití --use_llm a nuceného OCR může některé z těchto problémů zmírnit.

Při práci s důležitými dokumenty proto stále platí:

Automatizovaná extrakce není totéž co stoprocentně ověřená informace.

To je důležité především u:

  • smluv,
  • faktur,
  • finančních dat,
  • právních dokumentů,
  • zdravotnických dat,
  • kritických technických parametrů.

Marker může dramaticky zrychlit jejich zpracování, ale u kritických údajů by měl existovat další validační krok.

Marker je zajímavější jako AI infrastruktura než jako PDF konvertor

Na první pohled vypadá Marker jako další utilita:

PDF → Markdown

Jenže takové vysvětlení jeho využití dost podceňuje.

Přesnější pohled je:

                    ┌→ Markdown
PDF ───┐            │
DOCX ──┤            ├→ JSON
PPTX ──┼→ Marker ───┤
XLSX ──┤            ├→ HTML
HTML ──┤            │
EPUB ──┘            └→ chunks
                         ↓
                  RAG / AI agent

Marker je tedy možné chápat jako document ingestion engine.

Vezme dokument navržený primárně pro člověka a pokusí se z něj vytvořit strukturu vhodnou pro další strojové zpracování.

To je s nástupem RAG, AI agentů a firemních knowledge base stále důležitější problém.

Velká část zajímavých firemních dat totiž není uložená v dokonale připravených databázích.

Je v:

  • PDF,
  • smlouvách,
  • Word dokumentech,
  • prezentacích,
  • tabulkách,
  • manuálech,
  • historických archivech.

A jestli chceme, aby s nimi spolehlivě pracovala AI, musíme je nejdřív dostat do podoby, které dokáže dobře rozumět.

Právě zde Marker dává největší smysl. Ne jako náhrada ChatGPT nebo jako další OCR aplikace. Ale spíše jako vrstva mezi světem dokumentů a světem AI.