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 useString
instead ofchar
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. -
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.
- Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 by @dependabot[bot] in https://github.com/LibrePDF/OpenPDF/pull/1404
- Remove openpdf-core-legacy module by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1406
- Rename openpdf-core by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1407
- Initial PDF 2.0 support by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1408
- PDF 2.0 tests by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1409
- PDF 2.0 tests by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1410
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.0 to 2.2.10 by @dependabot[bot] in https://github.com/LibrePDF/OpenPDF/pull/1412
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.2.0 to 2.2.10 by @dependabot[bot] in https://github.com/LibrePDF/OpenPDF/pull/1413
- Delete RtfElementInterface by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1414
Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.4.0...3.0.0
OpenPDF 2.4.0
- Java package name change: All classes have been moved from
com.lowagie
toorg.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.
-
Module restructuring:
-
New features:
-
Performance improvements:
- Register fonts only once in a static block instead of on every constructor call.
#1373 – @giangianoulas
- Register fonts only once in a static block instead of on every constructor call.
-
Code cleanup:
- Removed commented-out code and unnecessary
System.out.println
calls.
#1364 – @andreasrosdal
- Removed commented-out code and unnecessary
org.sonatype.central:central-publishing-maven-plugin
0.7.0 → 0.8.0com.puppycrawl.tools:checkstyle
10.25.0 → 11.0.0 (multiple incremental updates)org.jetbrains.kotlin:kotlin-stdlib
2.1.21 → 2.2.0org.jetbrains.kotlin:kotlin-maven-plugin
2.1.21 → 2.2.0junit.version
5.13.1 → 5.13.4com.google.errorprone:error_prone_annotations
2.38.0 → 2.41.0org.dom4j:dom4j
2.1.4 → 2.2.0org.apache.maven.plugins:maven-gpg-plugin
3.2.7 → 3.2.8org.verapdf:validation-model
1.28.1 → 1.28.2commons-io:commons-io
2.19.0 → 2.20.0org.htmlunit:neko-htmlunit
4.13.0 → 4.14.0
- @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
OpenPDF 2.2.4
- Bump org.sonatype.central:central-publishing-maven-plugin from 0.7.0 to 0.8.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1363
- Remove commented out code and some system.out.println by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1364
- Bump com.puppycrawl.tools:checkstyle from 10.25.0 to 10.25.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1371
- Register font only once in static block instead on every constructor … by @giangianoulas in https://github.com/LibrePDF/OpenPDF/pull/1373
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.21 to 2.2.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1375
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.1.21 to 2.2.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1374
- Bump junit.version from 5.13.1 to 5.13.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1376
- Bump com.google.errorprone:error_prone_annotations from 2.38.0 to 2.39.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1378
- Bump com.puppycrawl.tools:checkstyle from 10.25.1 to 10.26.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1377
- Add flag to ColumnText to control if words are chopped or Throw exception instead of arbitrarily chopping long words#1297 by @csimoes1 in https://github.com/LibrePDF/OpenPDF/pull/1379
- Bump com.puppycrawl.tools:checkstyle from 10.26.0 to 10.26.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1380
- @giangianoulas made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1373
- @csimoes1 made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1379
Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.2.3...2.2.4
OpenPDF 2.2.2
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.11.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1358
- Rename openpdf-html config file til openpdf.conf and some minor fixes by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1360
- Remove GenShinGothic-Normal.ttf in order to reduce overall full zip file size from 21MB to 15MB.
Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.2.1...2.2.2
2.2.1
- Openpdf-renderer: Modernization and fix of multiple code analysis warnings.
2.2.0
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.
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>
2.1.0
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
OpenPDF 2.0.5
- Bump org.pitest:pitest-junit5-plugin from 1.2.2 to 1.2.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1321
- Remove hamcrest dependency by @Emkas in https://github.com/LibrePDF/OpenPDF/pull/1322
- Mockito cleanup and upgrade by @Emkas in https://github.com/LibrePDF/OpenPDF/pull/1324
- Bump org.jfree:jfreechart from 1.5.5 to 1.5.6 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1326
- Bump com.puppycrawl.tools:checkstyle from 10.23.1 to 10.24.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1327
- Security documentation by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1328
- Build on Java 24 by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1329
- Fix for reading very small PDF files by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1334
- @samruddhithakor made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1241
Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.0.4...2.0.5
2.0.4
- Bump maven-surefire-plugin.version from 3.3.0 to 3.3.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1200
- Bump org.hamcrest:hamcrest from 2.2 to 3.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1201
- Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1202
- Bump junit.version from 5.10.2 to 5.10.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1204
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.11.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1231
- Added check/error in PdfPTable.addCell by @StevenStreasick in https://github.com/LibrePDF/OpenPDF/pull/1195
- Clarify the licensing policy by @ForNeVeR in https://github.com/LibrePDF/OpenPDF/pull/1206
- Update LayoutProcessor.java/ See #1159 by @vk-github18 in https://github.com/LibrePDF/OpenPDF/pull/1211
- Bump junit.version from 5.10.3 to 5.11.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1236
- Bump commons-io:commons-io from 2.16.1 to 2.18.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1237
- Bump com.ibm.icu:icu4j from 75.1 to 76.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1238
- Bump org.apache.xmlgraphics:fop from 2.9 to 2.10 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1239
- Bump com.puppycrawl.tools:checkstyle from 10.17.0 to 10.20.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1240
- Bump org.apache.maven.plugins:maven-jxr-plugin from 3.4.0 to 3.6.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1242
- Bump org.apache.maven.plugins:maven-site-plugin from 3.12.1 to 3.21.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1243
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.7 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1244
- Bump maven-surefire-plugin.version from 3.3.1 to 3.5.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1245
- Bump bouncycastle.version from 1.78.1 to 1.79 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1246
- Bump commons-io:commons-io from 2.18.0 to 2.19.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1305
- Bump org.apache.xmlgraphics:fop from 2.10 to 2.11 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1303
- Bump org.apache.felix:maven-bundle-plugin from 5.1.9 to 6.0.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1302
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.13.0 to 3.14.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1301
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.1 to 3.11.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1304
- fix broken links for licenses by @sinansonmez in https://github.com/LibrePDF/OpenPDF/pull/1277
- Handle the case when resources was null by @gtoison in https://github.com/LibrePDF/OpenPDF/pull/1278
- Bugfix/issue1230 > HtmlParser cannot recognize base64-encoded images - Fixed by @maayanb180 in https://github.com/LibrePDF/OpenPDF/pull/1271
- #971: PDF/A1A & PDF/A1B invalid due to title => xmp.metadata missing language attribute at dc:titlerdf:Altrdf:liTitle... by @hemat0gen in https://github.com/LibrePDF/OpenPDF/pull/1279
- Set original type to images within ImageLoader for OpenRTF support by @olivierDelierre in https://github.com/LibrePDF/OpenPDF/pull/1285
- Bugfix/issue 1274 - HTML export - When image and text divs are rendered one … by @maayanb180 in https://github.com/LibrePDF/OpenPDF/pull/1275
- Allow extra FF bytes preceding JPEG markers by @jeffrey-easyesi in https://github.com/LibrePDF/OpenPDF/pull/1247
- #1298 - Fix in LZWDecoder when valid PDF stream data does not start with LZW Clear Table code (256) by @scottmore in https://github.com/LibrePDF/OpenPDF/pull/1299
- Fix setting margin on open document by @DarkMike-ru in https://github.com/LibrePDF/OpenPDF/pull/1283
- Bump maven-surefire-plugin.version from 3.5.2 to 3.5.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1309
- Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.0 to 3.4.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1312
- Bump org.verapdf:validation-model from 1.26.1 to 1.28.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1311
- Bump com.ibm.icu:icu4j from 76.1 to 77.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1313
- Bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.4.0 to 3.6.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1310
- Bump com.puppycrawl.tools:checkstyle from 10.20.1 to 10.23.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1314
- Bump bouncycastle.version from 1.79 to 1.80 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1316
- Bump org.pitest:pitest-junit5-plugin from 1.2.1 to 1.2.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1315
- Bump junit.version from 5.11.3 to 5.12.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1318
- Bump org.assertj:assertj-core from 3.26.3 to 3.27.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1317
- Support for > 2GB files by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/1319
- Bump org.jacoco:jacoco-maven-plugin from 0.8.12 to 0.8.13 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/1320
- @StevenStreasick made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1195
- @ForNeVeR made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1206
- @sinansonmez made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1277
- @gtoison made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1278
- @maayanb180 made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1271
- @hemat0gen made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1279
- @olivierDelierre made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1285
- @scottmore made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1299
- @DarkMike-ru made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/1283
Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/2.0.3...2.0.4