PDF Tools
Performs page-level operations on PDF files: splitting, extracting, deleting, rotating, and combining documents.
Overview
The PDF Tools node exposes five operations behind a single node. Four of them — Split, Extract, Delete, and Rotate — act on one PDF file at a time, while Combine merges an array of PDF files into one document.
Split, Extract, Delete, and Rotate each support two modes:
- Manual: Specify pages or ranges directly (e.g.,
1-3, 5) - Smart: Describe what you want in plain language and let AI detect the pages
Use it to:
- Split a batch of invoices into separate files
- Extract only the pages you need from a report
- Remove blank pages or cover sheets
- Straighten a scanned packet whose pages came in at different orientations
- Merge multiple PDFs into a single document
Parameters
The available parameters depend on the selected Operation.
| Parameter | Description | Required |
|---|---|---|
| Operation | Split, Extract, Delete, Rotate, or Combine | Yes |
| File Destination | Destination folder for the processed file(s) | Yes |
Operation
Selects which PDF operation to run. The remaining parameters change based on this choice.
- Split, Extract, Delete, Rotate — take a single File
- Combine — takes an array of PDF Files
Split
Splits one PDF into multiple files.
| Parameter | Description | Required |
|---|---|---|
| File | PDF file to process | Yes |
| Split Mode | Manual or Smart (default Smart) | Yes |
| Split Points | Start a new file at these pages (e.g., 5, 9) | In Manual mode |
| Split Instructions | Describe how to split — e.g. separate each invoice | In Smart mode |
The File parameter expects a single PDF file, typically from an upstream node:
{{$item.data.file}}
Batching a long document
Smart mode reads every page of a document to decide where each new file begins, which is why it turns away documents over 2,000 pages. When a long file is made of short documents, @split_every finds the same boundaries by reading a few pages per batch instead. Write it on its own line, above the instructions:
@split_every:200,3
separate each invoice
Cut this into batches of about 200 pages, on a document boundary, where no document runs longer than 3 pages.
| Value | Meaning |
|---|---|
| First number | How many pages you want in each output file, approximately |
| Second number | The longest a single document inside the file can run |
The second number is what makes it work. If no document is longer than 3 pages, then any 3 consecutive pages contain a boundary, so the split point near each batch mark can be found without reading the pages in between. A 5,000-page file cut this way reads about 70 pages rather than 5,000.
Batches come out within one document's length of the size asked for. If no boundary turns up near a batch mark — the mark landed inside a document that started just before it — that batch runs on to the next mark rather than being cut in the wrong place, so it comes out about twice the size with its documents whole.
Because only the sampled pages are read, the 2,000-page limit and the billed page count both apply to those pages rather than to the whole document — so a 20,000-page file in batches of 200 is within the limit and is charged for what it read.
Extract
Keeps only the specified pages and discards the rest.
| Parameter | Description | Required |
|---|---|---|
| File | PDF file to process | Yes |
| Extract Mode | Manual or Smart (default Smart) | Yes |
| Extract Ranges | Page ranges to extract (e.g., 1-3, 4-5) | In Manual mode |
| Extract Instructions | Describe pages to keep — e.g. keep all pages with tables | In Smart mode |
| Include Page Numbers | Add pagesKept and pagesDeleted to the output (default off). Under Advanced options | No |
Delete
Removes the specified pages and keeps the rest.
| Parameter | Description | Required |
|---|---|---|
| File | PDF file to process | Yes |
| Delete Mode | Manual or Smart (default Smart) | Yes |
| Delete Ranges | Page ranges to delete (e.g., 1, 4-5) | In Manual mode |
| Delete Instructions | Describe pages to remove — e.g. delete all blank pages, remove cover sheets | In Smart mode |
| Include Page Numbers | Add pagesKept and pagesDeleted to the output (default off). Under Advanced options | No |
Rotate
Turns pages so they read upright. Page count is unchanged, and outlines, annotations and metadata are preserved.
| Parameter | Description | Required |
|---|---|---|
| File | PDF file to process | Yes |
| Rotate Mode | Manual or Smart (default Smart) | Yes |
| Pages to Rotate | Pages to turn (e.g., 3, 8-10) — blank means every page | In Manual mode |
| Rotation | 90° clockwise, 180°, or 270° clockwise | In Manual mode |
Smart mode has nothing to configure — it looks at every page in the document.
Rotation is always applied relative to how the page already sits, so a page that arrives sideways ends up where you expect rather than being reset to a fixed angle.
Smart mode shows every page to AI to decide which way up it reads, and each page costs one AI action. Use Manual mode when you already know which pages are sideways.
Smart mode judges orientation by the direction the text runs, not by the page's shape. A wide landscape page whose text already reads left to right is upright and is left alone.
Combine
Merges multiple PDF files into a single document.
| Parameter | Description | Required |
|---|---|---|
| PDF Files | Array of PDF files to combine | Yes |
Unlike the other operations, Combine takes an array of files rather than a single File. An expression that resolves to a single file will not work here — the input must be an array.
Files are combined in the order they appear in the array. Use Aggregate to collect files from multiple items first:
{{$item.data.files}}
At least one file must be provided.
Settings
| Setting | Description |
|---|---|
| Execution Mode | Once per item (default) or Once |
| Output Mode | How to output results when running once |
| Batch Size | Items to process concurrently (default 5) |
| Stop on Error | Stop workflow on failure |
Output
Each operation outputs one item per resulting file. Split may produce several output files, and each of its items includes a split index:
{
"file": {
"type": "fileData",
"name": "document-1.pdf",
"fileInfo": { "type": "..." }
},
"splitIndex": 1,
"totalSplits": 3
}
Extract and Delete each output a single item containing the resulting file. With Include Page Numbers turned on under Advanced options, the item also lists the source pages it kept and left out, as arrays of page numbers:
{
"file": {
"type": "fileData",
"name": "document_extracted.pdf",
"fileInfo": { "type": "..." }
},
"pagesKept": [1, 2, 3, 5],
"pagesDeleted": [4, 6]
}
pagesKept are the pages of the source document now in the output file (the extracted pages for Extract, the remaining pages for Delete). pagesDeleted are the rest. A side with no pages is an empty array, []. With the flag off, the item has only file.
Rotate and Combine each output a single item containing only the resulting file:
{
"file": {
"type": "fileData",
"name": "document_rotated.pdf",
"fileInfo": { "type": "..." }
}
}
Access in expressions:
- File object:
{{$item.data.file}} - Position in output set (Split only):
{{$item.data.splitIndex}} - Total number of files produced (Split only):
{{$item.data.totalSplits}} - Pages in the output file (Extract and Delete with Include Page Numbers on):
{{$item.data.pagesKept}} - Pages left out (Extract and Delete with Include Page Numbers on):
{{$item.data.pagesDeleted}}
The page arrays work directly as page input: {{$item.data.pagesDeleted}} is accepted in Extract Ranges, Delete Ranges, and Pages to Rotate.
Examples
Split Invoices into Separate Files
[Google Drive (invoice PDF)] → [PDF Tools (Split, Smart)] → [Copy File]
Use Smart mode with instructions like separate each invoice to detect split points automatically.
Extract Specific Pages
[OneDrive Trigger] → [PDF Tools (Extract, Manual)] → [Send Gmail]
Set Extract Ranges to 1-3 to keep only the first three pages.
Remove Blank Pages
[OCR PDF] → [PDF Tools (Delete, Smart)] → [Copy File]
Use Smart mode with delete all blank pages to clean up scanned documents.
Combine Multiple Reports
[Google Drive (reports folder)] → [Aggregate (collect files)] → [PDF Tools (Combine)] → [Send Gmail]
Tips
- Split, Extract, Delete, and Rotate work on a single file; Combine works on an array of files
- Smart mode is the default for Split, Extract, Delete, and Rotate — describe the pages in plain language and AI detects them
- Rotate's Smart mode needs no description at all: it works out which pages are sideways on its own
- Manual mode expects page numbers or ranges (e.g.,
1-3, 5); Split Points mark where each new file begins - Use Aggregate before Combine to gather files from multiple items into an array
- Turn on Include Page Numbers under Advanced options and Extract and Delete report
pagesKeptandpagesDeletedas page arrays, so{{$item.data.pagesDeleted}}can go straight into another Extract's Extract Ranges to recover the pages left out. If nothing was left out,pagesDeletedis[]and that Extract errors, so check its length with an If node first - These are long-running operations for large documents
- Use Rename File afterward to set meaningful output filenames
- For a long document of short ones,
@split_everybatches it without reading every page