# 実例 2 — 10 件の契約更新案内を Markdown テンプレで差し込み印刷

第 05 章「事務処理を変える ── Office から離れる現実的な道筋」の **2 番目の角度**:
**Word の差し込み印刷**を Python に置き換える。

## 章のどの主張に対応するか

> Word の起動 → 書式調整 → 保存 → メール送信 のサイクル: 1 件 5 分 × 1 日 30 件
> = 月 **50 時間**。Markdown + Python 自動化で月 **5 時間**。**45 時間の余裕**ができる。

(章本文「実例: 数字で見る」より)

example-1 が「月次レポート生成」、これは **顧客一人ひとり宛のお手紙を一括生成** する。
Word の「差し込み印刷ウィザード」「メール差し込み」が、Markdown テンプレに置き換わる。

## やること

1. **入力**:
   - `data/recipients.csv`(顧客 10 件 + プラン・更新日・残額)
   - `template.md`(Jinja2 テンプレート、`{{ company }}` `{{ name }}` などで差し込み)
2. **生成**: 顧客ごとに 3 形式
   - **Markdown**(社内チェック・編集用)
   - **PDF**(郵送・印刷用、A4)
   - **TEXT**(メール本文に貼り付け用)
3. **計測**: 10 件 × 3 形式 = 30 ファイルの生成時間

## 構成

```
example-2/
├── README.md
├── template.md                ── Jinja2 テンプレ
├── mailmerge.py               ── 差し込み + 3 形式生成
├── Makefile
├── results.md
├── data/recipients.csv        ── 顧客 10 件
└── out/letters/
    ├── C001.md / C001.pdf / C001.txt
    ├── C002.md / C002.pdf / C002.txt
    └── ...                     ── 計 30 ファイル
```

## 実行

```bash
pip install jinja2 markdown-it-py weasyprint
sudo apt install fonts-noto-cjk
make clean && make all
```

## なぜこれが「実例」になるのか

Word の差し込み印刷は便利だが、**書式とテンプレが Word ファイルの中に閉じる**。

- 別の人にテンプレを渡すと「Word のバージョンが違う」「フォントが置換」
- バージョン管理しにくい(`.docx` は Git diff が出ない)
- メール本文用とは別にメールも作る必要がある
- Web 公開が要るならまた別形式

Markdown テンプレに切り替えると:

- **テンプレが 1 ファイル**(`template.md`、人間が読める)
- **データが 1 ファイル**(`recipients.csv`、Excel でも開ける)
- **同じソースから 3 形式**(Markdown / PDF / TEXT)を生成
- **Git で履歴管理**(誰がいつ何を変えたか追える)
- **AI が編集に並走**(Claude に「文体をもっと丁寧に」と頼める)

これが章で言う「**入口と出口だけ変換層**」を顧客向け書類で実演する形。

## テンプレートを変えると

`template.md` の 1 行を変えれば、**10 件の出力すべてに反映**:

```diff
-いつも Mochi.ai をご利用いただきありがとうございます。
+いつもご利用いただきありがとうございます。
```

`make` を再実行 → 30 ファイル更新。Word の差し込みでも一応できるが、
**Git で diff が見える**かどうかがレビューの可否を決める。
