Cut, join, create/edit bookmarks, crop the white edges of the pages, and improve/get slim PDFs. This will not be a problem anymore with the free software listed below.
Portable Document Format, better known as its abbreviation in PDF, is a file format developed by Adobe System in 1993, used to represent documents in a manner independent of application software, hardware, and operating systems1.
Its own peculiarity is the PDF specification that has been available free of charge since at least 2001. This guaranteed a large and lucky diffusion to this format. Besides they are born many program that facilitate its reading, writing, printing and simply its manipulation. I will show you a short list of useful software I use to fix and modify the PDFs for my eBook, and for much more. It can't be an exhaustive guide, but a box with useful tips. If you know of better software, please tell me!
Many function are present in some commercial software like the famous Adobe Professional, but they are available in free programs too. In some circumstances these have advanced features more powerful than payable software. Unfortunately they require a deep study and more attempts in order to get remarkable results.
- make more operations, they are the most complete and perform multiple actions on PDFs;
- add, remove and rotate pages, they execute only these few operations;
- cut excess space, they erase the space used for printing purposes;
- divide multi-pages, it is a interesting function to restore the exact size of the single page that appear with others in a single front;
- create/edit bookmarks, in my opinion the best solution to find a chapter, section or particular reference;
- make table of contents, i.e. add one or more pages that include the list of bookmarks or the references that you consider more important;
- import, edit and convert PDFs, they are programs that facilitate conversion in raster and vector graphics or simple that edit texts or graphics inside pages;
- create a virtual printer that prints to PDF files, they allow practically any application to create PDF files by choosing to print from within the application and then printing to the virtual printer;
- optimize, or better to reduce the resolution and increase compatibility;.
Previously however I have to remark that these are free and open software, so in constant development and correction (from bugs and incompatibilities). Besides they can have one or more dependences (like Java or some library that you have to download apart). Anyway they are almost stable and multi platform (i.e. Linux, Windows and Mac OS).
Make more operations on PDFs^:
- jPdf Tweak, an handy software written in Java that it permits to make printable booklets (the function named Shuffle/N-up), to add bookmarks, effects (page transitions), to combine multiple PDF files, to watermark them, to rotate pages that do not fit, to attach files, to encrypt and sign, to change metadata (like author or keywords);
- Master PDF Editor, it is an easy-to-use and cost efficient application that allows you to create, edit (bookmarks, text, images), merge, split, preview, encrypt, sign and print XPS and interactive PDF documents with just a few clicks. The Linux-based version is free for non-commercial use;
- PDFEdit, includes PDF manipulating library based on xpdf, GUI, set of command line tools and a pdf editor;
- pdftk, software command-line very powerful.
Add, remove and rotate pages^:
- PDF Mod;
- PDF-Shuffler, also allows you to crop pages.
- Using LaTeX, I explained my solution in this article: How to merge odd and even pages together in a PDF with LaTeX
- Using LaTeX, I explained my solution in this article: How to crop a PDF using LaTeX, and a more powerful template that can be execute online using Overleaf2: How to crop and split a PDF online and in LaTeX but without using it.
- PDFCrop a script written in perl, it requires ghostscript and PDFedit..
Divide and adapt multi-pages^:
- With LaTeX, modifying and adapting each time, the two2one.tex file written by J.S. Milne available at this link. I wrote a little bash script called set-uniform-pagination.sh that halves the pages exceeding the horizontal dimension of the first. If you are interested, you can read the article: Script to adapt the PDF size.
- JPdfBookmarks, software written by Flaviano Petrocchi, it provides an handy and intuitive GUI for to add bookmarks and above all for exported them in a text file;
- Using LaTeX, I explain my solution here: How to add bookmarks on PDFs.
Make table of contents^:
- To create a classic TOC, printable and clickable the only resource I found useful was the evergreen LaTeX (see my article: How to add a clickable TOC to a PDF file) in combination with the output generated by JPdfBookmarks as I explained here: Script to add bookmarks and toc in PDFs.
Import, edit and convert PDFs^:
- Gimp, an helpful software to convert in raster and to modify one or more pages (to do this automatically you can use the GIMP Animation Package plugin that has a handy feature in in Video → Split image frame);
- Inkscape, the best way to edit, export, and save again in PDF or another vector format like SVG or DXF files (for importing in CAD programs or Blender);
- Imagemagick, command-line suite of programs that allows you to automatically convert all the pages of a pdf into individual images, like this example:
convert document.pdf immagine_%04d.tiff
- Libreoffice, a feature still immature and imperfect to open directly a PDF document;
- Openoffice, as above but requires the installation of the Oracle PDF Import Extension.
Create a virtual printer that prints to PDF files^:
- In many Linux distribution with the default cups-pdf server;
- PDFcreator with the homonymous virtual printer, you should not enable the toolbar during installation, because it is considered malaware.
- Ghostscript, a command-line collection of free programs that allows you to optimize PDF files in this way:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdfWhere the “-dPDFSETTINGS=” option can assume the following values:
/screen transform input.pdf file in a low resolution file called output.pdf;
/ebook the same but in medium resolution;
/printer for printing output;
/prepress for pre-press output;
/default an output intended to be useful across a wide variety of uses, possibly at the expense of a larger output file.
These are the software that I used and tried, if you know any other free/open programs more powerful, let me know!
- 1. Reference: Wikipedia, Portable Document Format
- 2. Overleaf is the new collaborative writing and publishing system developed by the team behind the popular writeLaTeX editor. Overleaf is designed to make the whole process of writing, editing and producing scientific papers much quicker for both authors and publishers. Overleaf: Real-time Collaborative Writing and Publishing Tools with Integrated PDF Preview. Here is my sign up link to Overleaf.