2020年3月3日火曜日

開発環境

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、13章(PDFファイルとWordファイル文書)、13.6(演習プロジェクト)、13.6.2(Word文書による特製招待状)の解答を求めてみる。

コード

#!/usr/bin/env python3
import docx
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT


def f(doc: docx.Document, name: str) -> None:
    for t in ['It would be a pleasure to have the company of', name,
              'at 11010 memory Lane on the Evening of', 'April 1st',
              "at 7 o'clock"]:
        paragraph = doc.add_paragraph(t)
        paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER


doc = docx.Document('helloworld.docx')

with open('guests.txt') as in_file:
    name = in_file.readline().strip()
    f(doc, name)
    for name in in_file:
        doc.add_page_break()
        f(doc, name.strip())

doc.save('helloworld_new.docx')

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample2.py 
% open helloworld.docx 
% open helloworld_new.docx 
% 

0 コメント:

コメントを投稿