PDF conformance validation is not available when using the monolithic JAR. (#9242)
The following dependencies were updated:
org.bouncycastle.*-1.75 to 1.78.1 (CVE-2024-29857, CVE-2024-30171, CVE-2024-30172, CVE-2024-34447)
org.verapdf.*-1.18.x to 1.26.1 (CVE-2024-28109)
PDFreactor Web Service only:
org.apache.cxf.*-3.5.7 to 3.5.8 (CVE-2024-28752)
org.springframework.*-5.3.33 to 5.3.36 (#9237, CVE-2024-22262)
org.glassfish.jaxb.jaxb-runtime-2.3.8 to 2.3.9
org.eclipse.jetty.*-9.4.53.v20231009 to 9.4.54.v20240208 (CVE-2024-22201)
PDFreactor 11.6.11 (2024-03-22)
The following issues were fixed:
Inline elements with border-radius nested inside link elements can cause exceptions. (#9201)
Page breaks in row-spanning table cells can cause exceptions. (#9203)
Applying display styles to page margin boxes can cause exceptions. (#9111)
Some valid custom XMPs are rejected as invalid and the exception does not contain useful information. (#9169)
Specifying an ICC profile that is not CMYK for color conversion causes internal exceptions instead of specific ones. (#8959)
In some cases grid cells can overflow their pages instead of being moved to the following page. (#8869)
In some cases the content of multi-column spanning elements is unnecessarily placed on the following page. (#9202)
When segmentation is enabled images that are used repeatedly may be embedded into the resulting PDF multiple times, unnecessarily increasing its file size. (#9178)
The following dependencies were updated:
PDFreactor Web Service only:
com.fasterxml.jackson.*-2.15.3 to 2.17.0 (CVE-2023-35116)
org.springframework.*-5.3.31 to 5.3.33 (CVE-2024-22243)
PDFreactor 11.6.10 (2024-01-11)
The following dependencies were updated:
PDFreactor Web Service only:
Jetty application server 9.4.51.v20230217 to 9.4.53.v20231009 (#9150, CVE-2023-44487)
com.fasterxml.jackson.*-2.15.2 to 2.15.3
org.apache.cxf.*-3.5.6 to 3.5.7
org.springframework.*-5.3.28 to 5.3.31
PDFreactor 11.6.9 (2023-09-21)
The following issues were fixed:
The layout of adjacent floats may not terminate under very specific conditions. (#9061)
The following features were implemented:
Box-shadows, text-shadows and filter drop-shadows are no longer rendered if their colors are all fully transparent.
This significantly improves performance and output file size for certain frameworks, e.g. Bootstrap 5.2. (#9058)
PDFreactor 11.6.8 (2023-09-05)
The following issues were fixed:
Priorities of connection rules in security settings are reversed.
Under specific circumstances this can lead to URLs being erroneously allowed. (#9055)
PDFreactor 11.6.7 (2023-08-25)
The following issues were fixed:
Complex multi-column layouts may not utilize available space for additional columns. (#9049)
Font fallback from specific fonts may cause superfluous line-breaks. (#9046)
Font fallback is not applied to supplementary plane code points. (#9033)
Applying the "clip-path" property with an "inset" value that uses "calc" may cause exceptions. (#9025)
Negative word-spacing erroneously affects empty inline elements at the start of their lines. (#9024)
ICC Profiles of grayscale images are not included in output PDFs. (#9016)
Named strings may be resolved incorrectly on empty pages. (#9010)
Relative positioning is incorrect when "calc" functions are used for "right" or "bottom". (#9009)
The glyphs of some macOS system fonts are not used. (#8878)
In rare cases segmentation can cause significantly increased memory consumption. (#8876, #8877)
PDFreactor 11.6.6 (2023-07-26)
The following issues were fixed:
Bidirectional text affected by "dir" attributes or "unicode-bidi" styles is sometimes reordered incorrectly.
The PDFreactor RPM installer overwrote all files when updating, including files that should be processed as config files. (#8710)
The following dependencies were updated:
org.bouncycastle.*-jdk15on-1.69 to *-jdk18on-1.75 (CVE-2023-33201)
com.fasterxml.jackson.core.*-2.13.4 to 2.15.2
com.fasterxml.jackson.core.jackson-databind-2.13.4.2 to 2.15.2 to match other Jackson dependencies
PDFreactor Web Service only:
org.apache.cxf.*-3.5.5 to 3.5.6
org.springframework.*-5.3.22 to 5.3.28 (#8982, CVE-2023-20860, CVE-2023-20861, CVE-2023-20863)
com.fasterxml.woodstox.woodstox-core-6.2.6 to 6.5.1 (CVE-2022-40152)
PDFreactor 11.6.5 (2023-03-29)
The following issues were fixed:
Characters from the default CJK font can be misaligned when using Java 9 or newer. (#8934)
The Exceeding Content observer does not ignore running elements. (#8933)
Underlines of complex scripts, like Arabic, can be too long. (#8925)
PDFreactor 11.6.4 (2023-03-16)
The following issues were fixed:
The Exceeding Content observer can generate false positives for certain styles, including the default styles for footnotes. (#8923)
PDF signature form fields are not tagged in a PDF/UA compliant way. (#8921)
":first-letter" ignores the properties "text-shadow" and "box-shadow". (#8906)
PDFreactor 11.6.3 (2023-03-07)
The following changes were implemented:
Updated included Jetty application server to 9.4.51.v20230217.
The following issues were fixed:
Updated dependency "CXF" of PDFreactor Web Service to 3.5.5 (CVE-2022-46363, CVE-2022-46364, #8891)
Converting documents without a license key can lead to memory leaks. (#8919)
Creating object URLs in JavaScript can lead to memory leaks. (#8885)
Creating inspectable documents can cause exceptions for certain CSS values like the calc function. (#8914)
Using MathML when converting to continuous raster image output causes exceptions. (#8872)
Page breaks inside absolutely positioned elements can differ based on media size and position origin. (#8751)
Text in SVGs converted to raster image output is erroneously not bold in some cases. (#8895)
<span> elements do not have an HTMLSpanElement prototype in JavaScript. (#8874)
The Image constructor in JavaScript does not create an <img> element. Also the width and height properties of JavaScript Image objects return incorrect values when that element is not part of the DOM and layout. (#8898)
PDFreactor 11.6.2 (2022-12-13)
The following issues were fixed:
Under certain rare circumstances the PDFreactor Web Service can run out of file handles. (#8866)
JavaScript errors can cause exceptions when using JavaScript debugging. (#8816)
Setting "list-style-position: inside" on empty list items causes exceptions. (#8847)
Documents containing "nth-child" or similar CSS selectors and certain DOM structures are excessively slow when updating these structures via JavaScript. (#8850)
Updated dependency "Jackson Databind", as well as related "Jackson" libraries, to 2.13.4.2 (CVE-2022-42003)
Updated dependency "Woodstox" of PDFreactor Web Service to 6.4.0 (CVE-2022-40152)
PDFreactor 11.6.1 (2022-11-16)
The following issues were fixed:
Conversions that are performed after a timed out conversion may throw exceptions and fail in some cases. (#8840)
In certain cases a single-line column flex item that can not be fragmented and is moved to the next page causes incorrect vertical alignment of the previous flex items. (#8830)
In rare cases a flex item that causes a page break causes a second break before the next flex item. (#8836)
The JavaScript "Date" constructor cannot parse ISO dates with milliseconds that are not 3 digits. (#8841, #7939)
PDFreactor 11.6.0 (2022-11-09)
The following issues were fixed:
If the first word in a line with "word-wrap: break-word" overflows and consists of multiple elements
(e.g. a <span> starts inside it), it is erroneously broken to the next line at the boundary of the element. (#8828)
In rare cases, documents that reset page counters on named pages and are changed via JavaScript
may cause exceptions being logged and have incorrect page numbering. (#8805)
Negative bottom margins on a block elements may cause premature page breaks. (#8825)
Forcing multi-column breaks may cause superfluous layouts with no impact on the result. (#5946)
PDFreactor 11.5.1 (2022-10-17)
The following issues were fixed:
Asynchronously converted documents cannot be retrieved from storage under certain circumstances. (#8817)
Table cells with row or column spans can cause exceptions during JavaScript processing. (#8808)
Setting the display style "inline-block" on footnote calls causes exceptions. (#8807)
PDFreactor 11.5.0 (2022-09-20)
The following features and changes were implemented:
The PDFreactor Web Service now defaults to a flat structure for temporary documents,
improving support for document folders shared between instances. (#8783)
Barcode dimensions do not always match the visual size of the content. (#8732)
The JRE bundled with certain installer packages was updated to 17.0.4.1.
The realobjects/pdfreactor Docker image now includes a JRE instead of a JDK.
Also moved from AdoptOpenJDK 15.0.2 to Adoptium Eclipse Temurin 17.0.4.1. (#8788)
Updated realobjects/pdfreactor Docker image from Oracle Linux Server 8.3 to 9.0.
Various dependency updates.
The following issues were fixed:
Updated Jetty server of PDFreactor Web Service. (CVE-2022-2047, CVE-2022-2048)
Using the "clip-path" property causes exceptions on boxes with zero "border-radius". (#8797)
Extremely low font sizes in scaled down documents may cause exceptions. (#8780)
Certain rare table constructs can cause exceptions. (#8756)
Percentage widths of images with max-height are ignored in some situations. (#8790)
In some cases percentage widths in single column flex items are resolved incorrectly. (#8775)
Certain combinations of SVG effects are tiled incorrectly. (#8696)
PDFs used as images or background images are misaligned in some cases. (#8760, #8789)
Clipping/cropping paths of images are misaligned for background images. (#8655)
Gradient backgrounds are missing for line-split boxes. (#8768)
Empty CSS media query lists are not supported. (#8767)
Command line only applies debug mode when a debug dump directory is specified. (#8791)
Linux systems without a font configuration installed cause exceptions. (#8615)
File locks are retained after conversions merging existing PDFs. (#8787)
PDFreactor 11.4.8 (2022-07-07)
The following issues were fixed:
Floats do not influence the height of surrounding inline blocks. (#8704)
Boxes always overflow to the right when they have an explicit width wider than their container, which is incorrect in RTL contexts. (#8711)
In rare cases, elements that contain only out-of-flow elements can cause incomplete layouts. (#8739)
The paint order of independent inlines as well as flex and grid items is incorrect, which can negatively affect selections in PDFs. (#8747)
Trying to get PageDescriptions of empty pages causes exceptions. (#8743)
Scale content functionality is not affected by inline elements containing line breaks and affects log pages. (#7072, #7074)
In the Preview application synthetic bold text can overlap with the following text. (#8728)
Reaction to thread interruption is too slow for some parts of the conversion. (#7017)
PDF segmentation may abort with an exception if the ID of a 'target candidate' element contains quotation marks. (#8738)
Using Systemd logger on some systems can cause an exception on initialization. (#8723)
Documentation is unclear on default font mappings and conformance validation. (#7907, #8661)
PDFreactor 11.4.7 (2022-05-10)
The following issues were fixed:
SVGs in page margin boxes cause conversions to terminate with exceptions. (#8689)
Bookmarks in iframes cause conversions to terminate with exceptions. (#8700)
PDF conformances that prohibit transparency cause conversions to terminate with exceptions when no license key is used. (#8662)
Text in iframes does not reflect all styles, e.g. ignores letter-spacing, when using Java 9 or newer. (#8637)
Updated included Java, if any, to mitigate multiple CVEs.
Updated Jackson dependencies to mitigate CVE-2020-36518.
Updated Spring dependencies of PDFreactor Web Service to mitigate CVE-2022-22968.
Updated CXF dependencies of PDFreactor Web Service to mitigate CVE-2021-40690.
PDFreactor 11.4.6 (2022-04-01)
The following issues were fixed:
Updated Spring dependencies of PDFreactor Web Service to mitigate CVE-2022-22965.
PDFreactor 11.4.5 (2022-03-08)
The following issues were fixed:
Selection of internal font as fallback for missing characters is sometimes incorrect, causing unexpected results, like spaces being too wide. (#8659)
Absolutely positioned boxes without specified horizontal or vertical positions, and consequently to be placed at their static positions, are placed incorrectly when their parents are otherwise empty inline elements. (#8649)
The paint order for absolutely positioned elements is incorrect when their parents are inline elements, which may cause them to be erroneously hidden behind other elements. (#8624)
PDFreactor 11.4.4 (2022-02-17)
The following issues were fixed:
Specifying PDF/UA conformance without PDF/A conformance or an ICC profile causes color keywords to be interpreted as CMYK even when RGB is specified. (#8645)
Debug dump ZIPs are written even when they are empty. (#8641)
The combination of running elements and SVGs requiring font fallback can cause conversions to fail with exceptions. (#8640)
Baselines of table cells are not determined correctly if their rows contain additional cells with only floated elements. (#8636)
Clickable areas of SVG links containing transforms may be incorrect. (#8628)
The JavaScript methods "getComputedStyle" and "ro.layout.getContent" do not recognize pseudo element names that start with one or two colons. (#8626)
PDF links with certain complex shapes can cause an exception to be logged. (#8625)
Shear transforms, especially rotations, cause images to look blurry. (#8608)
Invalid document URLs cause exceptions if the debug setting "forceResult" is enabled. (#8603)
Image recompression has no effect on grayscale images. (#8600)
Table cells with row spans fragmented over multiple pages can cause conversions to fail with exceptions. (#8597)
PDFreactor 11.4.3 (2022-01-27)
The following issues were fixed:
PDFreactor does not support certain third-party class loaders, e.g. Quarkus. (#8630)
Intermittent exception when shutting down the PDFreactor Web Service. (#8631)
PDFreactor 11.4.2 (2021-12-09)
The following features and changes were implemented:
The human readable part of barcodes can now be disabled via the proprietary style "-ro-barcode-human-readable-position: none". (#8589)
The following issues were fixed:
Certain multi-colum layouts containing spanners may cause non-terminating conversions or incorrect layouts. (#8571, #8588)
Changing text content inside tables via JavaScript can cause incorrect layouts as well as logged exceptions. (#8580)
Certain SVG links, including those created by Highcharts since 9.3.2, can cause exceptions. (#8578)
Links with a width or height of 0 can cause exceptions. (#8572)
Specifying a non-existing page for "PDF as image" causes exceptions. (#8576)
Arabic shaping is not applied for the "-ro-glyph-layout-mode" default value "auto" when using Java 12 or older. (#8567)
"list-style" CSS shorthand property is resolved incorrectly, which can cause unnecessary connection attempts. (#8582)
When using hyphenation certain text can overflow its line. (#8577)
Using recompression on grayscale images can cause output that is too dark. This also affects the alpha channels of recompressed images. (#8584)
The clickable areas of links in SVGs with a viewBox or complex nesting are determined incorrectly. (#8535)
The proprietary CSS property "-ro-links" does not affect replaced elements, e.g. barcodes, correctly. (#8592)
"Pages per Sheet" settings no longer have default values. (#8542)
Error pages for license issues are not written for image output formats. (#8585)
The "systemd" logging functionality is initialized on systems that don't support it, causing errors to be logged. (#8587)
PDFreactor 11.4.1 (2021-11-17)
The following features and changes were implemented:
Flex layout now supports the values "left" and "right" for the CSS property "justify-content". (#8546)
The following issues were fixed:
In certain documents, setting a left or right page break on the last element can cause a blank page to be appended to the end of the document. (#8506)
When CSS custom properties have font relative values, they are resolved against the element where the property is set, instead of where the CSS variable is actually used. (#8521)
Justified text causes unintended fragmentation of PDF attachments and links at word boundaries. (#8528)
Length of leaders is incorrect when leader characters are affected by kerning. (#8530)
Multiple layout passes (e.g. due to JavaScript) can cause inconsistent and incorrect layout in documents with footnotes, including too much whitespace or missing footnotes. (#8531, #8532, #8538)
When a CSS function is missing its closing bracket, the document conversion may not terminate. (#8533)
PDFreactor Web Service server parameter "hideVersionInfo" does not hide the version in PDF metadata. (#8540)
Page margin boxes are no longer created if they have "width" and "height" and no "content" property. (#8544)
In rare cases, a table with collapsed borders may be moved completely to the next page instead of breaking between two of its rows. (#8550)
Using segmentation mode may cause incorrect order of PDF bookmarks. (#8554)
Certain PDFs cause exceptions when merged using PDFreactor. (#8556)
PDFreactor throws exception if a page margin box with "width" and "height" but no "content" property is used. (#8557)
PDFreactor 11.4.0 (2021-09-24)
The following features and changes were implemented:
Improved determination of dimensions of SVGs without explicit width and height. (#8491)
Updated the column count computation of multi-column elements to the latest specifications. See the migration guide on how to mitigate possible changes. (#8512)
The content of multi-column elements is no longer visually clipped to its column and thus is allowed to overflow into the next column, as per the specification. This can be reverted via the custom CSS property "-ro-column-clip". (#8494)
Improved handling of the parameters of the CSS function "var". It is now possible to specify a fallback that contains commas or spaces. (#8482)
Improved quality of image downsizing for image output, especially for factors of more than 2. (#8498)
Grid layouts now support baseline alignment. (#8395)
Table root elements now support the "min-width" and "max-width" CSS properties. (#8450)
The "safe" and "unsafe" keywords of the alignment properties are now supported in all formatting contexts. (#8518)
Barcode content taken from the element content now collapses spaces based on the white-space CSS property. (#8448)
Improved error handling for barcodes. (#8447)
If necessary, interactive PDF forms now use a fallback font that can display most of the content at conversion time. (#8429)
PDF viewers now correctly highlight attachment annotations. (#8488)
Form fields support additional flags as well as the "maxlength" HTML attribute. (#8434)
Form field annotations now contain a reference to the page they are laid out on. (#8496)
ICU4J missing or being outdated is now logged. (#8445)
Added HTTP2 module to Jetty (see start.d/http2.ini). (#8475)
Various improvements to multi-column, flex and grid layouts as well as fixed tables inside flex layouts.
Various engine updates.
Various dependency updates. (#8476)
The following issues were fixed:
JavaScript Dates before the year 1600 are inaccurate, breaking Plotly.js graphs that contain dates. (#8408)
The "removeAttribute" function does not clear inline style or class list. (#8511)
Certain combinations of multi-column inside a region lead to columns not being laid out. This also prevents the detection of exceeding content of this column. (#8501)
Floated boxes with a height of zero should have no influence on the position of following floated boxes. (#8514)
Flex container with negative margins and border-box sizing causes issues with the sizing and placement of its items. (#8508)
Multi-column layouts are not supported inside grid items. (#8437)
Table row groups cannot be used as running elements if the preceding group is a header or footer group. (#8432)
PDFreactor throws exception if a page break is caused by a table with cells with absolutely positioned content only. (#8444)
PDFreactor throws exception if a multi-column layout is scaled down with a small value for -ro-scale-content. (#8315)
PDFreactor throws exception if a running element uses block elements inside inline elements. (#6215)
PDFreactor throws exception in certain complex documents. (#8505)
The CSS function "rgb" causes an exception if there are missing parameters set using the "var" function. (#8483)
CSS style properties of a page margin box are not applied, if they use CSS variables. (#8486)
In certain cases, the usage of a cross-reference at a break, whose target is in the same paragraph, causes an exception. (#8451)
CSS style sheets that cannot be loaded via @import rules cause an exception. (#8461)
Font names cannot be properly read by Adobe Illustrator. (#8516)
Updated Xerces, solving CVE-2012-0881. (#8489)
Security setting "hideVersionInfo" does not hide the version in PDF metadata. (#8490)
Node.js client separates cookies in HTTP header with comma instead of semicolon. (#8497)
Systemd logger does not log any conversion information. (#8466)
Pages Per Sheet mode must be more robust towards erroneous input. (#8455)
PDFreactor 11.3.1 (2021-08-10)
The following issues were fixed:
Tables with auto margins and percentage widths are not centered if they are nested within another table with percentage widths. (#8467)
Images floated to top or bottom as page floats have a height of zero. (#8453)
Having a region layout container on a page can make the footnote area on that page disappear. (#8458)
Floating an element to the top as a page float causes text on that page (or column) to no longer snap to its line grid. (See manual for details.) (#8454)
Page breaks are applied to the contents of absolutely positioned elements too early if bottom margins, borders or paddings are set on any of their ancestors. (#8449)
In rare cases, a page break in the content of a multi-column element causes an exception. (#8471)
A rare element structure causes an exception in certain cases. (#8479)
Style of empty trailing "tspan" SVG element following space is applied to previous character. (#7011, #8464)
RGB raster image in SVGs are color space converted for CMYK output PDFs, even when such conversion is not enabled. (#8438)
PDFreactor Web Service Monitoring API does not return IDs of queued conversions. (#8456)
Documentation of server parameter "systemdLogLevel" is incorrect. (#8462)
Documentation of barcode Code 3 of 9 is incorrect. (#8480)
PDFreactor 11.3.0 (2021-06-30)
The following features and changes were implemented:
PDFs as image sources are now also displayed in image output and the Preview Application. (#6921)
Added preliminary support for WebP, lossy simple VP8 only. (#7795)
Added support for the validation of PDF/UA documents. (#8269)
Added support for URL rewrites via the API property "urlRewriteSettings". (#8352)
Form fields, incl. signature fields, can now be set to "read-only", "required" or "no-export" via the proprietary CSS property "-ro-pdf-form-field-flags" or matching HTML attributes. (#8372)
Improved determination of clickable areas of links and added the proprietary CSS property "-ro-link-area" for further configuration. (#8368)
The scroll coordinates for bookmarks and internal links are now configurable via the proprietary CSS property "-ro-destination-area", including improved default behavior. (#8371)
Implemented the prefixed CSS property "-ro-overflow-clip-margin". (#8387)
Added support for the FusionCharts JavaScript library. (#5348)
Significantly improved performance of documents with very large floated elements. (#7798)
PDF conformance adapting configuration options is now logged in detail.
Added support for piping (stdin in addition to stdout) for the Java Command Line API. (#8351)
Added support for file URLs outside of asset packages (when security settings allow it). (#8339)
Logging to "journalctl" is now supported and can be configured through the "systemdLogLevel" parameter. (#8276)
Improved PDFreactor client async samples so that they use connection settings objects. (#8381)
Added basic Docker documentation to PDFreactor manual. (#8380)
The netstandard2 pdfreactor.dll is now located in netstandard2/lib instead of netstandard2/bin. (#8355)
The following issues were fixed:
Non-content strings in PDF tagging, like Alt-texts, ignore non-Latin characters. (#8344)
Base64 data URIs fail to decode if they contain spaces. (#8423)
Redirected document URLs are not used as default base URL. (#8397)
Hyphenation of some non-lowercased words is incorrect. (#8415)
JavaScript "String()" and "new String()" ignore "toString" functions. (#8436)
PDF tagging for elements with z-index can cause exceptions. (#8413)
PDFreactor throws an exception when a block element inside an inline element is removed via "display: none". (#8200)
An exception occurs in some documents when inserting content into a multi-column element via JavaScript. (#8426)
XMLHttpRequests blocked by security settings can cause Java exceptions instead of handling the error in JS. (#8407)
PDFreactor throws an exception when a document is manipulated via JavaScript in a special way. (#8417)
Percentage max-widths of replaced elements inside table cells are not supported. (#8389)
Percentage values inside certain absolute positioned elements are not resolved correctly. (#8369)
The percentage width of a fixed table is wrong if the table is part of a shrink-to-fit layout. (#8193)
Certain floated elements are positioned incorrectly and have a zero width if spread across pages. (#8427)
In rare cases multi-column elements are moved to the next page too early. (#8431)
In certain contexts too much content is moved to the next page due to bottom margins. (#8435)
Absolutely positioned elements inside relatively positioned elements overflow the page instead of being fragmented correctly. (#8441)
In some cases the "break-inside: avoid" style set on an ancestor of a replaced element flex item is ignored. (#8394)
The proprietary CSS pseudo-class selector ":-ro-no-content" does not match elements that contain zero-width or other spaces. (#8377)
Content with zero width is still underlined. (#8378)
There are thin lines between box-shadows and elements with opaque background. (#8412)
Overriding the tagging of list items can cause invalid PDF tag tree structure. (#8406)
PDF/UA unnecessarily disables encryption and PDF scripting. (#8404)
Error policies should not be disabled when document is converted in debug mode. (#8341)
Link text spread across lines creates multiple link annotations instead of one with multiple areas. (#8439)
PDF signature fields are not properly registered as form fields and missed by 3rd party tools when there are no other form elements. (#8382)
When a user without user.home runs PDFreactor the font cache is created in the root directory. (#8420)
Node.js client cannot stream directly into Express response objects. (#8374)
Update Jetty XML configuration files to match application version. (#8273)
PDFreactor 11.2.2 (2021-04-28)
The following features and changes were implemented:
Declaring a form element as a signature field now disables the form annotation. (#8364)
Single-byte encoding specified inside document with apparent multi-byte encoding is now ignored in favor of heuristic detection. (#8361)
Updated dependency ICU4J to version 69.1, which includes Unicode CLDR 39.
Various minor dependency updates, incl. Jetty.
The following issues were fixed:
When SVGs without any specified dimensions are flex items their size may be incorrect. (#8362)
Images are erroneously influenced by floats in different containers. (#8348)
Percentage sizes relative to flex items are not resolved correctly if the item is not stretch aligned. (#8356)
In some cases, a float right after a page break is not positioned correctly, overlapping text. (#8366)
Color space conversion replaces CSS spot colors with their converted alternative colors (instead of preserving the spot colors and converting only the alternative colors). (#8373)
Changing the inline style of an element via JavaScript can lead to incorrect named pages. (#8345)
In certain documents, an exception can occur when text flows around a floated box directly after a page break. (#8358)
PDFreactor 11.2.1 (2021-03-24)
The following issues were fixed:
Images with fixed widths and auto heights in flex layouts have zero heights after certain breaks. (#8335)
Nested grid containers directly in flex containers cause unexpected page breaks. (#8329)
Merging specific PDF documents requires excessive amounts of time and memory. (#8347)
When using Java 16, JavaScript methods that accept functions as parameters are not called correctly.
Vertical coordinates of PDF tag BBox attributes are offset. (#8346)
The order of bookmarks erroneously depends on the stacking contexts of elements. (#8338)
The content of block elements in inline link elements is not clickable. (#8333)
User specific font folder is not scanned for system fonts on Windows. (#8340)
Documentation of PDFreactor Webservice callback states incorrect time units. (#8331)
PDFreactor 11.2.0 (2021-02-25)
The following features and changes were implemented:
Highcharts 9.0 is now supported.
The CSS property "outline-offset" is now supported. (#8310)
Improved support for the min-content and max-content property values in conjunction with grid layouts.
URLs with "about" scheme are now handled specifically.
The PDFreactor Webservice Jetty now contains a sample "proxy.ini". (#8321)
The following issues were fixed:
PDFreactor Web Service can become slow when the document is written to disc. (#8323)
The aspect ratio of images that are flex items is not applied correctly in certain cases, sizing the images incorrectly or distorting them. (#8312)
Large images with a cyclic percentage "max-width" are too wide if they are part of a shrink-to-fit computation. (#8326)
Tables with "width: auto" are too wide if they have a horizontal margin. (#8327)
Table cell width computation is wrong in tables with "table-layout: auto" in certain cases. (#7246)
"box-sizing: border-box" is not evaluated for shrink-to-fit widths in several cases (including table cells).
Inline styles being updated for "style" attribute changes can be accidentally disrupted via DOM events.
The "className" DOM property of SVG elements does not return an SVGAnimatedString.
PDF segmentation can cause internal links to not point to the first page of the target element. (#8319)
PDFreactor Web Service callbacks use GET requests instead of POST. (#8324)
Specifying "debugSettings" "all" does not set the log level. (#8325)
The "disableSystemFonts" option is documented incorrectly. (#8316)
PDFreactor 11.1.0 (2021-02-05)
The following issues were fixed:
PDFreactor throws exception when an element inside a multi-column has "display" set to "table". (#8304)
URLs containing line breaks are deemed invalid instead of being cleaned up. (#8294)
Style sheets referenced via @import rules and containing BOMs have their first rule ignored. (#8271)
Borders are missing in some cases where the height of their elements is zero. (#8302)
Images with percentage max-heights do not contribute to grid row height. (#8286)
Height of image is zero when it has a max-height with a percentage "calc" function. (#8277)
Block image does not shrink-to-fit in table if an explicit width is set on its cell. (#6638)
Items of a wrapped column flex container, with auto margins in cross direction, are sized as if stretched.
Size of flex items is incorrect in certain cases when using percentage values. (#8101, #8244)
Absolutely positioned images with percentage max-height lose their aspect ratio in grid layouts. (#8281)
Break styles on elements inside floated elements are ignored. (#8172)
Illegal property values interrupt parsing of style sheets of external SVGs. (#8154)
The "overflow" CSS property may disable overprinting for following elements. (#8278)
Canvas arcs ending in quarter circles cause additional lines to be drawn. (#8047)
Table captions are not handled properly if their caption-side differs from their DOM position. (#7634, #7667)
Bottom caption is not displayed correctly in tables broken across multiple pages or columns. (#7243, #7435)
Unexpected page break before table if it contains a bottom caption as first child of the table element. (#7633)
Node.js client does not handle exceptions. (#8303)
Java client throws exception when Exceeding Content feature is used. (#8230)
PDFreactor does not warn that merging PDFs is not possible when using an invalid license key. (#8288)
Segmentation does not handle server timeouts, potentially keeping failed conversions in memory. (#8285)
Additionally, it now preloads up to 100 MB of the input document to avoid server timeouts.
The following features and changes were implemented:
When specifying a local debug directory, debug files are now zipped and dumped regardless of whether the conversion finishes successfully or not. (#8287)
A JSON schema for the data models consumed or produced by the PDFreactor Web Service is available under /rest/schema. (#8191)
Security connection rules can now filter connections depending on their resource type.
Blob URLs are no longer subject to connection security rules, similar to data URIs.
The CSS property "gap" is now supported for flex layout, on top of grid and multi-column. (#8146)
Footnote calls inside non-first repeated table headers or footers are now suppressed.
"table-layout: fixed" is no longer allowed for tables with a width of "max-content".
Table captions are now recognized as captions even if there are no rows, cells or row groups.
The PDFreactor Web Service now provides more information on missing files from configuration parameters. (#8218)
PDFreactor 11.0.1 (2021-01-26)
The bug fixes include:
Fixed an issue in the license check mechanism. (#8300)
PDFreactor 11.0.0 (2020-12-11)
The changes include:
Please refer to the migration guide for more information as these changes might impact existing integrations.
The minimum requirement is now Java 8, recommended is Java 15.
Parts of the API have changed and some configuration properties have been deprecated.
The deprecated legacy Java API has been removed.
The command line interface has changed, now accepting only simple parameters as well as a JSON string for more complex configurations. (#8202)
CSS parsing and handling as well as some defaults have been adapted to more closely match specifications and browser behavior. (#7737, #7761, #7985)
The CSS function "attr" now accepts the correct parameters (name, type, fallback), same as "-ro-attr". (#6361)
For consistency counters and named strings can no longer be manipulated in running elements or table headers or footers that are not on the first page of their table.
On errors the PDFreactor Web Service clients now throw exception objects containing the available result data. (#7678)
When detecting whether the input document is HTML the doctype name is now checked in addition to the root element name. (#7927)
Generic font families are now always resolved to core fonts, when those are available. (#8081)
The previous barcode and QR code functionalities have been deprecated in favor of a new one (see below).
Removed the "ro.zugferd" JavaScript object.
The Web Service Wrapper APIs have been renamed to Web Service Clients.
The new features and improvements include:
The new configuration property "inspectableSettings" enables the creation of documents that contain extensive layout and style metadata. Those documents can be analyzed using the PDFreactor Inspector (currently in beta). Please see pdfreactor.com for further information.
Support for CSS Grid Layout. (#6894)
The CSS property "float" now supports the values "-ro-top" and "-ro-bottom", which turn boxes into page floats, i.e. floats them vertically to the top or bottom of their page or column. (#6315)
Added support for HTML image maps. (#8020)
Introducing new barcode functionality, controlled entirely via proprietary CSS and adding support for many new types, including "Aztec Code" and "MaxiCode", deprecating the previous functionalities. (#3170, #5599, #5659)
Support for the visual CSS properties "clip-path", "mix-blend-mode" and "empty-cells" has been added. (#7528, #7582, #8235)
The new proprietary pseudo-elements "::-ro-before-break" and "::-ro-after-break" allow specifying continuation markers that will be visible at every break between the pages the element is fragmented across. (#6823)
Custom counter styles and list style types can now be specified via "@counter-style" rules, including extensions to existing counter styles. (#7747)
Line breaking behavior is now configurable via the CSS property "-ro-line-break-opportunity", which can amend or replace the default behavior from the Unicode Standard. (#6794)
The new proprietary value "-ro-scale-down" of the CSS property "text-overflow" allows visually scaling down paragraphs that overflow at the end of lines to automatically make their text fit their width. (#7987)
Absolutely positioned elements can now be placed relative to the trim or bleed box via the proprietary CSS property "-ro-position-origin", which can override their containing block to any page box. Also, the default containing block determination has been improved, mostly for page boxes. (#6140, #7843)
Encoding detection from content, like HTML "meta" elements with "charset", is now more robust. Heuristic detection from the text content has also been improved. (#7316)
Orientation and resolution are now read from image metadata, like EXIF. The orientation is applied automatically, but can be overridden via the CSS property "-ro-image-orientation". By default, the resolution is not applied, which can be changed via "-ro-image-resolution". For PDFs used as images the orientation is read per page. (#5074, #6787, #7142, #8089)
Image clip paths can now be disabled via the new proprietary CSS property "-ro-image-clip-path". (#7141)
Text layout has been improved for non-Latin scripts. This allows Khmer (Cambodian) text to be laid out correctly. This can also be enabled for Latin via the proprietary CSS property "-ro-glyph-layout-mode", which enables support for OTF ligatures. (#7018)
Support for the creation of change bars, via the proprietary CSS property "-ro-change-bar". (#7577)
Footnotes in multi-column layouts are now handled per column. Also, footnotes can now be laid out in various ways by applying the CSS properties "display" or "-ro-footnote-display" to the footnote area. (#6191, #7833)
Support for binary data in JavaScript has been improved, including support for "Blob" objects. XMLHttpRequest can now return Blob, ArrayBuffer and "x-user-defined" strings. Blobs can also be retrieved from "canvas" elements, converted via FileReader as well as passed to URL.createObjectURL() and PDF attachments. This adds support for libraries like JSZip. (#7679)
Text can now be transliterated, e.g. from various non-Latin scripts to Latin, via the new value "transliterate" of the proprietary CSS property "-ro-text-replace". (#8104)
Digital signature fields can now be added to PDF forms via the proprietary CSS property "-ro-pdf-signature-field-name". (#6720)
PDF pages can now be rotated (in PDF viewers that support it) in 90° steps via the new proprietary CSS property "-ro-pdf-page-rotation". (#7293)
Image output now optionally accepts a pixelDensity API property to determine the size of images. It can now also dither GIF and monochrome TIFF CCITT output and writes resolution metadata to PNG, JPEG and TIFF output. (#7731, #7732)
Authentication credentials that are part of a URL are now used when accessing that URL. (#7515)
The "font-weight" CSS property now accepts any number from 1 to 1000. (#7580)
The "rgb" and "rgba" CSS color functions are now synonymous, with an optional alpha value, and additionally support the new color syntax. The same applies to "hsl" and "hsla". (#7546, #8087)
"BoxDescription" JavaScript objects now contain information about the generated content of non-inline elements. (#8219)
"PageDescription" JavaScript objects now contain PDF page box rectangles, like "bleedRect". (#7877)
Unprefixed the CSS property "-ro-bleed-width" to "bleed" and added the value "auto".
Unprefixed the CSS property "-ro-marks". Please note that "marks" has different values.
Unprefixed the CSS properties "-ro-bookmark-level", "-ro-bookmark-label" and "-ro-bookmark-state".
CSS gradient functions now support multi-position color stop syntax. (#7978)
CSS resources not loaded due to connection security are now logged more verbosely. (#7937)
The size of small-caps is now based on the font. (#7548)
Conversion timeouts can now be specified per conversion, via the configuration property "conversionTimeout". This is more reliable than the previous Java functionality. Also, separate timeouts can be specified for JavaScript processing. (#8071, #8072)
Uncaught exceptions in JavaScript will now optionally terminate the conversion. This is configurable via an error policy. (#7647)
Version information can now be hidden from PDF metadata and HTTP communication via the "hideVersionInfo" security setting. (#7963)
When requesting HTTP resources, PDFreactor now includes "Accept" headers with values matching the expected formats. (#7942)
The "licenseKey" configuration property now also accepts URLs. (#5986)
There is now a POM containing all dependencies of the modular PDFreactor JAR. (#6079)
The Python command line now supports Asset Packages as input. (#7550)
Conversion requests to the PDFreactor Web Service can now be prioritized via the configuration property "requestPriority". (#7558)
Multiple PDFs converted via the PDFreactor Web Service can now be downloaded as a bundle, i.e. a ZIP file. (#7031)
The PDFreactor Web Service .NET client now targets .NET Standard 2.0. (#7617)
The PDFreactor Web Service Java client can now be integrated in OSGi environments. (#7400)
The network port used by the PDFreactor Web Service can now be configured in the installer. (#7820)
The log level for conversions via the PDFreactor Web Service now defaults to the "serverLogLevel" server parameter. (#7701)
The favicon of the PDFreactor Web Service can now be changed. (#8012)
PDF Segmentation now warns about specific document-related issues that may cause unexpected results. (#8213)
Debug mode now attaches the configuration of the conversion to the output PDF as JSON. (#8010)
Significantly optimized performance for various functionalities, including huge tables, repeated inline style updates, large amounts of target counters, debug mode and safe memory mode. (#7564, #8007, #8261)
The bug fixes include:
Corrected various cases that lead to conversions terminating with exceptions. (#6143, #7345, #7465, #7522, #7637, #7720, #7787, #7824, #7838, #8009, #8035, #8069, #8091, #8093, #8116, #8134, #8215, #8253)
Layout and general issues when using JavaScript processing haven been resolved. (#6081, #7785, #7997, #8026, #8169)
Float layout has been revised, solving multiple layout issues. (#6099, #7654, #7810, #7813, #8011, #8133)
The computation of target-counter values is now more robust, avoiding incorrect results in specific cases. (#7292, #7869)
Flex layout have been enhanced to handle complex cases correctly. (#7845, #7883, #7958, #8131, #8176, #8194)
Corrected page breaks in and around flex layouts for special cases. (#7867, #7928, #8127)
Some unexpected behaviors in table layout have been corrected. (#6184, #8003, #8187, #8201)
Table width computation has been refined to be more browser-like. (#6666, #7146, #7506, #7871)
Layout of nested tables has been corrected for some cases. (#6601, #7661, #8004, #8028)
Page breaks in and around tables are now placed as expected in various special cases. (#5643, #7615, #7616, #7736, #7996, #8203, #8239)
Table and cell borders at page breaks are handled correctly for more cases. (#6788, #6789, #7809)
SVG 1.2 features are now supported for all SVGs. (#7305)
SVGs are now handled correctly when they contain elements with namespaces. (#6792)
Embedded SVGs now respect the "overflow" CSS property, still defaulting to "hidden" for HTML parent documents. (#7535)
Links in SVG are now correctly applied in nested structures. (#8020, #8096)
SVGs are no longer affected by translucent borders in PDFs. (#8232)
Setting 'value' on a TextArea in JavaScript now has the expected visual result. (#8242)
Setting 'list' attribute on an Input element no longer makes that element invisible. (#8076)
Large elements with "break-inside: avoid" are now moved to the following page consistently. (#7782)
Auto height of positioned elements with multiple child elements is now resolved correctly from the "top" and "bottom" CSS properties. (#7825)
Absolutely positioned elements that are fragmented across multiple pages no longer affect subsequent non-positioned content. (#7818)
The influence of HTML "br" elements on line height has been refined to be more browser-like. (#7853)
Text segmented by inline elements no longer overflows lines in cases where those elements do not match up with the line break opportunities. (#7642)
Elliptic radial gradients are now sized and positioned correctly when the vertical radius is the larger one. (#7994)
Overflow values making elements monolithic now have priority over forced break styles. (#8000)
Named pages specified following empty elements are now processed correctly. (#8245)
Running elements interacting with other running elements or named strings are now handled correctly. (#7344, #8126)
Page break behavior around multi-column spans containing break styles is now correct. (#8058)
The bullets of list items with "list-style-position: inside" are now positioned correctly for all text-alignments and directions. (#8231)
"scrollWidth" and similar properties, available via JavaScript, no longer return "0" for "inline-block" and similar display types or images. (#8255)
Combinations of the "transform" and "opacity" CSS properties are now correctly converted to PDF structures. (#8130)
The "transform-origin" CSS property no longer ignores certain combinations of values. (#8095)
Tables with border-radius now handle hidden overflow correctly for cell backgrounds. (#8027)
getComputedStyle() in JavaScript now consistently takes into account the "pixelsPerInch" and "pixelsPerInchShrinkToFit" configuration properties. (#7537)
PDF/UA-1 conformance no longer forces output intents. (#7703)
The PDFreactor Web Service configuration file is now read correctly on Windows. (#7698)
The PDFreactor Web Service will now respond with an appropriate error message if the requested content type of a conversion does not match the configured output format. (#7536)
Eliminated erroneous warning messages produced by certain REST resources from the log output. (#7855)
Querying the PDFreactor Web Service status via "/rest/status" no longer increases the conversion counter of the monitoring REST API. (#8184)
Exceptions for license key issues are now properly thrown when configured. (#7666)
Fonts that are not embedded now have bold and italic applied correctly. (#8085)
Block images inside inline elements are no longer positioned incorrectly due to lack of margin collapsing. (#6401)
The "name" attribute of HTML anchor elements no longer has priority over the "id" attribute. (#8098)