MarkItDown は2024年末に出たばかりのMicrosoft謹製のMarkdown変換ツールです。PDFやOffice文書だけでなく、画像、音声、HTML、CSV、JSON、XMLといったものをMarkdownに変換できるとのことです。
pip install markitdown で入ります。同時に、beautifulsoup4、mammoth、markdownify、numpy、openpyxl、pandas、pathvalidate、pdfminer-six、puremagic、pydub、python-pptx、requests、speechrecognition、youtube-transcript-api が(入っていなければ)インストールされます。
CLIツール markitdown がインストールされますので、通常は markitdown ファイル名 と打ち込むだけで標準出力にMarkdown形式で出力されます(ファイル名を与えなければ標準入力からの入力になります)。ファイルに出力するには markitdown ファイル名 > output.md のようにリダイレクトします。
Pythonからの使い方は
from markitdown import MarkItDown
markitdown = MarkItDown()
result = markitdown.convert("test.xlsx")
print(result.text_content)
です。