Convert HTML to PDF & Compress with CustomJS API

n8n AI Engineering Productivity

Contributed by Sabrina Ramonov 🍄. From the community directory at agents.sabrina.dev, republished with permission and full credit.

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.

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 PDF files

- Code node for handling URL that indicates PDF file

Workflow Steps:

- Manual Trigger: Runs with user interaction.

- HTML to PDF: Request HTML Data and convert HTML to PDF. Request PDF from URL.

- Compress Pages from PDF: Compress PDF as a binary file.

Usage:

1. Get API key from customJS:

- Sign up to customJS platform.

- Navigate to your profile page.

- Press "Show" button to get API key.

2. Set Credentials for CustomJS API on n8n:

- Copy and paste your API key generated from CustomJS here.

3. Design workflow:

- A Manual Trigger for starting workflow.

- HTTP Request Nodes for downloading PDF files.

- Code node for handling URL that indicates PDF file.

- Compress PDF files.

You can replace 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 Manual Trigger and Write to Disk nodes.

Tools used: CustomJS, HTML

Download the workflow template (JSON)

Original tutorial

Want this running in your business? KOBA42 builds and operates automations like this one.