回答編集履歴

1

2ページ目削除の例を追記しました。

2023/11/07 02:56

投稿

YellowGreen
YellowGreen

スコア791

test CHANGED
@@ -57,3 +57,38 @@
57
57
  }
58
58
  ```
59
59
 
60
+ (追記)
61
+ 2ページ目を削除する方法について、
62
+ 力技的な手法ですが、元のファイルのコピーで作業用ファイル作成して
63
+ 作業用ファイルの2ページ目を削除してからPDFを作成し、
64
+ その後作業用ファイルを削除するという方法です。
65
+ ただし、実行するたびにゴミ箱に作業用ファイルが増えていきます。
66
+ ```JavaScript
67
+ function createPdf(filename, presentation, saveFolderId) {
68
+
69
+ // 保存先フォルダを取得
70
+ const folder = DriveApp.getFolderById(saveFolderId);
71
+
72
+ // 作業用ファイルを複製し2ページ目を削除
73
+ const copiedFile = DriveApp.getFileById(presentation.getId()).makeCopy();
74
+ const copiedPresentation = SlidesApp.openById(copiedFile.getId());
75
+ const copiedSlides = copiedPresentation.getSlides();
76
+ copiedSlides[1].remove();
77
+ copiedPresentation.saveAndClose();
78
+
79
+ // 作業用ファイルからPDFを作成
80
+ const pdf = copiedFile.getAs(MimeType.PDF);
81
+
82
+ // 指定のファイル名で指定のフォルダに保存
83
+ const file = DriveApp.createFile(pdf)
84
+ .setName(filename)
85
+ .moveTo(folder);
86
+
87
+ // 作業用ファイルを削除
88
+ copiedFile.setTrashed(true);
89
+
90
+ // PDFのURLを返す
91
+ return file.getUrl();
92
+
93
+ }
94
+ ```