MarkItDown オンライン:インストール不要の PDF 向け代替

MarkItDown は Python のツールなので、ブラウザで開くものはありません。いま手元の PDF を Markdown にしたいなら、下の変換ツールがこのタブの中で、何もインストールせず、ファイルをアップロードせずに変換します。

MarkItDown とは

MarkItDown は、Microsoft によるオープンソースの Python パッケージ兼コマンドラインツールで、MIT ライセンスです。言語モデルやテキスト分析のために、さまざまなファイルを Markdown に変換します。PDF、Word、PowerPoint、Excel、HTML、CSV、JSON と XML、EPUB、ZIP アーカイブなどです。画像の説明文と音声の文字起こしには、ウェブ上のサービスを使います。

強みは対応範囲の広さで、さまざまなオフィスファイルが混ざったフォルダ全体を 1 回の呼び出しで処理できます。PDF については、組み込みの変換処理が pdfminer.six で文字を取り出し、フォームや表のように組まれたページには pdfplumber を使います。

pdftomd は MarkItDown ではなく、MarkItDown を動かしてもいません。 PDF 専用に作られた別の変換ツールで、ブラウザの中で動きます。このページでは両者の違いと、必要なら MarkItDown を自分で動かす方法を説明します。

MarkItDown の動かし方

Python 3.10 以降が必要です。PDF 用の依存パッケージだけを付けてインストールします。

pip install 'markitdown[pdf]'

コマンドラインでファイルを変換します。

markitdown report.pdf -o report.md

Python からはこうです。

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("report.pdf")
print(result.markdown)

私たちのベンチマークでは、バージョン 0.1.9 でまさにこれを実行しました。Word、PowerPoint、Excel などほかの形式も使うなら、[pdf] の代わりに 'markitdown[all]' を指定します。

PDF から得られるもの

公開されている 16 個の PDF で試したところ、MarkItDown 0.1.9 の出力は次のとおりでした。

  • 見出しのないプレーンテキスト。 どの文書にも # の見出しが 1 つも付かず、報告書や論文の構成が失われました。
  • PDF の改行とハイフンがそのまま。 文は PDF の行末で切れ、pur- suant のように行末のハイフンで分かれたままの語が 307 個残りました。
  • ヘッダーとフッターが残る。 毎ページ繰り返し出てきます。
  • 論文で文字が欠ける。 3 本の研究論文では、出力から語のおよそ半分から 4 分の 3 が抜けていました。
  • スキャンからは何も出ない。 標準のインストールには PDF 用の OCR がないため、スキャンしたページは空でした。プラグイン markitdown-ocr を入れると、自分で設定した API を通じてページ画像を視覚モデルに送り、OCR を追加できます。

シンプルな文書ではうまくいきました。判決文、申請書類、中国語・日本語・韓国語の文書は、すべての語が残りました。文書ごとの詳しい数字はベンチマークにあります。

同じ PDF を pdftomd で

MarkItDown 0.1.9pdftomd
動く場所Python、あなたのマシン上ブラウザ、あなたのマシン上
インストールpip install 'markitdown[pdf]'不要
対応形式PDF、Office、HTML、EPUB などPDF
見出しなしあり(文字の大きさと太さから判断)
段落PDF の改行のまま行をつないで段落に
ヘッダー、フッター、ページ番号残る削除(残すスイッチあり)
行末のハイフン残る単語リストで確認してつなぐ
表テキストとして、フォーム状のページでは表としてMarkdown の表、表のあるページに印
スキャン PDFクラウドの視覚モデルを使うプラグインブラウザ内の OCR を内蔵
トークン数と RAG チャンクなしあり
ライセンスMIT無料で利用可

Word や PowerPoint のファイルも変換したい場合や、Python でパイプラインを組んでいる場合は、MarkItDown のほうが実用的です。PDF なら、特にいますぐ結果が欲しいなら、このページの上にある変換ツールを使ってください。

よくある質問

MarkItDown の公式サイトはありますか?

MarkItDown は Python パッケージと GitHub で公開されています。Microsoft はウェブサイトとしては提供していないので、「MarkItDown オンライン」と名乗るサイトは第三者が運営しており、裏で動くエンジンもサイトごとに違います。pdftomd は MarkItDown を動かしておらず、ファイルをアップロードすることもありません。

MarkItDown はスキャン PDF を読めますか?

標準のインストールでは読めません。自分で設定した視覚モデルに画像を送る markitdown-ocr プラグインを追加するか、Microsoft の有料クラウドサービスである Azure Document Intelligence のオプションを使います。pdftomd は、ブラウザの中で動く OCR モデルでスキャンを読みます。スキャン PDF を Markdown にをご覧ください。

LLM に文書を渡すにはどちらがよいですか?

PDF なら、見出しがあり、段落がつながり、ヘッダーの繰り返しがない出力のほうが、モデルにとって追いやすく、トークンも少なくて済みます。pdftomd はトークン数も表示し、文書をチャンクに分けることもできます。LLM 向け PDF から Markdown へをご覧ください。

Python ではほかにどんな選択肢がありますか?

PyMuPDF4LLM、Docling、Marker はどれも PDF を Markdown に変換でき、それぞれ強みとライセンスが異なります。Python で PDF を Markdown にに、それぞれ動くコードがあります。

MarkItDown は Microsoft のプロジェクトです。pdftomd は独立したサービスで、Microsoft とは関係ありません。