Loading...

2023-12-22(金) 15:00

🖨️ Google Apps ScriptでGoogleスライドやGoogleドキュメントをPDF保存する

Google Apps Script
Google Apps Scriptを使ってGoogleスライドやGoogleドキュメントをPDFとして保存する方法について解説します。

目次

前提と注意事項

この記事では以下を前提としています。

  • Google アカウントを持っている
  • この記事に記載するコードはいずれも PDF 生成に必要なコードのみで適切なエラーハンドリングをしていません。

この記事のゴール

Google Apps Script を使って、指定した Google スライドや Google ドキュメントを PDF として保存することがこの記事のゴールです。PDF は指定した Google Drive のフォルダに保存します。

Google Apps Script で PDF を作成する

以下のようにcreatePDFという PDF 作成用の関数を作成します。ここでは PDF 作成を試すためにmyFunctionというデフォルトの関数を修正してコード.gsの内容を以下のようにします。

コード.gs
function myFunction() {
  // PDF化したいファイルのファイルID
  const targetFileId = '1aiAO1MC111L-smwQA0xZZ-8OE5duk2IS';
  createPDF(targetFileId);
}
 
//
function createPDF(targetFileId) {
  // PDF保存するファイルのblob取得
  var blob = DriveApp.getFileById(targetFileId).getBlob();
 
  // Google Driveルート(マイドライブ直下)に保存する
  DriveApp.createFile(blob);
}

上記だけで指定したファイル ID のファイルを PDF として保存することができます。ここで指定するファイル ID は Google スライドでも Google ドキュメント、Google スプレッドシートでも OK です。

PDF を保存するフォルダを指定する

以下のようにすることで PDF の保存先を指定することができます。

コード.gs
function myFunction() {
  // PDFを保存するフォルダのフォルダID
  const targetFolderId = '1AN19VA177H-QKCIQ0wQQ-9dU5duk8UA';
 
  // PDF化したいファイルのファイルID
  const targetFileId = '1aiAO1MC111L-smwQA0xZZ-8OE5duk2IS';
 
  createPDF(targetFolderId, targetFileId);
}
 
//
function createPDF(targetFolderId, targetFileId) {
  // PDFを保存するフォルダの指定
  var pdfFolder = DriveApp.getFolderById(targetFolderId);
 
  // PDF保存するファイルのblob取得
  var blob = DriveApp.getFileById(targetFileId).getBlob();
 
  // PDFをpdfFolder内に作成、保存する
  pdfFolder.createFile(blob);
}

まとめ

Google Apps Script を PDF 保存する方法を解説しました。実際には、例えば Google スプレッドシートの内容を Google スライドや Google ドキュメントに差し込み、最後にそれぞれを PDF 化として保存するといったような使い方をすることが多いと思います。