There are many options in the Fedora repositories for quickly modifying the page order of a PDF document. In Fedora, two of the easiest-to-use GUI tools for modifying PDFs are PDFMod and PDFShuffler. While GUI tools are well suited to this task, if you need a command line tool, the
package can modify PDFs directly from your Terminal. All These tools allow you to remove, add, and rearrange pages and export it to a new document.
These tools are also useful when creating PDFs with Inkscape. Inkscape currently only supports single-page export of PDFs, so you can use these tools in your workflow to join PDFs together after using Inkscape. Inkscape also supports importing a single pages of PDFs, so if you need to edit the actual content of a PDF Document, give Inkscape a try.
PDFmod & PDFShuffler
Both PDFmod and PDFShuffler are available in the Fedora repositories. Install them from the Software app in Fedora Workstation, or via the command line with DNF:
sudo dnf install pdfmod pdfshuffler
PDFMod and PDFShuffler are very similar applications — they look and function pretty much the same way. Once you have imported one or more PDFs into them, they provide a display of all the pages in the document, ready for you to start your modifications.
Rearrange the order of the pages by selecting (using Shift + Click and Ctrl + Click to select multiples), and drag ‘n’ drop them to their desired location in the Document. The same goes for removing pages; Select, then press delete. When you are done, simply save your document as a new PDF file.
pdfseparate and pdfunite
The popper-utils package provides several different commands for interacting with and modifying PDF files. However, the two commands that help us the most here are pdfseparate and pdfunite. Use dnf on the command line to install poppler-utils:
sudo dnf install poppler-utils
pdfseparate extracts pages into multiple PDFs that we can later merge together with pdfunite. To extract all the pages of a document into individual files, use:
pdfseparate ColoringBook.pdf ColoringBook-page_%d.pdf
To export a range of pages — say just pages 3,4,5,6,7,8 and 9 of a PDF — use the command:
pdfseparate -f 3 -l 9 ColoringBook.pdf ColoringBook-page_%d.pdf
Finally, after using pdfseparate, if we wanted to create a new document (NewColoringBook.pdf) with ColoringBook-page_3.pdf and ColoringBook-page_3.pdf we could use the following pdfunite command:
pdfunite ColoringBook-page_3.pdf ColoringBook-page_7.pdf NewColoringBook.pdf