I would like to extract page ranges from a PDF document into a new PDF document using the command line in Linux. Note that:
- Pdftk – The PDF Toolkit fails for me with:
$ pdftk input.pdf cat 1 verbose output output.pdf Error: Failed to open PDF file: input.pdf Errors encountered. No output created. Done. Input errors, so no output created.
Turns out that "You (should) know that Pdftk is nothing more than a very old version of
iText…. The keywords in the above statement are "VERY OLD"." (from pdftk can't open pdf file)
- Multivalent also fails:
$ java -classpath /path/to/Multivalent20091027.jar tool.pdf.Split -page 1 input.pdf Exception in thread "main" java.lang.NoClassDefFoundError: tool/pdf/Split Caused by: java.lang.ClassNotFoundException: tool.pdf.Split at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: tool.pdf.Split. Program will exit.
Turns out, this is a bit of a tricky software: even if its on SourceForge, and says that "Practical Thought generously provides these tools for free use on the command line" here – however, here then it says: "The browser is open source. The document tools are a free bonus and not open source." … which finally clarifies the comment from conversion – Gluing (Imposition) PDF documents – Stack Overflow:
All releases of Multivalent linked from the official sourceforge site are missing the tools package.
(edit: there seems to be an old Multivalent version with the tools included, see the SO link; but as it looks somewhat like abandonware, I'd rather not use it)
- Finally, I'd like to avoid tools that are essentially front-ends for Latex like PDFjam
So, are there any options for such a pdf-splitting command line tool under Linux?
Best Answer
I find pdfseparate very convenient to split ranges into individual pages. This command would extract pages 1 - 5 of
input.pdf
into files namedoutput-page1.pdf
,output-page2.pdf
,...
If you want to recombine them into page ranges, for example pages 1-3 in one document and pages 4-5 in another, you can use the companion program, pdfunite, as follows:
I believe theese tools are part of poppler and may already be installed on your system.