Title: Manipulate PDF files easily with pdftk | |
Author: Solène | |
Date: 19 August 2023 | |
Tags: productivity | |
Description: In this article, you will learn how to use pdftk to | |
rotate, extract or merge PDF pages | |
# Introduction | |
I often need to work with PDF, sometimes I need to extract a single | |
page, or add a page, too often I need to rotate pages. | |
Fortunately, there is a pretty awesome tool to do all of these tasks, | |
it's called PDFtk. | |
pdftkofficial project website | |
# Operations | |
Pdftk command line isn't the most obvious out there, but it's not that | |
hard. | |
## Extracting a page | |
Extracting a page requires the `cat` sub command, and we need to give a | |
page number or a range of pages. | |
For instance, extracting the pages 11, and from 16 to 18 from the file | |
my_pdf.pdf to a new file export.pdf can be done with the following | |
command: | |
``` | |
pdftk my_pdf.pdf cat 11 16-18 output export.pdf | |
``` | |
## Merging PDF into a single PDF | |
Merging multiple PDFs into a single PDF also uses the sub command | |
`cat`. In the following example, you will concatenate the PDF | |
first.pdf and second.pdf into a merged.pdf result: | |
``` | |
pdftk first.pdf second.pdf cat output merged.pdf | |
``` | |
Note that they are concatenated in their order in the command line. | |
## Rotating PDF | |
Pdftk comes with a very powerful way to rotate PDFs pages. You can | |
specify pages or ranges of pages to rotate, the whole document, or only | |
odd/even pages etc... | |
If you want to rotate all the pages of a PDF clockwise (east), we need | |
to specify a range `1-end`, which means first to last page: | |
``` | |
pdftk input.pdf rotate 1-endeast output rotated.pdf | |
``` | |
If you want to select even or odd pages, you can add the keyword `even` | |
or `odd` between the range and the rotation direction: `1-10oddwest` or | |
`2-8eveneast` are valid rotations. | |
## Reversing the page ordering | |
If you want to reverse how pages are in your PDF, we can use the | |
special range `end-1` which will go through pages from the last to the | |
first one, with the sub command `cat` this will only recreate a new | |
PDF: | |
``` | |
pdftk input.pdf cat end-1 output reversed.pdf | |
``` | |
# Conclusion | |
Pdftk have some other commands, most people will need to extract / | |
merge / rotate pages, but take a look at the documentation to learn | |
about all pdftk features. | |
PDF are usually a pain to work with, but pdftk make it very fast and | |
easy to apply transformation on them. What a great tool :-) |