AutomationFlowsWeb Scraping › Convert Files to PDF with PDFco

Convert Files to PDF with PDFco

Original n8n title: PDF Convert

PDF convert. Uses n8n-nodes-pdfco, httpRequest, gmail, n8n-nodes-pdfkit. Event-driven trigger; 19 nodes.

Event trigger★★★★☆ complexity19 nodesN8N Nodes PdfcoHTTP RequestGmailN8N Nodes Pdfkit@Apify/N8N Nodes Apify
Web Scraping Trigger: Event Nodes: 19 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "createdAt": "2025-08-24T04:51:19.574Z",
  "updatedAt": "2025-09-02T13:47:53.599Z",
  "id": "BaIqvXy1J3i8JpZU",
  "name": "PDF convert",
  "active": false,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -752,
        400
      ],
      "id": "1a0ea722-4164-444d-a9f1-eae7e4539c9f",
      "name": "When clicking \u2018Execute workflow\u2019"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-pdfco.PDFco Api",
      "typeVersion": 1,
      "position": [
        -352,
        256
      ],
      "id": "e82c09cb-9859-457b-b60f-850f787f3c04",
      "name": "PDFco Api",
      "credentials": {
        "pdfcoApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -176,
        256
      ],
      "id": "75dd707e-486e-43d4-ba69-23e75e9ef458",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "content": "# 1. [PDFco API](https://app.pdf.co/) (\ud074\ub77c\uc6b0\ub4dc-\uc720\ub8cc. \ub09c\uc774\ub3c4 \uc26c\uc6c0)\n- n8n \uacf5\uc2dd\ub178\ub4dc \uc911\uc5d0 PDF\ub85c \ubcc0\ud658\ud574\uc8fc\ub294 \ubc29\ubc95\uc774 \uc5c6\uc74c.\n- [PDFco API](https://app.pdf.co/) \uac19\uc740 \uc678\ubd80 \ubcc0\ud658 \uc11c\ube44\uc2a4\ub97c \uc0ac\uc6a9\ud574\uc11c \ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85.\n\n\n1. PDFco API \ucee4\ubba4\ub2c8\ud2f0 \ub178\ub4dc \uc124\uce58\n    - \uc124\uc815 > community nodes > install \ub204\ub974\uace0 `n8n-nodes-pdfco`\ub97c \uc785\ub825\ud574\uc11c \uc124\uce58\ud558\uae30.\n2. [PDFco API](https://app.pdf.co/) API\ud0a4 \ubc1c\uae09 \ubc1b\uae30. \ubb34\ub8cc \uc0ac\uc6a9\ub7c9 \ud06c\ub808\ub527\uc774 \uc8fc\uc5b4\uc9d0.\n3. \uc544\ub798 \uc6cc\ud06c\ud50c\ub85c\uc6b0 \ucc38\uace0\ud574\uc11c \ub9cc\ub4e4\uae30",
        "height": 256,
        "width": 688
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -368,
        -48
      ],
      "id": "f9032d4c-704f-4de0-bb56-46cd85a7208d",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "![](https://raw.githubusercontent.com/2innnnn0/assets/refs/heads/master/image/datapopcorn_logo_50px.png)\n## PDF \ubcc0\ud658\ud558\uae30\n- n8n \uacf5\uc2dd\ub178\ub4dc \uc911\uc5d0 PDF\ub85c \ubcc0\ud658\ud574\uc8fc\ub294 \ubc29\ubc95\uc774 \uc5c6\uc74c.\n- [PDFco API](https://app.pdf.co/) \uac19\uc740 \uc678\ubd80 \ubcc0\ud658 \uc11c\ube44\uc2a4\ub97c \uc0ac\uc6a9\ud574\uc11c \ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85.\n- \uac00\uc7a5 \uc801\ud569\ud55c \ubc29\ubc95\uc744 \uace0\ub974\uae30",
        "height": 256,
        "width": 320
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -864,
        112
      ],
      "id": "4a2c003f-4166-4f68-a4e9-d079f9190e74",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "# 2. [Gotenberg](https://gotenberg.dev/docs/routes#convert-with-chromium) (\uc140\ud504\ud638\uc2a4\ud305-\ubb34\ub8cc. \ub09c\uc774\ub3c4 \uc911\uac04)\n- \uc544\ub798\ub294 Railway\ub85c \uc124\uce58\ud558\ub294 \uac83\uc744 \uc608\uc2dc\ub85c \ud568.\n",
        "height": 128,
        "width": 704
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -368,
        448
      ],
      "id": "6b2af76b-24c5-43da-8ad7-ae2e8158858b",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "## URL TO PDF",
        "height": 192,
        "width": 198,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -160,
        608
      ],
      "id": "1139c8a1-63ae-4384-a235-3e43e7bb11e0",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "## HTML TO PDF",
        "height": 224,
        "width": 208,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        64,
        800
      ],
      "id": "b202f619-81a1-441a-8600-8589ac71ed48",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://gotenberggotenberg8-production-9d11.up.railway.app/forms/chromium/convert/url",
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "output.pdf"
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -112,
        656
      ],
      "id": "df0aefbd-e1b7-4963-a586-b9d9f48d0258",
      "name": "URL TO PDF"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://gotenberggotenberg8-production-9d11.up.railway.app/forms/chromium/convert/html",
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "printBackground",
              "value": "true"
            },
            {
              "name": "paperWidth",
              "value": "8.27"
            },
            {
              "name": "paperHeight",
              "value": "11.69"
            },
            {
              "parameterType": "formBinaryData",
              "name": "output",
              "inputDataFieldName": "index"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        112,
        848
      ],
      "id": "29376d3d-d256-4e8c-bb58-25f7d83db044",
      "name": "HTML TO PDF"
    },
    {
      "parameters": {
        "html": "<!DOCTYPE html>\n<html lang=\"ko\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<title>\ucf54\uc2a4\ud53c \ubaa8\ub2dd \ube0c\ub9ac\ud551</title>\n<style>\n  /* ===== Reset & Base ===== */\n  html,body{margin:0;padding:0;background:#F6F8FA;color:#0B1117}\n  body{font-family: Pretendard,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\n        \"Noto Sans KR\",\"Apple SD Gothic Neo\",\"Malgun Gothic\",Helvetica,Arial,sans-serif;\n       line-height:1.6}\n  a{color:#3182F6;text-decoration:none}\n  .wrap{max-width:680px;margin:0 auto;padding:24px}\n  .card{background:#fff;border-radius:20px;box-shadow:0 6px 20px rgba(2,32,71,.04);\n        padding:28px}\n  .muted{color:#5B6876}\n  .divider{height:1px;background:#E8EDF3;margin:20px 0}\n  .heading-xl{font-size:28px;letter-spacing:-.3px;margin:0 0 4px 0}\n  .pre{font-size:13px;color:#6B7684;margin:0 0 16px 0}\n  /* ===== \u201cToss-like\u201d components ===== */\n  .pill{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px}\n  .pill.blue{background:#E9F2FF;color:#1B64DA}\n  .pill.green{background:#EAF7EE;color:#0A8A3A}\n  .pill.gray{background:#EEF2F6;color:#4B5563}\n  .kpi{display:flex;align-items:flex-end;gap:14px;margin-top:6px}\n  .kpi .index{font-size:40px;font-weight:800;letter-spacing:-1px}\n  .kpi .delta{font-size:20px;font-weight:700}\n  .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}\n  .box{background:#F8FAFD;border-radius:14px;padding:14px}\n  .box .label{font-size:12px;color:#6B7684;margin-bottom:6px}\n  .box .value{font-weight:700;font-size:16px}\n  .issues{display:grid;gap:12px}\n  .issue{border:1px solid #E8EDF3;border-radius:16px;padding:14px;background:#fff}\n  .issue .src{font-size:12px;color:#6B7684;margin-bottom:6px}\n  .issue .title{font-size:15px;font-weight:700;margin:0 0 10px 0}\n  .issue .cta{font-size:13px}\n  .footer{color:#6B7684;font-size:12px;text-align:center;margin:18px 0}\n  /* ===== Mobile ===== */\n  @media (max-width:640px){\n    .wrap{padding:14px}\n    .card{padding:20px;border-radius:18px}\n    .heading-xl{font-size:22px}\n    .kpi .index{font-size:32px}\n    .kpi .delta{font-size:16px}\n    .grid{grid-template-columns:1fr}\n  }\n  /* Dark mode (where supported) */\n  @media (prefers-color-scheme: dark){\n    html,body{background:#0B1117;color:#E5EAF0}\n    .card{background:#0F1720;box-shadow:0 6px 28px rgba(0,0,0,.35)}\n    .box{background:#0C1520}\n    .divider{background:#1F2A37}\n    .issue{background:#0F1720;border-color:#213042}\n    .muted,.pre,.issue .src,.footer{color:#9AA6B2}\n  }\n</style>\n</head>\n<body>\n  <div class=\"wrap\">\n    <!-- Header -->\n    <div class=\"card\" role=\"article\" aria-label=\"\ucf54\uc2a4\ud53c \ubaa8\ub2dd \ube0c\ub9ac\ud551\">\n      <div class=\"pill blue\">\ubaa8\ub2dd \ube0c\ub9ac\ud551</div>\n      <h1 class=\"heading-xl\">\ud83d\udcca \ucf54\uc2a4\ud53c \ubaa8\ub2dd \ube0c\ub9ac\ud551 <span class=\"muted\">(09:54)</span></h1>\n      <p class=\"pre\">\uc624\ub298\uc758 \uc9c0\uc218\uc640 \ud575\uc2ec \uc774\uc288 3\uac00\uc9c0\ub97c \ud55c\ub208\uc5d0 \ud655\uc778\ud558\uc138\uc694.</p>\n\n      <!-- KPI -->\n      <div class=\"kpi\" aria-label=\"\ucf54\uc2a4\ud53c \uc9c0\uc218\">\n        <div class=\"index\">3,161.18p</div>\n        <div class=\"delta pill green\">\u25b2 0.71p \u00b7 0.02%</div>\n      </div>\n\n      <div class=\"grid\" role=\"group\" aria-label=\"\uc2dc\uac00\u00b7\uc804\uc77c\uc885\uac00\u00b7\uac1c\uc7a5\ub300\ube44\">\n        <div class=\"box\">\n          <div class=\"label\">\uc2dc\uac00</div>\n          <div class=\"value\">3,140.71p</div>\n        </div>\n        <div class=\"box\">\n          <div class=\"label\">\uc804\uc77c\uc885\uac00</div>\n          <div class=\"value\">3,160.47p</div>\n        </div>\n        <div class=\"box\">\n          <div class=\"label\">\uac1c\uc7a5 \ub300\ube44</div>\n          <div class=\"value\" style=\"color:#0A8A3A;\">\u25b2 20.47p (0.65%)</div>\n        </div>\n        <div class=\"box\">\n          <div class=\"label\">\uc9c0\uc218 \uc0c1\ud0dc</div>\n          <div class=\"value\"><span class=\"pill gray\">\ubcf4\ud569\uad8c \uc18c\ud3ed \uc0c1\uc2b9</span></div>\n        </div>\n      </div>\n\n      <div class=\"divider\"></div>\n\n      <!-- Sparkline (decorative, inline SVG) -->\n      <div class=\"box\" aria-hidden=\"true\" style=\"padding:10px 12px;margin-bottom:14px\">\n        <svg width=\"100%\" height=\"54\" viewBox=\"0 0 300 54\" preserveAspectRatio=\"none\" role=\"img\" aria-label=\"\uac04\ub2e8\ud55c \ucd94\uc774\">\n          <polyline points=\"0,40 30,42 60,35 90,38 120,28 150,30 180,22 210,24 240,18 270,20 300,14\"\n                    fill=\"none\" stroke=\"#2FB06F\" stroke-width=\"3\" />\n          <circle cx=\"300\" cy=\"14\" r=\"3\" fill=\"#2FB06F\"/>\n        </svg>\n      </div>\n\n      <!-- Issues -->\n      <div style=\"display:flex;align-items:center;gap:10px;margin:6px 0 10px 0\">\n        <div class=\"pill gray\">\ud575\uc2ec \uc774\uc288 3</div>\n        <span class=\"muted\">\ube60\ub974\uac8c \ud6d1\uc5b4\ubcf4\uae30</span>\n      </div>\n\n      <div class=\"issues\" role=\"list\">\n        <!-- 1 -->\n        <div class=\"issue\" role=\"listitem\">\n          <div class=\"src\">\uc9c0\ub514\ub137\ucf54\ub9ac\uc544 \u00b7 <a href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">news.google.com</a></div>\n          <p class=\"title\">7\uc6d4 FOMC \ud68c\uc758\ub85d \uacf5\uac1c \uc774\ud6c4 \uac00\uc0c1\uc790\uc0b0 \ubc18\ub4f1\u2026 \ud30c\uc6d4 \uc758\uc7a5 \uc5f0\uc124 \uc55e\ub450\uace0 \uae34\uc7a5 \uc9c0\uc18d</p>\n          <a class=\"cta\" href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">\uc6d0\ubb38 \ubcf4\uae30 \u2192</a>\n        </div>\n        <!-- 2 -->\n        <div class=\"issue\" role=\"listitem\">\n          <div class=\"src\">\ub124\uc774\ud2b8 \u00b7 <a href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">news.google.com</a></div>\n          <p class=\"title\">\ud2b8\ub7fc\ud504 \uc555\ubc15 \uc18d \u2018\u7f8e \uae08\ub9ac \uc8fc\uc2dc\u2019\u2026 \ud658\uc728 1,397.0\uc6d0 \uac1c\uc7a5</p>\n          <a class=\"cta\" href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">\uc6d0\ubb38 \ubcf4\uae30 \u2192</a>\n        </div>\n        <!-- 3 -->\n        <div class=\"issue\" role=\"listitem\">\n          <div class=\"src\">KBS \ub274\uc2a4 \u00b7 <a href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">news.google.com</a></div>\n          <p class=\"title\">\uc0cc\ub354\uc2a4 \ubbf8 \uc0c1\uc6d0\uc758\uc6d0 \u201c\ud2b8\ub7fc\ud504 \uc815\ubd80 \ubc18\ub3c4\uccb4 \uae30\uc5c5 \uc9c0\ubd84 \uc778\uc218 \uc9c0\uc9c0\u201d</p>\n          <a class=\"cta\" href=\"https://news.google.com/\" target=\"_blank\" rel=\"noopener\">\uc6d0\ubb38 \ubcf4\uae30 \u2192</a>\n        </div>\n      </div>\n\n      <div class=\"divider\"></div>\n\n      <!-- Footer -->\n      <div class=\"footer\">\n        \ubcf8 \uc790\ub8cc\ub294 \uc815\ubcf4 \uc81c\uacf5 \ubaa9\uc801\uc774\uba70 \ud22c\uc790 \ud310\ub2e8\uc758 \ucd5c\uc885 \ucc45\uc784\uc740 \uc774\uc6a9\uc790\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4.<br>\n        \ub9c1\ud06c\ub294 \uc608\uc2dc\uc774\uba70 \uc2e4\uc81c \uae30\uc0ac URL\ub85c \uad50\uccb4\ud574 \uc8fc\uc138\uc694. \u00b7 \uad6c\ub3c5\uad00\ub9ac/\uc218\uc2e0\uac70\ubd80: <a href=\"#\">\ub9c1\ud06c \ucd94\uac00</a>\n      </div>\n    </div>\n  </div>\n</body>\n</html>"
      },
      "type": "n8n-nodes-base.html",
      "typeVersion": 1.2,
      "position": [
        -336,
        848
      ],
      "id": "6c84eaa9-2e34-4f3c-b2ed-6fbc87620335",
      "name": "HTML1"
    },
    {
      "parameters": {
        "jsCode": "// \uccab \ubc88\uc9f8 \uc544\uc774\ud15c \uac00\uc838\uc624\uae30\nconst item = $input.item;\n\n// \ud30c\uc77c\uba85 \uc9c0\uc815\nitem.binary.data.fileName = 'output.pdf';\n\n// (\uc120\ud0dd) \ub2e4\ub978 \uc18d\uc131\ub3c4 \uac19\uc774 \ubc14\uafc0 \uc218 \uc788\uc74c\nitem.binary.data.mimeType = 'application/pdf';\n\nreturn item;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        336,
        848
      ],
      "id": "65459067-e4d8-458e-8410-6e7ff9f2ef1d",
      "name": "File Rename"
    },
    {
      "parameters": {
        "jsCode": "// \uc785\ub825: $json.html (\ubb38\uc790\uc5f4)\n// \ucd9c\ub825: binary.index (\ud30c\uc77c: index.html)\nconst html = $json.html || '<html><body><h1>Hello</h1></body></html>';\nreturn [{\n  json: {},            // \ubc14\ub514\ub294 \ube44\uc6cc\ub450\uace0\n  binary: {\n    index: {\n      data: Buffer.from(html, 'utf-8').toString('base64'),\n      fileName: 'index.html',\n      mimeType: 'text/html',\n    }\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -112,
        848
      ],
      "id": "4284ade7-d8b5-415d-8ad8-62e892e3f6d9",
      "name": "HTML to File"
    },
    {
      "parameters": {
        "sendTo": "datapopcorn@gmail.com",
        "subject": "Hello PDF!",
        "message": "Hello PDF!",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        }
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        528,
        848
      ],
      "id": "b2c4fe8e-6dab-43bf-8657-ea1c0e1ef1ce",
      "name": "Send a message",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "fdaa935f-3361-435d-bcca-8f7570aae20d",
              "name": "url",
              "value": "=https://sparksuite.github.io/simple-html-invoice-template/",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -336,
        656
      ],
      "id": "68c6327c-b5a6-4a9c-96d1-a20a815072d2",
      "name": "URL"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-pdfkit.pdfKit",
      "typeVersion": 1,
      "position": [
        -112,
        1280
      ],
      "id": "77c1c173-73c8-44e4-ba14-fc16d20c3f9f",
      "name": "PDFKit (image to PDF)"
    },
    {
      "parameters": {
        "content": "# 3. PDFkit (\ucee4\ubba4\ub2c8\ud2f0\ub178\ub4dc-\ubb34\ub8cc. \uc26c\uc6c0. \ub2e8, \uc774\ubbf8\uc9c0 to PDF\ub9cc \uac00\ub2a5)\n1. \ucee4\ubba4\ub2c8\ud2f0 \ub178\ub4dc \uc124\uce58\n    - \uc124\uc815 > community nodes > install \ub204\ub974\uace0 `n8n-nodes-pdfkit`\ub97c \uc785\ub825\ud574\uc11c \uc124\uce58\ud558\uae30.\n2. \uc774\ubbf8\uc9c0\ub97c \ubd88\ub7ec\uc624\uace0 \uc2e4\ud589\ud558\uba74 \ub05d.",
        "height": 192,
        "width": 944
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -368,
        1072
      ],
      "id": "361cd032-2cad-47eb-96b8-8673880803b4",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "url": "https://raw.githubusercontent.com/2innnnn0/assets/refs/heads/master/image/datapopcorn_logo.png",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -336,
        1280
      ],
      "id": "716c8987-c540-4e69-b5b0-09b7a8b1601e",
      "name": "Image"
    },
    {
      "parameters": {
        "actorId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "type": "@apify/n8n-nodes-apify.apify",
      "typeVersion": 1,
      "position": [
        992,
        576
      ],
      "id": "6bccef2d-0da2-4113-84be-90c7b8af3eda",
      "name": "Run an Actor",
      "credentials": {
        "apifyApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "HTML1",
            "type": "main",
            "index": 0
          },
          {
            "node": "URL",
            "type": "main",
            "index": 0
          },
          {
            "node": "PDFco Api",
            "type": "main",
            "index": 0
          },
          {
            "node": "Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PDFco Api": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "URL TO PDF": {
      "main": [
        []
      ]
    },
    "HTML1": {
      "main": [
        [
          {
            "node": "HTML to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML TO PDF": {
      "main": [
        [
          {
            "node": "File Rename",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML to File": {
      "main": [
        [
          {
            "node": "HTML TO PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Rename": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "URL": {
      "main": [
        [
          {
            "node": "URL TO PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image": {
      "main": [
        [
          {
            "node": "PDFKit (image to PDF)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "versionId": "59c22e92-2a17-4365-8465-23bc3086cec9",
  "triggerCount": 0,
  "shared": [
    {
      "createdAt": "2025-08-24T04:51:19.574Z",
      "updatedAt": "2025-08-24T04:51:19.574Z",
      "role": "workflow:owner",
      "workflowId": "BaIqvXy1J3i8JpZU",
      "projectId": "sjNgDrdbhRMMF6SK"
    }
  ],
  "tags": [
    {
      "createdAt": "2025-06-25T04:00:38.130Z",
      "updatedAt": "2025-06-25T04:00:38.130Z",
      "id": "EyGUZypc5DKHVUyY",
      "name": "\ud328\uc2a4\ud2b8\ucea0\ud37c\uc2a4"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

PDF convert. Uses n8n-nodes-pdfco, httpRequest, gmail, n8n-nodes-pdfkit. Event-driven trigger; 19 nodes.

Source: https://github.com/2innnnn0/fastcampus-n8n-data-analysis-agent/blob/main/workflows/[BaIqvXy1J3i8JpZU]pdf-convert.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Notion, @Apify/N8N Nodes Apify, HTTP Request
Web Scraping

This n8n workflow collects leads from Google Maps, scrapes their websites via direct HTTP requests, and extracts valid email addresses — all while mimicking real user behavior to improve scraping reli

Form Trigger, @Apify/N8N Nodes Apify, HTTP Request +1
Web Scraping

This automated n8n workflow scrapes job listings from Upwork using Apify, processes and cleans the data, and generates daily email reports with job summaries. The system uses Google Sheets for data st

Google Sheets, HTTP Request, Gmail
Web Scraping

This n8n template demonstrates how to automatically clone and adapt competitor Facebook ads for your own product using AI. Simply provide a Facebook Ad Library URL and your product image, and the work

Form Trigger, HTTP Request, Google Drive +1
Web Scraping

This workflow is perfect for anyone who wants to: Automatically collect contacts from Google Maps: emails, phone numbers, websites, social media (LinkedIn, Facebook), city, ratings, and reviews. Organ

HTTP Request, Airtable, Gmail