Much like many things in the technology industry, PDF were developed by a proprietary company. Adobe Systems is the company that has many locked down IP (Intellectual Property). Adobe first release PDF back in June 1993. So as a result, the tools to work with PDF are fewer than one might like. We will cover some free options that allow you to edit PDFs in Linux for the better. Not all will be open source, but will be free to use. From editing PDF to creating volumes on a subject of interest. We will go over the installation and use of Okular, Master PDF Editor, PDF Mix Tool, PDF Chain, and last but not the least PDF Slicer. Let’s get right into it, and hack some PDF.
Okular is made by KDE. The oldest commit we could find in the KDE repository for Okular was in January 2008. This means that Okular has been around for a while and they are very open source. While best suited to the KDE ecosystem of applications, you can choose to use application strictly for purpose and not to make ones applications match. Just be prepared for the extra configuration files that you may acquire. You can see on their download page they support so many distributions which is just crazy. This is a lot to maintain so, high-five to the development team! We will install Okular on Arch and Debian.
sudo pacman -S okular
Since it is so well supported, you can go down their list and find your distribution to confirm you are able to use Okular. You can also just try it with your package manager.
sudo apt install okular
As you can see, the use is rather intuitive. You may open the application and then browse for a file. Then you are presented with a very simple menu bar that will help you get the kind of editing that Ocular specializes in. While not a full-fledged editor, you can accomplish a lot with it. You can open many file types with different compatibility. Notation and text extraction are to name a few edits you can preform.
If you would like a full list of compatibility and uses, that can be found here. The interesting part is you seem to be able to use it on other file types like EPUB and Markdown and more. This really makes Okular an open source Swiss Army knife.
2. Master PDF Editor
Master PDF Editor is not open source, but they do have a free to use unlicensed tier. With fewer capabilities, of course. Master PDF Editor, now in their 5 edition, is a very power editor for Unix like systems. So even our cousins on macOS can get in on this. If you want to grab yourself a copy, their download page can be found here. They cover a few different types of operating system and a few package types by popular Linux distributions. We will be installing Master PDF Editor on Debian and openSUSE today.
cd Downloads && wget https://code-industry.net/public/master-pdf-editor-5.9.40-qt5.x86_64.deb && sudo apt install master-pdf-editor-5.9.40-qt5.x86_64.deb
cd Downloads && wget https://code-industry.net/public/master-pdf-editor-5.9.40-qt5.x86_64.rpm && sudo rpm -U master-pdf-editor-5.9.40-qt5.x86_64.rpm
Their commands are similar since they offer source packages primarily. All you have to decide is if you want to pay for the license or not. It seems as though they have all your editing needs covered. So yeah, you may end up liking something that is a paid product available on Linux.
They do make their product available to most that would use it as fair as distributions. Plenty of documentation to get you started. Master PDF Editor is very good, with seemingly no limitations on its paid version. Although, from what we can see, the unlicensed copy has tons of desirable functionality. Making their product a home run in our book. This is how you sell to open source people. Unlike some of the other editors that are not included here that only offer 14-day trials. We don’t like pressure. We like good stuff, and that’s what encourages us to pay for software.
3. PDF Mix Tool
Even though this is not a document editor, PDF Mix Tool is on here because it is a game changer. Say you are writing a book or another manuscript. You might want to add all of your PDF into one document, mixed in a way that you choose. You can look at their source code on GitLab here. With a very easy to use interface that just makes sense. I really loved testing it so, let’s get to installing it.
sudo pacman -s pdfmixtool
sudo apt install pdfmixtool
The interface is just on-point PDF Mix Tool team! Using the merge function is really nice as you don’t have to worry about whether your manuscript will look professional or not. You can make books, tech manuals, you could even self-publish and try to make some residuals.
Yes, this is not a full editor, though many regular document editors offer a save-as PDF option, which is true for editors like Notion and OnlyOffice. Meaning, you can write away and merge your works together, replace, extract pages, it’s pretty cool stuff. Considering you might have had to make your own program for this exact thing just a few years ago.
4. PDF Chain
As you can see from the last section on, we are using manipulation style PDF editors. Rather than just document editors. PDF Chain does a similar function to the last editor. They give you a great user interface that is easy to use, that should look modern and familiar to users. We will follow their example here for Arch and Debian based distributions.
wget https://aur.archlinux.org/packages/pd/pdfchain/pdfchain.tar.gz && tar xfz pdfchain.tar.gz && cd pdfchain && makepkg && sudo pacman -U pdfchain.pkg.tar.gz
As you can see we are downloading the AUR package directly, decompressing the tarball, making the package, then installing it directly. No helper needed. But this will make you appreciate what the Yay AUR helper actually does.
sudo add-apt-repository ppa:pdfchain-team/ppa && sudo apt-get update && sudo apt-get install pdfchain
On the Debian side of things, we are using their official PPA which is outlined in their official documentation.
Here you can see the simplicity we were talking about. A very familiar look-and-feel with an intuitive UI (User Interface).
5. PDF Slicer
Now we bring you the PDF Slicer, the opposite of the last two projects. With a quick edit, you can cut a PDF in pieces to single out some information or just to make your homework more simple by pulling the pages out of a source document to study in your own time. PDF Slicer was first committed to GitHub in April 2018 and can download and review the source code here. It is worth noting that since it is written in C++, you can expect some decent speed. We will install PDF Slicer on Arch and Fedora systems this time.
yay -s pdfslicer
Look at that, just one command and you have your application. That is the power of Yay and other AUR helpers like it.
We are about to write a novel of commands which is straight out of the documentation. First, let’s install some dependencies to make sure we can build this thing.
sudo dnf install gtkmm30-devel poppler-cpp-devel cairomm-devel qpdf-devel libuuid-devel intltool gettext git
Next, we need to clone into the repository in order to get the source code.
git clone --recursive https://github.com/junrrein/pdfslicer.git
Before we can build the package, we need to make the directory.
cd .. mkdir build-pdfslicer cd build-pdfslicer cmake ../pdfslicer/ -DCMAKE_BUILD_TYPE=Release make
And finally, we can install the package! Out of 32 contributors, they must have an experienced package manager that can help integrate this like our friends over at the AUR, or offer a binary.
sudo make install
Here you can see another familiar looking application with a very simple yet intuitive interface. We know that not every editor does the same thing, nor do they all have the same open source philosophy. But they all offer a free way to edit PDF documents, be it notation, editing text, adding documents together into a masterpiece, or cutting out source documents. We have an editor for you. There are a few more editors on the market which do not even have a free tier, rather a limited free trial.
We rather not push you into a situation in which you may end up with a bill in the end. This is not to say that for profit application on Linux is bad. In fact, that is what our wonderful ecosystem needs. So develop that application, make the Linux application suite more than it is today. If you would like to read more about coding related topics like setting up development environments on different Linux distributions and DE/WM, let us know in the comments. You would not believe how much running one piece of software can change everything. Thanks for reading.