前提と注意事項
この記事では以下を前提としています。
- 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 化として保存するといったような使い方をすることが多いと思います。