Hey everyone ![]()
I built a PDF node and figured I’d share it here.
The main idea is that everything runs locally on your instance. No API keys, per-page pricing, your documents don’t get uploaded anywhere. The whole PDF engine is bundled into the package, so it has literally zero runtime dependencies. You install it and it just works.
npm: https://www.npmjs.com/package/n8n-nodes-pdf
What’s in it right now (18 operations):
- merge / split / extract / rotate / reorder / delete pages
- generate PDFs from a JSON template, Markdown, or images
- read + fill PDF forms (optionally flatten them)
- text/image watermarks, page numbers, overlay one PDF on another
- extract metadata, embedded images, page count
Text rendering ships with Noto fonts, so ł, č, Cyrillic, Greek and emoji (monochrome) all render fine.
My favorite use case so far: HTTP Request pulls a PDF form, Read Fields dumps all its fields as JSON, you map your data, Fill Form writes the finished PDF. The whole thing stays on your instance.
Install: Settings → Community Nodes → n8n-nodes-pdf. No credentials or setup.
Stuff worth knowing:
- files over 100 MB get rejected on purpose (better than OOM-ing your instance)
- it all runs in-process, so throwing huge docs at it on an already busy instance will cost you some latency and resources
If something breaks or you’re missing an operation, open an issue: Issues · krystianslowik/n8n-nodes-pdf · GitHub
Curious what you all end up using it for. ![]()
Cheers,
Krystian