【完全版】GASでフォーム入力からPDFを自動生成する方法|初心者でもできるステップ解説!

「Googleフォームで集めた回答を、そのままPDFにまとめて保存したい!」
「手作業でレポートを作るのはもう疲れた!」

そんなあなたにぴったりなのが、Google Apps Script(GAS)を使ったフォーム入力内容からのPDF自動生成システムです!

この記事では、初心者でもすぐできる
GASを使ってGoogleフォーム→スプレッドシート→PDF作成まで一気通貫で自動化する方法を、サンプルコード付きでわかりやすく解説します!

これを読めば、書類作成の手間ゼロ生活が今日から始まります!


1. なぜGASでフォーム入力からPDF自動生成をするべきなのか?

フォーム回答を受け取ったあとに

  • いちいちコピー&ペースト

  • WordやGoogle Docsに整形

  • PDF出力して保存

こんな超アナログ作業をしていませんか?

GASを使えば、

  • フォーム送信と同時に

  • 回答データを整形して

  • 自動でPDFを作成&保存&送信

ができるため、
人手ゼロで正確なドキュメント管理が実現します!


2. 【準備編】必要なもの

  • Googleアカウント

  • Googleフォーム(回答収集用)

  • Googleスプレッドシート(回答記録用)

  • Googleドキュメント(PDFテンプレート用)

  • Google Apps Script(GAS)

これだけあれば、無料&すぐにスタートできます!


3. 【設計編】フォーム→PDF自動生成システムの流れ

まずは全体像を押さえましょう。

■ 基本フロー

  1. Googleフォームで回答を受信

  2. 回答内容をスプレッドシートに保存

  3. テンプレートドキュメントに回答を流し込む

  4. 完成したドキュメントをPDF化

  5. ドライブ保存 or メール送信

これを全部自動で回す仕組みを作ります!


4. 【基本編】GASでフォーム入力からPDFを自動生成する方法

では、実際に作っていきましょう!


ステップ① Googleフォーム&スプレッドシートを作成

  • 質問項目を作成(例:氏名、住所、申し込み内容など)

  • フォームの設定から「回答先スプレッドシートを作成」


ステップ② Googleドキュメントでテンプレートを作成

ドキュメント本文に、以下のように差し込みフィールドを配置しておきます。


【申込書】

氏名:{{氏名}}

住所:{{住所}}

申込内容:{{申し込み内容}}

{{ }}の中にフォーム回答データが差し込まれるイメージです!


ステップ③ Apps Scriptエディタを開く

スプレッドシートから
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ④ サンプルスクリプトを書く

【基本版】フォーム回答からPDFを自動生成&保存

function onFormSubmit(e) {
  const templateId = 'テンプレートドキュメントID';
  const folderId = '保存先フォルダID';

  const responses = e.namedValues; // フォーム回答データ
  const fileName = `申込書_${responses['氏名'][0]}_${new Date().toISOString()}`;
  
  const copy = DriveApp.getFileById(templateId).makeCopy(fileName);
  const doc = DocumentApp.openById(copy.getId());
  const body = doc.getBody();
  
  // フォームの回答をテンプレートに流し込む
  for (let field in responses) {
    body.replaceText(`{{${field}}}`, responses[field][0]);
  }
  
  doc.saveAndClose();
  
  // PDFに変換してフォルダへ保存
  const pdf = DriveApp.getFileById(copy.getId()).getAs('application/pdf');
  const folder = DriveApp.getFolderById(folderId);
  folder.createFile(pdf);
  
  // 不要なドキュメントファイルを削除(オプション)
  DriveApp.getFileById(copy.getId()).setTrashed(true);
}

これで、

  • フォーム回答受信と同時に

  • テンプレートにデータ差し込み

  • PDF出力&フォルダ保存

完全自動で完了します!


5. 【応用編】さらに便利なPDF生成テクニック!


✅ 回答者に自動でPDFをメール送信

MailApp.sendEmail({
  to: responses['メールアドレス'][0],
  subject: 'お申込完了のお知らせ',
  body: 'このたびはお申込ありがとうございました。PDFを添付いたします。',
  attachments: [pdf]
});

これで、
回答者に自動でPDF返信することもできます!


✅ 複数ページにまたがる申込書も自動対応

テンプレートにページ区切りを入れておけば、
長文対応も問題なし!


✅ フォーム項目によってPDFテンプレートを切り替える

申込種別ごとにテンプレートを使い分ければ、
より柔軟な運用ができます!


6. 【運用編】PDF自動生成システムを安定稼働させるコツ


✔️ テンプレート編集時はフィールド名を崩さない

{{氏名}}など、フィールド名は正確に一致していないとデータ差し込みに失敗します!


✔️ フォームのバージョン管理に注意

質問項目を変更すると、スクリプト側も追従修正が必要なので忘れずに!


✔️ 定期的なファイル整理も考える

PDFが大量にたまる場合、
GASで「〇ヶ月前のファイルを自動削除」機能を組み込むと便利!


7. まとめ|GASでフォーム入力からPDF自動生成を実現して、作業ゼロのドキュメント管理へ!

GASを使えば、

  • フォーム回答と同時に

  • テンプレートドキュメントにデータ差し込み

  • PDFファイルを自動生成&保存&送信

という、超スマートなドキュメントワークフローが誰でも作れます!

まずはこの記事のサンプルコードをベースに、
「シンプルな申込書作成」から始めてみてください!

慣れてきたら、

  • 複数パターンのテンプレート切り替え

  • 自動バージョン管理

  • クラウド連携によるさらに高度な管理

など、さらに本格的な運用にもチャレンジできます!

Shop now