HexaPDF includes facilities for creating PDF documents from scratch, using a canvas object for drawing and outputting text.
HexaPDF can read existing documents and modify them in various ways, e.g. adding, modifying or deleting pages, annotations, files, ...
HexaPDF can be used to merge multiple PDF files together. Advanced merge facilities can be built on the existing infrastructure.
HexaPDF allows extracting various parts of a PDF file, e.g. text from a page, attached files, embedded images, ...
HexaPDF supports all password based encryption mechanisms, including AES 256bit, when reading and writing PDF files.
HexaPDF writes output PDF files as compactly as possible. Additionally, it can optimize existing PDF files to reduce their file size.
If the above features haven't already convinced you, how about these additional benefits which make working with HexaPDF a breeze:
You can use HexaPDF anywhere since it runs in any Ruby 2.5+ compatible runtime.
While there are other pure Ruby PDF libraries, none of them provide the full spectrum of PDF features, like HexaPDF does.
The implementation adheres to the PDF 1.7 as well as parts of the 2.0 Standard and is tested on thousands of PDFs.
Ruby is slow? Not so much! Built with performance in mind, HexaPDF is mostly only 2.5 times slower than compiled solutions!
Care has been taken to make sure that HexaPDF doesn't unnecessarily use memory.
Every part of HexaPDF is thoroughly tested. The fast test suite ensures that it stays so.
HexaPDF comes with a CLI application for quickly performing the most common PDF tasks.
The commercial license covers the case where the use of the open source AGPL-licensed version is not possible or desirable.
For example, if you use HexaPDF in an application and distribute that application, you have to make the source code of the whole application available under the AGPL. The same applies if your application is used over a network, e.g. via a web server.
Businesses that want to use HexaPDF and want to steer clear of potential legal issues or don’t want to make their source code available need to buy a commercial license (for details see the text of the commercial license):
Each license is perpetual, with one year of updates included. The last officially released version (not the last code pushed to the repository) before the invoice date plus one year may perpetually be used.
|Price without VAT|
|Limited License||€ 500 Buy|
|Limited License (virtual machines only)||€ 250 Buy|
The Limited License (virtual machines only) offer can be used if HexaPDF is only used on virtual machines within your company. If you run HexaPDF on even one physical host, the standard license fee is applicable for all licenses.
Volume discounts may apply for the limited license. Please inquire for details.
Contact firstname.lastname@example.org for more information!
No, only production hosts need a license. If you buy at least one commercial license, all development, testing, staging and CI hosts are included.
In such a case the “Limited License (VMs only)” would be the correct choice. You need one license for each VM on which HexaPDF is used. Volume discounts may apply, please contact sales for details.
You would need to buy licenses for the maximum number of hosts to cover the case when all hosts are in use.
HexaPDF is developed as an open source library and application under the GNU Affero General Public License (AGPL).
The main website is
There you will find all the necessary information on usage, examples and documentation.
Everything that is available in the commercial version is also available in the AGPL version. This benefits the open source community since the other option, the open core model, would have meant that more advanced features wouldn’t be available. And businesses can have a look at everything that is available and easily decide beforehand, if HexaPDF is the right tool for their usecase.