ADVERTISEMENT

【Googleドキュメント】差し込み後にPDFだけ作成したい時の保存形式指定

【Googleドキュメント】差し込み後にPDFだけ作成したい時の保存形式指定
🛡️ 超解決

Googleドキュメントで差し込み文書を作成した後、配布や印刷のためにPDFだけを残したいケースは多いものです。しかし、標準の機能だけでは差し込み結果をまとめてPDFに変換する方法がわかりにくく、本来は不要なGoogleドキュメント形式のファイルが大量に残ってしまうことがあります。この記事では、差し込み後に目的のPDFだけを効率よく作成するための保存形式指定の方法を、具体的な手順や失敗例を交えて解説します。

【要点】この記事で確認すること

  • 最初に見る場所: 使用している差し込み方法(アドオン、Google Apps Script、手動)に応じて、どの段階で保存形式を指定するか。
  • 切り分けの軸: 差し込み処理の仕組み(ファイル単位かドキュメント内のページ単位か)とエクスポート形式の指定箇所の違い。
  • 注意点: 会社PCでスクリプトやアドオンを利用する場合は、管理者の承認が必要な場合があること。また、PDFに変換後も元のドキュメントが残る仕様を理解しておくこと。

ADVERTISEMENT

Googleドキュメントで差し込み文書を作成する代表的な方法

PDFを作成する前に、そもそもどのように差し込み文書を作成しているかを整理します。大きく分けて3つの方法があり、それぞれ保存形式の指定が異なります。

アドオンを使う方法

Googleドキュメントのアドオン「Mail Merge with Attachments」や「Yet Another Mail Merge」を使うと、スプレッドシートのデータをドキュメントに差し込んで、メール添付やドライブ保存ができます。これらのアドオンでは、出力形式を「PDF」「Googleドキュメント」「Microsoft Word」などから選択できることが多いです。例えば「Mail Merge with Attachments」では、アドオンの設定画面で「Attachment format」を「PDF」に指定することで、差し込み結果が自動的にPDFとして作成されます。

Google Apps Scriptを使う方法

スクリプトで差し込みを実装する場合、ドキュメントをコピーしてテキスト置換を行い、最後にDocumentAppDriveAppを使ってエクスポートします。このとき、保存形式を明示的に指定しなければデフォルトでGoogleドキュメント形式になります。PDFとして保存するには、ファイルのblobを取得してからDriveApp.createFile()でMIMEタイプをapplication/pdfに設定する必要があります。

手動でテンプレートを作成しコピーする方法

データ件数が少ない場合は、テンプレートをコピーして1件ずつ手動で差し込むこともあります。この場合は、最終的に各ドキュメントを開いて「ファイル」→「ダウンロード」→「PDF」を選択することになります。ただし、この方法ではファイルごとに手動操作が必要で、複数件数がある場合は非効率です。

お探しの解決策が見つからない場合は、こちらの「PDFトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

差し込み後にPDFだけ作成するための保存形式設定

目的のPDFだけを残すには、差し込み処理の「出力設定」を正しく行うことが重要です。方法ごとに具体的な手順を確認しましょう。

アドオン「Mail Merge with Attachments」の場合

  1. Googleドキュメントでテンプレートを作成し、差し込みフィールドを{{名前}}のように記述します。
  2. 拡張機能メニューから「Mail Merge with Attachments」を起動し、データソースとしてスプレッドシートを選択します。
  3. アドオンの設定画面で「Attachment format」を「PDF」に変更します。他のオプションで「Save merged documents to Google Drive」にチェックを入れ、保存先フォルダを指定します。
  4. 「Merge」ボタンをクリックすると、指定したフォルダにPDFファイルが作成されます。
  5. 作成後、元のGoogleドキュメントファイルは自動削除されませんので、不要であれば手動で削除するか、アドオンの設定で削除オプションを有効にします。

スクリプトでエクスポート形式を指定する場合

Google Apps Scriptを使用する場合、以下のようなコードでPDF化できます。

function mergeAndExportToPDF() {
  var template = DriveApp.getFileById('テンプレートID');
  var data = SpreadsheetApp.openById('スプレッドシートID').getSheetByName('データ').getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    var copy = template.makeCopy('出力ファイル名_' + i);
    var doc = DocumentApp.openById(copy.getId());
    var body = doc.getBody();
    body.replaceText('{{名前}}', data[i][0]);
    doc.saveAndClose();
    // PDFとして保存
    var pdfBlob = doc.getAs('application/pdf');
    pdfBlob.setName('出力ファイル名_' + i + '.pdf');
    var folder = DriveApp.getFolderById('保存先フォルダID');
    folder.createFile(pdfBlob);
    // 元のコピーを削除(不要な場合)
    copy.setTrashed(true);
  }
}

