LibrePDF/OpenPDF
 Watch   
 Star   
 Fork   
2025-08-17 19:05:48
OpenPDF

OpenPDF 3.0.0

OpenPDF 3.0.0

  • OpenPDF 3.0.0 uses the new package name org.openpdf. The old com.lowagie is now removed from OpenPDF 3.0. This means that source code using OpenPDF must be migrated to use import statements using org.openpdf.* package.

  • PDF 2.0 support in OpenPDF – This is a breaking API change:
    All version-related methods now use String instead of char as method parameters. See PdfVersion.java and PdfWriter.java. The default version is now PDF 2.0.

    About PDF 2.0:
    PDF 2.0 is the latest official version of the Portable Document Format, standardized as ISO 32000-2:2020.
    It was first published by the International Organization for Standardization (ISO) in July 2017, with a revised edition in December 2020.
    PDF 2.0 introduces improved color management, tagged PDF enhancements, advanced encryption options, and clarifies many ambiguous parts of the PDF 1.x specifications.

    📄 Read the PDF 2.0 (ISO 32000-2:2020) specification

  • Added HtmlToPdfBatchUtils and PdfBatchUtils, new batch utilities built on Java 21 virtual threads. These APIs improve throughput for HTML→PDF rendering and common PDF tasks such as merge, split, watermark, and encrypt.

What's Changed

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.4.0...3.0.0

2025-08-07 22:33:53
OpenPDF

OpenPDF 2.4.0

OpenPDF 2.4.0 Release Notes

Highlights

  • Java package name change: All classes have been moved from com.lowagie to org.openpdf.
  • Module split: The openpdf submodule has been split into:
    • openpdf-core-legacy – all classes here are deprecated.
    • openpdf-core-modern – actively maintained and used by all submodules.

See 2.4.0 migration guide for details.


What's Changed

Major Changes

  • Module restructuring:

    • Split openpdf into openpdf-core-legacy and openpdf-core-modern.
      #1393 – @andreasrosdal
    • Deprecated all classes in openpdf-core-legacy.
      #1395 – @andreasrosdal
    • Updated all submodules to use openpdf-core-modern.
      #1396 – @andreasrosdal
  • New features:

    • Added flag in ColumnText to control whether words are chopped, or to throw an exception instead of arbitrarily chopping long words.
      #1379 – @csimoes1
    • Added TU and ALT fields to signature object.
      #1386 – @MaSchmidt1999
  • Performance improvements:

    • Register fonts only once in a static block instead of on every constructor call.
      #1373 – @giangianoulas
  • Code cleanup:

    • Removed commented-out code and unnecessary System.out.println calls.
      #1364 – @andreasrosdal

Dependency Updates

  • org.sonatype.central:central-publishing-maven-plugin 0.7.0 → 0.8.0
  • com.puppycrawl.tools:checkstyle 10.25.0 → 11.0.0 (multiple incremental updates)
  • org.jetbrains.kotlin:kotlin-stdlib 2.1.21 → 2.2.0
  • org.jetbrains.kotlin:kotlin-maven-plugin 2.1.21 → 2.2.0
  • junit.version 5.13.1 → 5.13.4
  • com.google.errorprone:error_prone_annotations 2.38.0 → 2.41.0
  • org.dom4j:dom4j 2.1.4 → 2.2.0
  • org.apache.maven.plugins:maven-gpg-plugin 3.2.7 → 3.2.8
  • org.verapdf:validation-model 1.28.1 → 1.28.2
  • commons-io:commons-io 2.19.0 → 2.20.0
  • org.htmlunit:neko-htmlunit 4.13.0 → 4.14.0

New Contributors

  • @giangianoulas – Font registration optimization #1373
  • @csimoes1 – ColumnText long word handling #1379
  • @MaSchmidt1999 – TU and ALT signature fields #1386

Full Changelog: 2.2.3 → 2.4.0

2025-07-01 20:26:33
OpenPDF

OpenPDF 2.2.4

What's Changed

New Contributors

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.2.3...2.2.4

2025-06-16 18:45:41
OpenPDF

OpenPDF 2.2.2

What's Changed

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.2.1...2.2.2

2025-06-16 02:28:55
OpenPDF

2.2.1

News in OpenPDF 2.2.1

2025-06-15 04:48:43
OpenPDF

2.2.0

OpenPDF 2.2.0 Released!

We’re excited to announce the release of OpenPDF 2.2.0, a new milestone in our ongoing mission to build a modern, fully open-source PDF library for Java.

What's New

openpdf-renderer Module Added (#1357)

We’ve added a brand new module: openpdf-renderer.

This module integrates the openpdf-renderer engine into OpenPDF, enabling:

  • High-quality PDF rendering to images
  • Fast page previews and thumbnails
  • Support for converting PDF pages to BufferedImage for use in Java applications

It’s perfect for developers who need visual previews of PDFs in desktop or server-side applications.


Maven Coordinates:

<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf</artifactId>
  <version>2.2.0</version>
</dependency>
2025-06-14 20:23:09
OpenPDF

2.1.0

OpenPDF 2.1.0 - Modernization and New Features

We are excited to announce the release of OpenPDF 2.1.0, which marks a major step forward for the project.

  • Java 21 required: OpenPDF 2.1.0 now targets Java 21 LTS and benefits from its modern features and performance improvements. Java 21 was released in 2023.

  • New Kotlin module: Build PDFs more easily using idiomatic Kotlin APIs and a DSL-inspired builder interface.

  • Added openpdf-html module: A maintained fork of Flying Saucer for converting HTML to PDF, now part of the OpenPDF project. The goal is to improve HTML5 and modern CSS support.

  • Deprecated HtmlParser: We encourage migrating to openpdf-html for improved HTML rendering.

  • Updated dependencies.

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.0.5...2.1.0

2025-05-27 04:49:07
OpenPDF

OpenPDF 2.0.5

What's Changed

New Contributors

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.0.4...2.0.5

2025-05-20 15:13:46
OpenPDF

2.0.4

What's Changed

New Contributors

Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.0.3...2.0.4