目次
Contents
この記事でできること
この記事では、Googleフォームの回答をもとにPDFを自動作成する方法を解説します。
- フォームに入力された内容を
- 自動でPDF化し
- 保存・共有・送付まで行う
申込書・同意書・請求書など、「紙でやっていた業務」をそのまま自動化できます。
どんな場面で役に立つ?
- 申込み内容をPDFで保存したい
- 同意書・誓約書を自動作成したい
- 請求書・見積書を手作業で作っている
- フォーム回答をそのまま証跡として残したい
「回答を見る」だけで終わらせず、
業務で使える書類に変換したい人向けの記事です。
全体の仕組み
流れは以下のとおりです。
- Googleフォームに回答が送信される
- GASで回答内容を取得
- PDF用テンプレートに差し込み
- PDFを自動生成
- Drive保存 or メール・LINE送信
一度作れば、あとは完全自動です。
① PDFの元になるテンプレートを用意する
おすすめは Googleドキュメントをテンプレートにする方法です。
例:
申込日:{{date}}
氏名:{{name}}
メール:{{email}}
以下の内容で申込みを受け付けました。
{{ }} の部分を、後でフォームの回答で置き換えます。
② フォーム回答を取得する
フォーム送信時トリガーを使い、回答を取得します。
function onFormSubmit(e) {
const name = e.namedValues['氏名'][0];
const email = e.namedValues['メールアドレス'][0];
}
「どの質問がどの値か」を正確に合わせるのが重要です。
③ テンプレートに値を差し込む
Googleドキュメントの本文を置換します。
body.replaceText('{{name}}', name);
body.replaceText('{{email}}', email);
この方法なら、レイアウトを自由に設計できます。
④ PDFとして自動生成する
完成したドキュメントをPDFに変換します。
const pdf = doc.getAs('application/pdf');
DriveApp.createFile(pdf);
ファイル名に「氏名+日付」を入れると管理しやすくなります。
⑤ 作成したPDFをどう使う?
よくある活用パターン
- Google Driveに自動保存
- 申込者へメールで送信
- 管理者へLINEで通知
- 承認フローの資料として利用
③の記事(メール・LINE自動送信)と組み合わせると最強です。
よくある失敗と対策
文字化けする
→ 日本語フォントはGoogleドキュメントを使えば回避可能
PDFレイアウトが崩れる
→ 表・改行を使いすぎない/余白を広めに取る
権限エラーが出る
→ 初回実行時にGASの権限承認を忘れない
この記事の位置づけ(シリーズ内)
この記事は、
- ① ChatGPTで文章を作る
- ② レポート・週報を自動化する
- ③ 作った文章を送信する
その先の「書類として完成させる」工程を担当します。
まとめ|フォーム回答は「PDF化」で業務になる
Googleフォームは集計ツールで終わりがちですが、
- 書類化
- 保存
- 共有
まで自動化して初めて、業務システムになります。
「紙でやっていた作業」を一つずつ消したい人は、 まずこのPDF自動化から始めるのがおすすめです。
