Skip to content

Releases: foliojs/pdfkit


24 Mar 01:24
Choose a tag to compare
  • Add subset for PDF/UA
  • Fix for line breaks in list items (#1486)
  • Fix for soft hyphen not being replaced by visible hyphen if necessary (#457)
  • Optimize output files by ignoring identity transforms
  • Fix for Acroforms - setting an option to false will still apply the flag (#1495)
  • Fix for text extraction in PDFium-based viewers due to invalid ToUnicodeMap (#1498)
  • Remove deprecated write method
  • Drop support for Node.js < 18 and for browsers released before 2020


09 Nov 07:35
Choose a tag to compare
  • Add support for PDF/A-1b, PDF/A-1a, PDF/A-2b, PDF/A-2a, PDF/A-3b, PDF/A-3a
  • Update crypto-js to v4.2.0 (properly fix security issue)


24 Oct 11:51
Choose a tag to compare
  • Add tiling pattern support


01 Jul 15:48
Choose a tag to compare
  • Update crypto-js to v3.3 (fix security issue)
  • Update fontkit to 1.8.1


10 Apr 13:56
Choose a tag to compare
  • Add support for Embedded Files and File Attachment Annotations
  • Accessibility support
  • Replace integration tests by visual regression tests
  • Fix access permissions in PDF version 1.7ext3
  • Fix Buffer() is deprecation warning
  • Add to generate documentation files
  • Fix "@" in FontName


30 Jun 13:52
Choose a tag to compare
  • Fix infinite loop when an individual character is bigger than the width of the text.
  • Fix infinite loop when text is positioned after page right margin
  • Allow links in continued text to be stopped by setting link to null
  • Add support to interlaced PNG files
  • Do not emit _interopDefault helper in commonjs build
  • Fix gradient with multiple stops (#1045)
  • Set link annotation flag to print by default
  • Add support for AcroForms
  • Drop support for (uncommon) cid less fonts on standalone build (reduces bundle size)


06 Jun 23:42
Choose a tag to compare
  • Fix links to pages within the document
  • Add support for named destinations
  • Throw errors when dash(...) is passed invalid lengths
  • Remove PDFDocument#output method
  • Add standalone build (js/pdfkit.standalone.js)


26 Aug 17:28
Choose a tag to compare

Switches the font engine from an internal one to fontkit, an advanced text shaping engine I've been working on for a while. For PDFKit, this means the following features and improvements:

  • Support for OpenType (CFF), WOFF, and WOFF2 fonts. Previously PDFKit only supported TTF, DFont, and TTC fonts.
  • Support for advanced text layout features, including ligatures, kerning, and other advanced glyph substitutions and positioning adjustments.
  • Support for OpenType GSUB and GPOS tables, and script specific shapers (currently Arabic and Hangul shapers are included).
  • Support for Apple Advanced Typography (morx) substitutions.
  • Support for kerning built-in PDF fonts using data from AFM files.
  • Support for vertical positioning adjustments, e.g. for accents on non-composite glyphs.
  • Fonts are now embedded as CID fonts, meaning support for large character sets like CJK scripts is much improved.

PDFKit's API remains almost exactly the same, the changes are entirely under the covers. The only addition is a new features option to the doc.text method, which can be used to apply custom OpenType features to the text. If given, it should be an array of OpenType feature tags. Most of the time, this is unnecessary as the script shaper will automatically apply required features.


26 Mar 03:12
Choose a tag to compare

This is a fairly minor release. It includes the following fixes and improvements:

  • #331 Diminishing left-margin when inserting lists. Thanks @laszbalo.
  • #343 Fixed wrong XRef size. Thanks @denyskoch.
  • #377 Fixed regression caused by CoffeeScript 1.9.0+. Thanks @leesdolphin.
  • #375 Refactors PDF object representation of strings and buffers. Thanks @NathanaelA.

A precompiled version is attached to the release.


15 Sep 18:49
Choose a tag to compare

This is a big release. I'd like to thank the contributors listed below for making this possible!

  • Adds support for an optional page buffering feature where you can go back to previous pages to add things like page numbers. Thanks to @ef4. See #302 for the PR, and here for some docs.
  • Fixes indent with the continued option for text. Thanks @ef4. See #300.
  • Fixes center-aligned text with the characterSpacing option. Thanks again @ef4. See #301.
  • Works around missing ascender in ZapfDingbats font. Thanks @ef4. See #303.
  • Fixes an infinite loop when the first word of a text call is longer than the space available in the line. @ef4 again (this guy is awesome!). See #309.
  • Avoids unnecessarily breaking inside words when using continued. @ef4 deserves a medal. See #308.
  • Fixes TTF parsing when PDFKit is minified. Thanks to @yelouafi for this one. See #306.