2019年5月25日土曜日

Dockerでpython3.7とpython-pptxをインストールしたコンテナ(Alpine3.9ベース)を作成する

python-pptxを使用して、パワーポイントファイルの読み取りや生成・編集などを行うことができます。

以下のコマンドとDockerfileを使用してpython3.7とpython-pptxがインストールされたイメージを作成する事ができます。
docker build -t pythonpptx:1.0 .

Dockerfile
FROM python:3.7-alpine3.9
RUN apk --no-cache add libstdc++ \
    libxml2 \
    libxslt \
    libjpeg-turbo \
  && apk --no-cache --virtual pydeps add gcc \
    g++ \
    python3-dev \
    musl-dev \
    cython \
    libxml2-dev \
    libxslt-dev \
    jpeg-dev \
    zlib-dev \
  && pip install pillow \
  && pip install python-pptx \
  && apk del --purge pydeps
CMD ["/bin/sh"]

適当なエクセルファイルtest1.pptxを準備して、以下のコマンドでサンプルコードを実行してパワーポイントファイルの内容にアクセスできます。
docker run -v `pwd`:/tmp --rm -it pythonpptx:1.0 /usr/local/bin/python3 /tmp/test.py

test.py
import pptx

prs = pptx.Presentation("/tmp/test1.pptx")
text = []
for slide in prs.slides:
  for shape in slide.shapes:
    text.append(shape.text)
print('\n'.join(text))

0 件のコメント:

コメントを投稿