Two graphical tools for manipulating PDFs on the Linux desktop

PDF-Shuffler and PDF Chain are great tools for modifying PDFs in Linux.
205 readers like this.
10 open source tools for your sysadmin toolbox

Opensource.com

With the way I talk and write about PDFs and tools for working with them, some people think I'm in love with the format. I'm not, for a variety of reasons I won't go into here.

I won't go so far as saying PDFs are a necessary evil in my personal and professional life—rather they're a necessary not-so-good. Often I have to use PDFs, even though there are better alternatives for delivering documents.

When I work with PDFs, usually at the day job and with one of those other operating systems, I fiddle with them using Adobe Acrobat. But what about when I have to work with PDFs on the Linux desktop? Let's take a look at two of the graphical tools I use to manipulate PDFs.

PDF-Shuffler

As its name suggests, you can use PDF-Shuffler to move pages around in a PDF file. It can do a little more, but the software's capabilities are limited. That doesn't mean PDF-Shuffler isn't useful. It is. Very useful.

You can use PDF-Shuffler to:

  • Extract pages from PDF files
  • Add pages to a file
  • Rearrange the pages in a file

Be aware that PDF-Shuffler has a few dependencies, like pyPDF and python-gtk. Usually, installing it via a package manager is the fastest and least frustrating route.

Let's say you want to extract pages from a PDF, maybe to act as a sample chapter from your book. Open the PDF file by selecting File > Add.

PDF-Shuffler - opening a file

To extract pages 7 to 9, press Ctrl and click-select the pages. Then, right-click and select Export selection.

PDF-Shuffler - exporting a file

Choose the directory where you want to save the file, give it a name, and click Save.

To add a file—for example, to add a cover or re-insert scanned, signed pages of a contract or application—open a PDF file, then select File > Add and find the PDF file that you want to add. Click Open.

PDF-Shuffler has an annoying habit of adding pages at the end of the PDF file you're working on. Click and drag the page you added to where you want it to go in the file. You can only click and drag one page in a file at a time.

PDF-Shuffler - moving a page

PDF Chain

I'm a big fan of PDFtk, a command-line app for doing some interesting things with and to PDFs. Since I don't use it frequently, I don't remember all of PDFtk's commands and options.

PDF Chain is a very good alternative to PDFtk's command line. It gives you one-click access to PDFtk's most frequently used commands. Without touching a menu, you can:

  • Merge PDFs (including rotating the pages of one or more files)
  • Extract pages from a PDF and save them to individual files
  • Add a background or watermark to a PDF
  • Add attachments to a file

Manipulating PDFs with PDF Chain

You can also do more. Click on the Tools menu to:

  • Extract attachments from a PDF
  • Compress or uncompress a file
  • Extract the metadata from the file
  • Fill in PDF forms from an external data file
  • Flatten a PDF
  • Drop XML Forms Architecture (XFA) data from PDF forms

To be honest, I only use the commands to extract attachments and compress or uncompress PDFs with PDF Chain or PDFtk. The rest are pretty much terra incognita for me.

Summing up

The number of tools available on Linux for working with PDFs never ceases to amaze me. And neither does the breadth and depth of their features and functions. I can usually find one, whether command line or graphical, that does what I need to do. For the most part, PDF Mod and PDF Chain work well for me.

That idiot Scott Nesbitt ...
I'm a long-time user of free/open source software, and write various things for both fun and profit. I don't take myself all that seriously and I do all of my own stunts.

13 Comments

When you need to do some serious surgery on a PDF, Scribus may be the answer. With the developmental version, 1.5.x, you can directly import PDF pages individually as a vector graphics, then remove or edit any parts you desire. You cannot edit text as text, since it is imported as individual vector glyphs, but an answer to that might be to export the text using Adobe Reader, then edit the text and import to a text frame in Scribus, where you might change the font if you wish. If there is just one page that needs editing, just edit that one, then use PDF Chain to import that revised page into your document.

Interesting. Can I edit content on these pages? Can I fill out a form with these. I have been using Xournal recently and it's okay but I'm always looking for new tools and thanks to you I now have some more options.

You can't edit the content of pages with either. You can, however, fill out a form using PDF Chain using an external file.

Once upon a time, I used an application called PDFEdit to do more with PDF files. However, PDFEdit doesn't seem to have been updated in years.

In reply to by Don Watkins

"Often I have to use PDFs, even though there are better alternatives for delivering documents." Please create article about "better alternatives for delivering documents".

If you have any ideas around that, please feel free to pitch that idea to Opensource.com's editors.

In reply to by Châu (not verified)

Thank you for pointing that out. The article really can't be plagiarized — it's licensed under CC-BY-SA, which allows republishing or remixing. However, the article at HTML.it doesn't include the necessary attribution. The site has been requested to add the attribution.

In reply to by Lazza (not verified)

I've used PDFsam in the past, but drifted away from it. And now only the basic version is open source. PDFedit was a good Acrobat-like tool, too. But it hasn't been updated since 2010.

In reply to by Julien (not verified)

For PDFs, I usually use xournal to add/(re)move pages, add comments, or highlight things, or a command line tool (that uses ghostscript) to format/combine PDFs and gain in size, otherwise inkscape for a more "adobe illustrator" mission (single page only). I have seen and tried many "user friendly" stuff but they never achieved what I was after.

pdftk hasn't been updated in a few years. The project is effectively dead.

It's no longer included in Fedora or Ubuntu repos. On debian, poppler-utils is a suggested package for pdftk (since poppler is still maintained).

From pdftk's site, they don't provide downloads for recent versions of RedHat, even (https://www.pdflabs.com/docs/install-pdftk-on-redhat-or-centos/)

PDF Chain, consequently, hasn't seen any recent updates, either. The last code commit to it's repo was in 2015.

Re: alternatives to PDF. I only use pdf if I absolutely have to and then only to read an already finished product that only comes in pdf format. My preferred format is RTF. Pretty well all word processors recognize rtf format. I have even made it the default for LibreOffice. That way the document can be read by any other word processor no matter the platform. I have yet to come across an issue where rtf cannot be read. (I haven't tried it on anything LaTex, yet.)

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.