PD4ML Pro 3.2.3 Release Notes

Release Date: May 18, 2008

New in PD4ML Pro 3.2.3b8

  • 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
            - &apos; 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: