Convert HTML to PDF and Compress Files with CustomJS API
 This n8n template demonstrates how to convert HTML into a PDF, compress the generated PDF, and return it as a binary response using the PDF Toolkit from www.customjs.space. ### Notice Community nodes can only be installed on self-hosted instances of n8n. [@custom-js/n8n-nodes-pdf-toolkit](https://www.npmjs.com/package/@custom-js/n8n-nodes-pdf-toolkit) ### What this workflow does - **Convert** the requested HTML to PDF. - **Compress** the PDF file. - **Use** a Code node to handle URLs pointing to PDF files if they exceed 6MB. - **Compress** the PDF pages. ### Requirements - **Self-hosted** n8n instance - **CustomJS API key** for compressing PDF files. - **HTML** Data to convert to PDF files - **Code node** for handling URLs that indicate a PDF file. ### Workflow Steps: 1. **Manual Trigger**: Runs with user interaction. 2. **HTML to PDF**: Request HTML Data - Convert HTML to PDF - Request PDF from URL. 3. **Compress Pages from PDF**: Compress PDF as a binary file. --- ### Usage ### Get API key from [customJS](https://www.customjs.space) - Sign up to the customJS platform. - Navigate to your profile page. - Press the Show button to get your API key.  ### Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here.  ### Design workflow - A Manual Trigger for starting the workflow. - HTTP Request Nodes for downloading PDF files. - Code node for handling URLs that indicate a PDF file. - Compress PDF files. You can replace the logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from the webhook. Simply replace the Manual Trigger and Write to Disk nodes.
New buyers can create an account from the cart to unlock a controlled $10 first-purchase credit on eligible orders of $25+.
Secure checkout powered by Stripe
Support
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related File & Document Management workflows
- Automate Invoice Data Extraction to Airtable with OCR and AI$14.99
- Automate PDF Invoice Creation from Google Sheets Using PDF.co$4.99
- Create Custom PDF Documents from Templates with Gemini & Google Drive$24.99
- Automatically Save and Organize Outlook Email Attachments in OneDrive Folders$9.99
- Automate Invoice Data Extraction from Google Drive to Google Sheets with Mistral OCR$14.99
- Convert Files to Markdown with Datalab.to API in n8n$9.99
More from CustomJS
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.