重要なのはdoc.getAs('application/pdf')の部分です。これでPDF形式のBlobを取得し、createFileで保存します。元のドキュメントコピーを残したくない場合はsetTrashed(true)でごみ箱に移動します。

手動で「ファイル」→「ダウンロード」→「PDF」を選択する場合

  1. 差し込み済みの各ドキュメントを開きます。
  2. メニューバーから「ファイル」→「ダウンロード」→「PDF」を選択します。
  3. ダウンロードが完了したら、PDFファイルを適切なフォルダに移動します。
  4. 元のドキュメントはドライブに残るため、不要であれば手動で削除します。
  5. この作業を全ファイル分繰り返します。大量の場合、アドオンやスクリプトを使うことをおすすめします。

よくある失敗パターンと対処法

差し込み後にPDFだけを作成しようとして、以下のような失敗がよく発生します。事前に対処法を確認しておきましょう。

失敗パターン 原因 対処法
すべてのファイルがGoogleドキュメント形式のままで、PDFがない アドオンやスクリプトで出力形式を指定し忘れた 設定画面やコードで「PDF」を明示的に選択する
PDFはできたが、元のドキュメントが大量に残ってしまった 自動削除機能を使っていない スクリプトでsetTrashed(true)を追加する、またはアドオンの削除オプションを有効にする
PDFのファイル名が連番にならず、上書きされた 同じファイル名で保存した ファイル名にインデックスやユニークな値を含める
スクリプト実行後にエラーになりPDFが作成されない 権限不足やMIMEタイプの指定ミス スクリプトの承認を再確認し、MIMEタイプをapplication/pdfに修正する

管理者に確認すべきポイント

会社のGoogle Workspace環境では、アドオンのインストールやスクリプトの実行に制限がある場合があります。以下の点を管理者に確認してください。

  • アドオンのインストール許可: 組織によってはGoogle Workspace Marketplaceからのアドオンインストールが禁止されていることがあります。代替として内製のスクリプトを使う必要があります。
  • スクリプト実行の権限: Google Apps Scriptを実行するには、ドライブやドキュメントへのアクセス権限が必要です。管理者による承認(OAuth同意画面)が必要な場合があります。
  • エクスポート制限: 一部のエディションでは、PDFエクスポートの回数やサイズに制限がある場合があります。大量の差し込みをする前に上限を確認してください。
  • ファイル保存先の共有設定: 作成したPDFを外部に配布する場合、保存先フォルダの共有範囲が適切かどうかも確認しましょう。

各方法の比較表

方法 メリット デメリット PDF保存の容易さ
アドオン(Mail Merge with Attachments など) GUIで簡単設定、ファイル名や保存先を指定できる 無料版で制限あり、管理権限が必要 非常に容易
Google Apps Script カスタマイズ自由、自動化可能、コスト0 コーディング必須、実行制限あり 条件付きで容易
手動ダウンロード 特別な設定不要、少量なら手軽 大量に不向き、ヒューマンエラー発生 手間がかかる

よくある質問(FAQ)

差し込み後、元のドキュメントを自動削除できますか?

アドオンの設定で「Delete temporary files」や「Remove original copies」にチェックを入れれば可能です。スクリプトの場合は、前述のようにsetTrashed(true)でごみ箱に移動できます。完全に削除するにはsetTrashed(true)の代わりにDrive.Files.remove(fileId)を使用しますが、APIの有効化が必要です。

PDFのファイル名に日付や連番を入れたい

アドオンでは「Filename pattern」に{DATE}{INDEX}などの変数を使えます。スクリプトでは、new Date()やループ変数を文字列結合してファイル名を生成します。

Googleドキュメントのテンプレートに画像が含まれている場合、PDFで正しく表示されますか?

基本的には問題ありませんが、画像のリンク切れや配置がずれることがあります。差し込み前にテンプレートでプレビューして確認してください。また、スクリプトでPDF化する際はdoc.saveAndClose()を忘れずに呼び出します。

作成したPDFをメールで自動送信できますか?

アドオンの「Mail Merge with Attachments」では、PDFを添付してメール送信する機能があります。スクリプトでは、MailApp.sendEmail()にPDFのBlobを添付することで実現できます。

まとめ

差し込み後にPDFだけを作成するには、使用するツールの段階で出力形式を明示的に指定することが最も重要です。アドオンなら設定画面、スクリプトならコード内のMIMEタイプ、手動ならダウンロード時の選択を間違えないようにしましょう。特にスクリプトを使う場合は、元のファイルを削除する処理を入れることで、意図しないファイルの残留を防げます。自社の環境に合わせた方法を選び、無駄なファイルを増やさずに効率的な文書作成を実現してください。


📑
PDFトラブル・操作完全解決データベース 閲覧エラー、編集・結合、パスワード解除など、PDFに関するあらゆる困りごとを網羅しています。

ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT