Blog

Make.com PDF Generation: Complete Guide 2025

Automating PDF generation in Make.com transforms how businesses handle invoices, reports, and documents. Instead of manually creating PDFs or relying on expensive third-party services, Make.com enables automated PDF creation directly within your workflow automation scenarios.

The demand for automated document generation continues to grow. 98% of companies use PDFs as their default format for external communication, making PDF automation essential for modern business operations. Whether you're generating invoices from Google Sheets, creating reports from Airtable, or producing certificates from form submissions, Make.com provides the infrastructure to automate these processes.

This comprehensive guide covers everything you need to know about PDF generation in Make.com, from basic HTML to PDF conversion to advanced invoice generation with dynamic data. We'll explore the CustomJS modules that make PDF automation possible, share ready-to-use scenario templates, and provide best practices for implementing automated document generation at scale.

TL;DR

  • Make.com PDF generation enables automated document creation directly within scenarios using CustomJS modules.
  • Three primary use cases: Invoice generation, HTML to PDF conversion, and PDF page extraction.
  • CustomJS offers 600 free PDF generations per month, making it cost-effective for small to medium workflows.
  • Native Make.com integration eliminates the need for external API calls or custom code.
  • Perfect for automating invoices, reports, certificates, and any document that requires consistent formatting.

🛠️ Complete PDF Toolkit for Make.com

CustomJS provides a comprehensive suite of PDF tools for Make.com scenarios. Beyond basic PDF generation, you can:

HTML to PDF

Convert HTML to professional PDFs

Invoice Generator

Pre-built invoice templates

Merge PDFs

Combine multiple PDFs into one

Compress PDFs

Reduce PDF file sizes

Extract PDF Pages

Split PDFs by page range

PDF to PNG

Convert PDF pages to images

Why Use Make.com for PDF Generation?

Make.com (formerly Integromat) is a powerful visual automation platform that allows you to connect different services and automate repetitive tasks. When it comes to PDF generation, Make.com offers several advantages over traditional methods:

Native Integration: Unlike external PDF APIs that require HTTP requests and authentication management, CustomJS modules integrate directly into Make.com scenarios. This means no API keys to manage in every scenario, no external dependencies, and no additional latency from external service calls.

Visual Workflow Design: Make.com's visual interface makes it easy to see how data flows from your source (Google Sheets, Airtable, databases, webhooks) through transformation steps and into PDF generation. This transparency helps with debugging and makes scenarios maintainable by team members who aren't developers.

Cost-Effective Automation: With CustomJS's free tier of 600 PDFs per month and predictable pricing beyond that, Make.com PDF generation is significantly cheaper than dedicated PDF services. For businesses generating hundreds of invoices or reports monthly, this can mean thousands of dollars in savings annually.

Flexible Data Sources: Make.com connects to 1,500+ services out of the box. You can pull data from Google Sheets, Airtable, PostgreSQL, REST APIs, or any other source, transform it as needed, and generate PDFs—all in one scenario without writing backend code.

Three Essential Make.com PDF Templates

Get started immediately with these production-ready scenario templates. Import them directly into Make.com and customize for your needs.

Template 1: Generate Professional PDF Invoices from Spreadsheet Data

What it does:

  • Monitors Google Sheets for new invoice entries
  • Retrieves customer details and line items from spreadsheet rows
  • Generates professional invoice PDF using CustomJS Invoice Generator
  • Automatically calculates totals, taxes, and subtotals
  • Returns PDF as downloadable file or base64 for email

Perfect for: Freelancers, small businesses, accounting departments

View Template on Make.com →

How to Use This Template

  1. Import the template: Click the link above and import it into your Make.com account.
  2. Connect Google Sheets: Link your Google account and select the spreadsheet containing invoice data.
  3. Configure CustomJS: Add your CustomJS API key (get 600 free PDFs/month).
  4. Map fields: Match your spreadsheet columns to invoice fields (customer name, items, prices).
  5. Test & activate: Run a test with sample data, then activate the scenario.

Spreadsheet Structure

Your Google Sheet should have these columns:

Invoice Number | Customer Name | Customer Email | Item Description | Quantity | Unit Price | Tax Rate | Due Date
INV-001        | John Doe      | john@email.com | Web Development  | 10       | 150        | 19%      | 2025-01-31
INV-002        | Jane Smith    | jane@email.com | Consulting       | 5        | 200        | 19%      | 2025-02-15

