Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8bd8287
Java 11 support
asturio Feb 20, 2024
6b96435
jEnv settings for java 11
asturio Feb 20, 2024
eb67fc3
Don't share license files anymore
asturio Feb 20, 2024
c5465d9
Build with target JDK 8, GPG activated again
asturio Feb 20, 2024
fedbc64
#1062: Call LayoutProcessor.disable() after Test-Runs
asturio Feb 20, 2024
0c334ca
Add more coverage
asturio Feb 20, 2024
8b8d06f
LayoutProcessor
asturio Feb 20, 2024
b38c0bb
Set version to 1.4.1
asturio Feb 20, 2024
d113089
Set new Snapshot to 1.4.1-SNAPSHOT
asturio Feb 20, 2024
e9441a2
#1059 font size specified in % is interpreted as pixels
Feb 21, 2024
25d31ea
#1057 CSS font-size property fails with IllegalArgumentException (#1072)
RadekWikturna Feb 23, 2024
b0c2343
#1061 When converting HTML to PDF, background color is not applied (#…
RadekWikturna Feb 23, 2024
4733d0d
Use UTF-8 in .getBytes(), and force running Tests with UTF-8 (#1080)
asturio Feb 23, 2024
2605869
#156: Throw Exception if PdfWriter.close() is called directly (#1081)
asturio Feb 26, 2024
f645eff
GitHub actions: build on PRs for 1.3 and 1.4 too
asturio Feb 29, 2024
41112eb
Restores Java11 compatibility
asturio Feb 29, 2024
3a1b1aa
Provide PDF/A conform annotations
vuilleumierc Feb 27, 2024
dd23f5f
Update surefire - increases coverage by ca. 15%
asturio Mar 5, 2024
4b011cb
Reduce diff to 1.4-java11 and master
asturio Mar 5, 2024
bcb823c
Formatter configuration
asturio Mar 9, 2024
26c692d
Reformatted all code
asturio Mar 9, 2024
d72dd85
CheckStyle rules upgrade
asturio Mar 10, 2024
d603c60
Main pom.xml updated
asturio Mar 10, 2024
a31c615
Corrected tests to run also on Windows
asturio Mar 11, 2024
4f7d9d9
Merge/1.3 in 1.4 (#1121)
asturio Mar 29, 2024
6d5e9f3
Correct version number to 1.4.2-SNAPSHOT
asturio Mar 30, 2024
3c973ed
Set version to 1.4.2
asturio Mar 30, 2024
6610e63
modify visibility of fields and methods to allow subclassing PdfStruc…
teodord Apr 3, 2026
22f6051
honor X positions in glyph vectors
dadza May 15, 2026
e6d6cb9
improve glyph vector X position adjustement
dadza May 20, 2026
265f0d4
set version to 1.4.2.jaspersoft.1-SNAPSHOT
kevinkda Oct 9, 2026
1501fc6
Merge release-1.3.43.jaspersoft.2: the fork is now based on OpenPDF 1…
kevinkda Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ permissions:
jobs:
build:
runs-on: ubuntu-latest
name: Build with Java 8
name: Build with Java 11
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 8
java-version: 11

- name: Check maven version
run: mvn -v; echo "** ls **"; pwd && ls -l
Expand Down
2 changes: 1 addition & 1 deletion .java-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.8
11
2 changes: 1 addition & 1 deletion changelogs/1.3.37.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

## Changes

* OpenPDF 1.3.37 requires Java 11.
* OpenPDF 1.3.37 requires Java 11.
2 changes: 1 addition & 1 deletion openpdf-fonts-extra/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf-parent</artifactId>
<version>1.3.43.jaspersoft.2</version>
<version>1.4.2.jaspersoft.1-SNAPSHOT</version>
</parent>

<artifactId>openpdf-fonts-extra</artifactId>
Expand Down
189 changes: 95 additions & 94 deletions openpdf/pom.xml
Original file line number Diff line number Diff line change
@@ -1,102 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf-parent</artifactId>
<version>1.3.43.jaspersoft.2</version>
</parent>
<parent>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf-parent</artifactId>
<version>1.4.2.jaspersoft.1-SNAPSHOT</version>
</parent>

<artifactId>openpdf</artifactId>
<artifactId>openpdf</artifactId>

<properties>
<java-module-name>com.github.librepdf.openpdf</java-module-name>
</properties>
<properties>
<java-module-name>com.github.librepdf.openpdf</java-module-name>
</properties>

<dependencies>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>74.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<optional>true</optional>
</dependency>
<dependencies>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>74.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<optional>true</optional>
</dependency>

<!-- Test Deps -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>validation-model</artifactId>
<version>1.24.1</version>
<optional>true</optional>
<scope>test</scope>
</dependency>
</dependencies>
<!-- Test Deps -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.verapdf</groupId>
<artifactId>validation-model</artifactId>
<version>1.24.1</version>
<optional>true</optional>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources-filtered</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<!-- unpack bundle, so humans can see the manifest without unpacking the jar -->
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
</plugins>
</build>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources-filtered</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<!-- unpack bundle, so humans can see the manifest without unpacking the jar -->
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
</plugins>
</build>
</project>
11 changes: 0 additions & 11 deletions openpdf/src/main/java/com/lowagie/text/Annotation.java
Original file line number Diff line number Diff line change
Expand Up @@ -578,17 +578,6 @@ public String content() {
return s;
}

/**
* Gets the content of this <CODE>Annotation</CODE>.
*
* @return a reference
* @deprecated use {@link #getAttributes()}
*/
@Deprecated
public HashMap attributes() {
return (HashMap) annotationAttributes;
}

/**
* Gets the content of this <CODE>Annotation</CODE>.
*
Expand Down
48 changes: 0 additions & 48 deletions openpdf/src/main/java/com/lowagie/text/Cell.java
Original file line number Diff line number Diff line change
Expand Up @@ -277,30 +277,6 @@ public int getHorizontalAlignment() {
return horizontalAlignment;
}

/**
* Sets the horizontal alignment.
*
* @param value the new value
* @deprecated Setting alignment through unconstrained types is non-obvious and error-prone, use
* {@link Cell#setHorizontalAlignment(HorizontalAlignment)} instead
*/
@Deprecated
public void setHorizontalAlignment(int value) {
horizontalAlignment = value;
}

/**
* Sets the alignment of this cell. This methods allows you to set the alignment as a String.
*
* @param alignment the new alignment as a <CODE>String</CODE>
* @deprecated Setting alignment through unconstrained types is non-obvious and error-prone, use
* {@link Cell#setHorizontalAlignment(HorizontalAlignment)} instead
*/
@Deprecated
public void setHorizontalAlignment(String alignment) {
setHorizontalAlignment(ElementTags.alignmentValue(alignment));
}

@Override
public void setHorizontalAlignment(final HorizontalAlignment alignment) {
if (alignment == null) {
Expand All @@ -319,30 +295,6 @@ public int getVerticalAlignment() {
return verticalAlignment;
}

/**
* Sets the vertical alignment.
*
* @param value the new value
* @deprecated Setting alignment through unconstrained types is non-obvious and error-prone, use
* {@link Cell#setVerticalAlignment(VerticalAlignment)} instead
*/
@Deprecated
public void setVerticalAlignment(int value) {
verticalAlignment = value;
}

/**
* Sets the alignment of this paragraph.
*
* @param alignment the new alignment as a <CODE>String</CODE>
* @deprecated Setting alignment through unconstrained types is non-obvious and error-prone, use
* {@link Cell#setVerticalAlignment(VerticalAlignment)} instead
*/
@Deprecated
public void setVerticalAlignment(String alignment) {
setVerticalAlignment(ElementTags.alignmentValue(alignment));
}

@Override
public void setVerticalAlignment(final VerticalAlignment alignment) {
if (alignment == null) {
Expand Down
29 changes: 2 additions & 27 deletions openpdf/src/main/java/com/lowagie/text/Chunk.java
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,8 @@ public Chunk(Image image, float offsetX, float offsetY) {
offsetY, Boolean.FALSE});
}

// the attributes are ordered as they appear in the book 'iText in Action'

/**
* Creates a separator Chunk. Note that separator chunks can't be used in combination with tab chunks!
*
Expand All @@ -320,8 +322,6 @@ public Chunk(DrawInterface separator, boolean vertical) {
setAttribute(SEPARATOR, new Object[]{separator, vertical});
}

// the attributes are ordered as they appear in the book 'iText in Action'

/**
* Creates a tab Chunk. Note that separator chunks can't be used in combination with tab chunks!
*
Expand Down Expand Up @@ -482,31 +482,6 @@ public boolean hasAttributes() {
return attributes != null;
}

/**
* Gets the attributes for this <CODE>Chunk</CODE>.
* <p>
* It may be null.
*
* @return the attributes for this <CODE>Chunk</CODE>
* @deprecated use {@link #getChunkAttributes()}
*/
@Deprecated
public HashMap getAttributes() {
return (HashMap) attributes;
}

/**
* Sets the attributes all at once.
*
* @param attributes the attributes of a Chunk
* @deprecated use {@link #setChunkAttributes(Map)}
*/
@Deprecated
@SuppressWarnings("unchecked")
public void setAttributes(HashMap attributes) {
this.attributes = attributes;
}

/**
* Gets the attributes for this <CODE>Chunk</CODE>.
* <p>
Expand Down
6 changes: 1 addition & 5 deletions openpdf/src/main/java/com/lowagie/text/ImageLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,7 @@ public static Image getBmpImage(byte[] imageData) {
}

/**
* Creates an Image from an array of tiff image bytes. For JRE < 9, `ImageIO.read()` requires a supporting library
* in the classpath to read tiffs. Options are: - https://github.com/jai-imageio/jai-imageio-core -
* https://github.com/haraldk/TwelveMonkeys
* <p>
* see: https://openjdk.java.net/jeps/262
* Creates an Image from an array of tiff image bytes.
*
* @param imageData bytes of the tiff image
* @return an objet of type <code>Image</code>
Expand Down
Loading