Version 10.0.10722, 2018-12-11
10.0.10722 Release of PDFreactor 10
The bug fixes include:
- Hyphenation no longer causes erroneous text sizes when using Java 11. (#7526)
- Corrected static position of certain absolutely positioned elements. (#7511)
- Fixed a rare exception what could lead to seemingly non-terminating conversions. (#7521)
10.0.10702 Release of PDFreactor 10
- PDFreactor Web Service users: Please refer to the migration guide before updating to PDFreactor 10, as the installation process may overwrite settings.
The new features and improvements include:
- Implemented segmentation functionality to significantly reduce the memory consumption of conversions of large documents. (#7082)
- Added alternative table implementation that drastically reduces the amount of time and memory required to convert large uniform tables. (#7234)
- Significantly reduced impact on performance of large style sheets. (#7224, #7453)
- Added optional color space conversion for CSS colors and images via the API setting "ColorSpaceSettings". (#6327, #6868)
- Image embedding and decoding can now handle more subformats and special cases. (#7001, #7007, #7032, #7085, #7093, #7134)
- Image recompression can now output JPEG without eliminating transparency. (#5997, #7180)
- Added support for typographic font families, including the CSS property "font-stretch" and numerical "font-weight" values. (#6086, #6090, #7078)
- Added support for CSS page groups, incl. the ability to e.g. select the first pages of chapters. (#7124, #7125)
- Added support for the "clip" value of the "overflow" property, which hides the overflow, but allows "baseline" alignment, e.g. for inline-block boxes.
- Implemented the CSS property "text-align-all" and adjusted "text-align" and "text-align-last" accordingly, making "text-align" a shorthand. (#7228)
- Added support for optional validation of created PDF/A documents. (#6911)
- "-ro-object-slice" now has a new value "avoid" which causes only images to be sliced that do not fit on the next page.
In addition sliced images now respect "widows" and "orphans" to define areas at their start and end in which not to slice. (#7270)
- Added support for new (prefixed) relative length units:
- "-ro-lh": line height, similar to "em".
- "-ro-rlh": root line height, similar to "rem".
- "-ro-cap": capital letter height, similar to "ex".
- "-ro-ic": width of U+6C34, similar to "ch".
- Logical CSS properties and values are now available without prefix. (#7403)
- Added support for advanced box alignment via the properties "align-self", "align-items", "align-content", "justify-self" and "justify-items" as well as the shorthands "place-self", "place-items" and"place-content". (#6409)
- Completely revised flex-box layout, resulting in significantly improved standard compliance and browser-like behavior
as well as better handling of many edge-cases and pagination. (#6853, #6854, #6940, #6975, #6976, #6983, #6984, #7166, #7272, #7350, #7520)
- Significantly improved behavior in various edge cases based on official tests, including "Acid2" which PDFreactor now passes at default settings. (#7242)
- Various improvements to logging. (#7249, #7410)
- CSS filter functions now support various numbers of parameters, e.g. "blur" with two parameters or "grayscale" with none. (#7187)
- It is now possible to set and retrieve sticky cookies for conversions using the PDFreactor Web Service via the wrapper APIs. (#7036)
- Improved configuration options for PDFreactor Docker containers. (#7136)
- PDFreactor can now dump the input document and all resources to a specified directory in case of an exception. (#7162)
- PDFreactor Web Service logs now contain the date. (#7179)
They are accessible in the "log" property of the "Result" and "Progress" objects.
- It is now possible to specify a separate connect and read timeout for resource requests during the conversion
via the configuration properties "resourceConnectTimeout" and "resourceReadTimeout", respectively. (#7357)
- Debug mode behavior is now configurable so that certain features can be enabled or disabled for particular use cases.
- Improved error messages when using the PDFreactor Web Service client wrapper API methods "getStatus" and "getVersion". (#7374)
- The included Jetty has been updated to version 9.4.8.v20171121. (#7175)
- The PDFreactor Java wrapper now supports compact1 profile (or higher) VMs. (#7083)
- The Corporate Invoice sample now uses AngularJS and "NumberFormat". (#7084)
- Updated i18n support to Unicode 11
- Improved documentation. (#7073, #7164, #7494)
The changes include:
- Please also see the migration guide.
- Removed support for Java 6 and added support for Java 11. The supported Java versions of the PDFreactor library are now 7, 8 and 11. (#7054)
- PDFreactor now uses float precision internally, improving layout precision and in many cases enhancing space efficiency. (#7095)
- CSS value validation is now enabled by default, resulting in standard compliant and browser like handling of illegal values. (#5977, #6541)
better looking results and is actively maintained (SVG output only, see the manual for an easy to use user script). (#5939, #6102, #6131)
- Image transparency is no longer removed entirely for conformances that forbid it, but replaced by a dithered approximation. (#7309)
- Changed the way non-interactive form fields are created, and updated their default styles,
providing a smoother and more consistent integration with the rest of the document.
It also solves issues that certain styles did not affect form elements. (#6952, #7200)
- The following functionalities are now doctype dependent, unless overridden in the API:
- Paragraph line-height being used as minimum line-height for all its lines. (#5488, #7242)
- CSS class selectors being handled case-sensitively. (#7456)
- Named-string CSS syntax and behavior have been updated. (#7349)
- New default fonts have been added for the generic font families "cursive" and "fantasy".
The generic font family "system-ui" is now supported as a fixed mapping to "sans-serif". (#7409)
- Common font directories are now also searched in Linux environments, unless the use of system fonts is disabled. (#7371)
- The installer will no longer overwrite the Log On name of the Windows service.
It will, however, set the recovery options to 'restart the service'. (#7375)
- (non-web service) Java API methods no longer throw exceptions of type
These are instead available as cause of a
- Some classes and properties of the Java and .NET wrappers were changed. Please refer to the migration guide for more information.
- The PDFreactor configuration property "enableDebugMode" is deprecated in favor of "debugSettings" of type "DebugSettings".
- Improved logging when using the "signPDF" configuration option. Exceptions that occur during signing now cause the conversion to be aborted. (#7063)
- Removed verbose CSS error messages from the main log. They are still available in the new CSS log.
The bug fixes include:
- Rasterized content, e.g. shadows and filters, is now CMYK, if that is the target color space, so it no longer breaks CMYK PDF/A documents. (#7294, #7490)
- Space freed by the application of "box-decoration-break: slice" is now consistently taken into account for layout. (#7005, #7104, #7455)
- Superfluous line-breaks no longer occur in special cases. (#7452, #7496)
- Alignment of table cell content is now correct in special cases. (#7149, #7365)
- Table structures are now properly corrected in more special cases. (#7420, #7024)
- The behavior of floats in various special cases has been improved significantly. (#6922, #7414, #7471, #7480, #7485)
- Multi-column layout now properly handles complexly nested content with large values for margin-bottom. (#7479)
- Footnote calls are now properly disabled when their content is set to 'none' or to an empty string. (#6910)
- Images with a max-width (and no specified width) are now laid out correctly inside inline-blocks. (#7444)
- Absolute positioning no longer ignores padding of containing block. (#7483)
- "navigator.userAgent" and "navigator.appVersion" are now more browser like. (#7429)
- CSS "calc" functions can now be nested. (#7449)
- Eliminated SVG specific limitations, enabling spot colors and CSS variables. (#7042, #7112)
- The "uri" property of user style sheets and user scripts is no longer ignored if they also have "content" set. (#7462)
- Automatic redirects now also work if the location is relative. (#7461)
- White spaces in the "data" attribute of "object" elements no longer cause the resource to not be loaded. (#7418)
- The layout is no longer incorrect for specific constructs. (#7323, #7329, #7363)
- Interactive form fields and full compression are no longer unnecessarily forbidden in all conformance modes. (#7330, #7333)
- Some specific documents no longer cause exceptions or break the resulting PDF documents. (#6139, #7334, #7335, #7337, #7351)
- Improved error handling when using the "convertAsBinary" API method. (#7336)
- CSS validation no longer removes some of the valid values of the "columns" property. (#7339)
- SVG "use" elements can now address nested "svg" elements. (#7352)
- XMLHttpRequests using POST or PUT now work correctly when the "connections" content observer is enabled, including debug mode. (#7358)
- All wrappers can now handle trailing slashes in web service URLs. (#7364)
- The progress of web service conversions can now be retrieved consistently. (#7372)
- Synthetic bold functionality no longer needlessly affects fonts with inconsistent metadata. (#7321)
- SVG background images are no longer scaled or positioned incorrectly in rare cases. (#7245)
- "-ro-scale-content" no longer affects named strings in rare cases. (#7183)
- Specific cases no longer cause exceptions. (#7196, #7248, #7282, #7230)
- Complex named page cases no longer break layouts or cause exceptions. (#6993, #7152, #7237, #7322)
- Page break avoiding styles now properly affect tables and table rows. (#6537, #7269)
- Page break behavior is now more consistent in special cases. (#7355, #7455, #7498)
- Tables and flex containers no longer cause unexpected page break behaviors. (#5800, #6740, #7188, #7283)
- Combination of repeating table headers and :first-letter styles no longer creates superfluous letters. (#7378)
- Specific scenarios no longer cause incorrect width computation and subsequent issues. (#6797, #6981, #7150, #7231)
- Complex scenarios no longer cause incorrect positioning of absolute positioned elements. (#7201)
- Line break behavior now properly interacts with inline-blocks. (#7261, #7318)
- CSS parser and validation now properly reject semicolons between rules and non-zero numbers as lengths, respectively.
- Improved syntactical robustness of the CSS "calc" function. This includes support for CSS variables. (#7081, #7140, #7143)
- Fixed layout relevant effects of the CSS property "overflow", including support for "overflow-x" and "overflow-y". (#7194)
- "vertical-align: baseline" for inline blocks with "non-visible" overflow now aligns properly. (#7155)
- The content of inline elements (e.g. inline-block) is no longer erroneously affected by margin truncation at page breaks. (#7156)
- ExceedingContents content observer now functions correctly with debug mode enabled. (#7130)
- ExceedingContents analyze option "CONTENT_AND_STATIC_BOXES" now works as intended. (#7132)
- Resource URLs that contain illegal characters no longer cause invalid debug data. (#7198)
- Fixed exceptions when regions cause a page break. (#6488)
- Absolutely positioned page margin boxes are no longer erroneously affected by bleed or media sizes. (#7202)
- Tables affected by floats are now sized and positioned correctly. (#7169)
- Box shadow now works for inline elements spanning multiple lines. (#7061)
- Content following a CSS leader was placed slightly too far to the left. (#7111)
- Fixed font fallback issue causing missing non-breaking hyphens in rare cases. (#6989)
- The effect of "break-after: avoid" and "break-before: avoid" now extends past neighboring elements that are "collapsed through". (#7115)