cat
The cat command can split / extract pages from a PDF. It can also join/merge/combine multiple PDF documents into a single one.
Usage
pdfly cat --help
Usage: pdfly cat [OPTIONS] FILENAME FN_PGRGS...
Concatenate pages from PDF files into a single PDF file.
Page ranges refer to the previously-named file. A file not followed by a page
range means all the pages of the file.
PAGE RANGES are like Python slices.
Remember, page indices start with zero.
Page range expression examples:
: all pages.
-1 last page.
22 just the 23rd page.
:-1 all but the last page.
0:3 the first three pages.
-2 second-to-last page.
:3 the first three pages.
-2: last two pages.
5: from the sixth page onward.
-3:-1 third & second to last.
The third, "stride" or "step" number is also recognized.
::2 0 2 4 ... to the end.
3:0:-1 3 2 1 but not 0.
1:10:2 1 3 5 7 9
2::-1 2 1 0.
::-1 all pages in reverse order.
Examples
pdfly cat -o output.pdf head.pdf content.pdf :6 7: tail.pdf -1
Concatenate all of head.pdf, all but page seven of content.pdf,
and the last page of tail.pdf, producing output.pdf.
pdfly cat chapter*.pdf >book.pdf
You can specify the output file by redirection.
pdfly cat chapter?.pdf chapter10.pdf >book.pdf
In case you don't want chapter 10 before chapter 2.
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * filename PATH [default: None] [required] │
│ * fn_pgrgs FN_PGRGS... filenames and/or page ranges [default: None] │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH [default: None] [required] │
│ --verbose --no-verbose show page ranges as they are being │
│ read │
│ [default: no-verbose] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
Examples
Split a PDF
Get the second, third, and fourth page of a PDF:
pdfly cat input.pdf 1:4 -o out.pdf
Extract a Page
Get the sixt page of a PDF:
pdfly cat input.pdf 5 -o out.pdf
Note that it is 5, because the page indices always start at 0.
Concatenate two PDFs
Just combine two PDF files so that the pages come right after each other:
pdfly cat input1.pdf input2.pdf -o out.pdf