{
  "nodes": [
    {
      "id": "f0636fec-85ad-47e8-ab43-9a313664be80",
      "name": "Create index.html",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        100,
        20
      ],
      "parameters": {
        "options": {
          "encoding": "utf8",
          "fileName": "index.html"
        },
        "operation": "toText",
        "sourceProperty": "html"
      },
      "typeVersion": 1.1
    },
    {
      "id": "efcaebc5-e2cc-4af5-a6f2-c75b58496dec",
      "name": "Convert to PDF with Gotenberg",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        320,
        20
      ],
      "parameters": {
        "url": "http://gotenberg:3000/forms/chromium/convert/html",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "form file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            },
            {
              "name": "scale",
              "value": "1"
            },
            {
              "name": "metadata",
              "value": "={\"Author\":\"IA2S\",\"Copyright\":\"IA2S\",\"CreateDate\":\"{{ $now.format('yyyy-MM-dd') }}\",\"Creator\":\"IA2S\",\"Keywords\":[],\"ModDate\":\"{{ $now.format('yyyy-MM-dd') }}\",\"PDFVersion\":1.7,\"Producer\":\"IA2S\",\"Subject\":\"PDF\",\"Title\":\"IA2S PDF\"}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Gotenberg-Output-Filename",
              "value": "={{ $('Create PDF from HTML').last().json.file_name }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "44f89be8-8516-4d8a-a1e4-959c020ca7ae",
      "name": "Create PDF from HTML",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -120,
        20
      ],
      "parameters": {
        "inputSource": "jsonExample",
        "jsonExample": "{\n  \"html\": \"<h1>Hello World</h1>\",\n  \"file_name\": \"my-report-2024\"\n}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "710d67d4-db4a-4943-9ff7-49af8101443a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        -340
      ],
      "parameters": {
        "color": 6,
        "width": 320,
        "height": 540,
        "content": "### \ud83d\ude80 GOTENBERG API CALL\n\nThis node sends the HTML file to your Gotenberg service for conversion.\n\n**IMPORTANT:**\nThe default URL is `http://gotenberg:3000`. This works if n8n and Gotenberg are on the same Docker network. **If your Gotenberg is hosted elsewhere, you must update the URL here.**\n\n**Customization:**\nYou can edit the PDF metadata (Author, Title, etc.) in the `metadata` field under Body Parameters."
      },
      "typeVersion": 1
    },
    {
      "id": "365e90ba-b4fa-42b1-9236-33b2f8fb1e76",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -340
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 540,
        "content": "### \u25b6\ufe0f INPUT & CONFIGURATION\n\nThis workflow requires an input with two fields:\n\n1.  `html`: A string containing the full HTML code to be converted.\n2.  `file_name`: The desired name for the output file (without the `.pdf` extension).\n\n**Example Input:**\n```json\n{\n  \"html\": \"<h1>Hello World</h1>\",\n  \"file_name\": \"my-report-2024\"\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "c8b440bc-fb02-4b77-89c7-62c2bb88d28e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -340
      ],
      "parameters": {
        "color": 3,
        "width": 440,
        "height": 280,
        "content": "### \ud83d\udc33 PREREQUISITE: GOTENBERG SERVICE\n\nTo use this workflow, you need a running Gotenberg instance.\n\nThe easiest way is to add this to your `docker-compose.yml` and restart your stack:\n\n```yaml\n  gotenberg:\n    image: gotenberg/gotenberg:8\n    restart: always"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Create index.html": {
      "main": [
        [
          {
            "node": "Convert to PDF with Gotenberg",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create PDF from HTML": {
      "main": [
        [
          {
            "node": "Create index.html",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}