このプロジェクトは、アップロードされたPPTXファイルを画像に変換し、ZIPファイルとして返すAPIです。FastAPIを使用して構築されており、非同期処理を活用して効率的にファイル変換を行います。
- PPTXファイルをPDFに変換
- PDFを画像に変換
- 変換された画像をZIPファイルにまとめて返す
- Python 3.8+
- FastAPI
- asyncio
- LibreOffice
- pdf2image
- zipfile
- リポジトリをクローンします。
git clone https://github.com/yuichiromukaiyama/pptx-to-image
cd pptx-to-images-api
- 仮想環境を作成し、アクティベートします。
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- 必要なパッケージをインストールします。
pip install -r requirements.txt
- LibreOfficeをインストールします。以下のコマンドでインストールできます。
sudo apt-get install libreoffice # Ubuntu
brew install --cask libreoffice # macOS
- サーバーを起動します。
uvicorn main:app --reload
- ブラウザで以下のURLにアクセスして、APIのドキュメントを確認します。
http://127.0.0.1:8000/docs
/convert/
エンドポイントにPOSTリクエストを送信して、PPTXファイルをアップロードします。例えば、curl
を使用して以下のようにリクエストを送信できます。
curl -X 'POST' \
'http://127.0.0.1:8000/convert/' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@path_to_your_pptx_file.pptx'
アップロードされたPPTXファイルを画像に変換し、ZIPファイルとして返します。
-
リクエストパラメータ:
-
file
(UploadFile): アップロードされたPPTXファイル。 -
レスポンス:
-
FileResponse
: 変換された画像を含むZIPファイルを返します。