Template 2: Convert HTML Content to PDF

What it does:

  • Accepts HTML content from any source (webhooks, databases, APIs)
  • Converts HTML to pixel-perfect PDF using CustomJS
  • Supports custom CSS styling, headers, footers, and page breaks
  • Returns PDF file ready for email, storage, or download
  • Handles dynamic data injection via template variables

Perfect for: Reports, certificates, custom documents, branded materials

View Template on Make.com →

Example: Sales Report Generation

Here's how to create a monthly sales report from Airtable data:

<!DOCTYPE html>
<html>
<head>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 40px;
      color: #333;
    }
    h1 {
      color: #2563eb;
      border-bottom: 3px solid #2563eb;
      padding-bottom: 10px;
    }
    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 20px;
    }
    th {
      background-color: #2563eb;
      color: white;
      padding: 12px;
      text-align: left;
    }
    td {
      padding: 10px;
      border-bottom: 1px solid #ddd;
    }
    .total {
      font-weight: bold;
      font-size: 18px;
      margin-top: 20px;
      text-align: right;
    }
  </style>
</head>
<body>
  <h1>Monthly Sales Report</h1>
  <p>Period: December 2025</p>
  
  <table>
    <thead>
      <tr>
        <th>Product</th>
        <th>Units Sold</th>
        <th>Revenue</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Product A</td>
        <td>150</td>
        <td>$4,500</td>
      </tr>
      <tr>
        <td>Product B</td>
        <td>89</td>
        <td>$2,670</td>
      </tr>
      <tr>
        <td>Product C</td>
        <td>203</td>
        <td>$6,090</td>
      </tr>
    </tbody>
  </table>
  
  <div class="total">
    Total Revenue: $13,260
  </div>
</body>
</html>

Note: Use Make.com's mapping feature to inject dynamic data from your Airtable records into the HTML template.

Template 3: Extract Specific Pages from PDF Files

What it does:

  • Accepts PDF files from email attachments, cloud storage, or webhooks
  • Extracts specific page ranges (e.g., pages 1-3, page 5, pages 10-15)
  • Creates new PDF containing only selected pages
  • Useful for splitting contracts, extracting signatures, or creating excerpts
  • Processes multiple PDFs in batch

Perfect for: Document processing, contract management, legal workflows

View Template on Make.com →

Common Use Cases

  • Extract signature pages: Pull only the last page from signed contracts for archival.
  • Create summaries: Extract first 2 pages from reports to create executive summaries.
  • Split invoices: Separate multi-invoice PDFs into individual files.
  • Remove sensitive pages: Extract non-confidential pages before sharing documents.

Setting Up CustomJS in Make.com

Before you can generate PDFs in Make.com, you need to set up CustomJS. This takes less than 5 minutes.

Step 1: Create CustomJS Account

  1. Visit app.customjs.io and sign up for free.
  2. You'll get 600 free PDF generations per month (20 per day).
  3. No credit card required for the free tier.

