開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
退屈なことは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 コメント:
コメントを投稿