====== MarkItDown ====== [[https://github.com/microsoft/markitdown|MarkItDown]] je lehký Python nástroj od Microsoftu pro převod různých formátů souborů do Markdownu. Primárně je určen pro přípravu obsahu pro LLM a textové analytické pipeline. Na rozdíl od nástrojů jako [[software:dokumentace:pandoc|Pandoc]] se MarkItDown zaměřuje na zachování struktury dokumentu (nadpisy, tabulky, seznamy, odkazy) spíše než na vizuální věrnost výstupu. ===== Podporované formáty ===== * PDF * PowerPoint (.pptx) * Word (.docx) * Excel (.xlsx, .xls) * Obrázky (EXIF metadata, OCR) * Audio (EXIF metadata, přepis řeči) * HTML * Textové formáty (CSV, JSON, XML) * ZIP (iteruje obsah) * YouTube URL (přepis titulků) * EPub * a další ===== Instalace ===== Požadavky: Python 3.10 nebo vyšší. ==== Ze zdrojového kódu (pro vývoj nebo úpravy) ==== # 1. Klonovat repozitář git clone https://github.com/microsoft/markitdown.git markitdown # 2. Vytvořit virtuální prostředí uvnitř složky projektu python3 -m venv markitdown/.venv # 3. Nainstalovat závislosti přes venv pip markitdown/.venv/bin/pip install -e 'markitdown/packages/markitdown[all]' Přepínač ''-e'' (editable install) zajistí, že změny ve zdrojovém kódu se projeví okamžitě bez reinstalace. Přípona ''[all]'' nainstaluje všechny volitelné závislosti. Lze instalovat jen vybrané formáty: pip install 'markitdown[pdf,docx,pptx]' ^ Skupina ^ Formát ^ | ''[pptx]'' | PowerPoint | | ''[docx]'' | Word | | ''[xlsx]'' | Excel | | ''[xls]'' | Starší Excel | | ''[pdf]'' | PDF | | ''[outlook]'' | Outlook zprávy | | ''[audio-transcription]'' | WAV a MP3 | | ''[youtube-transcription]'' | YouTube titulky | | ''[az-doc-intel]'' | Azure Document Intelligence | ===== Použití ===== ==== Příkazová řádka ==== # Základní konverze markitdown dokument.pdf > dokument.md # Se zadáním výstupního souboru markitdown dokument.pdf -o dokument.md # Pipe cat dokument.pdf | markitdown markitdown/.venv/bin/markitdown soubor.pdf > soubor.md ==== Python API ==== from markitdown import MarkItDown md = MarkItDown() result = md.convert("soubor.xlsx") print(result.text_content) S popisem obrázků přes LLM (pouze pro PPTX a obrázky): from markitdown import MarkItDown from openai import OpenAI client = OpenAI() md = MarkItDown(llm_client=client, llm_model="gpt-4o") result = md.convert("prezentace.pptx") print(result.text_content) ==== Azure Document Intelligence ==== markitdown dokument.pdf -o dokument.md -d -e "" ==== MCP server ==== MarkItDown nabízí také MCP server pro integraci s LLM aplikacemi (Claude Desktop apod.) — viz balíček [[https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp|markitdown-mcp]]. ===== Viz také ===== * [[software:dokumentace:pandoc|Pandoc]] — univerzální konvertor dokumentů * [[ai:zapisy-a-workflow:workflow:prevod-dokumentu-na-markdown|Marker]] — převod dokumentů na Markdown s vysokou přesností (OCR)