PD4ML v3.12.0 is out. This update of the v3 line fixes rendering issues reported by our users, lowers memory use in long-running servers, and makes PD4ML v3 available from the PD4ML Maven repository.
Rendering
- The CSS
::before(and:before) pseudo-element with a stringcontentvalue, including CSS hex escapes such as\e8b8, is rendered in PDF, PDF/A and RTF output instead of being ignored. - A page background image given as a Windows file path such as
D:/dir/img.jpgorD:\dir\img.jpgis no longer silently ignored, and short background values no longer cause an exception. - In PDF/A output, transparent areas of images are rendered white instead of black, so transparent logos and watermark images no longer produce black boxes.
- In RTF output, list items with several blocks keep their bullet on the first line, and an item following an inline list item gets its own bullet.
Resources
- The system property
pd4ml.fake.browseralso applies to resources loaded over https, so images from servers that reject Java’s default User-Agent are no longer dropped.
Memory
- Image and device objects are no longer held back by finalizers, so memory is released sooner in long-running servers.
- Less memory when writing large PDF documents: compressed streams no longer allocate a buffer of twice their size, and fewer temporary strings are created.
Distribution
- PD4ML v3 is published to the PD4ML Maven repository: the trial editions and trial tag libraries are available from https://pd4ml.tech/maven2 (groupId
org.zefer.pd4ml.v3, artifactspd4ml-std-trial,pd4ml-pro-trial,pd4ml-dms-trial,pd4ml-taglib-trial,pd4ml-taglib-jakarta-trial; version3120for v3.12.0).
