Skip to content

Repository files navigation

n8n-nodes-pdf-to-png

This is an n8n community node that lets you convert PDF files to PNG images in your n8n workflows.

The PDF to PNG node converts each page of a PDF document into a separate PNG image. It works with PDF files passed as binary data through your workflow, outputting one item per page with configurable resolution.

n8n is a fair-code licensed workflow automation platform.

Installation
Operations
Compatibility
Usage
Resources
Version History

Installation

Follow the installation guide in the n8n community nodes documentation.

Manual Installation

  1. Make sure to allow community nodes with N8N_COMMUNITY_PACKAGES_ENABLED=true
  2. Once logged in to your n8n web UI, go to /settings/community-nodes
  3. Type @bitovi/n8n-nodes-pdf-to-png and click install

After installing or upgrading, restart n8n. pdf.js caches its PDF worker per process, so a fresh process is needed to pick up the node's worker correctly. See Troubleshooting.

Operations

The PDF to PNG node converts PDF pages to PNG images with the following parameters:

Parameters:

  • Binary Property: Name of the binary property containing the PDF file (default: data)
  • Scale: Viewport scale factor for output resolution (default: 2.0, range: 0.5–5.0)
  • Page Range: Pages to convert — leave empty for all pages, or use 1-3 for a range or 1,3,5 for specific pages
  • Output Property: Name of the binary property for the PNG output (default: data)

Output per page:

  • json.pageNumber — the page number
  • json.width — image width in pixels
  • json.height — image height in pixels
  • json.totalPages — total pages converted
  • json.sourceFile — original PDF filename
  • binary.data — the PNG image

Compatibility

  • Minimum n8n version: 1.0.0
  • Node.js: >=18.10
  • Tested with: n8n 2.9.4

This node uses pdf-to-png-converter v3 with pdfjs-dist for PDF rendering and @napi-rs/canvas for image output.

Usage

Basic Workflow Example

  1. Get PDF: Use a node like "Read Binary File", "HTTP Request", or "Gmail" to get your PDF as binary data
  2. PDF to PNG: Add the PDF to PNG node — each page becomes a separate output item
  3. Process Results: Use the PNG images in subsequent nodes (save to disk, send via email, pass to AI vision, etc.)

Scale Guide

Scale Use Case
1.0 Fast previews, small file size
2.0 Good quality for most uses (default)
3.0 High quality for OCR or printing
5.0 Maximum quality, large files

Working with Binary Data

The node expects the PDF file as binary data in the input. Any node that outputs a PDF (HTTP Request, Read Binary File, Gmail attachments, Google Drive, etc.) will work. The node outputs one item per page, each with a PNG binary attached.

Troubleshooting

The API version "X" does not match the Worker version "Y"

pdf.js (used internally) runs its worker on the main thread and reads it from a process-wide global that whatever loaded a pdf.js worker last "wins" — including n8n core's own bundled pdf.js. This node works around that, but pdf.js caches the worker per process on first use. If an older/incompatible version of the node ran in the same process first, the cache is already poisoned and an in-place upgrade won't clear it.

Fix: restart n8n after installing or upgrading the node. A fresh process resolves it.

Resources

Version History

v0.1.3

  • Fix The API version does not match the Worker version error caused by pdf.js worker-version conflicts with n8n's bundled pdf.js
  • Note: restart n8n after installing/upgrading (see Troubleshooting)

v0.1.0

  • Initial release
  • Convert PDF pages to PNG images
  • Configurable viewport scale (0.5x–5.0x)
  • Page range selection (all, range, or specific pages)
  • One output item per page with metadata

License

MIT

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages