| 2026-10-18 | v4.0.24 v4.1.2 | Bug fixed | OpenType fonts with PostScript (CFF) outlines (.otf, e.g. Noto Sans CJK) are now embedded as a font subset instead of the whole font file, so a PDF with a CJK font of 15 MB is a few hundred KB instead of 23 MB. (HELPD-798) |
| 2026-10-18 | v4.0.24 v4.1.2 | Improvement | generateMulticolumn() (and the -multicolumn command line option / multicolumn taglib attribute) now produces multi-column PDF output as in PD4ML v3: the content flows through the given number of columns per page, a page break moves to the next column, <pd4ml:page.break multicolumn="true"> starts a new page, page headers and footers are placed once per page and $[page] / $[total] count PDF pages. (HELPD-778, HELPD-795, HELPD-805) |
| 2026-10-17 | v4.1.2 | Bug fixed | ported all fixes from v4.0.24’s Large-scale backlog cleanup to v4.1.2 |
| 2026-10-17 | v4.0.24 | Bug fixed | PDF and XMP dates include the daylight saving time offset (e.g. +02'00' under CEST). |
| 2026-10-17 | v4.0.24 | Bug fixed | PDF/A: setting only pd4ml.document.date sets the XMP dates too, so the output no longer fails veraPDF rule 6.7.3-1. |
| 2026-10-17 | v4.0.24 | Bug fixed | Text inputs (text, password, email, search, tel, url, number) without an explicit width now get the browser's default width: size (default 20) average characters plus the widest-character allowance, plus padding and border; they used to be too narrow by default and too wide with a size attribute. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | Unstyled text inputs now use the browser default style (13.333px font, 1px 2px padding, a 2px border drawn as a 1px gray frame), so they get the same size as in browsers; padding and border are no longer added twice to their width, and a border with border-style: none no longer counts toward an input's size. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | Flex items sized to their content no longer take the full container width when they contain an element with a percentage width, min-width or max-width; as in browsers, the percentage counts as auto while the item is measured and then resolves against the item's final width. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | Table cells: the max-width of blocks in cells is applied, percentage margins in fixed-width cells no longer widen the table, a fixed-width column is as wide as its width (at least its min-content width) instead of its content's max-content width, and spanning cells (colspan) over fixed-width columns are no longer ignored. (HELPD-647) Bug fixed: A table-layout: fixed table with a percentage width inside an auto-width table cell now fills the cell, as in browsers, instead of collapsing it. (HELPD-647) Bug fixed: Floats, inline-blocks and absolutely positioned boxes whose content wraps (because of the available width or their max-width) now take that full width instead of the width of their widest line, so aligned text lines up with the box edge, and inline elements no longer lose their container's margins, borders and paddings twice from their available width. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | In quirks mode (no doctype, or a legacy one) tables no longer inherit the font size, weight, style, variant, line height and white-space of their surroundings, as in browsers; for example, text in a table inside <font size=5> now has the default size. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | A float with a percentage width, min-width or max-width inside a float, inline-block or absolutely positioned box no longer makes that box too wide or too narrow: as in browsers, the box sizes itself with the float at auto width and the percentage resolves against the result. (HELPD-647) Bug fixed: A float, inline-block, absolutely positioned box or auto-width table cell containing text followed by a float on the same line is now wide enough for both, so the text no longer wraps below the float. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | Text in the built-in Helvetica, Times and Courier fonts (no TTF embedding) is now placed on the same baseline as the browser's Arial, Times New Roman and Courier New, about 1pt lower than before, so it is vertically centered in table cells as on screen. (HELPD-769) |
| 2026-10-17 | v4.0.24 | Bug fixed | A block with a percentage min-width or percentage horizontal margins, a percentage or auto-width <hr>, a block with a width of 100% or more, or a percentage-width table inside a float, inline-block, absolutely positioned box or auto-width table cell no longer stretches that box to the page width or beyond: as in browsers, the box sizes to its content and the percentages resolve against the result. (HELPD-647) Bug fixed: Horizontal rules (<hr>) now follow the browser box model: a percentage or fixed width is the width of the line, with borders and padding added on top, a rule without a width fills its container including its borders instead of overflowing it by 2px, and rules in DOCX and RTF output get their exact specified width. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | A rounded-corner cell background (border-radius) no longer shows a faint seam next to a square neighbour with the same background. (HELPD-601) |
| 2026-10-17 | v4.0.24 | Bug fixed | In the built-in SVG renderer, text-anchor (middle, end) is now applied to a <text> element without an x attribute, so end-anchored or rotated (vertical) SVG text is no longer shifted off the image or missing. |
| 2026-10-17 | v4.0.24 | Bug fixed | A block with a percentage width, max-width or padding inside a float, inline-block, absolutely positioned box or auto-width table cell no longer stretches that box to the page width or beyond: as in browsers, the box sizes to its content and the percentage resolves against the result. Bordered or padded blocks inside floats no longer wrap their text. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | A word that continues across an inline element boundary (for example <em>word</em>. or <a>link</a>,) is no longer split at the line end, so lines no longer start with stray punctuation. (HELPD-791) |
| 2026-10-17 | v4.0.24 | Bug fixed | Form controls (input, select, textarea, button) and images with a percentage width inside a float, inline-block, absolutely positioned box or auto-width table cell no longer stretch that container to the full available width; as in browsers, the container is sized to the element's natural width and the percentage applies to it, and an <img width="100%"> in an auto-width table cell no longer disappears. (HELPD-647) |
| 2026-10-17 | v4.0.24 | Bug fixed | Title and page number alignment in headers and footers defined with the v3 API or the JSP taglib (PD4PageMark) is no longer overridden by document CSS such as td { text-align: left; }. (HELPD-530) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, empty table cells without padding are no longer written with a zero width, which made MS Word show the document as a single page and fail to export it to PDF. (HELPD-519) |
| 2026-10-17 | v4.0.24 | Bug fixed | Each embedded TrueType font subset in a PDF now gets its own subset tag, so documents using emulated (synthetic) italic or bold, several sizes of one font, or the pd4ml.document.id property no longer contain different font programs with the same name, which made Adobe Acrobat stop rendering the document. (HELPD-848) |
| 2026-10-17 | v4.0.24 | Bug fixed | DOCX output of list items containing blocks (tables, nested lists, empty blocks, blocks after links) is well-formed and opens in Word; table grid columns are never zero-width. (HELPD-519) |
| 2026-10-17 | v4.0.24 | Bug fixed | Concurrent conversions with fonts loaded from the classpath (useTTF("java:...")) no longer use partially written or empty temporary font files, which made text lose its font. (HELPD-554) |
| 2026-10-17 | v4.0.24 | Bug fixed | Custom metadata added with addMetadata() keeps PDF/A output valid: custom properties get a PDF/A extension schema description, and hidden properties are written in their own namespace. (HELPD-283) |
| 2026-10-17 | v4.0.24 | Bug fixed | The PDF document language (/Lang) is taken from <html lang> when <body> has no lang attribute, instead of always "en". (HELPD-716) |
| 2026-10-17 | v4.0.24 | Bug fixed | In collapsed-border tables, 1px cell borders next to rowspan cells are no longer hidden by neighbouring cell backgrounds, and a table moved to the next page keeps its top border. (HELPD-792) Bug fixed: In table cells, the top margin of the first block and the bottom margin of the last block (e.g. <p style="margin-bottom: 8pt">) now count as in browsers, so table rows are no longer tighter than on screen; only in quirks mode (no or a legacy doctype) are the default margins of a leading or trailing paragraph, heading or list dropped, as browsers do. (HELPD-792) |
| 2026-10-17 | v4.0.24 | Bug fixed | With the v3-compatible API, a page background image or color and a watermark set on a PD4PageMark without a title or page number template are no longer ignored. (HELPD-592, HELPD-593) |
| 2026-10-17 | v4.0.24 | Bug fixed | SVG stroke-dasharray is honored in PDF output: dash and gap lengths follow the SVG, a zero-gap pattern (e.g. "6 0") draws a solid line, and solid strokes after dashed ones stay solid. (HELPD-423, HELPD-497) |
| 2026-10-17 | v4.0.24 | Bug fixed | Arabic text in fonts without Arabic presentation forms (e.g. Haradh) is shaped with the font's own layout tables instead of being shown as ? or in a fallback font. (HELPD-710) |
| 2026-10-17 | v4.0.24 | Bug fixed | Thai and Lao text is shaped with the font's layout tables, so tone marks stacked above vowels are positioned correctly instead of overlapping or being detached. (HELPD-521) |
| 2026-10-17 | v4.0.24 | Bug fixed | In left-to-right paragraphs, the space between a right-to-left word and the following left-to-right text stays between them instead of being moved before the right-to-left word. (HELPD-431) |
| 2026-10-17 | v4.0.24 | Bug fixed | Absolute font file paths and URLs in pd4fonts.properties are used as they are instead of being resolved against the font directory. (HELPD-465) |
| 2026-10-17 | v4.0.24 | Bug fixed | An element with display: table-cell inside a table cell no longer breaks the table structure, and percentage heights and max-width of floats and flex items resolve against the correct container. (HELPD-579) Bug fixed: With box-sizing: border-box, percentage heights and min/max-heights now include the box's padding and border as in browsers, max-height also limits an explicit height, and percentage heights resolve against the parent's content height. (HELPD-579) |
| 2026-10-17 | v4.0.24 | Bug fixed | A heading with page-break-after: avoid moves to the next page together with the following block instead of being left alone at the bottom of a page. (HELPD-307) |
| 2026-10-17 | v4.0.24 | Bug fixed | Text marked white-space: nowrap stays on one line in table cells, also when it is split by font fallback or nested inline elements (e.g. "€ 30,50"). (HELPD-448) |
| 2026-10-17 | v4.0.24 | Bug fixed | A text <input> inside an absolutely positioned element keeps its default or explicit width instead of being painted as a sliver. (HELPD-780) |
| 2026-10-17 | v4.0.24 | Bug fixed | A width: 100% table inside a box with margins, borders or padding is no longer narrowed by subtracting the box's spacing twice. (HELPD-843) |
| 2026-10-17 | v4.0.24 | Bug fixed | <pd4ml:page.break ifSpaceBelowLessThan> is honored on pages that end with an explicit page break, so a footnote no longer lands on the next section's page. (HELPD-838) |
| 2026-10-17 | v4.0.24 | Bug fixed | A <pd4ml:page.footer> or header defined further down in the document applies from the page where it is defined instead of appearing on page 1. (HELPD-834) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, a styled <hr> is drawn in its CSS border or background color instead of always black. (HELPD-611) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, sidebar-style blocks with a background and padding are rendered as one shaded box with their padding, without extra white space. (HELPD-817) |
| 2026-10-17 | v4.0.24 | Bug fixed | Absolutely positioned content taller than a page is paginated completely again instead of being cut off after the in-flow content ended. (HELPD-474) |
| 2026-10-17 | v4.0.24 | Bug fixed | merge() no longer fails with "Parsing of PDF failed" (ClassCastException) on PDFs whose document information (/Info) or outline entries are stored as indirect objects. (HELPD-145) |
| 2026-10-17 | v4.0.24 | Bug fixed | Encrypted PDFs without a document ID (/ID) are decrypted correctly when loaded, so saving or overlaying them (e.g. adding a watermark) no longer produces empty pages. (HELPD-706) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, paragraphs (<p>, <div>) inside table cells and list items are written as regular paragraphs again instead of nested tables, so list bullets stay on the same line as their text. (HELPD-814, HELPD-815) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, consecutive block elements (e.g. <div>) inside a table cell, including page header/footer tables, are separated by a paragraph break again instead of being merged onto one line. (HELPD-724, HELPD-725, HELPD-726, HELPD-727, HELPD-816) |
| 2026-10-17 | v4.0.24 | Bug fixed | Text in <input> and <button> fields now uses the useTTF() font fallback, so non-Latin values (e.g. Hindi) no longer show as boxes. (HELPD-384, HELPD-629) |
| 2026-10-17 | v4.0.24 | Bug fixed | SVG viewBox values with decimals no longer cause a NumberFormatException, and position: absolute / fixed boxes are painted above the content that follows them instead of being covered by table borders. (HELPD-360) |
| 2026-10-17 | v4.0.24 | Bug fixed | SVG images that the Batik renderer cannot process (e.g. with an unresolvable clip-path URL) are now drawn with the built-in SVG renderer instead of being omitted. (HELPD-359) |
| 2026-10-17 | v4.0.24 | Bug fixed | Blocks with an explicit small or zero height whose content draws nothing (e.g. connector lines built from empty <div> elements) are no longer stretched to a full line height. (HELPD-280) Bug fixed: Inside table cells, explicit widths and margin: 0 auto centering of blocks are honored, absolutely positioned boxes in centered rows are placed correctly, and fixed-height boxes holding only fixed-height blocks keep their height. (HELPD-280) Bug fixed: An absolutely positioned block placed by its static position after inline text now starts below that line, a float's top margin no longer also pushes its parent down, and a block with a fixed height keeps it and lets its content overflow, as in browsers. (HELPD-280) |
| 2026-10-17 | v4.0.24 | Bug fixed | Inline <svg> elements without an xmlns attribute are now rendered instead of being left blank. (HELPD-275, HELPD-256, HELPD-846) |
| 2026-10-17 | v4.0.24 | Bug fixed | Table cells spanning several fixed-width columns (colspan) no longer overlap or clip their content; their minimum width is now distributed over the spanned columns. (HELPD-224) |
| 2026-10-17 | v4.0.24 | Bug fixed | :nth-child() and other structural selectors now work for table rows wrapped in misplaced elements (e.g. <div> inside <tbody>), as in browsers. (HELPD-336) |
| 2026-10-17 | v4.0.24 | Bug fixed | In RTF output, list items with several blocks keep their bullet on the first line, and an item following an inline list item gets its own bullet. (HELPD-867) |
| 2026-10-17 | v4.0.24 | Bug fixed | Fractional lengths (e.g. width: 4.0002%) are no longer rounded to whole units when element styles are shared, so percentage column widths are applied exactly. (HELPD-268) |
| 2026-10-12 | v4.1.1 | RELEASE | v4.1.1 is released and available for download |
| Bug fixed | adapted all actual bugfixes and improvements from v4.0.23fx2 branch | ||
| 2026-10-12 | v4.0.23fx2 | RELEASE | v4.0.23fx2 is released and available for download |
| Bug fixed | Fixed wrong collapsed border widths for a <tfoot> placed before <tbody>: a thick top edge and a thin bottom edge. | ||
| Bug fixed | Merging tagged PDF documents (PDF/UA, PDF/A-2a) keeps the structure tree of every merged document, so the result remains properly tagged. (HELPD-528) | ||
| Improvement | Added support for OpenType (.otf) fonts with CFF outlines, fixed incorrect font metrics in PDF font descriptors, and made embedTTFs(false) stop embedding fonts. | ||
| Bug fixed | page header/footer redefinitions taking effect on the wrong page, and a possible hang or lost content when the header and footer are taller than the page. | ||
| Improvement | Added support for numeric font weights (e.g. 300, 500, 600) with @font-face fonts. The face with the closest matching weight is now chosen, as in browsers, and bold is emulated when no heavy enough face is declared. | ||
| Bug fixed | The top margin of the first block no longer depends on the license type: the automatic evaluation watermark no longer keeps the margin that is dropped otherwise. (HELPD-719) | ||
| Bug fixed | text being partially lost on a line that starts exactly at the top of a new page and contains subscripts or superscripts. | ||
| Bug fixed | A noref footnote placed right before a page break is printed on the page where it occurs instead of the next page. (HELPD-728) | ||
| Bug fixed | Fixed some CJK characters being drawn and copied as unrelated symbols (e.g. 用 as 🆍) with fonts like Noto Sans SC. | ||
| Bug fixed | Fixed PDFs that Acrobat refused to open when the JVM ran in a locale such as sv_SE, which writes a Unicode minus sign in numbers. | ||
| Bug fixed | Fixed spaces between words sometimes disappearing ("as task" → "astask") at certain page widths, in justified text and with ligatures enabled. | ||
| Improvement | Some large documents now convert about 2× faster, and parallel conversions run about 30% faster (tested with 6 threads). | ||
| Bug fixed | Redefining the header after a PD4ML page break in HTML results in content clipping in the generated PDF document in some cases. | ||
| 2026-09-07 | v4.1.1 v4.0.23fx2 | Improvement | Static Analysis & Code Quality Hardening. More details... |
| 2026-09-02 | v4.1.1 | Bug fixed | DOCX Block's background applies only to its content, not to the block itself. |
| Bug fixed | DOCX Table headers are not repeated after a page break. | ||
| Bug fixed | DOCX Incorrect spacing between headings when they are located at different block nesting levels. | ||
| Bug fixed | RTF DOCX In the case of multi-nested content blocks, indentation is not applied in all instances. | ||
| Bug fixed | DOCX The image does not display if the value of the src attribute of the <img> tag ends in a trailing slash. | ||
| Bug fixed | DOCX Wrong unit-conversion constant in DocxDocument.drawImage() caused incorrect image scaling. | ||
| Bug fixed | DOCX superscript link causes unwanted line breaks | ||
| Bug fixed | DOCX invalid valign value may result in corrupted document | ||
| Bug fixed | DOCX line of text may have incorrect full justification, if immediately followed by a line break | ||
| Bug fixed | DOCX paragraph text style inheritance issue (line-height) | ||
| Bug fixed | In DOCX, the <dd> tag is incorrectly converted into a ordered list. | ||
| Bug fixed | DOCX <span> tags in the heading cause unwanted line breaks. | ||
| Improvement | Five new PDF document-processing APIs, each with a matching command-line tool (java -cp pd4ml.jar
| ||
| Bug fixed | adapted all actual bugfixes from v4.0.23fx1 branch | ||
| 2026-08-31 | v4.0.23fx1 | RELEASE | v4.0.23fx1 is released and available for download |
| Bug fixed | Extensive use of dotted borders in the document leads to an unjustified increase in the size of the resulting PDF file. | ||
| Improvement | Added support for the CSS unicode-range descriptor, which specifies a particular range of characters to be used from a font defined via @font-face. | ||
| Bug fixed | creation of unwanted duplicate font objects in the PDF if the font is used at different sizes. | ||
| Bug fixed | possibility of incorrect text copy-pasting from PDF files using TTF font ligatures | ||
| 2026-02-22 | v4.1.0 | RELEASE | v4.1.0 is released and available for download |
| Improvement | New API method pd4ml.setErrorPolicy() allows you to determine the reaction to occurrence of errors - always issue an exception or, if possible, ignore non-critical ones | ||
| Improvement | Added support for cross-industry data formats ZUGFeRD and Factur-X for exchanging electronic invoice data. | ||
| Bug fixed | adapted all actual bugfixes from v4.0.22 branch | ||
| Improvement | Added support for output in compliance with selected PDF, PDF/A and PDF/UA standards. | ||
| 2025-12-29 | v4.0.22 | RELEASE | v4.0.22 is released and available for download |
| Bug fixed | Auto-generated table of contents may disrupt the order of footnotes on pages. | ||
| 2025-12-16 | v3.11.6fx2 | Bug fixed | Empty hyperlink anchor tags (<a name="anchor_name">) that appear too close to a page break position may be not addressable for internal hyperlinks in the PDF file. |
| 2025-12-05 | v4.0.22 | Bug fixed | pd4ml.terminate() has no effect at some stages of document layout building |
| Improvement | Optimized access to shared resources to eliminate potential deadlocks | ||
| 2025-10-13 | v4.0.24 | Bug fixed | RTF Background color of <body> tag is not applied / the padding of blocks with a background color is painted with the background, and inline elements with margins no longer reset the paragraph alignment. (HELPD-763) |
| 2025-10-13 | v4.0.22 | Bug fixed | RTF Mixed multi-level nesting of tables and lists can lead to inconsistencies in the document structure and loss of parts of the content. |
| Bug fixed | Incorrect placement of internal destination anchors in a justified text paragraph, leads to broken hyperlinks in PDF files. | ||
| Bug fixed | Incorrect column width balance in tables with overlapping colspans and mismatched widths. | ||
| Bug fixed | small-caps and bold text styles applied to a single-character string can cause stack overflow | ||
| Bug fixed | empty named HTML anchors <a name="destination"/> are not converted to addressable PDF local hyperlink destinations | ||
| Bug fixed | RTF In some cases, page headers and footers might have incorrect text or background color | ||
| 2025-08-17 | v4.0.21 | RELEASE | v4.0.21 is released and available for download |
| Bug fixed | uneven word spacing and unwanted line breaks are possible when using text-align: justify style | ||
| Bug fixed | possible incorrect right edge alignment in rendering justified RTL content portions | ||
| Bug fixed | NullPointerException when converting HTML containing fieldset with position: absolute | ||
| Bug fixed | Fixed errors in handling ligatures of the Cambria Math font. | ||
| Bug fixed | align=justify word spacing regression | ||
| Bug fixed | RTF the display of the footer and header on the first (cover) page depends on the presence of each other | ||
| Bug fixed | RTF implicitly created table cells may cause rendering issues with embedded images that are taller than the page size. | ||
| Improvement | DOCX refined alignment of ordered list item labels | ||
| Improvement | The update ends the separation between the jakarta and javax versions and adds intrinsic compatibility with both web application frameworks | ||
| 2025-02-12 | v4.0.20fx3 | RELEASE | v4.0.20fx3 is released and available for download |
| Bug fixed | incorrect support of Symbol Character Set, used in decorative TTFs (symbol.ttf, wingdings.ttf etc) | ||
| 2025-02-04 | v4.0.24 | Bug fixed | In RTF output, an empty named anchor (<a name>) no longer creates a blank paragraph. (HELPD-673) |
| 2025-02-04 | v4.0.20fx3 | Bug fixed | RTF document layout may be corrupted in some cases if margin style is applied to a hyperlinked text fragment |
| Bug fixed | inconsistent fallback font selection due to incorrectly configured TTF embedding | ||
| Bug fixed | ClassCastException when conditional page break is in a list item. Conditional page breaks are now ignored during RTF and DOCX output as they cannot provide reliable results in these file formats. | ||
| Bug fixed | NPE after forced clearing of font cache | ||
| Bug fixed | Incorrectly applied line height to DOCX table cells | ||
| Bug fixed | text-align: justify does not work correctly for right-to-left scripts | ||
| Improvement | Added small-caps style support | ||
| Bug fixed | A short document with a page header or footer no longer gets an extra page because its body was laid out with the full page height. (HELPD-674) | ||
| Improvement | DOCX Improved logic for matching HTML paddings with DOCX indents/spacing / the top and bottom margins of <hr> are applied as paragraph spacing, so the space around horizontal lines matches the HTML. (HELPD-613) | ||
| Bug fixed | Horizontal alignment of list items does not apply to inside-positioned bullets | ||
| Bug fixed | Incorrect width of header and footer on rotated pages | ||
| Improvement | The pageFormat="rotate" and pageFormat="reset" attributes of <pd4ml:page.break/> are supported when converting to DOCX | ||
| 2024-10-28 | v4.0.20fx2 | RELEASE | The release is identical to v4.0.20fx1. It only fixes a severe regression in the license validity checking logic. All v4.0.20fx1 users are recommended to upgrade. |
| 2024-09-26 | v4.0.20fx1 | RELEASE | v4.0.20fx1 is released and available for download |
| Bug fixed | undesired line break before footnote/endnote index (rare cases) | ||
| 2024-09-25 | v4.0.24 | Bug fixed | In RTF output, icons from web fonts (private-use characters, e.g. inserted with ::before) are written as images and are visible in Word. (HELPD-656) |
| 2024-09-25 | v4.0.20fx1 | Bug fixed | margin: auto applied to IMG in table cell causing cell height to incorrectly increase |
| Bug fixed | DOCX - Large footer top spacing | ||
| Bug fixed | DOCX nested ordered list style is not correctly applied | ||
| Bug fixed | DIVX issues with rendering nested center-aligned tables | ||
| Bug fixed | lost whitespace after elements of display="none" type | ||
| Bug fixed | RTF content style may be improperly propagated to adjacent elements | ||
| Improvement | RTF support of sub- and super-script vertical alignment / In RTF and DOCX output, <sup> and <sub> text keeps its size and is raised or lowered as in browsers instead of being shrunk a second time by Word; RTF no longer adds a space after links. (HELPD-666, HELPD-611) | ||
| 2024-09-14 | v4.0.24 | Bug fixed | A page header, footer, watermark or background template written as a complete HTML document (<html><body>) is applied like a fragment, so its page scope (e.g. 3+,odd) is honored. (HELPD-649) |
| Bug fixed | PDF pages and images from renderAsImages() no longer end with a blank page when only the body's bottom margin reaches into it. (HELPD-558) | ||
| 2024-09-10 | v4.0.20fx1 | Improvement | optimization of string content processing significantly improves the performance of converting larger documents |
| Bug fixed | DOCX Too much spacing between footnotes | ||
| Bug fixed | possible duplication of footnotes in some cases | ||
| Improvement | DOCX Document headings structure H1-H6 is now displayed in the navigation pane of Word processors. | ||
| Improvement | DOCX ordered list numbering styles support | ||
| Bug fixed | DOCX: left padding applied to ordered/unordered lists has no effect | ||
| Bug fixed | list-style-type: none; on an <li> element with no text still creates an empty list item | ||
| Bug fixed | potential deadlock condition eliminated | ||
| Bug fixed | tags like <![if !vml]> or <![endif]> may break the resulting layout | ||
| 2024-08-08 | v4.0.20fx1 v4.0.24 | Bug fixed | page-broken textarea form field duplicated on next page Bug fixed: A textarea taller than a page is now split between its text lines, so no line is lost at a page break. (HELPD-647) Bug fixed: A textarea with a percentage width, min-width, max-width or height (for example style="width:90%") is now sized from its containing block as in browsers, instead of shrinking to a few pixels or to a fraction of its cols-based width. (HELPD-647) |
| 2024-08-08 | v4.0.20fx1 | Bug fixed | Using unsupported CSS functions (i.e. var()) in length/size properties may cause ClassCastException |
| Bug fixed | percentage paddings use incorrect calculation base, which results in incorrect layout | ||
| Bug fixed | vertical and horizontal alignment issues of multi-nested flex boxes | ||
| 2024-06-17 | v4.0.20 | RELEASE | v4.0.20 is released and available for download |
| Bug fixed | UTF32 surrogate pairs in input HTML cause resulting DOCX to be corrupted | ||
| Bug fixed | DOCX Incorrectly applied justify alignment for text preceding a table | ||
| Improvement | eliminated concurrent access to some cached data for performance and stability reasons | ||
| Bug fixed | possible invalid table cell padding before rowspanned cells | ||
| Bug fixed | partially missing table border for rowspanned cells in DOCX | ||
| Bug fixed | footnote/endnote label may erroneously inherit the width style from its parent element | ||
| Bug fixed | implicit page breaks on a list item may cause visual artifacts | ||
| Bug fixed | text-indent CSS property may have no effect | ||
| Improvement | support of image url in content property of ::before CSS pseudo-element | ||
| Bug fixed | DOCX undesired line break if <p> tag is nested to the <li> tag | ||
| Improvement | Supports EXIF orientation of JPEG images | ||
| 2024-04-15 | v4.0.19fx1 | RELEASE | Maintenance v4.0.19fx1 is released and available for download |
| Improvement | DOCX: SVG images support | ||
| Bug fixed | incorrect inheritance and combining of underline and line-through text decoration CSS styles | ||
| Bug fixed | footnotes text alignment undesirably inherited from the referenced content | ||
| Bug fixed | noref Footnotes may be placed on the wrong page | ||
| Bug fixed | dots in TOC not rendered [pdf] | ||
| Bug fixed | incorrect percent width balancing of colspanned table columns | ||
| Bug fixed | horizontal alignment is not applied to DOCX table cells | ||
| Improvement | DOCX output: sub/superscript alignment support; dots in TOC | ||
| Improvement | support of footnotes and endnotes in DOCX | ||
| Bug fixed | DOCX: table row background color is not applied | ||
| 2024-02-19 | v4.0.19 | RELEASE | v4.0.19 is released and available for download |
| 2024-02-17 | v4.1.0 | Improvement | increased tolerance of the PDF parser to document encryption errors (HELPD-578) |
| 2024-02-16 | v4.0.19 | Bug fixed | ignore spaces between CSS lengths and units for backwards compatibility with v3 |
| 2024-02-16 | v4.0.24 | Bug fixed | Table rows that only start a rowspan cell are no longer grown to the whole span height, which added large blank areas to tables. (HELPD-568, HELPD-574) Bug fixed: Extra height needed by a row-spanning table cell (rowspan) now goes to the spanned rows in proportion to their heights, as in browsers, so a label row holding only the spanning cell no longer grows. (HELPD-573) |
| 2024-02-15 | v4.0.19 | Improvement | Added support for header and footer images and hyperlinks for DOCX output. |
| Bug fixed | Nested table layout with mixed content is broken by RTF conversion | ||
| Bug fixed | Text underline thickness depends on parent block border width | ||
| Improvement | New Feature: DOCX file format output support | ||
| Bug fixed | incorrect collapsed table dashed/dotted border style inheritance; dashed and dotted lines rendering refined | ||
| Bug fixed | empty table cells can allocate horizontal space / CSS keyword values are matched case-insensitively, so e.g. text-align: Center centers the text. (HELPD-572) | ||
| Bug fixed | ability to use a decorative symbol font as a fallback font for regular content | ||
| Bug fixed | occasional truncated data on page breaks in multi-level nested tables | ||
| Improvement | rounded rectangle borders / backgrounds placement refined in PDF output | ||
| 2023-12-20 | v4.0.18 | RELEASE | v4.0.18 is released and available for download |
| Bug fixed | incorrect <tr> padding handling causes duplicated table cell borders / In tables with border-collapse: collapse, a border set on <tr> is no longer drawn as a doubled line between rows and at the bottom. (HELPD-563) | ||
| Bug fixed | <iframe> in a table cell may cause a class cast exception | ||
| Improvement | support for individual font face and color settings for created PDF form fields / PDF form fields use the inherited font-family (including inherit and font lists), and the field font is registered in the form's font resources. (HELPD-559) | ||
| Bug fixed | incorrect table row width balancing in a case of inconsistent table structure | ||
| Bug fixed | incorrect processing of <title> if it appeared in <body> / Invisible characters (zero width spaces, bidi marks, byte order mark) are no longer printed as ?, and special space characters are drawn as spaces. (HELPD-560, HELPD-693) | ||
| Bug fixed | Parentheses or punctuation marks within a word should not be considered a possible position for line breaks | ||
| 2023-09-06 | v4.0.17 | RELEASE | Maintenance v4.0.17 is released and available for download |
| Bug fixed | Non-breaking space is breaking if preceded by punctuation | ||
| Improvement | External entity injection protection in the SVG handler | ||
| Bug fixed | online WOFF and WOFF2 font files loaded twice | ||
| Bug fixed | max-width property may cause incorrect auto margins calculation | ||
| Bug fixed | table may not stretch horizontally properly if the width of all table columns is specified as a percentage | ||
| Bug fixed | Trailing blank PDF page is not always removed by default / A trailing blank page is no longer added when only the edge of a box's background or border ends exactly at the top of that page. (HELPD-553) | ||
| Bug fixed | CSS 'clear' property does not take precedence over 'float' / Zero-height floats (e.g. clearfix elements) no longer take horizontal space, so floated label/value pairs are not staggered onto separate lines. (HELPD-553) | ||
| Improvement | eliminate unwanted second parsing pass in special cases (significant performance improvement for large documents) | ||
| Bug fixed | absolute positioning style applied to <br> cause ClassCastException | ||
| Bug fixed | inconsistencies in HTML/CSS document structure included by <iframe> can break style of the main document | ||
| 2023-05-23 | v4.0.16 | RELEASE | v4.0.16 is released and available for download |
| Improvement | PDF parser: skip leading garbage bytes in damaged PDFs | ||
| Improvement | rendering performance optimization for multi-nested tables | ||
| Bug fixed | .DAT files can remain in the TEMP directory for a very long time if the application has not been restarted in the meantime | ||
| Bug fixed | CSS descendant selectors don't match if class attribute ends with whitespace | ||
| Bug fixed | @font-face font alternatives are not used if one of the specified fonts fails to load or has an unsupported format | ||
| Bug fixed | Japanese double space character ignored or rendered incorrectly | ||
| 2023-03-14 | v3.11.5fx5 | Bug fixed | regression: line breaks can mistakenly break words after umlauts |
| 2023-03-10 | v4.0.16 | Bug fixed | by collapsed table borders row background overlaps cells content |
| Bug fixed | recursive loading of <iframe>s | ||
| Bug fixed | corrupted GIF image with negative dimensions causes NPE | ||
| Bug fixed | purged from the file cache and not properly restored WOFF font file causes NPE | ||
| Bug fixed | infinite loop in flex layout under special combination of rendering conditions | ||
| Bug fixed | page CropBox is not taken into account by PDF overlay/underlay | ||
| 2023-02-21 | v4.0.24 | Bug fixed | Text that Java's layout engine shapes with invisible glyphs (e.g. Malayalam conjuncts on JDK 8, direction marks with ligatures enabled) no longer crashes the font subsetting with an ArrayIndexOutOfBoundsException. (HELPD-473) |
| 2023-02-21 | v4.0.16 | Improvement | woff2 file format support added; woff format support updated |
| Bug fixed | depending on the internal page hierarchy, PD4ML may not return inherited size or media box dimensions of a PDF page. | ||
| 2023-02-01 | v4.0.15fx2 | RELEASE | v4.0.15fx2 is released and available for download |
| 2023-01-21 | v3.11.4fx6 | Bug fixed | relative font size could be applied twice to heading tags <H1>, <H2> etc |
| 2023-01-03 | v4.0.15fx2 | Bug fixed | nowrap table cell style is not applied to nested elements |
| Bug fixed | direction: RTL style takes no effect because of uppercase | ||
| Bug fixed | not always correct auto width calculation of absolute positioned blocks | ||
| 2022-11-11 | v4.0.9fx5 | Improvement | tb-rl writing mode supported |
| 2022-11-11 | v4.0.15fx2 | Bug fixed | output of multiple blank pages if the document has a table whose header and the first row are taller than the page. |
| Improvement | new landscape option for page orientation change without header and footer rotation: <pd4ml:page.break pageFormat="A4,landscape"> | ||
| 2022-10-23 | v4.0.15fx1 | Improvement | Special Tomcat10/Servlet5.0/JSP3.0 compatibility build published |
| 2022-10-12 | v4.0.15fx1 | RELEASE | v4.0.15fx1 is released and available for download |
| Bug fixed | corrupted RTF layout of multi-nested tables if the most nested cell contains an image | ||
| Bug fixed | floating block horizontal space allocation issue | ||
| Bug fixed | performance issues when converting huge HTML to RTF | ||
| Bug fixed | corrupted table layout if table header height greater than page height | ||
| 2022-09-07 | v4.0.15 | RELEASE | v4.0.15 is released and available for download |
| Bug fixed | various minor mixed RTL/LTR word order flaws | ||
| Bug fixed | wrong mixed RTL and LTR word order in PDF form fields | ||
| Bug fixed | embedded image height in RTF output is limited to 90% of page height to avoid MS Word rendering visual errors | ||
| Improvement | text-overflow: ellipsis CSS style support added | ||
| Bug fixed | trailing blank pages not always suppressed | ||
| Bug fixed | regression: <base> tag takes no effect | ||
| Site | better search results representation and target page linking | ||
| 2022-06-27 | v4.1.0 v4.0.15 | Improvement | SVG text path support |
| 2022-06-23 | v4.1.0 | Improvement | all recent changes and bugfixes merged from v4.0.14 branch to v4.1.0 branch |
| 2022-06-21 | v4.0.14 | RELEASE | v4.0.14 is released and available for download |
| Improvement | SVG <text> and <tspan> alignment logic refactored | ||
| Improvement | multiple PDF parser and PDF merge/overlay module updates | ||
| Bug fixed | auto-generated page numbers may appear rendered incomplete under some conditions | ||
| Bug fixed | page number in complex header/footer layouts is not fully rendered | ||
| Improvement | support of HTML code in dynamic params | ||
| 2022-04-14 | v4.0.13fx2 | RELEASE | v4.0.13fx2 is released and available for download |
| Improvement | PD4ML_SOCKET_TIMEOUT parameter support | ||
| 2022-03-31 | v4.0.13fx1 | RELEASE | v4.0.13fx1 is released and available for download |
| 2022-03-06 | v4.0.13 | RELEASE | v4.0.13 is released and available for download |
| 2022-03-06 | v4.0.13fx1 | Improvement | conditional page break logic refined |
| 2022-02-24 | v4.0.13 | Bug fixed | PNGs embedded in RTF are not always displayed |
| Bug fixed | table borders misaligned by a specific combination of CSS properties | ||
| Bug fixed | hidden input elements may allocate space | ||
| Improvement | footnotes management logic refactored | ||
| Bug fixed | printed long URLs are not line-breakable | ||
| 2022-02-07 | v4.0.12 | RELEASE | v4.0.12 is released and available for download |
| Bug fixed | mismatch of default page margins in PD4ML v3 and PD4ML v3 -> v4 API wrapper | ||
| Bug fixed | list item bullet/number is not rendered if <li> content is page-broken | ||
| 2021-12-30 | v3.11.5fx1 | RELEASE | v3.11.5fx1 is released and available for download |
| Bug fixed | regression: bold font style emulation may not work in some configurations | ||
| Improvement | various CJK TTF font substitution logic improvements | ||
| 2021-12-16 | v4.1.0 v4.0.11 | Bug fixed | conditional page breaks may take no effect |
| Bug fixed | regression: broken support of grayscale PNG | ||
| 2021-11-28 | v4.1.0 | Improvement | AES_128BIT and AES_256BIT PDF encryption support added. New default is AES_128BIT |
| 2021-11-18 | v4.0.11 | Improvement | font size support in PDF form text fields |
| 2021-11-16 | v4.0.10 | RELEASE | v4.0.10 includes the recent bugfixes of v4.1.0 branch |
| Bug fixed | trailing chars of header/footer text are cut | ||
| 2021-09-30 | v4.1.0 v4.0.10 | Bug fixed | fails to read kerning tables of built-in core fonts (due to classloader oddities in certain JVM environments) |
| Bug fixed | start attribute of <ol> takes no effect | ||
| Bug fixed | setDynamicParams() of PD4ML v3 API wrapper does not propagate cache control directives to PD4ML v4 API layer. | ||
| Bug fixed | incorrect SVG scaling if width and height attribute values are given in percents | ||
| 2021-06-13 | v4.1.0 v3.11.4fx6 v4.0.10 | Bug fixed | wrong mixed Arabic / English word order |
| 2021-06-08 | v4.1.0 v4.0.10 | Bug fixed | scope=1 atribute of <pd4ml:page.footer> may cause content and footer on the first page to overlap |
| 2021-04-27 | v3.11.4fx5 | RELEASE | v3.11.4fx5 is released and available for download |
| 2021-04-27 | v4.0.9fx5 | RELEASE | v4.0.9fx5 is released and available for download |
| Bug fixed | regression: incorrect vertical alignment of page-broken nested tables | ||
| Bug fixed | <thead> replication of a page-broken table may cause PDF/UA validation warning | ||
| Improvement | refined footnotes rendering logic | ||
| Bug fixed | regression: incorrect calculation of percent image width | ||
| 2021-04-07 | v3.11.4fx5 | Bug fixed | HTML entities in HREF attribute are not replaced with escaped characters |
| 2021-04-05 | v3.11.4fx5 v4.0.9fx5 | Bug fixed | possible name clash of embedded fonts by PDF document merge. |
| 2021-04-03 | v4.0.9fx5 | Bug fixed | footer may partially overlap content on the first page |
| Improvement | basic support for CSS media queries added (max-width, min-width etc) | ||
| Improvement | Flex layout generation performance optimization | ||
| Bug fixed | trailing blank page removal logic fix (some pages may be mistaken for blank if they only contain images and no other content) | ||
| Improvement | CSS runtime performance optimization | ||
| Bug fixed | enableHyperlinks(false) erroneously disables internal PDF links creation; an external PDF link created even if the target URL matches the document base | ||
| 2021-03-02 | v3.11.4fx5 v4.0.9fx5 | Bug fixed | an occurrence of an invalid @media selector can skip the rest of the stylesheet |
| 2021-03-01 | v4.0.9fx4 | RELEASE | v4.0.9fx4 is released and available for download |
| Bug fixed | a clash of automatic and forced page breaks may cause a generation of a blank page | ||
| Bug fixed | automatic page break logic does not take into account block paddings, and under some conditions, the background of the bottom margin is carried over to the next page | ||
| Bug fixed | regression: table not rendered after a page break | ||
| Bug fixed | NPE when rendering table/tr with display:none style | ||
| Bug fixed | TR background may be printed below page break logical position | ||
| 2020-11-30 | v4.0.9fx3 | RELEASE | v4.0.9fx3 is released and available for download |
| 2020-11-30 | v3.11.4fx4 | RELEASE | v3.11.4fx4 is released and available for download |
| 2020-11-28 | v4.0.9fx3 | Bug fixed | Page background does not cover the entire page |
| Improvement | getDocumentTitle() API method added | ||
| 2020-11-23 | v3.11.4fx4 | Bug fixed | PDF parser issue |
| 2020-11-17 | v4.0.9fx3 | Bug fixed | Ordered lists in RTF numbered wrongly |
| Bug fixed | Scope "skiplast" is not working with header/footer tags | ||
| 2020-09-08 | v4.0.9fx1 | Bug fixed | CSS calc() malfunction |
| Bug fixed | Corrupted PDF output for some locales (e.g. nb_NO) under OpenJDK v10.0+ | ||
| Improvement | Automatic substitution of 0x7F - 0x9F character range, rarely supported by TTF/OTF, with Unicode equivalents | ||
| Bug fixed | Content cut after <text> under special conditions | ||
| Bug fixed | Wrong height of empty table cells | ||
| Bug fixed | <legend> tag is not rendered if its parent <fieldset> occupies more than one page | ||
| 2020-08-16 | v4.0.9 | RELEASE | v4.0.9 is released and available for download |
| Bug fixed | Table cell attribute nowrap="" (with a blank string as a value) takes no effect | ||
| Improvement | if there is no CJK font of requested family and style to render a content portion, as "the last resort" it looks for a capable one among all available TTF/OTF fonts. | ||
| Bug fixed | table cell inproperly inherits text alignment style from the table parent | ||
| Improvement | Added protectPhysicalUnitDimensions(boolean) method, known in PD4ML v3 API. | ||
| Improvement | Absolute positioning logic refactored to support complex document tag structures | ||
| 2020-06-08 | v4.0.8 | RELEASE | v4.0.8 is released and available for download |
| Bug fixed | broken/invalid PNG ICC color profile may result corrupted PDF output | ||
| 2020-06-05 | v4.0.8 v3.11.5 | Improvement | revised conditions for emulating italics and bold in a case of unavailability of the necessary fonts |
| 2020-05-19 | v4.0.8 | Bug fixed | invalid minimal width calculation by word-break: break-all; |
| Improvement | CSS cascading engine performance optimization | ||
| Improvement | Support of "word-break: break-word" style, despite it is deprecated | ||
| 2020-04-26 | v3.11.4 | Improvement | Font size accuracy in "protect physical unit dimensions" mode |
| 2020-04-20 | v4.0.8 | Improvement | Table row heights balance logic improved (for intersecting rowspans) |
| Bug fixed | Font indexer may refer to an invalid .TTC collection index | ||
| Bug fixed | NPE if terminate() API called before readHTML() | ||
| Improvement | caching logic updates; cache disabling with pd4ml.cache.enable=false runtime property is possible again | ||
| Improvement | HTML rendering engine refactoring to achieve a better handling of implicit element sizes | ||
| Bug fixed | abs positioned elements: page break logic issues | ||
| 2020-01-09 | v3.11.3 | RELEASE | v3.11.3 is released and available for download |
| 2020-01-01 | v4.0.7 | RELEASE | v4.0.7 is released and available for download |
| Improvement | <pd4tl:header> and <pd4tl:footer> tags added to PD4ML taglib v4 for backward compatibility | ||
| Bug fixed | table cell content centering issues (very special cases) | ||
| Bug fixed | percentual min-height in header/footer may corrupt PDF page layout in some cases | ||
| Bug fixed | documents not always watermarked when PD4ML is in evaluation mode | ||
| Improvement | font kerning logic refinements | ||
| Bug fixed | missing character entities by SVG text rendering | ||
| Bug fixed | incorrect handling of soft hyphens (­) | ||
| Bug fixed | PDF/A-1b spec compliance regression | ||
| Improvement | rowspanned table cells page break logic refinements | ||
| Improvement | better error workarounds by a merging of corrupted/inconsistent PDFs | ||
| Improvement | removes trailing blank pages (if any) from resulting documents | ||
| Improvement | reusing of available font files created/stored in TEMP directory by previous conversion requests | ||
| Bug fixed | Overridden Producer document property does not match XMP metadata | ||
| 2019-11-02 | v4.0.6fx4 | Improvement | Page break logic refinements for table cells spanning more than one page break |
| 2019-10-28 | v4.0.6fx3 | Bug fixed | Element positioning issues of the built-in SVG renderer |
| 2019-10-24 | v4.0.6fx1 v3.11.2 | Bug fixed | RTF output: minor layout rendering flaws |
| 2019-10-19 | v4.0.6 | RELEASE | v4.0.6 is released and available for download |
| Improvement | Added flex layout support | ||
| 2019-09-30 | v3.11.1fx1 v4.0.6 | Improvement | Embedding performance optimization for big inline base64-encoded attachments |
| 2019-09-25 | v4.0.6 | Bug fixed | PDF form generation fails if radio input field shares the same name with inputs of other types |
| Bug fixed | Rendering issue of table cells spanning more than one page break | ||
| Bug fixed | incorrect scaling of SVG under some conditions | ||
| Improvement | pd4ml.setParam(Constants.PD4ML_GENERATE_TOOLTIPS, "true") API call forces generation of PDF tooltips | ||
| Improvement | pd4ml.enableHyperlinks(boolean enable) method functionality implemented | ||
| Bug fixed | Misplaced textarea background. Incorrect textarea white space processing. | ||
| Improvement | Implements pd4ml.setRenderingHints(Map hints) API method to control rendering algorithms by image output. | ||
| Improvement | Supports parametrized page breaks to change target PDF page format and scale factor on-a-fly | ||
| Improvement | Adds support for conditional page breaks: <pd4ml:page.break ifSpaceBelowLessThan="50px"> | ||
| Bug fixed | Rendering issue of special characters with Type1 fonts | ||
| Improvement | Applying proprietary data-rtf-convert: wmf style to an image forces it to be converted to WMF format by RTF output | ||
| Bug fixed | HTTPS compatibility issues with JDK 10 and newer | ||
| Bug fixed | :nth-child(odd) pseudo style may override :nth-child(even) | ||
| Bug fixed | A presence of SVG objects in a table cell may corrupt table border output. The issue impacts only HTML-to-Image conversion | ||
| Bug fixed | Invalid positioning of floats nested to floats | ||
| 2019-09-01 | v3.11.1fx1 | Improvement | v3 is compatible with JDK 1.3 again. |
| 2019-08-26 | v4.0.5 | RELEASE | v4.0.5 is released and available for download |
| 2019-08-26 | v3.11.1 | RELEASE | v3.11.1 is released and available for download |
| 2019-08-17 | v4.0.5 | Bug fixed | Occaional lost of a text line by an implicit page break (under special conditions) |
| Improvement | Multi-threaded resource loading | ||
| Bug fixed | Incorrect content scaling by adjustHtmlWidth=true | ||
| Bug fixed | Under some conditions page-break-before: always takes no effect | ||
| Bug fixed | $[page] and $[total] placeholders not always substituted if the header/footer has international text content | ||
| Bug fixed | "background-position: center" takes no effect by "background-size: contain" | ||
| Bug fixed | Applying of PDF permissions implicitly sets document password | ||
| 2019-06-18 | v4.0.4 | RELEASE | v4.0.4 is released and available for download |
| 2019-06-12 | v3.11.0 | RELEASE | v3.11.0 is released and available for download |
| 2019-06-07 | v3.11.0 v4.0.4 | Improvement | New API method PD4ML.applyKerning(boolean) |
| 2019-06-06 | v4.0.4 | Bug fixed | Issues by loading of TTF/OTF fonts from JAR file |
| Improvement | Multiple PDF/UA output refinements and minor bugfixes | ||
| 2019-05-31 | v3.10.9fx5 v4.0.4 | Improvement | RTF conversion performance optimization |
| 2019-05-30 | v4.0.4 | Improvement | HTML metadata from <meta> tags is used to set PDF's Subject, Keywords and Author properties. |
| Improvement | Product source code aligned for backward JDK1.7+ compatibility | ||
| Bug fixed | Evaluation watermark appearance makes PDF hyperlinks inactive | ||
| Bug fixed | auto page break logic flaws (by tables with rowspanned cells) | ||
| 2019-05-17 | v3.10.9fx4 v4.0.4 | Bug fixed | Exception by merging of PDFs exported from Crystal Reports |
| Bug fixed | rowspanned empty table cells may corrupt RTF document integrity | ||
| 2019-05-06 | v4.0.3 | RELEASE | v4.0.3 is released and available for download |
| Bug fixed | inconsistent PDF tagging of watermarks by PDF/UA output | ||
| Improvement | Implicitly groups leading table rows with <th> cells to <thead> section (if no other table section specified) | ||
| Bug fixed | incorrect tagging of row/colspanned table cells by PDF/UA output | ||
| 2019-04-27 | v3.10.9fx3 | Improvement | cedilla diacritic glyphs support for not Unicode3.0-compliant font "Arial Unicode MS" |
| 2019-04-27 | v4.0.3 | Bug fixed | undesired blank space after some Type1 (non-TTF) font glyphs |
| 2019-04-25 | v3.10.9fx3 v4.0.3 | Improvement | Arabic lists support by RTF output; RTF lists output refinements |
| 2019-04-09 | v4.0.3 | Bug fixed | Table header replication issues in a nested table context |
| Bug fixed | corrupted TOC style | ||
| Bug fixed | Image format output: incorrect positioning of watermarks | ||
| Bug fixed | <hr> CSS transform and alignment issues | ||
| Bug fixed | box rounded corners minor rendering issue | ||
| Bug fixed | misplaced span background fill in "text-align: justify" mode | ||
| Improvement | CSS transform (rotate, scale, skew etc) supported | ||
| 2019-03-07 | v4.0.2 | RELEASE | v4.0.2 is released and available for download |
| Improvement | RTL script (Arabic, Hebrew) support added | ||
| Bug fixed | Built-in SVG renderer: Rotated graphics context is not inherited by nested elements | ||
| 2019-02-14 | v3.10.9fx1 | Improvement | default TTF font (if specified and exists) takes precedence over built-in Type1 PDF viewer fonts |
| 2019-02-01 | v4.0.2 | Improvement | added a possibility to embed extra TTF font glyph ranges into resulting PDF (e.g. to cover possible PDF form input). |
| Improvement | Multi-threading stability tweaks. | ||
| Bug fixed | SVG image may appear blank in PDF if "overflow: hidden" style is applied to its parent block element. | ||
| Improvement | Support of MathML rendering when Jeuclid library is in the classppath | ||
| Improvement | Apache Batik is supported as an optional plugable SVG renderer | ||
| 2019-01-16 | v3.10.9 | RELEASE | v3.10.9 is released and available for download |
| 2019-01-16 | v3.10.9fx1 | Bug fixed | UTF32 characters copy/paste (from PDF) error |
| 2019-01-15 | v3.10.9 | Bug fixed | default font changed to Arial for backward compatibility with older versions |
| 2019-01-15 | v3.10.9 v4.0.2 | Improvement | 4byte (UTF32) character support added. Minor CJK rendering issues fixed. |
| 2018-12-31 | v4.0.2 | Improvement | <XMP> HTML tag supported |
| 2018-12-31 | v4.0.1 | RELEASE | v4.0.1 is released and available for download |
| Improvement | PDF/UA (and PDF/A-2a) support added | ||
| Bug fixed | Logical width of colspanned cell wrongly applied by table layout calculation | ||
| 2018-11-28 | v3.10.8 | RELEASE | v3.10.8 released and available for download |
| Improvement | bottom-top text orientation support with writing-mode: vertical-lr; transform: rotate(-180deg); | ||
| 2018-11-26 | v4.0.1 | Site | Issue submit form added. |
| Site | Release notes viewer added | ||
| 2018-11-18 | v3.10.8 v4.0.1 | Bug fixed | colons and dots in CSS function name makes style parser to break |
| 2018-11-10 | v4.0.1 | Site | Updated version of PD4ML v4 reference manual published |
| Bug fixed | PD4ML v3 API Wrapper incorrectly overrides document encoding | ||
| Improvement | New -gui flag for Pd4Cmd | ||
| Bug fixed | Watermark misplaced by image output | ||
| Bug fixed | Activation code reading bug (affected by whitespaces) | ||
| 2018-09-03 | v4.0.0 | Site | Supported HTML tags page added |
| Site | Supported CSS properties page added | ||
| 2018-08-03 | v4.0.0 | RELEASE | v4.0.0 released and available for download |
| Improvement | SVG images can be converted directly, without a parent HTML | ||
| Improvement | PD4ML implements a check for license file (pd4ml.lic) in the classpath (e.g. in the root folder of JAR files), if it has not been found in the working directory. | ||
| Improvement | useTTF() name filter parameter added. With the parameter specified, PD4ML performs auto-index only for TTF files, whose names match a given pattern. | ||
| Improvement | Lightweight SVG renderer built in. External SVG engine (Batik) is going to be supported as a plugin by v4.0.2 | ||
447 (cached 2026-10-18 23:11)
