読みやすくて書きやすいテキスト形式のマークアップ言語「Markdown」。
最近は、Webサイトのコンテンツ管理や、各種のアプリ、ドキュメントの作成のために利用される事も多く、利用できる場面が増えています。
本日紹介する「MarkItDown」は、PDFやPowerPoint、Word、Excelなどさまざまな形式のファイルをMarkdown形式に変換することができるPython製のツール・ライブラリです。
Microsoftが公開したもので、以下のようなファイル形式をサポートしています。
- PowerPoint
- Word
- Excel
- 画像(EXIFメタデータとOCR)
- オーディオ(EXIFメタデータと音声の書き起こし)
- HTML
- テキストベースのフォーマット(CSV、JSON、XML)
以下使用方法を説明します。
MarkItDownの使用方法
MarkItDownはPython製のツール・ライブラリです。pip
コマンドを使ってインストールすることができます。
pip install markitdown
適切にPATHが設定されていればmarkitdown
コマンドが実行できるはずです。変換したいファイルを第1引数として渡せばMarkdownに変換した結果が表示されます
markitdown path-to-file.pdf
ファイルとして保存したい場合はリダイレクトします。
markitdown path-to-file.pdf > document.md
catを使ってパイプで渡すこともできます。
cat path-to-file.pdf | markitdown
例えば以下のようなWordファイルを変換してみます。
すると次のような結果が得られます。
見出しや箇条書きが正しく認識されていることがわかります。
Python製のライブラリなのでPythonのスクリプトから呼び出すこともできます。
from markitdown import MarkItDown md = MarkItDown() result = md.convert("test.xlsx") print(result.text_content)
画像の情報を取得したい場合などLarge Language Modelsを使用するには、llm_client
とllm_model
を指定する必要があります。
from markitdown import MarkItDown from openai import OpenAI client = OpenAI() md = MarkItDown(llm_client=client, llm_model="gpt-4o") result = md.convert("example.jpg") print(result.text_content)
まとめ
MarkItDownは各種ファイルをMarkdown形式に変換することができるPythonツール・ライブラリです。Microsoftが開発しているということで、Microsoft Office形式のファイルが安定して変換できることが期待できそうです。
なおこのサイトを利用すればWebブラウザで機能を試すこともできます。