pdfmake 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +21 -21
  3. package/README.md +75 -78
  4. package/build/fonts/Roboto/Roboto-Italic.ttf +0 -0
  5. package/build/fonts/Roboto/Roboto-Medium.ttf +0 -0
  6. package/build/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  7. package/build/fonts/Roboto/Roboto-Regular.ttf +0 -0
  8. package/build/fonts/Roboto.js +27 -0
  9. package/build/pdfmake.js +64813 -64584
  10. package/build/pdfmake.js.map +1 -1
  11. package/build/pdfmake.min.js +2 -2
  12. package/build/pdfmake.min.js.map +1 -1
  13. package/build/standard-fonts/Courier.js +27 -27
  14. package/build/standard-fonts/Helvetica.js +27 -27
  15. package/build/standard-fonts/Symbol.js +21 -21
  16. package/build/standard-fonts/Times.js +27 -27
  17. package/build/standard-fonts/ZapfDingbats.js +21 -21
  18. package/build/vfs_fonts.js +5 -5
  19. package/build-vfs.js +44 -44
  20. package/fonts/Roboto.js +8 -8
  21. package/js/3rd-party/svg-to-pdfkit/source.js +1 -1
  22. package/js/DocMeasure.js +11 -6
  23. package/js/DocumentContext.js +8 -3
  24. package/js/ElementWriter.js +42 -16
  25. package/js/LayoutBuilder.js +144 -78
  26. package/js/Line.js +16 -16
  27. package/js/OutputDocument.js +10 -10
  28. package/js/OutputDocumentServer.js +3 -3
  29. package/js/PDFDocument.js +3 -3
  30. package/js/PageElementWriter.js +15 -9
  31. package/js/Printer.js +28 -28
  32. package/js/Renderer.js +40 -8
  33. package/js/SVGMeasure.js +10 -10
  34. package/js/StyleContextStack.js +74 -51
  35. package/js/TableProcessor.js +14 -0
  36. package/js/TextBreaker.js +17 -17
  37. package/js/TextDecorator.js +12 -3
  38. package/js/TextInlines.js +34 -33
  39. package/js/base.js +4 -4
  40. package/js/browser-extensions/OutputDocumentBrowser.js +24 -24
  41. package/js/columnCalculator.js +2 -2
  42. package/js/helpers/node.js +47 -23
  43. package/js/helpers/variableType.js +18 -18
  44. package/js/qrEnc.js +38 -38
  45. package/js/virtual-fs.js +11 -11
  46. package/package.json +12 -12
  47. package/src/3rd-party/svg-to-pdfkit/LICENSE +9 -9
  48. package/src/3rd-party/svg-to-pdfkit/source.js +2745 -2745
  49. package/src/3rd-party/svg-to-pdfkit.js +3 -3
  50. package/src/DocMeasure.js +745 -738
  51. package/src/DocPreprocessor.js +283 -283
  52. package/src/DocumentContext.js +345 -338
  53. package/src/ElementWriter.js +441 -417
  54. package/src/LayoutBuilder.js +1336 -1258
  55. package/src/Line.js +114 -114
  56. package/src/OutputDocument.js +64 -64
  57. package/src/OutputDocumentServer.js +32 -32
  58. package/src/PDFDocument.js +174 -174
  59. package/src/PageElementWriter.js +187 -179
  60. package/src/PageSize.js +53 -53
  61. package/src/Printer.js +306 -306
  62. package/src/Renderer.js +445 -409
  63. package/src/SVGMeasure.js +109 -109
  64. package/src/StyleContextStack.js +208 -179
  65. package/src/TableProcessor.js +620 -602
  66. package/src/TextBreaker.js +168 -168
  67. package/src/TextDecorator.js +175 -161
  68. package/src/TextInlines.js +224 -223
  69. package/src/URLResolver.js +43 -43
  70. package/src/base.js +70 -70
  71. package/src/browser-extensions/OutputDocumentBrowser.js +80 -80
  72. package/src/browser-extensions/fonts/Roboto.js +27 -27
  73. package/src/browser-extensions/index.js +55 -55
  74. package/src/browser-extensions/pdfMake.js +1 -1
  75. package/src/browser-extensions/standard-fonts/Courier.js +27 -27
  76. package/src/browser-extensions/standard-fonts/Helvetica.js +27 -27
  77. package/src/browser-extensions/standard-fonts/Symbol.js +21 -21
  78. package/src/browser-extensions/standard-fonts/Times.js +27 -27
  79. package/src/browser-extensions/standard-fonts/ZapfDingbats.js +21 -21
  80. package/src/browser-extensions/virtual-fs-cjs.js +1 -1
  81. package/src/columnCalculator.js +154 -154
  82. package/src/helpers/node.js +134 -110
  83. package/src/helpers/tools.js +44 -44
  84. package/src/helpers/variableType.js +50 -50
  85. package/src/index.js +16 -16
  86. package/src/qrEnc.js +796 -796
  87. package/src/standardPageSizes.js +52 -52
  88. package/src/tableLayouts.js +100 -100
  89. package/src/virtual-fs.js +66 -66
  90. package/standard-fonts/Courier.js +8 -8
  91. package/standard-fonts/Helvetica.js +8 -8
  92. package/standard-fonts/Symbol.js +5 -5
  93. package/standard-fonts/Times.js +8 -8
  94. package/standard-fonts/ZapfDingbats.js +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.4 - 2026-02-13
