Api2Pdf - Génération de PDF, pilotée par le serveur MCP AWS Lambda

Avancé

Ceci est unDocument Extraction, AI RAGworkflow d'automatisation du domainecontenant 17 nœuds.Utilise principalement des nœuds comme HttpRequestTool, McpTrigger. Convertir et traiter des fichiers PDF avec Api2Pdf et AWS Lambda

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "L7ZgmrqmEBeiLlPk",
  "meta": null,
  "name": "Api2Pdf - PDF Generation, Powered by AWS Lambda MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "65d3bc5d-fb22-4959-9fde-ebf153e1bfc3",
      "name": "Instructions de configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### ⚙️ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up apiKey credentials\n   - Type: API Key in header\n   - Key name: Authorization\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 9 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
      },
      "typeVersion": 1
    },
    {
      "id": "94fe9d0f-2004-409b-a8cc-8217f65d20c1",
      "name": "Vue d'ensemble du workflow",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 1300,
        "content": "## 🛠️ Api2Pdf - PDF Generation, Powered by AWS Lambda MCP Server ✅ 9 operations\n\n### About\nIntroduction [Api2Pdf](https://www.api2pdf.com) is a powerful PDF generation API with no rate limits or file size constraints. Api2Pdf runs on AWS Lambda, a serverless architecture powered by Amazon to scale to millions of requests while being up to 90% cheaper than alternatives. **Supports wkhtmltopdf, Headless Chrome, LibreOffice, and PDF Merge.** You can also generate barcodes with ZXING (Zebra Crossing). SDKs & Client Libraries We've made a number of open source libraries available for the API - Python: [https://github.com/api2pdf/api2pdf.python](https://github.com/api2pdf/api2pdf.python) - .NET: [https://github.com/api2pdf/api2pdf.dotnet](https://github.com/api2pdf/api2pdf.dotnet) - Nodejs: [https://github.com/api2pdf/api2pdf.node](https://github.com/api2pdf/api2pdf.node) - PHP: [https://github.com/Api2Pdf/api2pdf.php](https://github.com/Api2Pdf/api2pdf.php) - Ruby: (Coming soon) Authorization Create an account at [portal.api2pdf.com](https://portal.api2pdf.com/register) to get an API key. **Authorize your API calls** - GET requests, include apikey=YOUR-API-KEY as a query string parameter - POST requests, add **Authorization** to your header. ``` Authorization: YOUR-API-KEY ``` Quickstart If you are looking for just a quick call to grab PDFs of a URL, you can do a GET request like: ``` https://v2018.api2pdf.com/chrome/url?url={UrlToConvert}&apikey={YourApiKey} ``` For more advanced usage and settings, see the API specification below.\n\n### 🔧 How it Works\n\nThis workflow converts the Api2Pdf - PDF Generation, Powered by AWS Lambda API into an MCP-compatible interface for AI agents.\n\n• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to https://v2018.api2pdf.com\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n\n### 📋 Available Operations (9 endpoints)\n\n**Headless Chrome (3 operations)**\nconvert\n\n**Libre Office (1 operations)**\nconvert\n\n**Merge / Combine Pdfs (1 operations)**\nmerge\n\n**W K Html To Pdf (3 operations)**\nconvert\n\n**Zxing (zebra Crossing) Bar Codes (1 operations)**\ngenerate\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9fb074ab-63a5-4128-a578-9ccedea16425",
      "name": "Api2Pdf - Génération de PDF, pilotée par le serveur Lambda MCP AWS",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -580,
        -240
      ],
      "webhookId": "75fd1faf-ce37-44d9-9e2b-d19840d7b2c7",
      "parameters": {
        "path": "api2pdf---pdf-generation,-powered-by-aws-lambda-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "a7de75a3-d818-43e1-a3da-93f727a63fda",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -100
      ],
      "parameters": {
        "color": 2,
        "width": 700,
        "height": 200,
        "content": "## Headless Chrome"
      },
      "typeVersion": 1
    },
    {
      "id": "93b208ae-c5a1-4403-9533-eed464c4a850",
      "name": "Convertir du HTML brut en PDF",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/chrome/html",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Convert raw HTML to PDF"
      },
      "typeVersion": 4.2
    },
    {
      "id": "9362c0b2-02eb-4d27-8098-13791767ef25",
      "name": "Convertir une URL en PDF",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/chrome/url",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $fromAI('url', 'Url of the page to convert to PDF. Must start with http:// or https://.', 'string') }}"
            },
            {
              "name": "output",
              "value": "={{ $fromAI('output', 'Specify output=json to receive a JSON output. Defaults to PDF file.', 'string') }}"
            }
          ]
        },
        "toolDescription": "Convert URL to PDF\n\nParameters:\n- Query parameters:\n  • url (required) - Url of the page to convert to PDF. Must start with http:// or https://.\n  • output (optional) - Specify output=json to receive a JSON output. Defaults to PDF file."
      },
      "typeVersion": 4.2
    },
    {
      "id": "8e713c5a-1416-4c77-bff1-ca2e01d82699",
      "name": "Convertir une URL en PDF 1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        -60
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/chrome/url",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Convert URL to PDF"
      },
      "typeVersion": 4.2
    },
    {
      "id": "d577b5ba-7dc9-48ca-8f59-483423cd3380",
      "name": "Note adhésive 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        140
      ],
      "parameters": {
        "color": 3,
        "width": 300,
        "height": 200,
        "content": "## Libre Office"
      },
      "typeVersion": 1
    },
    {
      "id": "a25f441d-4db0-48a0-a3df-4c0df9922d94",
      "name": "Convertir un document Office ou une image en PDF",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        180
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/libreoffice/convert",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Convert office document or image to PDF"
      },
      "typeVersion": 4.2
    },
    {
      "id": "292f4eb9-8c03-4687-ac9d-129780ca1110",
      "name": "Note adhésive 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        380
      ],
      "parameters": {
        "color": 4,
        "width": 300,
        "height": 200,
        "content": "## Merge / Combine Pdfs"
      },
      "typeVersion": 1
    },
    {
      "id": "3efbf8bc-12ba-4549-b22c-efd94393b968",
      "name": "Fusionner plusieurs PDF",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        420
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/merge",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Merge multiple PDFs together"
      },
      "typeVersion": 4.2
    },
    {
      "id": "69bfade2-eef2-4eda-873f-23c4102ccbe9",
      "name": "Note adhésive 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        620
      ],
      "parameters": {
        "color": 5,
        "width": 700,
        "height": 200,
        "content": "## W K Html To Pdf"
      },
      "typeVersion": 1
    },
    {
      "id": "54e6233c-dd39-4de5-8c71-7e6cc1437163",
      "name": "Convertir du HTML brut en PDF 1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        660
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/wkhtmltopdf/html",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Convert raw HTML to PDF"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dd97a4ce-df42-4675-93cf-8109a9771567",
      "name": "Convertir une URL en PDF 2",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -320,
        660
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/wkhtmltopdf/url",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $fromAI('url', 'Url of the page to convert to PDF. Must start with http:// or https://.', 'string') }}"
            },
            {
              "name": "output",
              "value": "={{ $fromAI('output', 'Specify output=json to receive a JSON output. Defaults to PDF file.', 'string') }}"
            }
          ]
        },
        "toolDescription": "Convert URL to PDF\n\nParameters:\n- Query parameters:\n  • url (required) - Url of the page to convert to PDF. Must start with http:// or https://.\n  • output (optional) - Specify output=json to receive a JSON output. Defaults to PDF file."
      },
      "typeVersion": 4.2
    },
    {
      "id": "ceba0dad-6e3f-4f94-ac91-c74f533a092d",
      "name": "Convertir une URL en PDF 3",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        660
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/wkhtmltopdf/url",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Convert URL to PDF"
      },
      "typeVersion": 4.2
    },
    {
      "id": "0d31e401-d0f2-4e3a-9656-eb910de634b4",
      "name": "Note adhésive 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        860
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 200,
        "content": "## Zxing (zebra Crossing) Bar Codes"
      },
      "typeVersion": 1
    },
    {
      "id": "6717ea20-b643-48c6-8c25-9f7e21e7801e",
      "name": "Générer des codes-barres et codes QR avec ZXING.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        900
      ],
      "parameters": {
        "url": "=https://v2018.api2pdf.com/zebra",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "={{ $fromAI('format', 'Most common is CODE_39 or QR_CODE', 'string') }}"
            },
            {
              "name": "value",
              "value": "={{ $fromAI('value', 'Specify the text value you want to convert', 'string') }}"
            },
            {
              "name": "showlabel",
              "value": "={{ $fromAI('showlabel', 'Show label of text below barcode', 'boolean') }}"
            },
            {
              "name": "height",
              "value": "={{ $fromAI('height', 'Height of the barcode generated image', 'number') }}"
            },
            {
              "name": "width",
              "value": "={{ $fromAI('width', 'Width of the barcode generated image', 'number') }}"
            }
          ]
        },
        "toolDescription": "Generate bar codes and QR codes with ZXING.\n\nParameters:\n- Query parameters:\n  • format (required) - Most common is CODE_39 or QR_CODE\n  • value (required) - Specify the text value you want to convert\n  • showlabel (optional) - Show label of text below barcode\n  • height (optional) - Height of the barcode generated image\n  • width (optional) - Width of the barcode generated image"
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-07-01T14:38:52.773Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-01T14:38:52.773Z",
      "workflowId": "L7ZgmrqmEBeiLlPk"
    }
  ],
  "pinData": {},
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-01T14:38:52.768Z",
  "updatedAt": "2025-07-01T17:11:36.000Z",
  "versionId": "8986c82d-cdf4-4eeb-a574-555d65fd4829",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "9362c0b2-02eb-4d27-8098-13791767ef25": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "8e713c5a-1416-4c77-bff1-ca2e01d82699": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "dd97a4ce-df42-4675-93cf-8109a9771567": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ceba0dad-6e3f-4f94-ac91-c74f533a092d": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "93b208ae-c5a1-4403-9533-eed464c4a850": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "54e6233c-dd39-4de5-8c71-7e6cc1437163": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3efbf8bc-12ba-4549-b22c-efd94393b968": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "a25f441d-4db0-48a0-a3df-4c0df9922d94": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6717ea20-b643-48c6-8c25-9f7e21e7801e": {
      "ai_tool": [
        [
          {
            "node": "9fb074ab-63a5-4128-a578-9ccedea16425",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Extraction de documents, RAG IA

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds17
Catégorie2
Types de nœuds3
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
David Ashby

David Ashby

@cfomodz

A hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34