Step 2: Get Your API Key

  1. Log in to your CustomJS dashboard.
  2. Navigate to SettingsAPI Keys.
  3. Click Create New API Key.
  4. Copy the key (you'll need it for Make.com).

Step 3: Add CustomJS to Make.com

  1. In Make.com, create a new scenario or open an existing one.
  2. Click the + button to add a new module.
  3. Search for "CustomJS" in the module search.
  4. Select the module you need (e.g., "HTML to PDF" or "Invoice Generator").
  5. When prompted, paste your CustomJS API key.
  6. Click Save and you're ready to go!

Available NPM Modules

The following NPM modules are available for use in CustomJS. Contact us if you would like to use another NPM module in Make.com.

const cheerio = require('cheerio');
const { v4: uuidv4 } = require('uuid');
const axios = require('axios').default;
const AWS = require('@aws-sdk/client-s3');
const jsrsasign = require('jsrsasign');
const forge = require('node-forge');
const { piexif } = require('piexifjs');
const jsrsasignUtil = require('jsrsasign-util');
const jsonwebtoken = require('jsonwebtoken');
const crypto = require('crypto');
const { Configuration, OpenAIApi } = require('openai');
const JavaScriptObfuscator = require('javascript-obfuscator');
const { AuthRocket } = require('@authrocket/authrocket-node');
const firebaseAdmin = require('firebase-admin');
const { PDFDocument, StandardFonts, rgb } = require('pdf-lib');
const mysql2 = require('mysql2');
const cryptoJs = require('crypto-js');
const nodemailer = require('nodemailer');
const converter = require('json-2-csv');
const htmlToText = require('html-to-text');
const moment = require('moment');
const Alexa = require('ask-sdk-core');
const jose = require('jose');
const { nanoid } = require('nanoid');
const { getJson } = require('serpapi');
const { Storage } = require('@google-cloud/storage');

Popular modules include: axios for HTTP requests, moment for dates, crypto-js for encryption, pdf-lib for PDF manipulation, and many more.

Advanced PDF Generation Techniques

Dynamic Data Injection

Make.com's mapping feature allows you to inject data from previous modules directly into your PDF templates. This makes it easy to create dynamic documents:

<!-- In your HTML template -->
<h1>Welcome, John Doe!</h1>
<p>Your order #12345 has been confirmed.</p>
<p>Total: $299.99</p>

<!-- Use Make.com mapping to inject dynamic data -->

Tip: In the HTML to PDF module, map variables like {{1.customerName}} to inject data from previous modules.

Conditional Content with Make.com Routers

Use Make.com's Router module to create different PDFs based on conditions:

  • Premium customers: Route to a template with premium branding and benefits.
  • Different languages: Route to language-specific invoice templates.
  • Document types: Route to invoice, quote, or receipt templates based on type.
  • Amount thresholds: Use different templates for high-value vs. standard invoices.

Multi-Page Documents with Headers and Footers

Create professional multi-page PDFs with consistent headers and footers using CSS:

<style>
  @page {
    margin: 2cm;
    @top-center {
      content: "Company Name - Confidential";
      font-size: 10px;
      color: #666;
    }
    @bottom-right {
      content: "Page " counter(page) " of " counter(pages);
      font-size: 10px;
    }
  }
  
  .page-break {
    page-break-after: always;
  }
</style>

<div class="section">
  <h2>Section 1</h2>
  <p>Content...</p>
</div>

<div class="page-break"></div>

<div class="section">
  <h2>Section 2</h2>
  <p>Content...</p>
</div>

Including Images and Logos

Embed company logos and images in your PDFs:

<!-- External URL (recommended) -->
<img src="https://yourcompany.com/logo.png" alt="Company Logo" style="width: 200px;" />

<!-- Base64 encoded (for dynamic images from previous module) -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." alt="Logo" />

<!-- From Make.com file storage -->
<img src="https://storage.example.com/image.png" alt="Product Image" />

Use {{1.logoBase64}} or {{1.imageUrl}} to inject dynamic image data.

Best Practices for Make.com PDF Generation

1. Optimize HTML for PDF Rendering

  • Use absolute units: Specify sizes in pixels or points rather than percentages for consistent rendering.
  • Inline CSS: While external stylesheets work, inline CSS ensures styles are always applied correctly.
  • Test fonts: Stick to web-safe fonts (Arial, Helvetica, Times New Roman) or embed custom fonts.
  • Avoid JavaScript: The PDF renderer executes HTML and CSS but doesn't run client-side JavaScript.

2. Handle Errors Gracefully

Add error handling to your Make.com scenarios:

  • Use Make.com's error handler routes to catch PDF generation failures.
  • Add a "Tools" → "Set Variable" module to log errors.
  • Send email notifications when critical invoice generation fails.
  • Store failed attempts in Airtable or Google Sheets for manual review.

3. Manage File Storage

PDFs can be large files. Consider these storage strategies:

  • Google Drive: Use Make.com's Google Drive module to upload PDFs automatically.
  • Dropbox: Store PDFs in organized folders by date or customer.
  • Email Attachments: Send PDFs directly via email without storing them.
  • Temporary URLs: CustomJS provides temporary download URLs that expire after 24 hours.

4. Performance Optimization

  • Batch Processing: Use Make.com's Iterator to process multiple records efficiently.
  • Minimize HTML Size: Remove unnecessary whitespace and comments from HTML templates.
  • Optimize Images: Compress images before embedding to reduce PDF file size.
  • Cache Templates: Store frequently used HTML templates in Make.com Data Stores.

5. Security Considerations

  • Protect API Keys: Never expose your CustomJS API key in public scenarios.
  • Validate Input: Always validate data before injecting it into HTML templates.
  • Secure Webhooks: Use Make.com's webhook authentication to protect endpoints.
  • Limit Access: Store sensitive PDFs in private cloud storage with proper access controls.

Common Use Cases for Make.com PDF Generation

1. Automated Invoicing

Generate and send invoices automatically when orders are completed. Connect to your e-commerce platform (Shopify, WooCommerce), CRM (HubSpot, Salesforce), or database to pull order details, create professional invoices, and email them to customers—all without manual intervention.

2. Report Generation

Create scheduled reports from your data sources. Pull analytics from Google Analytics, sales data from Airtable, or metrics from monitoring tools, format them into readable reports, and distribute them to stakeholders via email or Slack.

3. Certificate Generation

Automatically generate certificates for course completions, event attendance, or achievements. When a user completes a course in your LMS, trigger a Make.com scenario that creates a personalized certificate with their name, course details, and completion date.

4. Contract Creation

Generate contracts from templates when deals are closed. Pull client information from your CRM, populate contract templates with specific terms and pricing, and create ready-to-sign PDF contracts.

5. Receipt Generation

Create receipts for payments or donations. When a payment is processed through Stripe or PayPal, automatically generate a receipt PDF and email it to the customer for their records.

6. Shipping Labels and Packing Slips

Generate shipping labels and packing slips for e-commerce orders. When an order is placed, create a PDF with shipping information, barcode, and order details, then send it to your fulfillment team or print it automatically.

Troubleshooting Common Issues

PDF Layout Issues

Problem: Content is cut off or doesn't fit on the page.

Solution: Adjust page margins and use CSS media queries for print. Set explicit page sizes:

@page {
  size: A4;
  margin: 2cm;
}

Images Not Displaying

Problem: Images appear as broken links in the PDF.

Solution: Use absolute URLs or base64-encoded images. Relative paths don't work in PDF generation:

// ❌ Won't work
<img src="/images/logo.png" />

// ✅ Works
<img src="https://yoursite.com/images/logo.png" />

Fonts Not Rendering

Problem: Custom fonts fall back to default fonts.

Solution: Use web-safe fonts or embed fonts using @font-face with base64:

@font-face {
  font-family: 'CustomFont';
  src: url(data:font/woff2;base64,YOUR_BASE64_HERE);
}

Scenario Execution Errors

Problem: Make.com scenario fails during PDF generation.

Solution: Check these common issues:

  • Verify your CustomJS API key is correct and active.
  • Ensure you haven't exceeded your monthly PDF quota.
  • Check that HTML content is properly formatted (no unclosed tags).
  • Validate that all mapped variables contain data.

Pricing Comparison: Make.com + CustomJS vs. Alternatives

When it comes to PDF generation in automation workflows, pricing can vary dramatically. Here's how Make.com + CustomJS compares to alternatives:

ServiceFree TierCost per 1,000 PDFsMake.com Integration
Make.com + CustomJS600 PDFs/month$0.15✅ Native modules
DocRaptor5 PDFs/month$15.00❌ HTTP only
PDF.co1 month trial$5.00❌ HTTP only
Api2Pdf1 month trial$3.00❌ HTTP only

Cost Savings Example: If you generate 5,000 invoices per month:

  • Make.com + CustomJS: $0.75/month (after free 600)
  • DocRaptor: $75.00/month
  • PDF.co: $25.00/month
  • Savings: Up to $900/year with CustomJS

Frequently Asked Questions

1. Do I need coding skills to use Make.com PDF generation?

No. Make.com's visual interface and CustomJS templates make PDF generation accessible without coding. However, basic HTML knowledge helps when customizing templates.

2. How many PDFs can I generate for free?

CustomJS offers 600 free PDF generations per month (20 per day). This is perfect for small businesses and freelancers. Beyond that, pricing is $0.15 per 1,000 PDFs.

3. Can I use my own HTML templates?

Yes! The HTML to PDF module accepts any valid HTML. You can design custom templates with your branding, styling, and layout requirements.

4. What's the difference between Invoice Generator and HTML to PDF?

Invoice Generator uses a pre-built template—just provide data fields. HTML to PDF gives you complete design control with custom HTML/CSS. Use Invoice Generator for quick invoices, HTML to PDF for custom documents.

5. Can I merge multiple PDFs in Make.com?

Yes! CustomJS provides a "Merge PDFs" module that combines multiple PDF files into one. Perfect for creating complete document packages or combining invoices with terms of service.

6. How do I send generated PDFs via email?

After the CustomJS PDF module, add a "Send Email" module (Gmail, Outlook, or SMTP). Map the PDF output as an attachment. Make.com handles the rest automatically.

7. Is there a file size limit for PDFs?

CustomJS supports PDFs up to 50MB. For most invoices and reports, files are typically 100-500KB. If you need larger files, consider splitting them into multiple PDFs.

8. Can I generate PDFs from Airtable data?

Absolutely! Use Make.com's Airtable module to fetch records, then pass the data to CustomJS. The first template above shows exactly how to do this for invoices.

Next Steps: Start Automating Your PDFs

PDF generation in Make.com transforms manual document creation into automated workflows that save time and reduce errors. Whether you're generating invoices, reports, or certificates, the combination of Make.com's visual automation and CustomJS's PDF tools provides a powerful, cost-effective solution.

Ready to get started?

  1. Sign up for CustomJS (600 free PDFs/month)
  2. Import one of the three templates above into Make.com
  3. Customize it for your specific use case
  4. Activate and start automating!

Need help? Check out our complete Make.com integration guide or explore more code examples.

Related Articles

Continue reading on similar topics

Airtable Accounting for Freelancers
·Guide

Airtable Accounting for Freelancers

Cost-effective alternative to QuickBooks & FreshBooks. Automatic PDF invoice generation with n8n, Make.com, or API integration.

airtableinvoiceaccounting
HTML Invoice Generator  (+Free Templates)
·Guide

HTML Invoice Generator (+Free Templates)

Creating professional HTML invoices that convert perfectly to PDF is essential for any business. 5 beautiful invoice templates with live PDF generators.

pdfhtml-to-pdfinvoice
HTML to PDF API: CustomJS vs Alternatives
·Comparison

HTML to PDF API: CustomJS vs Alternatives

Compare HTML to PDF conversion APIs for price, speed, and JavaScript support. CustomJS offers 600 free PDFs/month and easy Make.com integration.

pdfhtml-to-pdf
HTML Print Pagination & Footer
·Guide

HTML Print Pagination & Footer

Adding page numbers and footers to PDF documents. Explore 6 different approaches with interactive examples.<br>

pdfhtml-to-pdfpagination
Common Issues in HTML-to-PDF Printing
·Guide

Common Issues in HTML-to-PDF Printing

Broken page breaks, margins, fonts, tables? Fix the most common HTML-to-PDF issues with practical CSS strategies and examples.

pdfhtml-to-pdftroubleshooting
HTML & CSS Tips for Better PDFs
·Guide

HTML & CSS Tips for Better PDFs

Master print styles with our Print CSS Cheatsheet. Learn tips, tricks, and code examples to create professional, print-ready HTML documents.

pdfhtml-to-pdfcss
CustomJS vs. 0CodeKit
·Comparison

CustomJS vs. 0CodeKit

If you want to improve your workflow in Make with JavaScript, there are some powerful tools available. Two of the best options are 0CodeKit and CustomJS.

comparisonmakeautomation
Pricing Comparison
·Pricing

Pricing Comparison

Automate complex tasks without blowing your budget! Learn how Make, Zapier, & n8n enable custom JS automation at various price points.

pricingcomparisonmake
Make vs. Zapier vs. n8n
·Comparison

Make vs. Zapier vs. n8n

Choosing the right workflow automation tool between Make, Zapier, and n8n depends on your tech comfort, task complexity, and budget.

comparisonmakezapier
How to Execute JavaScript in Power Automate
·Guide

How to Execute JavaScript in Power Automate

Execute JavaScript code directly in Power Automate. Integrate JavaScript with CustomJS in 5 minutes – no Azure Functions needed.

power-automatejavascriptautomation
Best Screenshot APIs
·Comparison

Best Screenshot APIs

A deep dive into the top 5 screenshot APIs for 2025, comparing features, pricing, and performance to help you choose the best one.

screenshotapicomparison
CustomJS vs. IFTTT
·Comparison

CustomJS vs. IFTTT

Explore CustomJS as a powerful IFTTT alternative. See how it compares to IFTTT for custom and advanced automation and which tool suits your needs.

comparisonautomationifttt