4
+
5
+ - Added vertical alignment for table cells via `verticalAlignment` property, values: `top` (default), `middle`, `bottom`
6
+ - Fixed margin inheritance when styles are extended multiple times
7
+
8
+ ## 0.3.3 - 2026-01-18
9
+
10
+ - Added properties for ToC:
11
+ - `hideEmpty` - set to `true` if you can hide an empty ToC
12
+ - `sortBy` - `'page'` (default) or `'title'`
13
+ - `sortLocale` - custom locale to sort by property `sortBy`
14
+ - Added property `decorationThickness` for `text` to set width of the decoration line
15
+ - Added inherited/extends styles, use property `extends` in style with style name or array of string with style names
16
+ - Fixed margin override with 0 value
17
+ - Fixed margin override from multiple styles
18
+ - Fixed text decoration for superscript and subscript
19
+ - Fixed svg-to-pdfkit - TypeError: t.classList.contains is not a function
20
+
3
21
  ## 0.3.2 - 2026-01-11
4
22
 
5
23
  - Fixed non-working `open()` and `print()` methods in browser
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2014-2015 bpampuch
4
- 2016-2026 liborm85
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy of
7
- this software and associated documentation files (the "Software"), to deal in
8
- the Software without restriction, including without limitation the rights to
9
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10
- the Software, and to permit persons to whom the Software is furnished to do so,
11
- subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014-2015 bpampuch
4
+ 2016-2026 liborm85
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
7
+ this software and associated documentation files (the "Software"), to deal in
8
+ the Software without restriction, including without limitation the rights to
9
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10
+ the Software, and to permit persons to whom the Software is furnished to do so,
11
+ subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,78 +1,75 @@
1
- # pdfmake [![Node.js CI][githubactions_img]][githubactions_url] [![GitHub][github_img]][github_url] [![npm][npm_img]][npm_url] [![CDNJS][cdnjs_img]][cndjs_url]
2
-
3
- [githubactions_img]: https://github.com/bpampuch/pdfmake/actions/workflows/node.js.yml/badge.svg?branch=master
4
- [githubactions_url]: https://github.com/bpampuch/pdfmake/actions
5
-
6
- [github_img]: https://img.shields.io/github/release/bpampuch/pdfmake.svg?colorB=0E7FBF
7
- [github_url]: https://github.com/bpampuch/pdfmake/releases/latest
8
-
9
- [npm_img]: https://img.shields.io/npm/v/pdfmake.svg?colorB=0E7FBF
10
- [npm_url]: https://www.npmjs.com/package/pdfmake
11
-
12
- [cdnjs_img]: https://img.shields.io/cdnjs/v/pdfmake.svg?colorB=0E7FBF
13
- [cndjs_url]: https://cdnjs.com/libraries/pdfmake
14
-
15
-
16
- PDF document generation library for server-side and client-side in pure JavaScript.
17
-
18
- Check out [the playground](http://bpampuch.github.io/pdfmake/playground.html) and [examples](https://github.com/bpampuch/pdfmake/tree/master/examples).
19
-
20
- ### Features
21
-
22
- * line-wrapping,
23
- * text-alignments (left, right, centered, justified),
24
- * numbered and bulleted lists,
25
- * tables and columns
26
- * auto/fixed/star-sized widths,
27
- * col-spans and row-spans,
28
- * headers automatically repeated in case of a page-break,
29
- * images and vector graphics,
30
- * convenient styling and style inheritance,
31
- * page headers and footers:
32
- * static or dynamic content,
33
- * access to current page number and page count,
34
- * background-layer,
35
- * page dimensions and orientations,
36
- * margins,
37
- * document sections,
38
- * custom page breaks,
39
- * font embedding,
40
- * support for complex, multi-level (nested) structures,
41
- * table of contents,
42
- * helper methods for opening/printing/downloading the generated PDF,
43
- * setting of PDF metadata (e.g. author, subject).
44
-
45
- ## Documentation
46
-
47
- **Documentation URL: https://pdfmake.github.io/docs/**
48
-
49
- Source of documentation: https://github.com/pdfmake/docs **Improvements are welcome!**
50
-
51
- ## Building from sources
52
-
53
- using npm:
54
- ```
55
- git clone https://github.com/bpampuch/pdfmake.git
56
- cd pdfmake
57
- npm install
58
- npm run build
59
- ```
60
-
61
- using yarn:
62
- ```
63
- git clone https://github.com/bpampuch/pdfmake.git
64
- cd pdfmake
65
- yarn
66
- yarn run build
67
- ```
68
-
69
- ## License
70
- MIT
71
-
72
- ## Authors
73
- * [@bpampuch](https://github.com/bpampuch) (founder)
74
- * [@liborm85](https://github.com/liborm85)
75
-
76
- pdfmake is based on a truly amazing library [pdfkit](https://github.com/devongovett/pdfkit) (credits to [@devongovett](https://github.com/devongovett)).
77
-
78
- Thanks to all contributors.
1
+ # pdfmake [![Node.js CI][githubactions_img]][githubactions_url] [![GitHub][github_img]][github_url] [![npm][npm_img]][npm_url]
2
+
3
+ [githubactions_img]: https://github.com/bpampuch/pdfmake/actions/workflows/node.js.yml/badge.svg?branch=master
4
+ [githubactions_url]: https://github.com/bpampuch/pdfmake/actions
5
+
6
+ [github_img]: https://img.shields.io/github/release/bpampuch/pdfmake.svg?colorB=0E7FBF
7
+ [github_url]: https://github.com/bpampuch/pdfmake/releases/latest
8
+
9
+ [npm_img]: https://img.shields.io/npm/v/pdfmake.svg?colorB=0E7FBF
10
+ [npm_url]: https://www.npmjs.com/package/pdfmake
11
+
12
+
13
+ PDF document generation library for server-side and client-side in pure JavaScript.
14
+
15
+ Check out [the playground](http://bpampuch.github.io/pdfmake/playground.html) and [examples](https://github.com/bpampuch/pdfmake/tree/master/examples).
16
+
17
+ ### Features
18
+
19
+ * line-wrapping,
20
+ * text-alignments (left, right, centered, justified),
21
+ * numbered and bulleted lists,
22
+ * tables and columns
23
+ * auto/fixed/star-sized widths,
24
+ * col-spans and row-spans,
25
+ * headers automatically repeated in case of a page-break,
26
+ * images and vector graphics,
27
+ * convenient styling and style inheritance,
28
+ * page headers and footers:
29
+ * static or dynamic content,
30
+ * access to current page number and page count,
31
+ * background-layer,
32
+ * page dimensions and orientations,
33
+ * margins,
34
+ * document sections,
35
+ * custom page breaks,
36
+ * font embedding,
37
+ * support for complex, multi-level (nested) structures,
38
+ * table of contents,
39
+ * helper methods for opening/printing/downloading the generated PDF,
40
+ * setting of PDF metadata (e.g. author, subject).
41
+
42
+ ## Documentation
43
+
44
+ **Documentation URL: https://pdfmake.github.io/docs/**
45
+
46
+ Source of documentation: https://github.com/pdfmake/docs **Improvements are welcome!**
47
+
48
+ ## Building from sources
49
+
50
+ using npm:
51
+ ```
52
+ git clone https://github.com/bpampuch/pdfmake.git
53
+ cd pdfmake
54
+ npm install
55
+ npm run build
56
+ ```
57
+
58
+ using yarn:
59
+ ```
60
+ git clone https://github.com/bpampuch/pdfmake.git
61
+ cd pdfmake
62
+ yarn
63
+ yarn run build
64
+ ```
65
+
66
+ ## License
67
+ MIT
68
+
69
+ ## Authors
70
+ * [@bpampuch](https://github.com/bpampuch) (founder)
71
+ * [@liborm85](https://github.com/liborm85)
72
+
73
+ pdfmake is based on a truly amazing library [pdfkit](https://github.com/devongovett/pdfkit) (credits to [@devongovett](https://github.com/devongovett)).
74
+
75
+ Thanks to all contributors.