npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-pdf-page-split

v0.2.0

Published

n8n nodes to split PDF documents into individual pages and convert DOCX to PDF with page splitting

Readme

n8n-nodes-pdf-page-split

n8n.io - Workflow Automation

NPM Version License: MIT

Powerful n8n community nodes for PDF document processing: split PDFs into pages and convert DOCX to PDF with page splitting

🌟 Features

PDF Page Split Node

  • 📄 PDF Splitting: Split multi-page PDFs into individual single-page files
  • 🎯 Page Selection: Process specific page ranges with flexible selection options
  • 📝 Custom Naming: Configure output file names with prefixes and page numbers
  • 🔄 Batch Processing: Handle multiple PDFs in a single workflow

DOCX to PDF Split Node (New in v0.2.0)

  • 📑 DOCX Conversion: Convert DOCX documents to PDF format
  • 📄 Automatic Splitting: Split converted PDFs into individual pages
  • 🎯 Page Selection: Extract specific pages from converted documents
  • 📝 Custom Naming: Configure output file names with prefixes and page numbers
  • 💾 Optional Full PDF: Keep the complete converted PDF alongside individual pages

General Features

  • 🚀 High Performance: Pure JavaScript implementation for maximum compatibility
  • 🐳 Docker Ready: Works seamlessly in containerized environments

📋 Prerequisites

  • n8n version 0.147.0 or newer
  • Node.js version 16 or newer

💻 Installation

Via n8n Interface

  1. Open your n8n instance
  2. Go to Settings > Community Nodes
  3. Click on Install
  4. Enter n8n-nodes-pdf-page-split in the Name field
  5. Click Install

Via npm

npm install n8n-nodes-pdf-page-split

Via yarn

yarn add n8n-nodes-pdf-page-split

🔧 Configuration

PDF Page Split Node

Input Parameters

| Parameter | Type | Description | Default | |-----------|------|-------------|---------| | Binary Property | string | Name of the binary property containing the PDF file | data | | Page Range | string | Range of pages to process (e.g., "1-5,8,11-13") | (all pages) | | File Name Prefix | string | Prefix for output file names | page_ | | Start Number | number | Starting number for page numbering | 1 |

DOCX to PDF Split Node

Input Parameters

| Parameter | Type | Description | Default | |-----------|------|-------------|---------| | Binary Property | string | Name of the binary property containing the DOCX file | data | | Page Range | string | Range of pages to process (e.g., "1-5,8,11-13") | (all pages) | | File Name Prefix | string | Prefix for output file names | page_ | | Start Number | number | Starting number for page numbering | 1 | | Keep Original PDF | boolean | Include the full converted PDF in output | false |

Output

Each processed page generates an item with:

  • Binary Data: The PDF page as a binary file
  • JSON Data:
    • pageNumber: Current page number
    • totalPages: Total pages in original/converted document
    • fileName: Generated file name

📚 Usage Examples

Basic PDF Splitting

// Split a PDF into individual pages
[
  {
    "node": "PDF Page Split",
    "parameters": {
      "binaryPropertyName": "data",
      "fileNamePrefix": "page_"
    }
  }
]

Extract Specific Pages from PDF

// Extract pages 1-3 and 5
[
  {
    "node": "PDF Page Split",
    "parameters": {
      "binaryPropertyName": "data",
      "pageRange": "1-3,5",
      "fileNamePrefix": "extract_"
    }
  }
]

Convert DOCX to PDF and Split

// Convert DOCX to PDF and split into pages
[
  {
    "node": "DOCX to PDF Split",
    "parameters": {
      "binaryPropertyName": "data",
      "fileNamePrefix": "converted_page_",
      "keepOriginalPdf": true
    }
  }
]

Convert DOCX and Extract Specific Pages

// Convert DOCX and extract specific pages
[
  {
    "node": "DOCX to PDF Split",
    "parameters": {
      "binaryPropertyName": "data",
      "pageRange": "1-5,10",
      "fileNamePrefix": "doc_page_",
      "keepOriginalPdf": false
    }
  }
]

🔍 Example Workflows

1. Split and Save PDF Pages

  1. HTTP Request → Download PDF from URL
  2. PDF Page Split → Split into pages
  3. Write Binary File → Save pages locally

2. Process Selected Pages

  1. Read Binary File → Load local PDF
  2. PDF Page Split → Extract specific pages
    • Set "Page Range" to "1-3,5,10-12"
  3. Google Drive → Upload selected pages

3. Convert DOCX and Process

  1. Read Binary File → Load DOCX document
  2. DOCX to PDF Split → Convert and split
    • Enable "Keep Original PDF" for complete document
  3. Email Send → Send individual pages as attachments

4. Batch DOCX Processing

  1. Google Drive → Download DOCX files
  2. DOCX to PDF Split → Convert each to PDF pages
  3. Compress → Create ZIP with all pages
  4. S3 → Upload to storage

⚠️ Troubleshooting

Common Issues

| Issue | Solution | |-------|----------| | "No binary data found" | Ensure previous node outputs binary data | | Empty PDF output | Verify input PDF is valid and not corrupted | | Memory errors | Process fewer pages at once for large PDFs |

Best Practices

  • Verify PDF is not password protected
  • Use page ranges for large documents
  • Monitor memory usage in production

🔧 Technical Details

Libraries Used

  • pdf-lib: PDF manipulation and splitting
  • mammoth: DOCX text and structure extraction
  • pdfkit: PDF generation from extracted content

Key Features

  • Pure JavaScript implementation
  • No native dependencies
  • Cross-platform compatibility
  • Docker-friendly operation

Limitations

  • Does not support password-protected PDFs or DOCX files
  • Cannot extract text or metadata
  • Maximum file size depends on available memory
  • DOCX conversion preserves formatting but may vary from native Office rendering

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📝 License

MIT

🙏 Acknowledgments

  • n8n - For the amazing workflow automation platform
  • pdf-lib - For reliable PDF manipulation
  • All our contributors and users