| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 6.2.0 source code.tar.gz | 2026-09-21 | 121.3 MB | |
| 6.2.0 source code.zip | 2026-09-21 | 121.9 MB | |
| README.md | 2026-09-21 | 4.9 kB | |
| Totals: 3 Items | 243.2 MB | 0 | |
This release adds image fit and alignment controls, SVG rotation, CMYK output for SVG and barcodes, and Turkish UI support. It also fixes a large batch of long-standing rendering, Designer, and TypeScript issues.
New
- Image fit and alignment: Image schemas support
objectFit(contain/cover) andobjectPosition(a 9-position grid, like CSS). Existing templates without these fields keep rendering ascontain+center center. (#1630, closes [#696]) - SVG rotation: SVG schemas can now be rotated in the Designer and in generated PDFs. (#1629)
- CMYK for SVG and barcodes: When
colorType: 'cmyk'is set, SVG fills, strokes, and text, and barcode colors are written as CMYK.PDFPage.drawSvgaccepts an optional color mapper. (#1627, [#1628]) - Barcodes as vectors: Barcodes and QR codes are drawn into PDFs as SVG vectors instead of embedded PNG images, so they stay sharp at any zoom. UI previews are unchanged. (#1628, closes [#460])
- Designer
updateTemplatetarget page:designer.updateTemplate(template, { page })sets the active page after a programmatic update. Without the option, the current page is now preserved instead of jumping back to page 1. (#1625, closes [#1235]) - Turkish: Add Turkish (
lang: 'tr') to the UI and playground. (#1609)
Fixes
- Page order in generated PDFs: Each page's schemas are rendered in array order, and schemas that share a name on the same page are all rendered. (#1626)
- Line breaks: The Viewer and generated PDFs use the same line-wrapping rules (UAX [#14]), so text breaks at the same places on screen and in the PDF, including around quotes and colons. (#1615, closes [#1115])
- Thai and Lao: Tone marks such as ไม้เอก (U+0E48) now render when a string starts with Latin or CJK characters. (#1614, closes [#1347])
- Image orientation: JPEG/PNG EXIF orientation is applied before embedding, so photos are no longer upside down or sideways in PDFs. (#1617, closes [#1183])
- SVG text fonts: Configured fonts are passed to SVG rendering, fixing WinAnsi encoding errors for non-Latin SVG text. (#1624, closes [#1433])
- Rotated rectangles: Thick borders on rotated rectangles are placed the same in the PDF as in the UI, and no longer disappear at 90°. (#1622, closes [#382])
- Barcodes in Web Workers: QR and barcode generation works in browser module Workers. (#1613, closes [#702])
- Read-only multi-variable text: Renders the substituted text instead of the variable names. (#1611, closes [#1345])
- Read-only tables: Use
input[schema.name]when provided instead of always rendering the Designer sample data. (#1612, closes [#1299]) - Static schema: Multi-variable text in
basePdf.staticSchemano longer throwsText block not found, and static schema ids stay stable during a Designer session. (#1610, closes [#1296]) - Designer size: Designer, Form, and Viewer no longer render at 0×0 when the container is off-screen or only partly visible. (#1607, closes [#1606])
- Zoom scrolling: At high zoom, the viewer waits until the current page is mostly scrolled away before switching pages. (#1608, closes [#1240])
- Undo/redo on non-US keyboards: Keep
hotkeys-jsat 4.0.4 or later so undo/redo is not swapped on layouts such as German QWERTZ. (#1621, closes [#1465]) - TypeScript ≤ 5.6: Published typings use a named
PdfBytestype, soTemplateinference no longer collapses tounknown. (#1623, closes [#1021]) - Options: UI options are shallow-copied on construct and
updateOptions, so later changes to the caller's object do not leak into the UI. - Website: Landing page cards wrap correctly on narrow screens. (#1620, closes [#929])
Dependencies and tooling
- Update
@testing-library/jest-domto 7.0.1 andbrace-expansionto 5.0.12.
Upgrade notes
This release keeps the public API backward compatible, but some generated PDFs may look different:
- Barcodes are vectors now. The visual result is sharper, but the PDF no longer contains a PNG image for each barcode. If you post-process PDFs and look for barcode images, update that step. (#1628)
- All same-name schemas on a page are rendered. Previously only one of them was drawn. Rendering order now follows each page's
schemasarray. (#1626) - Line breaks may move. Text in generated PDFs now wraps with the same rules as the Viewer, which can change where lines break and the height of dynamic content. (#1615)
- Images with EXIF orientation are rotated correctly. If you rotated such images manually to work around the old behavior, remove that workaround. (#1617)
- Read-only tables and multi-variable text use input values when they are provided, instead of the Designer sample content. (#1611, [#1612])
Full changelog: https://github.com/pdfme/pdfme/compare/6.1.13...6.2.0