背景
- MSがMS Officeの各種ファイルをmarkdownにコンバートできるライブラリを公開した.
- デフォルトがCLIで環境をいろんなところに作るのが面倒.
- ブラウザにしたかった.
作ったもの
MarkItDown Web Converter
オフィスドキュメントやPDFなどの各種ファイルをMarkdown形式に変換するWebアプリケーション.Microsoft社のMarkItDownライブラリを利用して,ブラウザ上で簡単にファイル変換が行える.
機能
- ブラウザからのファイルアップロード
- 各種ファイル形式からMarkdownへの自動変換
- 変換したファイルの即時ダウンロード
対応ファイル形式(markitdown準拠)
- Microsoft Office (.docx, .xlsx, .pptx)
- PDF (.pdf)
- 画像ファイル (.jpg, .jpeg, .png)
- テキストファイル (.txt, .csv, .json, .xml)
- HTML (.html)
必要要件
- Docker
- Docker Compose
インストールと実行方法
- リポジトリのクローン:
git clone git@github.com:feles-ao42/markitdown_browser.git
cd markitdown_browser
- Dockerコンテナの起動:
docker-compose up --build
- ブラウザで以下のURLにアクセス:
http://localhost:5000
使用方法
- ブラウザでアプリケーションにアクセス
- 「ファイルを選択」ボタンをクリックしてファイルを選択
- 「Convert to Markdown」ボタンをクリック
- 変換されたMarkdownファイルが自動的にダウンロードされる
プロジェクト構成
markitdown_browser/
├── app.py # メインアプリケーション
├── templates/ # HTMLテンプレート
│ └── upload.html # アップロードページ
├── Dockerfile # Dockerビルド設定
├── docker-compose.yml # Docker Compose設定
└── requirements.txt # Pythonパッケージ依存関係
セキュリティ対策
- ファイルサイズ制限: 16MB
- 許可された拡張子のみ受付
- セキュアなファイル名の処理
- アップロードディレクトリの自動作成
開発環境での実行
Dockerを使用せずにローカルで実行する場合:
- Python環境のセットアップ:
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
- アプリケーションの起動:
python app.py
制限事項
- アップロードファイルサイズは16MBまで
- 一度に処理できるファイルは1つまで
- 変換結果は一時的にサーバーに保存され、ダウンロード後に削除されます
ライセンス
このプロジェクトはMITライセンスの下で公開されています。
謝辞
このプロジェクトはMicrosoft社のMarkItDownライブラリを使用しています。