PD4ML Java 3.11.5 / PD4ML .NET 3.8.5b1 Release Notes
For PD4ML v4 Release Notes follow the link
Release Date: Dec. 14, 2021
New in PD4ML Pro 3.11.5
- New API method enableLigatures() and the processing logic of complex scripts behind it
New in PD4ML Pro 3.11.4fx5-7
- Better handling of mixed RTL and LTR texts
- Fixed bugs:
- Unexpected gaps between normal and decorated (i.e. underlined) text portions if built-in core fonts used
- PDF Merge minor bugfix
New in PD4ML Pro 3.11.4fx4
- Font size accuracy in "protect physical unit dimensions" mode
Table centering issues in adjustHtmlWidth mode
<base href> takes no effect when converted with PD4ML Taglib
PDF Parser bugfixes
New in PD4ML Pro 3.11.4fx1-3
New in PD4ML Pro 3.11.3
- HTML parser improvements: processing or special characters
Minor bugfixes
New in PD4ML Pro 3.11.2
- JDK1.7 dependency removed. PD4ML v3 is compatible with JDK 1.3+ again.
- Performance optimization of base64-encoded attachments embedding
- RTF output: multiple refinements of the table rendering logic
New in PD4ML Pro 3.11.1
- background-size CSS property support
- HTML parser improvements: better interpreting of corrupted HTML code
New in PD4ML Pro 3.11.0
- New API method pd4ml.applyKerning(boolean) and corresponding Pd4Cmd command-line parameter
- Updated built-in Type1 font metrics
- Text output with Type1 fonts refactored
- Bulky RTF output performance optimization
New in PD4ML Pro 3.10.9fx4
- Fixed bugs:
- RTF output: rowspanned empty table cells may corrupt RTF document integrity
- Exception by merging of PDFs exported from Crystal Reports
New in PD4ML Pro 3.10.9fx3
- RTF output: support of RTL (Arabic, Hebrew) lists.
- Cedilla diacritic glyphs support for not Unicode3.0-compliant font "Arial Unicode MS".
- Fixed bugs:
- RTF output: wrongly positioned list item bullets and numbers, if the item is a block or table element
New in PD4ML Pro 3.10.9fx2
- OpenJDK 11 incompatibility (bug?) workaround
- Explicit page break CSS directive takes precedence over "page-break-inside: avoid"
New in PD4ML Pro 3.10.9fx1
- Default TTF font (if specified and exists) takes precedence over built-in Type1 PDF viewer fonts
New in PD4ML Pro 3.10.9
- Support of surrogate pairs (UTF32) in TTF fonts refactored (and bugfixed)
- For backward PD4ML version compatibility the default font face changed back to Arial
- Fixed bugs:
- Severe: Occasional deadlocks in multi-threading environment
- Erroneous content width calculation in adjustHtmlWidth rendering mode
- minor issues
New in PD4ML Pro 3.10.8
- Support of percent values for left and right margins
- bottom-top text orientation support with writing-mode: vertical-lr; transform: rotate(-180deg);
- Arial Unicode MS is defined as the "last resort" fallback TTF font name, for cases when no other configured font can render a document content.
- Fixed bugs:
- Wrong alignment of list bullets in RTL (Arabic, Hebrew) documents
- Internal RTF document hyperlinks does not work in special cases
- Leading asterisk in CSS property name is not supported by the CSS parser
- minor issues
New in PD4ML Pro 3.10.7
- Support of gzipped HTTPS added
- JDK10 compatibility
- Fixed bugs:
- An appearance of Textarea in the
source document may corrupt resulting PDF file format integrity (not reset
clipping area)
- minor issues
New in PD4ML Pro 3.10.6
- Support of padding for IMG elements
- Support of padding/margins for LI
elements
- Fixed bugs:
- SEVERE: occasional losing of the
very first or the last text line on a PDF page (under special conditions)
- minor issues
New in PD4ML Pro 3.10.5
- Support CMYK JPEG images (incl. invert mode)
- Owner password
generation logic refined (for encrypted PDFs)
- Fixed bugs:
- occasional problems with an
embedding of image resources from WebApp context
- ordered/unordered list rendering
issues in RTF
- minor issues
New in PD4ML Pro 3.10.4
- Support of negative margins
- Support of abs/rel positioning offsets
given in percents
- RTF line spacing property support
- RTF text paragraph
padding/borders support
- RTF blank paragraph suppression
- Fixed bugs:
- Incorrect base value for relative
width/height calculations of absolute positioned elements
- minor issues
New in PD4ML Pro 3.10.3
- Fixed bugs:
- Block margins can be wrongly
computed by RTF output.
- text-align: center style is
not always correctly reset and may impact a content that follows (by RTF
output).
- Case sensitivity of link anchor
names may cause not working internal PDF document hyperlinks.
- <br char sequence may
result a conversion failure
- minor issues
New in PD4ML Pro 3.10.2
- Proprietary CSS style "list-style-type: dash" added by a
customer request
- Fixed bugs:
- Some types of MIME content of Notes
emails are not converted to PDF
- IO exceptions (i.e. TCP/IP
connection is interrupted) not always propagated to the top PD4ML API level
- Invalid handling of CSS style "font-family:
inherit"
- Translucent parts of PNG images
appear as black by RTF output
- minor issues
New in PD4ML Pro 3.10.1
- "Smart table break" support by RTF output
- CSS style "white-space:
pre-line" support
- Fixed bugs:
- form input element ID
attribute value is not used used as name, when NAME attribute is
missing
- URL escape sequences (i.e. %20) in
base64-encoded data cause decoding error
- Nested lists (or block elements
used as list items) may result corrupted layout by RTF output.
- occasional RTF line spacing issues
- multiple minor issues
New in PD4ML Pro 3.10.0
- HTML normalizer module is significantly refactored for a better handling
of HTML syntax errors
- Improved layouting logic of absolute positioned
elements
- Updates in DXL-to-PDF converter stylesheet
- Fixed bugs:
- possible uneven space distribution
in justified text blocks
- wrong ordered list item numbering,
when number of items exceeds Latin alphabet
- possible errors by resolving of
relative URLs in CSS stylesheets
- wrong handling of percent and
relative widths of input and text area elements
New in PD4ML Pro 3.9.9fx2
- Fixed bugs:
- display:block or
float:left|right CSS styles applied to non-block elements may cause
rendering flaws
- special proprietary java:
URL protocol does not work for document watermarking
- hierarchy inconsistencies of
<h1>-<h6> tags may cause errors in PDF bookmarks generation
- PD4Browser failed to lookup a
default PDF viewer application on some platforms
- HTML normalizer refinements; more
tolerance to severe HTML syntax errors
- minor issues
New in PD4ML Pro 3.9.9fx1
-
A workaround to provide minimal table <caption>
support
- Fixed bugs:
- Incompatibility issue with some
print drivers (SEVERE)
- Strict PDF/A format validation may
fail because of date format (the issue only reproducible in UTC timezone)
- Erroneous copy-paste of UTF32
glyphs in PDF viewer application; a variety of UTF32 support refinements.
- Protocol prefix "file://"
(only two splashes, which is, in fact, an incorrect syntax) is wrongly
interpreted
- Taglib: pageBackgroundColor and
pageBackgroundImageUrl attributes take no effect when no watermark image defined
- minor HTML normalizer refinements
- multiple minor issues
New in PD4ML Pro 3.9.9
- Support of display: block and float: left/right applied to
<span>, <font> and some other non-block elements
- Support of text
decorations in RTF (underline, strikethru).
- Fixed bugs:
- U+200B is shown is rendered
incorrectly by JDK1.8
- Invalid appearance of some national
characters in bookmark titles.
- Wrong space allocation for em-dash
character (by TTF embedding is off)
- pncorr attribute of
<pd4ml:toc> takes no effect
- a sequence of blank pages (page
break tags) in a middle of a PDF may corrupt TOC numbering
- multiple minor issues
New in PD4ML Pro 3.9.8fx5
- HTML normalizer improvements, to handle <table> structure/syntax
errors.
- Basic UTF-32 support added (requires capable TTF fonts)
- Fixed bugs:
- occasional top-left table cell
content corruption by a table break (in "smarttablebreak" mode).
- rgba() color definition
error fixed.
- multiple minor issues
New in PD4ML Pro 3.9.8fx4
- A workaround to prevent JVM to create multiple temp font files (further
improvements)
- PDF/A meta data integrity check by a document merge
- Fixed bugs:
- empty named anchors <a
name="destination"/> are not treated as a valid destination
- entities in input element values
are not resolved (<input ... value="München">)
- multiple minor issues
New in PD4ML Pro 3.9.8fx3
- HTTP/HTTPS timeout control with PD4Constants.PD4ML_SOCKET_TIMEOUT
setting
- PD4Browser minor improvements (UI, Acroread lookup logic etc )
-
Refactored text positioning logic for a case an explicitly defined line
height is significantly greater than current font size
- Auto-definition of
an attachment file extension by a base64 MIME type (when "description"
attribute is not properly set)
- Fixed bugs:
- HTML normalization flaws by
processing of an invalid chain multiple closing tags (i.e.
</table></table></table>)
- invalid table row height
calculation if it consists of empty cells (<td></td>)
- minor issues
New in PD4ML Pro 3.9.8fx2
- A workaround to prevent JVM to create multiple temp font files
- HTML
normalizer improvements
- Suppressing of blank PDF pages, may appear as a
clash of multiple page break directives
- Fixed bugs:
- multiple minor issues
New in PD4ML Pro 3.9.8fx1
- Fixed bugs:
- !import CSS directive may
occasionally take no effect
- incorrect handling of negative
margin values
- overflow: hidden applied to
a multi-page block element may cause to lose a text line by a page break.
- @import CSS directive,
without an explicit media given, is ignored
- relative CSS paths are resolved
using as a base a document URL instead of a styleheet file URL.
New in PD4ML Pro 3.9.8
- Basic support for <iframe> tag
- Fixed bugs:
- occasional repeating of table
border after a page break (by border width > 1)
- placeholders $[var]
not substituted in HTML headers/footers
New in PD4ML Pro 3.9.8b2
- Improved CSS syntax error tolerance
- Special placeholders $[page]
and $[total] can be substituted with <pd4ml:include>
constructs.
- :not() and :matches() CSS
pseudo classes supported
- Fixed bugs:
- occasional NPE by a parsing of
corrupted CSS
- occasional encryption data
integrity error by PDF password protection
New in PD4ML Pro 3.9.8b1
- The version is based on a proprietary CSS parser / cascading engine.
There is no need in open-source ss_css2.jar anymore.
- General sibling CSS selectors (E ~ F)
supported
- :nth-child, :nth-of-type, :first-of-type
pseudo classes supported
New in PD4ML Pro 3.9.7
- <pd4ml:include> tag support for an inclusion of external
resources, dynamic values, dynamic HTML portions
- support of BMP images
with 32bit color
- more file format error
tolerance of PD4ML's PDF parser
- Fixed bugs:
- occasional XML metadata
inconsistence by PDF/A generation
- multiple footnotes may appear in
wrong order
- explicit page breaks may cause
floating elements to repeat on next page
- empty <p> tag causes table cells to
allocate too much horizontal space
New in PD4ML Pro 3.9.6
- New PD4Document.overlay() and PD4Document.underlay() API
metods combine PDF page layouts of two documents. That makes possible to
implement an intelligent watermarking logic, to add logos, headers or
footers to an existent PDF.
- font-variant: small-caps CSS style
support added
- multiline dynamic values supported (with HTML-like syntax:
"line 1<br>line 2...")
- Fixed bugs:
- text-transform CSS style
applied before dynamic value placeholders are substituted. The
transformation may impact placeholders and cause a substitution failure.
- min-height may override
height CSS property
- pd4ml.clearCache()
does not cleas CSS style cache
New in PD4ML Pro 3.9.5
- Footnotes rendering logic refactored
- DXL->HTML conversion XSL
stylesheet respects table width and margins now
- Fixed bugs:
- error in CSS selector class match
logic
- pd4ml.addMetadata()
optimized for not-Latin scripts
- RTF list bullets may appear
inconsistent (invalid fonts applied)
- EURO symbol (and few others)
appears as '?' when TTF embedding is not enabled.
- explicit line breaks not
always take effect in RTF
- minor SVG conversion issues
New in PD4ML Pro 3.9.4
- New API method addMetadata() for PD4ML DMS and PD4ML SRC license
binaries
- min-height CSS property support by <DIV> and
<TABLE> tags
- PDF merge logic optimization
- Fixed bugs:
- pd4ml.adjustHtmlWidth() takes no
effect by a conversion to RTF (reoccuring)
- occasional PDF merge errors in
multi-threaded scenarios
- pd4ml.getLastRenderInfo(PD4ML_RIGHT_EDGE_PX)
returns 0 after an HTML-to-RTF conversion
- minor SVG conversion issues
New in PD4ML Pro 3.9.3
- Command line converter tool Pd4Cmd supports features of PD4Document
(PDF read/write/merge) now.
- Fixed bugs:
- pd4ml.adjustHtmlWidth() takes no
effect by a conversion to RTF
- caching logic refinements
- multiple minor issues
New in PD4ML Pro 3.9.2
- Improved PDF syntax error tolerance of PDF parse/merge module (PD4Document)
- Fixed bugs:
- <pd4ml:transform
enable="false"> may cause IOException (OutputStream already open).
- <pd4ml:toc> tag appearance
suppresses a generation of footnotes (if any defined)
- multiple minor issues
New in PD4ML Pro 3.9.1
- Refactored PDF parse/merge module (PD4Document)
-
deletePage()
method in PD4Document class
- from/to parameters of PD4ML.merge()
work again
- New -ttfrefsonly parameter of PD4Cmd (do not embed TTFs, just
reference them)
- Fixed bugs:
- max-width CSS property with
percentual value may cause an image not to appear in the resulting PDF
- minor issues
New in PD4ML Pro 3.9.0
- HTML parser syntax error-tolerance improvements
- style attribute of
<svg> tag support
- rgba() color format support in SVG
- Improved CSS
runtime performance
- Fixed bugs:
- minor issues
New in PD4ML Pro 3.9.0b3
- Support of clip paths in SVG
- Totally refactored PDF parser/writer
module. The parser now supports more PDF file format species.
- PD4Document class: new PDF manipulation/analyze/update API.
Makes possible to read/update document metadata, read document info (number
of pages, permissions), merge PDF documents.
- Fixed bugs:
- inherits recent bugfixes of
v385fx*
New in PD4ML Pro 3.8.5fx8
- Fixed bugs:
- v385fx7 distribution package
inconsistence. Impacts a generation of PDFs with non-TTF fonts.
New in PD4ML Pro 3.8.5fx7
- HTML parser module minor improvements (more tolerance to table structure syntax
errors/inconsistencies)
- PD4ML_ENABLE_HTTP_ERRORS switch enables a propagation of document loading errors (like HTTP 404) to PD4ML API level
- Fixed bugs:
- Occasional wrong
interpretation of UTF-8 BOM bytes
- CJK characters in HREF
attribute of <a> attribute may cause a document corruption
- minor issues
New in PD4ML Pro 3.9.0b2
- New proprietary <pd4ml:bookmark> tag to define PDF outline
structure
- Support of URL patterns to omit particular CSS stylesheet
loading
- TOC page number placeholder can be extended to more than 3
characters (<pd4ml:toc numlen="4">) for extra big documents.
- More diagnostics/debug info: resource loading latency and
CSS
stylesheet parsing duration
- Fixed bugs:
- quotation marks in attribute
values may corrupt HTML tag structure
- PD4ML SRC distribution
integrity
- minor issues
New in PD4ML Pro 3.8.5fx6
- Lotus Notes DXL->PDF conversion improvements
- Maximal content scale is limited by reasonable
grades in adjustHtmlWidth mode
- Fixed bugs:
- Severe(!) footer/header height
calculation error (since v385fx5)
- minor issues
New in PD4ML Pro 3.8.5fx5
- HTML parser module improvements (more tolerance to table structure syntax
errors/inconsistencies)
- RTF page format control
- Lotus Notes DXL
converter improvements (refined MIME email messages conversion logic)
- Fixed bugs:
- PDF forms: character encoding issue
- page-break-inside: avoid takes effect not for all block elements types (i.e. <div>)
- nowrap table cell mode
is not propagated to nested block elements
- minor issues
New in PD4ML Pro 3.8.5fx4
- Support of nested ordered and unordered lists by DXL conversion
- More support for MIME atatchments by DXL conversion
- New -watermark
parameter by Pd4Cmd
- Fixed bugs:
- PDF forms: third-party software
compatibility issues
- SVG rendering issues
- SVG renderer compatinbility issues with IBM
JDK / xercesImpl-2.XX.jar
- minor issues
New in PD4ML Pro .NET 3.8.5b1
- Matches the actual state / functionality of PD4ML Java (v385fx3)
-
Implements SVG support
- Improves HTML/CSS rendering
- Improves
PDF and RTF output
New in PD4ML Pro 3.8.5fx3
- Tiled image backrounds are converted to PDF patterns now. Solves
occasional visual apearance problems and eliminates "10000 tiles" technical limitation.
- Refined text
line breaking logic
- max-width, max-height CSS properties
support for IMG tag
- Fixed bugs:
- CSS selectors with the same
weight may be applied with wrong precedence (in rare cases)
- Inline defined headers/footers may be
applied to wrong pages (in rare cases)
- '#' character in a local
path (file: protocol) makes a referenced resource loading fail
- minor issues
New in PD4ML Pro 3.8.5fx2
- Support of lists (<ol>, <ul>) by RTF output
- SVG renderer improvements
- Fixed bugs:
- (!) an appearance of some
special characters in HTML may cause RTF file errors (reoccurring)
- OpenOffice RTF compatibility
issues
- minor issues
New in PD4ML Pro 3.8.5fx1
- Support of Lotus Notes MIME messages and inline images.
- Optional
Lotus Notes DXL date locale-specific formatting
- Fixed bugs:
- (!) an appearance of some
special characters in HTML may cause RTF file errors
- occasional image/stylesheet
loading error when its URI has a space character
- minor issues
New in PD4ML Pro 3.8.5
- Table border color support by RTF output
- Fixed bugs:
- minor RTF output issues
- minor SVG conversion issues
New in PD4ML Pro 3.8.5b9
- RTL scripting improvements by RTF output
- Fixed bugs:
- a definition of a text-only
header or footer may cause blank page output
- an occasional ignoring of font
styles by RTF output
- minor issues and improvements
New in PD4ML Pro 3.8.5b8
- native SVG graphics support
- support of an overriding of PD4ML
conversion properties from .INI file
- Fixed bugs:
- "background-color:
transparent" does not work correctly under some conditions
- generated RTF is not fully compatible with OpenOffice
- PDF bookmarks are not
generated, when root level headings (<H1>) are missing in src HTML.
- byte order mark (BOM) may visually appear in a generated PDF
- minor issues and improvements
New in PD4ML Pro 3.8.1fx2
- Fixed bugs:
- occasional bookmark generation errors
- "overflow: hidden" may conflict with page break directives (i.e.
<pd4ml:page.break>)
- minor issues
New in PD4ML Pro 3.8.1fx1
- Style support of <THEAD> and <TBODY> tags
- "white-space: pre-wrap"
CSS property support
- Fixed bugs:
- "overflow: hidden" style may cause a blank page in
some conditions
New in PD4ML Pro 3.8.1
- Fixed bugs:
- minor issues
New in PD4ML Pro 3.8.0fx9
- Fixed bugs:
- a variety of DXL-to-PDF
conversion problems
- minor issues
New in PD4ML Pro 3.8.0fx8
- Fixed bugs:
- Arabic word wrap errors
- possible lost space char between RTL text sections
- possible garbage in non-Latin PDF attachment names
- base64-encoded data rendering issues (Lotus Notes scenarios-relevant)
- wrongly interpreted "background-color: transparent"
- minor issues
New in PD4ML Pro 3.8.0fx7
- 'ex' units support
- Fixed bugs:
- inactive progress monitor by
converting of multiple StringReader object contents
- servlet context resource loading
improvements
- header/footer area height
calculation errors by dynamic page format changes
- minor issues
New in PD4ML Pro 3.8.0fx6
- Fixed bugs:
- wrong path to
pd4fonts.properties or broken references in pd4fonts.properties
can cause PDF layout defects
- not disabled line breaks after
dots and comas in numeric data
- lost whitespace issue (special
cases)
- refined <td nowrap>
behavior
- path errors in build.xml
of PD4ML Source Code distribution
New in PD4ML Pro 3.8.0fx5
- Fixed bugs:
- blank options of <select>
ignored
- overflow: hidden style
in footer corrupts footer representation
- undesired caching of
stylesheets
- gzipped HTTP fails
- lost whitespaces around
<span>
- <pre> cuts first space
char (if any)
- <meta name="description">
may result inconsistent PDF/A meta
New in PD4ML Pro 3.8.0fx4
- Compressed multipage TIFF output mode.
- Fixed bugs:
- Minor bugs.
New in PD4ML Pro 3.8.0fx3
- An API method to define Acrobat JavaScript event handlers
- RTF: local
hyperlinking (bookmarks) support
- absolute element positioning
improvements:
- right, bottom CSS
properties supported
- refined margin-border-padding
processing for absolutely positioned elements - Fixed bugs:
- (!!!) images are not compressed under some conditions, which makes
PDF files to grow. The issue has been introduced in one of the recent
versions. - double class
selector rules (.class1.class2) incorrectly processed.
- Pd4Cmd does not allow to output RTF
- Bold/Italic TTF emulation not always work for CJK
New in PD4ML Pro 3.8.0fx2
- RTF
output improvements:
- text & paragraph background
color support
- page insets control
- paragraph margins control
- header/footer for title page
- page breaks optimization
- white space/ blank lines
optimization - Fixed bugs:
- error in TTF font substitution
rules
- BMP parsing issue
-
wrongly calculated text ascent cuts upper text elements by page break
New in PD4ML Pro 3.8.0
- conversion progress monitoring API
- improved HTML error tolerance (now it can correctly process <<tag>,
<tag attr="val""> etc)
-
watermark images are loaded via common resource cache now.
- RTF
output improvements:
- table/table cell background
color support
-
table height support
- TABLE {page-break-inside:avoid}
style support
- RTL text support
New in PD4ML Pro 3.8.0b1
- display: inline-block CSS style support
- refactored table break logic; correct table background rendering.
-
memory usage optimization by PDF attachment embedding
- Fixed bugs:
- explicit page breaks take no
effect by RTF generation
-
slash-separated numbers
in RTL text erroneously change direction of the number groups
- undesired 1px footer right margin
- no way to combine underline and
line-through CSS style. overline is not supported.
- <font> tag does not
allow to define text background
- underline is broken by
text-align: justify
- undesired 1px footer right margin
- minor issues
New in PD4ML Pro 3.7.1b9
- PDF merge feature / API
- Fixed bugs:
- RTL text: Ideographic Space (0x3000) is ignored under some conditions
- avoid line breaks before closing
brackets
- CJK fonts can be not visible if HTML doc has no paragraphs or other markup
- minor issues
New in PD4ML Pro 3.7.1b4
- HTML-to-Image conversion API
- Fixed bugs:
- RTL text: incorrect last line alignment by align="justify"
- dynamic page format change (or rotation)
makes headers/footers width does not match actual page width
- <pd4ml:page.break next="odd"> acts as
<pd4ml:page.break next="even">
- Whitespace supression is not optimal if whitespaces are deleimited by a style changer tag
- minor issues
New in PD4ML Pro 3.7.1b1
- BMP images support
- HTTP proxy definition for a single PD4ML instance
(does not impact global JVM HTTP proxy settings)
- text-indent CSS
property implementation
- RTL mode: table column order, lists, text indents
etc
- PNG-24 "as is" embedding
- Fixed bugs:
- dynamic page format change (for example, with <pd4ml:page.break
pageFormat="rotate">) makes headers/footers not matching actual page
width - background positions
defined in percent values do not work
- invalid appearance of font.dir.location in pd4fonts.properties
- setPermissions() defines "PDF owner password"; must be "PDF user
password" - Not optimal TTF
fonts memory usage - footnote
definition interferes with absolute positioned document layouts
- smartTableSplit mode does not work in PD4ML Std
New in PD4ML Pro 3.7.0fx2
- initial page number command-line parameter for Pd4Cmd
-
headers/footers support by RTF output
- <canvas> delegation
API
- Fixed bugs:
- occasional mbtPdfAsm.exe
(a third-party tool) crashes by operations with generated PDFs
New in PD4ML Pro 3.7.0fx1
- Fixed bugs:
- Complex document layouts with
multiple levels of nested tables may cause invalid RTF output
- TABLE{ page-break-inside:
avoid } CSS style may result blank footers
- PD4ML_MEDIA_TYPE_PRINT property does not
respect media types defined in external stylesheets
- Invalid interpretation of
semicolons in URL
- Pd4Cmd command-line utility has
no switch to produce RTF
- Minor issues.
New in PD4ML Pro 3.7.0
- render(StringReader[], ...) API call
- <input> element
horizontal value alignment
- Fixed bugs:
- "page-break-before: always" applied to
<h1>-<h6> confuses table of contents references
- horizontal paddings, applied to
<tr> cause invalid table background bounds
- trailing blank page suppression
logic does not change total page number value
- tables in footer may conflict with
"page-break-inside: avoid" CSS style.
New in PD4ML Pro 3.6.1b2
- RTF file format output support
- nth-child(even|odd) CSS
selector support
- JAR obfuscation changed to provide compatibility with
Scala programming language
- Dummy implementations of some HTML5
elements
- enableTableBreaks() API call is renamed to
enableSmartTableBreaks(). Table page break/replication of table headers
code refactored.
- API methods to reuse PD4ML cache
- CSS Parser patched
to potentially support CSS3 features.
- Fixed bugs:
- under particular conditions
table cell background may shadow top cell border.
New in PD4ML Pro 3.6.1b1
-
Generic support of embeddable TIFF files (CCITTFax group 4)
-
A configuration switch to support "print" CSS media type (in addition
to or instead of default "screen" type).
-
Optional image caching in local $TEMP directory.
- Fixed bugs:
-
a possibility of commas and other punctuation to be "line-wrapped"
separately from its leading word.
- under particular conditions
table cell background may shadow top cell border.
New in PD4ML Pro 3.6.0fx1
- Fixed bugs:
-
— entity wrongly interpreted when TTF embedding is switched off
-
not closed <head> results a blank document
-
background-image: none/inherit CSS property causes an undesired resource request
New in PD4ML Pro 3.6.0fx1b6
-
New API method pd4ml.useHttpRequest(HttpServletRequest,
HttpServletResponse) allows PD4ML to load resources via HTTP
RequestDispatcher
-
New API method pd4ml.clearCache() removes all internally cached
resources
-
­ entity support
- Fixed bugs:
-
By multi-document
conversion some documents may loose HTML background
-
"overflow: hidden" does not work for <textarea>
-
Minor refinements
New in PD4ML Pro 3.6.0fx1b1
-
New configuration switch m.put(PD4Constants.PD4ML_ABSOLUTE_ADDRESS_SPACE, "document") to
switch PD4ML into backward compatibility mode of
absolute positioning
- Fixed bugs:
- <b>
tag does not work, however "text-weight: bold" does
(introduced in v360)
-
Default text align in
dir="rtl" mode is "left", instead of "right"
-
Errors by parsing of
particular PNG sub-types.
-
Text style of <legend>
is not overriddable with CSS.
New in PD4ML Pro 3.6.0.0
-
Pd4Cmd command-line HTML-to-PDF converter
- Fixed bugs:
- Invalid text background
inheritance
-
MS-Office-specific 'windowtext'
and 'window' color names ignored
-
No table cell background
if the cell contains <br> tag only.
- Minor text flow
issues
New in PD4ML Pro 3.6.0b3
- Tooltips from TITLE attributes
- New PD4Util class with the first
utility methods: pd4fonts.properties generation API
- Fixed bugs:
-
Minor dynamic font substitution logic issues
-
Some PNG images may
cause resulting document format corruption
-
Bottom and top table breaks borders render refinement
New in PD4ML Pro 3.6.0b2
New in PD4ML Pro 3.6.0b1
- PDF/A support
(PD4ML Volume DMS Edition)
- <pd4ml:toc> can be inserted at any place of the document now.
- <pd4ml:page.break> allows to control document page numbering and
to insert an extra blank page to guarantee the next page is even or odd
- Fixed bugs:
-
hyperlinks in header or footer
work not always
-
entities in attributes
are not substituted with values if the attribute name is uppercased
-
invalid results of
"font-size: inherit" and "font-family: inherit"
-
single images, tables
and input elements do not position absolutely
-
"TD+TD+TD" CSS
selectors are overridden by "TD+TD"
New in PD4ML Pro 3.5.15.1
- Fixed bugs:
-
few minor issues
New in PD4ML Pro 3.5.1b17
- getLastRenderInfo() API call
- a possibility to automatically open a print dialog
- Fixed bugs:
-
second parameter of useTTF() takes no effect
- "font-size: inherit"
does not work correctly - <noscript>
renders as block element -
watermarks opacity is not controllable (introduced in v351b1)
- page background may overlap page content (introduced in v351b8)
- <br clear="all"> does not clear
- <br> at the end of <li> block does not break line
New in PD4ML Pro 3.5.1b14
- not-well-formed-HTML pre-processing improvements
- PDF version of generated documents is set to "1.5" to fix
incompatibility issues with PDF-processing modern software
- Fixed bugs:
-
System.setProperty("pd4ml.cache.enable","false"); does not work -
conflict of "overflow: hidden" and "vertical-align: middle"
New in PD4ML Pro 3.5.1b8
- Fixed bugs:
-
setHtmlHeader() call may make the main document content invisible in a
case the header defines opaque background -
<th> content is not centered by default -
"border-style: double"
takes no effect for table cells (in some contexts)
New in PD4ML Pro 3.5.1b7
- <col> tag support (only width attribute)
- Proprietary tag <pd4ml:layoutbox> support (scaling of
nested content down, until it fits given dimensions)
- Proprietary tag <pd4ml:include> support
(to include base64-encoded HTML documents)
- simplified "border-style: double"
style support
- Fixed bugs:
- empty class="" attribute
may break CSS selector lookups. -
<center> tag fix
from previous versions rolled back.
New in PD4ML Pro 3.5.1b1
- PNG image alpha layer support
- A possibility to place <style> outside of <head>
- new API method allows to limit a range of of PDF pages to output
- percentage IMG width support
- Fixed bugs:
- "overflow: hidden" not
always correctly interpreted by document height calculation and the "hidden"
content may cause extra blank pages to appear.
- <pd4ml:footnote>
definition after <pd4ml:page.break> makes the footnote to print on a
wrong page
- <pd4ml:footnote> content
overlapped by page background (if any)
- Bullet points of <li> do
not inherit text color
New in PD4ML Pro 3.5.0
- HTML-to-BufferedImage output module
New in PD4ML Pro 3.5.0b6
- Fixed bugs:
-
mixed nesting of
absolutely and relatively positioned elements may result a
broken layout
-
external relative PDF hyperlinks are converted to absolute ones. In some
cases they erroneously point to the local file system.
-
inline header/footer definitions may be impacted by neighbor floats, which
results undesired margins.
-
nesting of ordered and unordered lists issues.
New in PD4ML Pro 3.5.0b4
- Fixed bugs:
-
multiple minor issues
New in PD4ML Pro 3.5.0b1
- limited support of position: absolute and position: relative
block element styles
- <pd4ml:footnote> and
<pd4ml:footnote.caption> tags
- support of plugged custom resource
loaders
- Fixed bugs:
-
empty <a name="identifier"></a> anchors ignored
New in PD4ML Pro 3.2.4
- includes all the recent fixes of v323
- multicolumn page layout
- <fieldset> tag support.
- Fixed bugs:
- padding CSS property is
not applied to
<table>
New in PD4ML Pro 3.2.3fx5
- Fixed bugs:
- the distribution includes
corrupted version of ss_css2.jar
- declaration errors in
pd4ml.tld
- invalid rendering of block
element content if its height is given in percents and
overflow: hidden
style defined
New in PD4ML Pro 3.2.3fx4
- ss_css2.jar is now a part of PD4ML distribution; no extra
downloads needed anymore.
- Some PD4ML "fine-tuning" env switches (pd4ml.sessionid.append,
pd4ml.cache.enable and pd4ml.document.date) can be passed via
setDynamicParams(Map dynamicParams) API call in order to impact only
particular PDF generation process.
- Fixed bugs:
- <pd4ml:page.break> is ignored if
placed between table rows
- PDF documents now shown in MS IE if the documents downloaded by SSL (solved with "Cache-control:
private" HTTP header directive in PD4ML JSP taglib)
- pd4toc="nopagenum"
proprietary attribute of <H1>-<H6> not always correctly
processed by TOC generator
- minor improvements
New in PD4ML Pro 3.2.3fx1
- Fixed bugs:
- Occasional errors by
interpretation of <pd4ml:page.header> and <pd4ml:page.footer>
New in PD4ML Pro 3.2.3
-
HTTP proxy is defined via http.proxyServer and http.proxyPort
environment variables instead of deprecated proxyServer and
proxyPort
- Fixed bugs:
- new line character is not
interpreted as a white space (introduced in v323b8)
New in PD4ML Pro 3.2.3b8
-
minor memory footprint optimization
-
changes in the HTML normalizer module
- Fixed bugs:
- occasional ClassCastException
by rendering of nested tables.
- layouting problem with floats,
whose width is set to 100%
New in PD4ML Pro 3.2.3b4
-
multi-row table headers can be replicated from page to page if the table is
splitted
-
named background image positions (bottom, etc)
-
refined formatting of <pre> sections
-
support of "word-wrap: break-word" CSS property to allow auto line
breaks in preformatted text
-
styles like H6, H5 { pd4ml-bookmark-visibility: hidden } allow to
exclude particular entries from the PDF bookmark list
- Fixed bugs:
- vertical margins of floats if
they defined with 100% of width.
- invalid scale of PDF page
backgrounds
- Default <body> style is
"margin: 8px" now (instead of "padding: 8px")
- occasional invalid scope
attribute interpretation of <pd4ml:page.header>
New in PD4ML Pro 3.2.3b2
-
<textarea> assumes wrap="soft" attribute value by default
-
floats positioning module completely refactored
-
refined "justify" text alignment algorithms
- Fixed bugs:
- <base href="..."> tag is
ignored under particular conditions
- cellpadding of
<table> attribute does not work if table borders are set to collapse
- missing of height or
width attribute can cause image aspect ratio distortion
New in PD4ML Pro 3.2.2
- GUI HTML-to-PDF converting tool (PD4Browser) updated
New in PD4ML Pro 3.2.2b5
- memory footprint optimization
- Fixed bugs:
- small fractional widths like
".5pt" are interpreted as "0"
- table column widths balancing
can fails if there are block elements in the table cells (introduced in
v322b4)
New in PD4ML Pro 3.2.2b4
- pd4fonts.properties can point to remote font directory by
font.dir.location property.
- Fixed bugs:
- line-height absolute
values ignored
- render() ignores
character encoding of InputStreamReader
- ' entity wrong
interpretation
- "display: none" property
can affect neighbor components.
New in PD4ML Pro 3.2.2b2
- skiplast parameter for scope attribute of
<pd4ml:page.header> and <pd4ml:page.footer>.
- Fixed bugs:
- scope attribute value
parsing errors of <pd4ml:page.header> and <pd4ml:page.footer>
- wrong (mirrored) rendering of
headers and footers under special conditions.
- align attrribute of <th>
ignored.
New in PD4ML Pro 3.2.2b1
- Correct cell borders drawing after a table row wrapped to the next page.
- Fixed bugs:
- table-wide cellpadding overrides
cell-specific paddingd if the table has border-collapse: collapse
setting
- invalid table height
calculation if the table combines rows with rowspans and no content.
- multiple minor issues
New in PD4ML Pro 3.2.1
- border-collapse CSS property support
New in PD4ML Pro 3.2.1b4
- CSS property support float: left and float:
right for tables, images and DIVs.
- Fixed bugs:
- Minor text alignment issues
New in PD4ML Pro 3.2.1b2
- CSS property page-break-before: always and page-break-after:
always supported
by the main elements
- Simplified RFC 2397 data source support for <pd4ml:attachment> tag.
- Fixed bugs:
- Invalid interpretation of
complex CSS selectors like "TABLE.style1 > TR:first-child > TD"
New in PD4ML Pro 3.2.1b1
- CSS property word-wrap: break-word supported
- Default vertical block margins calculation refined
- Fixed bugs:
- Invalid percentual font size calculations
- Occasional invalid footer positioning on the first page
- Occasional ignoring of <ol> numbering type properties
- Minor issues
New in PD4ML Pro 3.2.0
- New servlet context resource loader allows to load images by absolute web application paths.
- text-transform CSS property support
- Fixed bugs:
- Occasional table cell background and borders corruption after <pd4ml:page.break pageFormat="..."> tag
- Actual PDF meta data format confuses some third-party PDF tools to count document pages
- Invalid style application to <a> tag
- jsessionid URL suffix is not understandable by some web servers
New in PD4ML Pro 3.2.0b5
- New attribute scope supported by <pd4ml:page.header> and
<pd4ml:page.footer> tags.
- <pd4ml:savefile> JSP custom tag allows to control redirect method
with redirectMethod attribute (as "redirect" or "forward")
New in PD4ML Pro 3.2.0b4
- Supports dynamic placeholders ($[var]) substitution in HTML. pd4ml.setDynamicParams(Map) allows to define the dynamic data.
- Allows to change PDF page format after page break with <pd4ml:page.break pageFormat="rotate">
or <pd4ml:page.break pageFormat="612x792">
- Supports inline overridable page header/footer definitions in HTML: <pd4ml:page.header> ... </pd4ml:page.header> or
<pd4ml:page.footer> ... </pd4ml:page.footer>
- Fixed bugs:
- PD4ML crashes if height attribute specified for HTML table with a single row
- Suppresses a visual appearance of tags start with "<?".
New in PD4ML Pro 3.2.0b2
- Implements Mozilla's table column width balancing algorithm
- Allows to define PDF page background colors and images
- Fixed bugs:
- performance degradation by conversion of huge preformatted blocks of text
New in PD4ML Pro 3.1.0
- Configurable icon types for PDF attachments
New in PD4ML Pro 3.1.0b10
- <meta> tag support.
- Fixed bugs:
- page-break-inside: avoid fails for nested tables
- minor issues
New in PD4ML Pro 3.1.0b7
- Support for rules and frame attributes of <table>
- PDF attachments are supported with new tag <pd4ml:attachment src="" description="">
- Supported local links to block elements by ID. (In previous versions it was possible to address <a name="anchor"> only)
- addStyle() API call allows to add extra stylesheets to be interpreted before or after CSS
defined in <head> section of HTML.
- Fixed bugs:
- Table border / cell border conflict under some circumstances.
- JDK1.6 minor compatibility issues
New in PD4ML Pro 3.1.0b2
- Word wrap in CJK scripts
- Emulation of italic and bold font styles (if missing)
- Fixed bugs:
- ${title} substitution problem in headers and footers.
- Hidden input elements affect page layout.
New in PD4ML Pro 3.0.4 (maintenance release)
- Partial RFC 2397 support
- Fixed bugs:
- Clipping area from one page can be propagated to the subsequent pages under some conditions.
Result: occasional blank regions on the pages.
- Invalid alignments of standalone input elements in table cells.
New in PD4ML Pro 3.0.3
- Fixed bugs:
- Occasional content cut after htmlWidth change
- Two <pd4ml:page.break> tags with no content
in-between corrupt the last PDF page.
New in PD4ML Pro 3.0.3b8
- New API method fitPageVertically() forces PD4ML to put entire HTML content to a single PDF page
- New API method protectPhysicalUnitDimensions() makes PD4ML to output PDF objects respecting dimensions/font sizes given in "in", "pt", "cm" etc. (WARNING: the mode can cause broken layout; see the documentation)
- <pd4ml:page.break> can be conditional with the new attribute "ifSpaceBelowLessThan"
- Fixed bugs:
- JDK1.3: corrupted PDF output if image width or height is
explicitly set to "0"
New in PD4ML Pro 3.0.3b5
- Support for dotted and dashed border styles.
- The default TOC style changed.
- Fixed bugs:
- minor issues
New in PD4ML Pro 3.0.3b2
- New <pd4ml:toc> tag allows to generate table of contents (TOC)
from HTML headings structure (<H1>-<H6>). The tag can be used
in HTML and JSP.
- Support for "page-break-inside: avoid" CSS directive for tables
and table rows.
New in PD4ML Pro 3.0.2
- New API methods:
- adjustHtmlWidth()
- setCookie(name,value)
- setDefaultTTFs(serif,sansserif,monospace)
- Fixed bugs:
- ClassCastException by SSL connections
- minor issues
New in PD4ML Pro 3.0.1
- Fixed bugs:
- NullPointerException after render(InputStreamReader,OutputStream) API call
- minor issues in PNG embedding
New in PD4ML Pro 3.0.0
- Support for JDK 1.3
- Fixed bugs:
- PNG image embedding
- Skip of table cell content if it is shorter as 2 characters (bug of PD4ML Pro 3.0.0b2)
New in PD4ML Pro 3.0.0b2
- Basic right-to-left scripts support added to the new renderer.
- A bug with an ignoring of <pd4ml:page.break> under special conditions is fixed.
- $[var] placeholder format is supported along with ${var}. It is done in order
to avoid notation conflicts with the newest servlet APIs.
- align="justify" accuracy refined.
New in PD4ML Pro 3.0.0b1
- It is a new generation of PD4ML tools based on a custom HTML rendering engine, which is tuned for an efficient and accurate
HTML-to-PDF transformation. See the detailed description
for more info.
New in PD4ML 1.2.8 / Pro 2.1.4
- New tag <pd4ml:savefile> allows to save generated PDFs on the server side. The tag can
optionally forward current HTTP request to another JSP for PDF postprocessing or to the saved PDF file itself
for direct downloads.
- New tag <pd4ml:fix_base_path> allows on-a-fly to replace unsupported absolute resource paths
(ie, "/folder/image.gif") with compatible ones ("../../folder/image.gif" or "http://myserver/folder/image.gif").
The feature solves some of compatibility issues with third-party graphics or chart JSP tag libraries,
that outputs non-customizable image paths.
- New attribute enable of <pd4ml:transform> enables or disables PDF transformation.
The attribute helps to build "dual-purpose" JSPs: to be viewed as HTML or as PDF.
New in PD4ML 1.2.6 / Pro 2.1.2
- Fixed bugs:
- Occasional HTML header/footer output skip. (re)
- Monochrome JPEG embedding problem.
- Minor bugfixing and code optimization.
- Known issues:
- second parameter of useTTF(String pathToFontDirs, boolean embed) has no effect
New in PD4ML 1.2.5 / Pro 2.1.0
- Fixed bugs:
- Occasional ignoring of useAFM attribute value.
- Known issues:
- second parameter of useTTF(String pathToFontDirs, boolean embed) has no effect
New in PD4ML Pro 2.1.0b3
- New utility tag <pd4ml:clean_xhtml> replaces all
occurrences of '/>' with '>'
in order to make JSP output PD4ML-friendly.
- Fixed bugs:
- JDK's fontmanager.dll bug workaround.
- Incorrect cache control for dynamic images.
- Occasional PDF file format corruption if default file.encoding=UTF-8.
- Known issues:
- second parameter of useTTF(String pathToFontDirs, boolean embed) has no effect
New in PD4ML Pro 2.1.0b
- Watermark images support.
- Fixed bugs:
- Occasional header/footer output skip.
- Undesired character encoding conversions in PD4ML taglib.
- Default 3D table borders optically refined.
- Known issues:
- second parameter of useTTF(String pathToFontDirs, boolean embed) has no effect
New in PD4ML Pro 2.0.0
- Page headers and footers can be defined in HTML format (including image references).
- TTF font directories can be addressed by URLs
- A special URL protocol "java:" allows to load TTF fonts from classpath locations (including JARs).
- Scaling of table background images supported.
- Fixed bugs:
- workaround for Adobe Acrobat Reader 7 image transparency interpretation error.
- Known issues:
- second parameter of useTTF(String pathToFontDirs, boolean embed) has no effect
New in PD4ML Pro 2.0.0b
- TTF Font embedding support
- Support for national character sets (with some exceptions)
New in PD4ML 1.2.5b1
- Starting with the version PD4ML Standard, Web and Professional source code branches have been merged.
See release notes for PD4ML Pro 2.1.0b3.
New in PD4ML 1.2.4
- Fixed bugs:
- Default 3D table borders optically refined.
- workaround for Adobe Acrobat Reader 7 image transparency interpretation error.
New in PD4ML 1.2.2
- Optimizes outlines tree structure.
- Fixed bugs:
- Header/footer font definition problem.
- Minor bugfixing and code optimization.
New in PD4ML 1.2.0
- Fixed bugs:
- HTTPS delivery problems to some versions of MS Internet Explorer.
New in PD4ML 1.2.0b2
- Font face and style control for headers and footers.
- Fixed bugs:
- Invalid text alignment in graphical representations of form elements.
- Invalid dash character glyph width in font metrics.
- ServletResponse.resetBuffer() is replaced with ServletResponse.reset() in the taglib
for compatibility with older servlet engines.
New in PD4ML 1.2.0b
- PDF document navigation. PDF outlines (bookmarks) generation mechanism added. Now it is possible to convert to
outlines a list of named anchors (<a name="anchor_id">label</a>) or a headings
structure (<h1>...<h6>).
- Transforming of HTML hyperlinks to PDF hyperlinks (if not explicitely disabled).
Hyperlink jumps within the same document are supported as well.
- Multiline header/footer support.
- Opaque PNG images are embedded to resulting PDFs "as is".
- Debug switch method added to localize image path / document base problems.
- Fixed bugs:
- Image path problems in PD4ML taglib.
New in PD4ML 1.1.0
- JPEG images are embedded to resulting PDFs "as is". In most of cases it reduces the documents size.
- Fixed bugs:
- Incorrect default page fonts if Acrobat Reader's font metrics are used.
- Invalid representation of <LI type=DISC> and <LI type=CIRCLE> in PDF
New in PD4ML 1.1.0b3
- Significant performance improvement for multipage PDF document generation.
- Jrun4 / ColdFusion 6.1 compatibility.
- Fixed bugs:
- Occasional ignoring of header/footer settings.
- Loosing of page content under particular conditions.
New in PD4ML 1.1.0b
- Encryption and permission control added.
- Added rendering possibility using Acrobat Reader's font metrics instead of the ones offered by Java.
That makes PDF rendering more accurate if HTML layout consists of long text strings.
- Struts compatibility workaround implemented.
- New JSP custom tag <pd4ml:permissions> added in order to reflect PD4ML API changes.
- "Umlauts + Russian locale" issue solved.
New in PD4ML 1.0.5
- ${total} placeholder is replaced correctly with total number of pages in page header or footer.
- Header and footer dialog option panels are unlocked in PD4ML Browser / Converter.
- Some minor rendering refinements
New in PD4ML 1.0.5b
- Customizable PDF page header and footer support included.
- PD4ML API allows now to control PDF document properties: document title (allows to override
default value taken from HTML document title), document author.
- interpolate images option is available.
- New JSP custom tags <pd4ml:header> and <pd4ml:footer> added.
- JSP custom tag <pd4ml:transform> reflects to the recent PD4ML API changes.
- Table cell background image bug fixed.
New in PD4ML 1.0.4
PD4ML 1.0.4 is a maintenance release to fix bugs found in release 1.0.2 and 1.0.3
- PD4ML-specific <pd4ml:page.break> tag added (supported in JSP as well as in HTML context)
- JSP Custom tag libraries support added
- Fixes problem with resource sharing in multithread environment
- Other minor bugfixes
Feedback
You can get support by mailing the PD4ML Team directly.
Its easier for us to help you if you include the following information in your
post:
Java Runtime version
PD4ML version
Operating system
Hosting app server (if any)
Source HTML that causes problems
Java Exception stack trace (if any)
Generated PDF file (if can not be shown by PDF Viewer application)
Sales
For PD4ML sales or licensing questions, please email us at:
|