画像から Google Slides および Google Drive を使って無料で PDF を作成
上級
これはDesign, AI, Marketing分野の自動化ワークフローで、20個のノードを含みます。主にSet, Sort, Limit, Filter, GoogleDriveなどのノードを使用、AI技術を活用したスマート自動化を実現。 Google SlidesとGoogle Driveを使って画像から無料でPDFを作成
前提条件
- •Google Drive API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "632f65756c0dfa07ac80bbf68a720ffbe7ae34338cadcb46b58428622d4ef469",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "65d94bcc-e528-46a5-be6e-393a06ec620c",
"name": "「Test workflow」クリック時",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-360,
200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "36d5034f-6d1a-4619-a009-f6e2e30ec7a5",
"name": "作成日で並べ替え",
"type": "n8n-nodes-base.sort",
"position": [
1140,
200
],
"parameters": {
"options": {},
"sortFieldsUi": {
"sortField": [
{
"fieldName": "createdTime"
}
]
}
},
"typeVersion": 1
},
{
"id": "bc3a71c4-e073-4ef0-b74e-62e6005ee3c7",
"name": "アイテムをループ処理",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1360,
200
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "5698ad5a-7635-423c-a63c-a1d5266551ea",
"name": "画像権限を更新",
"type": "n8n-nodes-base.googleDrive",
"position": [
1800,
200
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Sort by Created Date').item.json.id }}"
},
"options": {},
"operation": "share",
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "anyone"
}
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "7862bbd3-2300-4dd5-9ad9-02c81d608f3d",
"name": "スライドをPDFに変換",
"type": "n8n-nodes-base.googleDrive",
"position": [
2020,
0
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('CopyPdfTemplate').item.json.id }}"
},
"options": {
"googleFileConversion": {
"conversion": {
"docsToFormat": "application/pdf",
"slidesToFormat": "application/pdf"
}
}
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "07e69808-f221-4424-838c-e1d53ce7ca0c",
"name": "制限: 1ページ",
"type": "n8n-nodes-base.limit",
"position": [
1580,
0
],
"parameters": {
"keep": "lastItems"
},
"typeVersion": 1
},
{
"id": "0028a6c9-460b-4ee9-968c-f46b6102fd44",
"name": "フィルター: 画像のみ",
"type": "n8n-nodes-base.filter",
"position": [
920,
200
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "12999f01-4775-46ab-bc60-1c1e68a3c4d2",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.mimeType }}",
"rightValue": "image/png"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9d0898a8-4f62-4c03-bf9f-5f62177854a7",
"name": "最終PDFファイルをアップロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
2240,
0
],
"parameters": {
"name": "={{ $('Set Pdf File Name').item.json.presentation_title }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Get Folder Id w Presentation').item.json.parents[0] }}"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "0d51a9da-0a99-47ab-a356-fd084d3d3a58",
"name": "付箋メモ",
"type": "n8n-nodes-base.stickyNote",
"position": [
-820,
-240
],
"parameters": {
"color": 4,
"width": 400,
"height": 1020,
"content": "## 📚 Create a PDF from Google Drive Images\n\nThis workflow takes all images from a Google Drive folder you specify, sorts them by creation date, and compiles them into a single PDF using a Google Slides template.\n\n**Key Things to Know Before You Start:**\n\n **Set Your File Name:**\n- Go to the **'Set Pdf File Name'** node \n- Update the `presentation_title` value with your desired PDF name.\n\n🔑 **Connect Google Accounts:**\n- Authenticate your Google Drive & Google Slides accounts in all relevant Google nodes and HTTP nodes.\n\n📏 **Use a Google Slides Template for Custom Page Size:**\n- Google Slides defaults to a 16:9 aspect ratio. If you need specific PDF dimensions (e.g., A4, US Letter, square), **first create a Google Slides file with your desired page size.**\n- Then, select this custom Google Slides file in the **'CopyPdfTemplate'** node (under 'File').\n\n🖼️ **Image & Folder Setup:**\n- In the **'CopyPdfTemplate'** node, also select the Google Drive **Folder** where your source images are located. The copied presentation and final PDF will also be created here.\n- The workflow filters for `.png` images by default. To use other types (like JPG), update the **'Filter: Only Images'** node.\n\n⚠️ **Image Size & Workflow Limits:**\n- Google Slides may have limitations on individual image size and the overall PDF file size when exporting.\n- This workflow works well for smaller presentations (10–20 pages). Larger files may run into errors or performance issues during export.\n\n💰 **Cost:** Free to use (relies on standard Google API calls, which are generally within free tier limits for typical usage)."
},
"typeVersion": 1
},
{
"id": "478b42b2-ad5a-4e2d-bbe0-88f412cb57b2",
"name": "PDFファイル名を設定",
"type": "n8n-nodes-base.set",
"position": [
-140,
200
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b994aa5e-1580-43f6-90b0-f0ea8efd9614",
"name": "presentation_title",
"type": "string",
"value": "[Your PDF Name Here]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "eb4ef58f-77cd-408a-825a-720ced2a07f1",
"name": "最初の空白スライドを削除",
"type": "n8n-nodes-base.httpRequest",
"position": [
1800,
0
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get Created Presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"deleteObject\": {\n \"objectId\": \"{{ $('Get Created Presentation').item.json.slides[0].objectId }}\" \n } \n } \n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "puHiyhiyJ7v8EzCp",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "fccfdcd0-9407-45bb-9065-ba0d0d63b1a6",
"name": "PDFテンプレートをコピー",
"type": "n8n-nodes-base.googleDrive",
"position": [
80,
200
],
"parameters": {
"name": "={{ $json.presentation_title }}",
"fileId": {
"__rl": true,
"mode": "list",
"value": "1_Mfgb7lUD8tXRg3cXeIQXjQ9vgCG-TzwOoWVok_ROQ8",
"cachedResultUrl": "https://docs.google.com/presentation/d/1_Mfgb7lUD8tXRg3cXeIQXjQ9vgCG-TzwOoWVok_ROQ8/edit?usp=drivesdk",
"cachedResultName": "Book_Template"
},
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"operation": "copy",
"sameFolder": false
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "e9fb8627-1385-474c-badc-7aa1645a99da",
"name": "作成済みプレゼンテーションを取得",
"type": "n8n-nodes-base.googleSlides",
"position": [
300,
200
],
"parameters": {
"operation": "get",
"presentationId": "={{ $('CopyPdfTemplate').item.json.id }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "puHiyhiyJ7v8EzCp",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "c6429ca5-db95-4e33-b470-43a5df1feed3",
"name": "プレゼンテーションを含むフォルダIDを取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
500,
200
],
"parameters": {
"url": "=https://www.googleapis.com/drive/v3/files/{{ $json.presentationId }}?fields=parents",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleDriveOAuth2Api"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 4.2
},
{
"id": "bd8c64b0-f8a4-4bf6-bb3a-cabba5597fed",
"name": "フォルダ内の全ファイルを取得",
"type": "n8n-nodes-base.googleDrive",
"position": [
700,
200
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.parents[0] }}"
}
},
"options": {
"fields": [
"*"
]
},
"resource": "fileFolder",
"returnAll": true,
"queryString": "="
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "2aQwB7XQiOAR6v4J",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "f1680bfa-8ce1-4b0e-af59-83332e9511a0",
"name": "空白スライドを作成",
"type": "n8n-nodes-base.httpRequest",
"position": [
1580,
200
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('CopyPdfTemplate').item.json.id }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "{\n \"requests\": [\n {\n \"createSlide\": {\n \"slideLayoutReference\": {\n \"predefinedLayout\": \"BLANK\"\n \n } \n } \n } \n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "puHiyhiyJ7v8EzCp",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "0c883f43-b498-4da5-a5ee-ee44d11bb7f6",
"name": "スライドに画像を追加",
"type": "n8n-nodes-base.httpRequest",
"position": [
2020,
280
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('CopyPdfTemplate').item.json.id }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"createImage\": {\n \"url\": \"{{ $('Sort by Created Date').item.json.webContentLink }}\",\n \"elementProperties\": {\n \"size\": {\n \"width\": {\n \"unit\": \"{{ $('Get Created Presentation').item.json.pageSize.width.unit }}\",\n \"magnitude\": {{ $('Get Created Presentation').item.json.pageSize.width.magnitude }}\n },\n \"height\": {\n \"unit\": \"{{ $('Get Created Presentation').item.json.pageSize.height.unit }}\",\n \"magnitude\": {{ $('Get Created Presentation').item.json.pageSize.height.magnitude }}\n }\n },\n \"transform\": {\n \"scaleX\": 1,\n \"scaleY\": 1,\n \"translateX\": 0,\n \"translateY\": 0,\n \"unit\": \"PT\"\n },\n \"pageObjectId\": \"{{ $('Create An Empty Slide').item.json.replies[0].createSlide.objectId }}\" \n } \n } \n } \n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "puHiyhiyJ7v8EzCp",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "4ba1bd72-7097-4774-9ce6-a770d4e8cacc",
"name": "付箋メモ2",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
-180
],
"parameters": {
"color": 6,
"width": 440,
"height": 620,
"content": "## Configure Template & Image Folder\n\n⚙️ In the **'CopyPdfTemplate'** node configure:\n\n1. **File -> From list:** Select your Google Slides template file. This will be the base for your PDF. If you want book orientation, it should be specified in the template in File-> Page Setup\n\n2. **Parent Folder -> From list:** Choose the Google Drive folder where your source images are located.\n\n➡️ **Important:** The workflow will create the final PDF in the *same folder* where you have your images"
},
"typeVersion": 1
},
{
"id": "e1e1bb1f-d73e-4dd5-b665-e669b5c343b1",
"name": "付箋メモ3",
"type": "n8n-nodes-base.stickyNote",
"position": [
860,
-180
],
"parameters": {
"color": 6,
"width": 420,
"height": 600,
"content": "## Image Filter Information\n\n🖼️ **Image Format Note** \n\nThis workflow is preset to find and process `.png` images from your Google Drive folder (using MIME type `image/png`).\n\nIf you're using other image formats (e.g., JPG, GIF), you'll need to update the **'Filter: Only Images'** node.\n\nSpecifically, change the filter condition from `image/png` to the correct MIME type for your image files (e.g., `image/jpeg` for JPGs)."
},
"typeVersion": 1
},
{
"id": "ba71a7ef-5309-4eb9-9aa8-a0bf275127a7",
"name": "付箋メモ4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
500
],
"parameters": {
"color": 6,
"width": 840,
"height": 340,
"content": "## How the Image-to-Slide Process Works\n\n🔄 **How Images Are Added to Slides** \n1. The workflow fetches all images (that pass the filter) from your specified Google Drive folder.\n2. It sorts these images by their creation date.\n3. For each image, the workflow:\n a. Creates a new blank slide in your Google Slides presentation.\n b. Updates the image's permissions in Google Drive to be publicly readable (this is a temporary step, necessary for the Google Slides API to insert the image using its URL).\n c. Adds the image to the new slide, fitting it to the slide's dimensions.\n\n**Final Touch:** After all images are added, the *very first slide* of the presentation (which is a blank page from your template) is deleted."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"07e69808-f221-4424-838c-e1d53ce7ca0c": {
"main": [
[
{
"node": "eb4ef58f-77cd-408a-825a-720ced2a07f1",
"type": "main",
"index": 0
}
]
]
},
"fccfdcd0-9407-45bb-9065-ba0d0d63b1a6": {
"main": [
[
{
"node": "e9fb8627-1385-474c-badc-7aa1645a99da",
"type": "main",
"index": 0
}
]
]
},
"bc3a71c4-e073-4ef0-b74e-62e6005ee3c7": {
"main": [
[
{
"node": "07e69808-f221-4424-838c-e1d53ce7ca0c",
"type": "main",
"index": 0
}
],
[
{
"node": "f1680bfa-8ce1-4b0e-af59-83332e9511a0",
"type": "main",
"index": 0
}
]
]
},
"478b42b2-ad5a-4e2d-bbe0-88f412cb57b2": {
"main": [
[
{
"node": "fccfdcd0-9407-45bb-9065-ba0d0d63b1a6",
"type": "main",
"index": 0
}
]
]
},
"0028a6c9-460b-4ee9-968c-f46b6102fd44": {
"main": [
[
{
"node": "36d5034f-6d1a-4619-a009-f6e2e30ec7a5",
"type": "main",
"index": 0
}
]
]
},
"36d5034f-6d1a-4619-a009-f6e2e30ec7a5": {
"main": [
[
{
"node": "bc3a71c4-e073-4ef0-b74e-62e6005ee3c7",
"type": "main",
"index": 0
}
]
]
},
"7862bbd3-2300-4dd5-9ad9-02c81d608f3d": {
"main": [
[
{
"node": "9d0898a8-4f62-4c03-bf9f-5f62177854a7",
"type": "main",
"index": 0
}
]
]
},
"f1680bfa-8ce1-4b0e-af59-83332e9511a0": {
"main": [
[
{
"node": "5698ad5a-7635-423c-a63c-a1d5266551ea",
"type": "main",
"index": 0
}
]
]
},
"0c883f43-b498-4da5-a5ee-ee44d11bb7f6": {
"main": [
[
{
"node": "bc3a71c4-e073-4ef0-b74e-62e6005ee3c7",
"type": "main",
"index": 0
}
]
]
},
"eb4ef58f-77cd-408a-825a-720ced2a07f1": {
"main": [
[
{
"node": "7862bbd3-2300-4dd5-9ad9-02c81d608f3d",
"type": "main",
"index": 0
}
]
]
},
"e9fb8627-1385-474c-badc-7aa1645a99da": {
"main": [
[
{
"node": "c6429ca5-db95-4e33-b470-43a5df1feed3",
"type": "main",
"index": 0
}
]
]
},
"5698ad5a-7635-423c-a63c-a1d5266551ea": {
"main": [
[
{
"node": "0c883f43-b498-4da5-a5ee-ee44d11bb7f6",
"type": "main",
"index": 0
}
]
]
},
"c6429ca5-db95-4e33-b470-43a5df1feed3": {
"main": [
[
{
"node": "bd8c64b0-f8a4-4bf6-bb3a-cabba5597fed",
"type": "main",
"index": 0
}
]
]
},
"bd8c64b0-f8a4-4bf6-bb3a-cabba5597fed": {
"main": [
[
{
"node": "0028a6c9-460b-4ee9-968c-f46b6102fd44",
"type": "main",
"index": 0
}
]
]
},
"65d94bcc-e528-46a5-be6e-393a06ec620c": {
"main": [
[
{
"node": "478b42b2-ad5a-4e2d-bbe0-88f412cb57b2",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - デザイン, 人工知能, マーケティング
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Meta広告ライブラリをスクレイピングし、Geminiで動画広告を分析し、データをGoogle Sheetsに保存
GeminiでMeta広告ライブラリの動画広告を分析し、結果をGoogle Sheetsに保存する
Set
Code
Sort
+
Set
Code
Sort
24 ノードDaniel Setzermann
人工知能
AIベースのニュース動画生成ツール(HeygenとGPT4oを使用)
HeygenとGPT-4oを使用してRSSニュースをAIバーチャルキャラクター動画に変換
Set
Code
Wait
+
Set
Code
Wait
18 ノードDavid Olusola
デザイン
BrowserflowとGoogle Sheetsを活用したLinkedInリクエストとア破冰メッセージの自動化
Browserflow と Google Sheets を使って LinkedIn リクエストとブレイクアウトメッセージを自動化
If
Set
Sort
+
If
Set
Sort
44 ノードPollupAI
営業
コンテンツを 9:16 比率の画像生成ツール v1 に変換
コンテンツとブランドガイドラインに基づいて 9:16 比率の画像を生成する
Set
Wait
Limit
+
Set
Wait
Limit
39 ノードAlex Kim
人工知能
[テンプレート] AIペットショップ v8
AIペットショップアシスタント - GPT-4o、Googleカレンダー、WhatsApp/Instagram/Facebookを統合
If
N8n
Set
+
If
N8n
Set
244 ノードAmanda Benks
営業
Google Drive 画像からの高機能背景の削除
Google Drive 上の画像から背景を自動のに削除
If
Set
Merge
+
If
Set
Merge
16 ノードSimon
デザイン
ワークフロー情報
難易度
上級
ノード数20
カテゴリー3
ノードタイプ10
作成者
Nadia Privalikhina
@nadiapAutomation consultant with a dev brain and a get-things-done mindset. I help marketing and content teams build automation workflows, learn the tools, and actually use them in their business
外部リンク
n8n.ioで表示 →
このワークフローを共有