A week ago, a free library was released to generate pdf files of version OpenPDF 1.1.0, the most significant upgrade of this library in recent times.
OpenPDF is a Java library for creating and editing PDF files, which is distributed under the dual license LGPL/MPL. The library is based on the iText fork. In reality, she has such a story:
All forks lead the story from one version of iText 4.2.0, which was released eight years ago and became the latest version under a free license. IText developers themselves switched to AGPL and concentrated on creating the fifth version to sell commercial software. To date, they have grown to version iText 7. But the free project, too, did not die but continued to develop by the community.
Over the past time, the library has been improved in some respects, and several bugs have been fixed. Although the changes are not too significant, development continues, and everyone can contribute. If you need any specific functionality when generating PDF files, then suggest a patch and implement this feature for everyone.
Since the old "original" version 4.2.0, the following changes have been made:
OpenPDF is a convenient way to implement the generation of PDF documents in your project, including a cryptographic digital signature. This is a ready-made and free module suitable for use in electronic document management. And such a system can be used, for example, with certificates for signing a PDF to certify and approve PDF documents. Or integrate with GlobalSign's Digital Signing Service, a cloud-based signature service. Although the latter already works, for example, with the solution for signing Adobe Sign documents in the Adobe Document Cloud.
Support for crypto libraries Bouncy Castle is very useful. At the heart of the Bouncy Castle architecture is a set of low-level APIs that implement all cryptographic algorithms. There is support for standard high-level cryptographic APIs of the Java and C# platforms.
The Bouncy Castle Java APIs in version 1.53 included about 400 thousand lines of code and supported a large number of algorithms, including the basic generation of X.509 certificates, the work of the JCE / JCA provider, PKCS # 10, PKCS # 12, S / MIME, OpenPGP, DTLS, TLS, OCSP, TSP, CMP, CRMF, DVCS, DANE, EST, Attribute Certificate (AC), which are used to associate additional information with a public key certificate.
It should be noted that in addition to OpenPDF, there are other free libraries for generating PDFs. For example, there is veraPDF or the wonderful Apache PDFBox library. The latter is actively supported and has a rich set of functions:
So nowadays it’s not at all necessary to use proprietary tools to create or edit PDFs. There are many free alternatives for this.