@pdfme/pdf-lib 5.4.0-dev.59 → 5.4.0-dev.65

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 (487) hide show
  1. package/dist/cjs/src/api/PDFDocument.js +3 -11
  2. package/dist/cjs/src/api/PDFDocument.js.map +1 -1
  3. package/dist/cjs/src/api/PDFEmbeddedFile.js.map +1 -1
  4. package/dist/cjs/src/api/PDFEmbeddedPage.js.map +1 -1
  5. package/dist/cjs/src/api/PDFFont.js.map +1 -1
  6. package/dist/cjs/src/api/PDFJavaScript.js.map +1 -1
  7. package/dist/cjs/src/api/PDFPage.js +16 -42
  8. package/dist/cjs/src/api/PDFPage.js.map +1 -1
  9. package/dist/cjs/src/api/colors.js.map +1 -1
  10. package/dist/cjs/src/api/errors.js.map +1 -1
  11. package/dist/cjs/src/api/form/PDFButton.js +1 -3
  12. package/dist/cjs/src/api/form/PDFButton.js.map +1 -1
  13. package/dist/cjs/src/api/form/PDFCheckBox.js +1 -3
  14. package/dist/cjs/src/api/form/PDFCheckBox.js.map +1 -1
  15. package/dist/cjs/src/api/form/PDFDropdown.js +1 -3
  16. package/dist/cjs/src/api/form/PDFDropdown.js.map +1 -1
  17. package/dist/cjs/src/api/form/PDFField.js +4 -10
  18. package/dist/cjs/src/api/form/PDFField.js.map +1 -1
  19. package/dist/cjs/src/api/form/PDFForm.js +1 -3
  20. package/dist/cjs/src/api/form/PDFForm.js.map +1 -1
  21. package/dist/cjs/src/api/form/PDFOptionList.js.map +1 -1
  22. package/dist/cjs/src/api/form/PDFRadioGroup.js +1 -3
  23. package/dist/cjs/src/api/form/PDFRadioGroup.js.map +1 -1
  24. package/dist/cjs/src/api/form/PDFSignature.js +1 -3
  25. package/dist/cjs/src/api/form/PDFSignature.js.map +1 -1
  26. package/dist/cjs/src/api/form/PDFTextField.js.map +1 -1
  27. package/dist/cjs/src/api/form/appearances.js.map +1 -1
  28. package/dist/cjs/src/api/operations.js.map +1 -1
  29. package/dist/cjs/src/api/operators.js +1 -5
  30. package/dist/cjs/src/api/operators.js.map +1 -1
  31. package/dist/cjs/src/api/rotations.js.map +1 -1
  32. package/dist/cjs/src/api/svg.js +25 -23
  33. package/dist/cjs/src/api/svg.js.map +1 -1
  34. package/dist/cjs/src/api/svgPath.js +1 -2
  35. package/dist/cjs/src/api/svgPath.js.map +1 -1
  36. package/dist/cjs/src/api/text/layout.js.map +1 -1
  37. package/dist/cjs/src/core/PDFContext.js.map +1 -1
  38. package/dist/cjs/src/core/PDFObjectCopier.js.map +1 -1
  39. package/dist/cjs/src/core/acroform/PDFAcroButton.js +1 -2
  40. package/dist/cjs/src/core/acroform/PDFAcroButton.js.map +1 -1
  41. package/dist/cjs/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  42. package/dist/cjs/src/core/acroform/PDFAcroChoice.js.map +1 -1
  43. package/dist/cjs/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  44. package/dist/cjs/src/core/acroform/PDFAcroField.js.map +1 -1
  45. package/dist/cjs/src/core/acroform/PDFAcroForm.js.map +1 -1
  46. package/dist/cjs/src/core/acroform/PDFAcroListBox.js.map +1 -1
  47. package/dist/cjs/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  48. package/dist/cjs/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  49. package/dist/cjs/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  50. package/dist/cjs/src/core/acroform/PDFAcroSignature.js.map +1 -1
  51. package/dist/cjs/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  52. package/dist/cjs/src/core/acroform/utils.js.map +1 -1
  53. package/dist/cjs/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  54. package/dist/cjs/src/core/crypto.js +122 -179
  55. package/dist/cjs/src/core/crypto.js.map +1 -1
  56. package/dist/cjs/src/core/document/PDFCrossRefSection.js.map +1 -1
  57. package/dist/cjs/src/core/document/PDFHeader.js.map +1 -1
  58. package/dist/cjs/src/core/document/PDFTrailer.js.map +1 -1
  59. package/dist/cjs/src/core/embedders/CMap.js.map +1 -1
  60. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js +1 -2
  61. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  62. package/dist/cjs/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  63. package/dist/cjs/src/core/embedders/FileEmbedder.js +3 -7
  64. package/dist/cjs/src/core/embedders/FileEmbedder.js.map +1 -1
  65. package/dist/cjs/src/core/embedders/JpegEmbedder.js +1 -3
  66. package/dist/cjs/src/core/embedders/JpegEmbedder.js.map +1 -1
  67. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js +11 -7
  68. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  69. package/dist/cjs/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  70. package/dist/cjs/src/core/errors.js +1 -3
  71. package/dist/cjs/src/core/errors.js.map +1 -1
  72. package/dist/cjs/src/core/index.js.map +1 -1
  73. package/dist/cjs/src/core/interactive/ViewerPreferences.js.map +1 -1
  74. package/dist/cjs/src/core/objects/PDFArray.js.map +1 -1
  75. package/dist/cjs/src/core/objects/PDFDict.js.map +1 -1
  76. package/dist/cjs/src/core/objects/PDFName.js +1 -3
  77. package/dist/cjs/src/core/objects/PDFName.js.map +1 -1
  78. package/dist/cjs/src/core/objects/PDFRawStream.js.map +1 -1
  79. package/dist/cjs/src/core/objects/PDFRef.js.map +1 -1
  80. package/dist/cjs/src/core/objects/PDFStream.js.map +1 -1
  81. package/dist/cjs/src/core/operators/PDFOperator.js.map +1 -1
  82. package/dist/cjs/src/core/parser/PDFObjectParser.js +1 -2
  83. package/dist/cjs/src/core/parser/PDFObjectParser.js.map +1 -1
  84. package/dist/cjs/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  85. package/dist/cjs/src/core/parser/PDFParser.js +1 -2
  86. package/dist/cjs/src/core/parser/PDFParser.js.map +1 -1
  87. package/dist/cjs/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  88. package/dist/cjs/src/core/streams/Ascii85Stream.js.map +1 -1
  89. package/dist/cjs/src/core/streams/DecryptStream.js.map +1 -1
  90. package/dist/cjs/src/core/streams/FlateStream.js.map +1 -1
  91. package/dist/cjs/src/core/streams/LZWStream.js.map +1 -1
  92. package/dist/cjs/src/core/streams/Stream.js.map +1 -1
  93. package/dist/cjs/src/core/streams/decode.js +1 -1
  94. package/dist/cjs/src/core/streams/decode.js.map +1 -1
  95. package/dist/cjs/src/core/structures/PDFCatalog.js.map +1 -1
  96. package/dist/cjs/src/core/structures/PDFCrossRefStream.js.map +1 -1
  97. package/dist/cjs/src/core/structures/PDFFlateStream.js.map +1 -1
  98. package/dist/cjs/src/core/structures/PDFObjectStream.js +1 -4
  99. package/dist/cjs/src/core/structures/PDFObjectStream.js.map +1 -1
  100. package/dist/cjs/src/core/structures/PDFPageLeaf.js +1 -6
  101. package/dist/cjs/src/core/structures/PDFPageLeaf.js.map +1 -1
  102. package/dist/cjs/src/core/structures/PDFPageTree.js +1 -1
  103. package/dist/cjs/src/core/structures/PDFPageTree.js.map +1 -1
  104. package/dist/cjs/src/core/syntax/Keywords.js +4 -30
  105. package/dist/cjs/src/core/syntax/Keywords.js.map +1 -1
  106. package/dist/cjs/src/core/writers/PDFStreamWriter.js.map +1 -1
  107. package/dist/cjs/src/core/writers/PDFWriter.js.map +1 -1
  108. package/dist/cjs/src/types/matrix.js.map +1 -1
  109. package/dist/cjs/src/utils/arrays.js +2 -5
  110. package/dist/cjs/src/utils/arrays.js.map +1 -1
  111. package/dist/cjs/src/utils/base64.js.map +1 -1
  112. package/dist/cjs/src/utils/elements/Arc.js +3 -6
  113. package/dist/cjs/src/utils/elements/Arc.js.map +1 -1
  114. package/dist/cjs/src/utils/elements/Circle.js.map +1 -1
  115. package/dist/cjs/src/utils/elements/Ellipse.js +1 -1
  116. package/dist/cjs/src/utils/elements/Ellipse.js.map +1 -1
  117. package/dist/cjs/src/utils/elements/Line.js +1 -3
  118. package/dist/cjs/src/utils/elements/Line.js.map +1 -1
  119. package/dist/cjs/src/utils/elements/Segment.js +1 -2
  120. package/dist/cjs/src/utils/elements/Segment.js.map +1 -1
  121. package/dist/cjs/src/utils/intersections.js.map +1 -1
  122. package/dist/cjs/src/utils/maths.js.map +1 -1
  123. package/dist/cjs/src/utils/strings.js.map +1 -1
  124. package/dist/cjs/src/utils/unicode.js.map +1 -1
  125. package/dist/cjs/src/utils/validators.js.map +1 -1
  126. package/dist/esm/src/api/PDFDocument.js +3 -11
  127. package/dist/esm/src/api/PDFDocument.js.map +1 -1
  128. package/dist/esm/src/api/PDFEmbeddedFile.js.map +1 -1
  129. package/dist/esm/src/api/PDFEmbeddedPage.js.map +1 -1
  130. package/dist/esm/src/api/PDFFont.js +1 -1
  131. package/dist/esm/src/api/PDFFont.js.map +1 -1
  132. package/dist/esm/src/api/PDFJavaScript.js.map +1 -1
  133. package/dist/esm/src/api/PDFPage.js +16 -42
  134. package/dist/esm/src/api/PDFPage.js.map +1 -1
  135. package/dist/esm/src/api/colors.js.map +1 -1
  136. package/dist/esm/src/api/errors.js.map +1 -1
  137. package/dist/esm/src/api/form/PDFButton.js +3 -5
  138. package/dist/esm/src/api/form/PDFButton.js.map +1 -1
  139. package/dist/esm/src/api/form/PDFCheckBox.js +3 -5
  140. package/dist/esm/src/api/form/PDFCheckBox.js.map +1 -1
  141. package/dist/esm/src/api/form/PDFDropdown.js +2 -4
  142. package/dist/esm/src/api/form/PDFDropdown.js.map +1 -1
  143. package/dist/esm/src/api/form/PDFField.js +4 -10
  144. package/dist/esm/src/api/form/PDFField.js.map +1 -1
  145. package/dist/esm/src/api/form/PDFForm.js +2 -4
  146. package/dist/esm/src/api/form/PDFForm.js.map +1 -1
  147. package/dist/esm/src/api/form/PDFOptionList.js +2 -2
  148. package/dist/esm/src/api/form/PDFOptionList.js.map +1 -1
  149. package/dist/esm/src/api/form/PDFRadioGroup.js +2 -4
  150. package/dist/esm/src/api/form/PDFRadioGroup.js.map +1 -1
  151. package/dist/esm/src/api/form/PDFSignature.js +1 -3
  152. package/dist/esm/src/api/form/PDFSignature.js.map +1 -1
  153. package/dist/esm/src/api/form/PDFTextField.js +2 -2
  154. package/dist/esm/src/api/form/PDFTextField.js.map +1 -1
  155. package/dist/esm/src/api/form/appearances.js +1 -1
  156. package/dist/esm/src/api/form/appearances.js.map +1 -1
  157. package/dist/esm/src/api/operations.js.map +1 -1
  158. package/dist/esm/src/api/operators.js +2 -6
  159. package/dist/esm/src/api/operators.js.map +1 -1
  160. package/dist/esm/src/api/rotations.js.map +1 -1
  161. package/dist/esm/src/api/svg.js +26 -24
  162. package/dist/esm/src/api/svg.js.map +1 -1
  163. package/dist/esm/src/api/svgPath.js +2 -3
  164. package/dist/esm/src/api/svgPath.js.map +1 -1
  165. package/dist/esm/src/api/text/layout.js +1 -1
  166. package/dist/esm/src/api/text/layout.js.map +1 -1
  167. package/dist/esm/src/core/PDFContext.js.map +1 -1
  168. package/dist/esm/src/core/PDFObjectCopier.js.map +1 -1
  169. package/dist/esm/src/core/acroform/PDFAcroButton.js +1 -2
  170. package/dist/esm/src/core/acroform/PDFAcroButton.js.map +1 -1
  171. package/dist/esm/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  172. package/dist/esm/src/core/acroform/PDFAcroChoice.js.map +1 -1
  173. package/dist/esm/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  174. package/dist/esm/src/core/acroform/PDFAcroField.js.map +1 -1
  175. package/dist/esm/src/core/acroform/PDFAcroForm.js.map +1 -1
  176. package/dist/esm/src/core/acroform/PDFAcroListBox.js.map +1 -1
  177. package/dist/esm/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  178. package/dist/esm/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  179. package/dist/esm/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  180. package/dist/esm/src/core/acroform/PDFAcroSignature.js.map +1 -1
  181. package/dist/esm/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  182. package/dist/esm/src/core/acroform/utils.js.map +1 -1
  183. package/dist/esm/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  184. package/dist/esm/src/core/crypto.js +122 -179
  185. package/dist/esm/src/core/crypto.js.map +1 -1
  186. package/dist/esm/src/core/document/PDFCrossRefSection.js.map +1 -1
  187. package/dist/esm/src/core/document/PDFHeader.js.map +1 -1
  188. package/dist/esm/src/core/document/PDFTrailer.js.map +1 -1
  189. package/dist/esm/src/core/embedders/CMap.js +1 -1
  190. package/dist/esm/src/core/embedders/CMap.js.map +1 -1
  191. package/dist/esm/src/core/embedders/CustomFontEmbedder.js +2 -3
  192. package/dist/esm/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  193. package/dist/esm/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  194. package/dist/esm/src/core/embedders/FileEmbedder.js +3 -7
  195. package/dist/esm/src/core/embedders/FileEmbedder.js.map +1 -1
  196. package/dist/esm/src/core/embedders/JpegEmbedder.js +1 -3
  197. package/dist/esm/src/core/embedders/JpegEmbedder.js.map +1 -1
  198. package/dist/esm/src/core/embedders/PDFPageEmbedder.js +12 -8
  199. package/dist/esm/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  200. package/dist/esm/src/core/embedders/StandardFontEmbedder.js +1 -1
  201. package/dist/esm/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  202. package/dist/esm/src/core/errors.js +1 -3
  203. package/dist/esm/src/core/errors.js.map +1 -1
  204. package/dist/esm/src/core/index.js +2 -2
  205. package/dist/esm/src/core/index.js.map +1 -1
  206. package/dist/esm/src/core/interactive/ViewerPreferences.js +1 -1
  207. package/dist/esm/src/core/interactive/ViewerPreferences.js.map +1 -1
  208. package/dist/esm/src/core/objects/PDFArray.js.map +1 -1
  209. package/dist/esm/src/core/objects/PDFDict.js.map +1 -1
  210. package/dist/esm/src/core/objects/PDFName.js +2 -4
  211. package/dist/esm/src/core/objects/PDFName.js.map +1 -1
  212. package/dist/esm/src/core/objects/PDFRawStream.js.map +1 -1
  213. package/dist/esm/src/core/objects/PDFRef.js.map +1 -1
  214. package/dist/esm/src/core/objects/PDFStream.js.map +1 -1
  215. package/dist/esm/src/core/operators/PDFOperator.js.map +1 -1
  216. package/dist/esm/src/core/parser/PDFObjectParser.js +1 -2
  217. package/dist/esm/src/core/parser/PDFObjectParser.js.map +1 -1
  218. package/dist/esm/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  219. package/dist/esm/src/core/parser/PDFParser.js +1 -2
  220. package/dist/esm/src/core/parser/PDFParser.js.map +1 -1
  221. package/dist/esm/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  222. package/dist/esm/src/core/streams/Ascii85Stream.js.map +1 -1
  223. package/dist/esm/src/core/streams/DecryptStream.js.map +1 -1
  224. package/dist/esm/src/core/streams/FlateStream.js.map +1 -1
  225. package/dist/esm/src/core/streams/LZWStream.js.map +1 -1
  226. package/dist/esm/src/core/streams/Stream.js.map +1 -1
  227. package/dist/esm/src/core/streams/decode.js +1 -1
  228. package/dist/esm/src/core/streams/decode.js.map +1 -1
  229. package/dist/esm/src/core/structures/PDFCatalog.js.map +1 -1
  230. package/dist/esm/src/core/structures/PDFCrossRefStream.js.map +1 -1
  231. package/dist/esm/src/core/structures/PDFFlateStream.js.map +1 -1
  232. package/dist/esm/src/core/structures/PDFObjectStream.js +1 -4
  233. package/dist/esm/src/core/structures/PDFObjectStream.js.map +1 -1
  234. package/dist/esm/src/core/structures/PDFPageLeaf.js +1 -6
  235. package/dist/esm/src/core/structures/PDFPageLeaf.js.map +1 -1
  236. package/dist/esm/src/core/structures/PDFPageTree.js +1 -1
  237. package/dist/esm/src/core/structures/PDFPageTree.js.map +1 -1
  238. package/dist/esm/src/core/syntax/Keywords.js +4 -30
  239. package/dist/esm/src/core/syntax/Keywords.js.map +1 -1
  240. package/dist/esm/src/core/writers/PDFStreamWriter.js.map +1 -1
  241. package/dist/esm/src/core/writers/PDFWriter.js.map +1 -1
  242. package/dist/esm/src/types/matrix.js.map +1 -1
  243. package/dist/esm/src/utils/arrays.js +2 -5
  244. package/dist/esm/src/utils/arrays.js.map +1 -1
  245. package/dist/esm/src/utils/base64.js.map +1 -1
  246. package/dist/esm/src/utils/elements/Arc.js +3 -6
  247. package/dist/esm/src/utils/elements/Arc.js.map +1 -1
  248. package/dist/esm/src/utils/elements/Circle.js +1 -1
  249. package/dist/esm/src/utils/elements/Circle.js.map +1 -1
  250. package/dist/esm/src/utils/elements/Ellipse.js +1 -1
  251. package/dist/esm/src/utils/elements/Ellipse.js.map +1 -1
  252. package/dist/esm/src/utils/elements/Line.js +1 -3
  253. package/dist/esm/src/utils/elements/Line.js.map +1 -1
  254. package/dist/esm/src/utils/elements/Segment.js +2 -3
  255. package/dist/esm/src/utils/elements/Segment.js.map +1 -1
  256. package/dist/esm/src/utils/intersections.js.map +1 -1
  257. package/dist/esm/src/utils/maths.js.map +1 -1
  258. package/dist/esm/src/utils/strings.js.map +1 -1
  259. package/dist/esm/src/utils/unicode.js.map +1 -1
  260. package/dist/esm/src/utils/validators.js.map +1 -1
  261. package/dist/node/src/api/PDFDocument.js +3 -11
  262. package/dist/node/src/api/PDFDocument.js.map +1 -1
  263. package/dist/node/src/api/PDFEmbeddedFile.js.map +1 -1
  264. package/dist/node/src/api/PDFEmbeddedPage.js.map +1 -1
  265. package/dist/node/src/api/PDFFont.js.map +1 -1
  266. package/dist/node/src/api/PDFJavaScript.js.map +1 -1
  267. package/dist/node/src/api/PDFPage.js +16 -42
  268. package/dist/node/src/api/PDFPage.js.map +1 -1
  269. package/dist/node/src/api/colors.js.map +1 -1
  270. package/dist/node/src/api/errors.js.map +1 -1
  271. package/dist/node/src/api/form/PDFButton.js +1 -3
  272. package/dist/node/src/api/form/PDFButton.js.map +1 -1
  273. package/dist/node/src/api/form/PDFCheckBox.js +1 -3
  274. package/dist/node/src/api/form/PDFCheckBox.js.map +1 -1
  275. package/dist/node/src/api/form/PDFDropdown.js +1 -3
  276. package/dist/node/src/api/form/PDFDropdown.js.map +1 -1
  277. package/dist/node/src/api/form/PDFField.js +4 -10
  278. package/dist/node/src/api/form/PDFField.js.map +1 -1
  279. package/dist/node/src/api/form/PDFForm.js +1 -3
  280. package/dist/node/src/api/form/PDFForm.js.map +1 -1
  281. package/dist/node/src/api/form/PDFOptionList.js.map +1 -1
  282. package/dist/node/src/api/form/PDFRadioGroup.js +1 -3
  283. package/dist/node/src/api/form/PDFRadioGroup.js.map +1 -1
  284. package/dist/node/src/api/form/PDFSignature.js +1 -3
  285. package/dist/node/src/api/form/PDFSignature.js.map +1 -1
  286. package/dist/node/src/api/form/PDFTextField.js.map +1 -1
  287. package/dist/node/src/api/form/appearances.js.map +1 -1
  288. package/dist/node/src/api/operations.js.map +1 -1
  289. package/dist/node/src/api/operators.js +1 -5
  290. package/dist/node/src/api/operators.js.map +1 -1
  291. package/dist/node/src/api/rotations.js.map +1 -1
  292. package/dist/node/src/api/svg.js +25 -23
  293. package/dist/node/src/api/svg.js.map +1 -1
  294. package/dist/node/src/api/svgPath.js +1 -2
  295. package/dist/node/src/api/svgPath.js.map +1 -1
  296. package/dist/node/src/api/text/layout.js.map +1 -1
  297. package/dist/node/src/core/PDFContext.js.map +1 -1
  298. package/dist/node/src/core/PDFObjectCopier.js.map +1 -1
  299. package/dist/node/src/core/acroform/PDFAcroButton.js +1 -2
  300. package/dist/node/src/core/acroform/PDFAcroButton.js.map +1 -1
  301. package/dist/node/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  302. package/dist/node/src/core/acroform/PDFAcroChoice.js.map +1 -1
  303. package/dist/node/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  304. package/dist/node/src/core/acroform/PDFAcroField.js.map +1 -1
  305. package/dist/node/src/core/acroform/PDFAcroForm.js.map +1 -1
  306. package/dist/node/src/core/acroform/PDFAcroListBox.js.map +1 -1
  307. package/dist/node/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  308. package/dist/node/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  309. package/dist/node/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  310. package/dist/node/src/core/acroform/PDFAcroSignature.js.map +1 -1
  311. package/dist/node/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  312. package/dist/node/src/core/acroform/utils.js.map +1 -1
  313. package/dist/node/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  314. package/dist/node/src/core/crypto.js +122 -179
  315. package/dist/node/src/core/crypto.js.map +1 -1
  316. package/dist/node/src/core/document/PDFCrossRefSection.js.map +1 -1
  317. package/dist/node/src/core/document/PDFHeader.js.map +1 -1
  318. package/dist/node/src/core/document/PDFTrailer.js.map +1 -1
  319. package/dist/node/src/core/embedders/CMap.js.map +1 -1
  320. package/dist/node/src/core/embedders/CustomFontEmbedder.js +1 -2
  321. package/dist/node/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  322. package/dist/node/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  323. package/dist/node/src/core/embedders/FileEmbedder.js +3 -7
  324. package/dist/node/src/core/embedders/FileEmbedder.js.map +1 -1
  325. package/dist/node/src/core/embedders/JpegEmbedder.js +1 -3
  326. package/dist/node/src/core/embedders/JpegEmbedder.js.map +1 -1
  327. package/dist/node/src/core/embedders/PDFPageEmbedder.js +11 -7
  328. package/dist/node/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  329. package/dist/node/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  330. package/dist/node/src/core/errors.js +1 -3
  331. package/dist/node/src/core/errors.js.map +1 -1
  332. package/dist/node/src/core/index.js.map +1 -1
  333. package/dist/node/src/core/interactive/ViewerPreferences.js.map +1 -1
  334. package/dist/node/src/core/objects/PDFArray.js.map +1 -1
  335. package/dist/node/src/core/objects/PDFDict.js.map +1 -1
  336. package/dist/node/src/core/objects/PDFName.js +1 -3
  337. package/dist/node/src/core/objects/PDFName.js.map +1 -1
  338. package/dist/node/src/core/objects/PDFRawStream.js.map +1 -1
  339. package/dist/node/src/core/objects/PDFRef.js.map +1 -1
  340. package/dist/node/src/core/objects/PDFStream.js.map +1 -1
  341. package/dist/node/src/core/operators/PDFOperator.js.map +1 -1
  342. package/dist/node/src/core/parser/PDFObjectParser.js +1 -2
  343. package/dist/node/src/core/parser/PDFObjectParser.js.map +1 -1
  344. package/dist/node/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  345. package/dist/node/src/core/parser/PDFParser.js +1 -2
  346. package/dist/node/src/core/parser/PDFParser.js.map +1 -1
  347. package/dist/node/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  348. package/dist/node/src/core/streams/Ascii85Stream.js.map +1 -1
  349. package/dist/node/src/core/streams/DecryptStream.js.map +1 -1
  350. package/dist/node/src/core/streams/FlateStream.js.map +1 -1
  351. package/dist/node/src/core/streams/LZWStream.js.map +1 -1
  352. package/dist/node/src/core/streams/Stream.js.map +1 -1
  353. package/dist/node/src/core/streams/decode.js +1 -1
  354. package/dist/node/src/core/streams/decode.js.map +1 -1
  355. package/dist/node/src/core/structures/PDFCatalog.js.map +1 -1
  356. package/dist/node/src/core/structures/PDFCrossRefStream.js.map +1 -1
  357. package/dist/node/src/core/structures/PDFFlateStream.js.map +1 -1
  358. package/dist/node/src/core/structures/PDFObjectStream.js +1 -4
  359. package/dist/node/src/core/structures/PDFObjectStream.js.map +1 -1
  360. package/dist/node/src/core/structures/PDFPageLeaf.js +1 -6
  361. package/dist/node/src/core/structures/PDFPageLeaf.js.map +1 -1
  362. package/dist/node/src/core/structures/PDFPageTree.js +1 -1
  363. package/dist/node/src/core/structures/PDFPageTree.js.map +1 -1
  364. package/dist/node/src/core/syntax/Keywords.js +4 -30
  365. package/dist/node/src/core/syntax/Keywords.js.map +1 -1
  366. package/dist/node/src/core/writers/PDFStreamWriter.js.map +1 -1
  367. package/dist/node/src/core/writers/PDFWriter.js.map +1 -1
  368. package/dist/node/src/types/matrix.js.map +1 -1
  369. package/dist/node/src/utils/arrays.js +2 -5
  370. package/dist/node/src/utils/arrays.js.map +1 -1
  371. package/dist/node/src/utils/base64.js.map +1 -1
  372. package/dist/node/src/utils/elements/Arc.js +3 -6
  373. package/dist/node/src/utils/elements/Arc.js.map +1 -1
  374. package/dist/node/src/utils/elements/Circle.js.map +1 -1
  375. package/dist/node/src/utils/elements/Ellipse.js +1 -1
  376. package/dist/node/src/utils/elements/Ellipse.js.map +1 -1
  377. package/dist/node/src/utils/elements/Line.js +1 -3
  378. package/dist/node/src/utils/elements/Line.js.map +1 -1
  379. package/dist/node/src/utils/elements/Segment.js +1 -2
  380. package/dist/node/src/utils/elements/Segment.js.map +1 -1
  381. package/dist/node/src/utils/intersections.js.map +1 -1
  382. package/dist/node/src/utils/maths.js.map +1 -1
  383. package/dist/node/src/utils/strings.js.map +1 -1
  384. package/dist/node/src/utils/unicode.js.map +1 -1
  385. package/dist/node/src/utils/validators.js.map +1 -1
  386. package/dist/types/src/api/form/PDFField.d.ts +1 -1
  387. package/dist/types/src/core/index.d.ts +2 -2
  388. package/dist/types/src/core/streams/decode.d.ts +1 -1
  389. package/dist/types/src/core/writers/PDFWriter.d.ts +1 -4
  390. package/dist/types/src/types/matrix.d.ts +1 -8
  391. package/package.json +1 -1
  392. package/src/api/PDFDocument.ts +11 -44
  393. package/src/api/PDFEmbeddedFile.ts +1 -4
  394. package/src/api/PDFEmbeddedPage.ts +1 -5
  395. package/src/api/PDFFont.ts +1 -6
  396. package/src/api/PDFJavaScript.ts +2 -9
  397. package/src/api/PDFPage.ts +26 -93
  398. package/src/api/PDFPageOptions.ts +4 -4
  399. package/src/api/colors.ts +1 -6
  400. package/src/api/errors.ts +1 -2
  401. package/src/api/form/PDFButton.ts +9 -34
  402. package/src/api/form/PDFCheckBox.ts +4 -19
  403. package/src/api/form/PDFDropdown.ts +6 -21
  404. package/src/api/form/PDFField.ts +11 -41
  405. package/src/api/form/PDFForm.ts +11 -29
  406. package/src/api/form/PDFOptionList.ts +5 -21
  407. package/src/api/form/PDFRadioGroup.ts +6 -22
  408. package/src/api/form/PDFSignature.ts +4 -13
  409. package/src/api/form/PDFTextField.ts +5 -20
  410. package/src/api/form/appearances.ts +33 -33
  411. package/src/api/operations.ts +23 -25
  412. package/src/api/operators.ts +11 -43
  413. package/src/api/rotations.ts +1 -4
  414. package/src/api/svg.ts +145 -195
  415. package/src/api/svgPath.ts +5 -32
  416. package/src/api/text/layout.ts +3 -18
  417. package/src/core/PDFContext.ts +10 -36
  418. package/src/core/PDFObjectCopier.ts +1 -2
  419. package/src/core/acroform/PDFAcroButton.ts +3 -13
  420. package/src/core/acroform/PDFAcroCheckBox.ts +1 -2
  421. package/src/core/acroform/PDFAcroChoice.ts +2 -9
  422. package/src/core/acroform/PDFAcroComboBox.ts +1 -2
  423. package/src/core/acroform/PDFAcroField.ts +1 -2
  424. package/src/core/acroform/PDFAcroForm.ts +2 -5
  425. package/src/core/acroform/PDFAcroListBox.ts +1 -2
  426. package/src/core/acroform/PDFAcroNonTerminal.ts +1 -2
  427. package/src/core/acroform/PDFAcroPushButton.ts +1 -2
  428. package/src/core/acroform/PDFAcroRadioButton.ts +1 -2
  429. package/src/core/acroform/PDFAcroSignature.ts +1 -2
  430. package/src/core/acroform/PDFAcroTerminal.ts +1 -2
  431. package/src/core/acroform/utils.ts +3 -9
  432. package/src/core/annotation/PDFWidgetAnnotation.ts +1 -2
  433. package/src/core/crypto.ts +143 -287
  434. package/src/core/document/PDFCrossRefSection.ts +3 -15
  435. package/src/core/document/PDFHeader.ts +1 -2
  436. package/src/core/document/PDFTrailer.ts +1 -2
  437. package/src/core/embedders/CMap.ts +1 -6
  438. package/src/core/embedders/CustomFontEmbedder.ts +4 -16
  439. package/src/core/embedders/CustomFontSubsetEmbedder.ts +2 -13
  440. package/src/core/embedders/FileEmbedder.ts +5 -23
  441. package/src/core/embedders/JpegEmbedder.ts +2 -11
  442. package/src/core/embedders/PDFPageEmbedder.ts +12 -14
  443. package/src/core/embedders/StandardFontEmbedder.ts +3 -12
  444. package/src/core/errors.ts +1 -3
  445. package/src/core/index.ts +2 -8
  446. package/src/core/interactive/ViewerPreferences.ts +4 -18
  447. package/src/core/objects/PDFArray.ts +2 -8
  448. package/src/core/objects/PDFDict.ts +3 -11
  449. package/src/core/objects/PDFName.ts +2 -9
  450. package/src/core/objects/PDFRawStream.ts +3 -10
  451. package/src/core/objects/PDFRef.ts +1 -5
  452. package/src/core/objects/PDFStream.ts +2 -8
  453. package/src/core/operators/PDFOperator.ts +2 -9
  454. package/src/core/parser/PDFObjectParser.ts +5 -14
  455. package/src/core/parser/PDFObjectStreamParser.ts +2 -4
  456. package/src/core/parser/PDFParser.ts +5 -21
  457. package/src/core/parser/PDFXRefStreamParser.ts +1 -2
  458. package/src/core/streams/Ascii85Stream.ts +1 -2
  459. package/src/core/streams/DecryptStream.ts +2 -9
  460. package/src/core/streams/FlateStream.ts +4 -14
  461. package/src/core/streams/LZWStream.ts +2 -9
  462. package/src/core/streams/Stream.ts +2 -8
  463. package/src/core/streams/decode.ts +2 -10
  464. package/src/core/structures/PDFCatalog.ts +2 -6
  465. package/src/core/structures/PDFCrossRefStream.ts +2 -10
  466. package/src/core/structures/PDFFlateStream.ts +1 -4
  467. package/src/core/structures/PDFObjectStream.ts +4 -14
  468. package/src/core/structures/PDFPageLeaf.ts +9 -28
  469. package/src/core/structures/PDFPageTree.ts +2 -5
  470. package/src/core/syntax/Keywords.ts +4 -30
  471. package/src/core/writers/PDFStreamWriter.ts +2 -11
  472. package/src/core/writers/PDFWriter.ts +2 -6
  473. package/src/types/fontkit.ts +3 -16
  474. package/src/types/index.ts +6 -14
  475. package/src/types/matrix.ts +1 -8
  476. package/src/utils/arrays.ts +3 -8
  477. package/src/utils/base64.ts +2 -4
  478. package/src/utils/elements/Arc.ts +5 -15
  479. package/src/utils/elements/Circle.ts +1 -9
  480. package/src/utils/elements/Ellipse.ts +6 -24
  481. package/src/utils/elements/Line.ts +1 -3
  482. package/src/utils/elements/Segment.ts +3 -14
  483. package/src/utils/intersections.ts +20 -65
  484. package/src/utils/maths.ts +10 -22
  485. package/src/utils/strings.ts +6 -16
  486. package/src/utils/unicode.ts +9 -22
  487. package/src/utils/validators.ts +9 -45
@@ -559,10 +559,7 @@ export default class PDFPage {
559
559
  this.node.normalize();
560
560
  this.getContentStream();
561
561
 
562
- const start = this.createContentStream(
563
- pushGraphicsState(),
564
- translate(x, y),
565
- );
562
+ const start = this.createContentStream(pushGraphicsState(), translate(x, y));
566
563
  const startRef = this.doc.context.register(start);
567
564
 
568
565
  const end = this.createContentStream(popGraphicsState());
@@ -1015,7 +1012,7 @@ export default class PDFPage {
1015
1012
  lineHeight: options.lineHeight ?? this.lineHeight,
1016
1013
  graphicsState: graphicsStateKey,
1017
1014
  matrix: options.matrix,
1018
- clipSpaces: options.clipSpaces
1015
+ clipSpaces: options.clipSpaces,
1019
1016
  }),
1020
1017
  );
1021
1018
 
@@ -1082,7 +1079,7 @@ export default class PDFPage {
1082
1079
  ySkew: options.ySkew ?? degrees(0),
1083
1080
  graphicsState: graphicsStateKey,
1084
1081
  matrix: options.matrix,
1085
- clipSpaces: options.clipSpaces
1082
+ clipSpaces: options.clipSpaces,
1086
1083
  }),
1087
1084
  );
1088
1085
  }
@@ -1119,14 +1116,9 @@ export default class PDFPage {
1119
1116
  * @param embeddedPage The embedded page to be drawn.
1120
1117
  * @param options The options to be used when drawing the embedded page.
1121
1118
  */
1122
- drawPage(
1123
- embeddedPage: PDFEmbeddedPage,
1124
- options: PDFPageDrawPageOptions = {},
1125
- ): void {
1119
+ drawPage(embeddedPage: PDFEmbeddedPage, options: PDFPageDrawPageOptions = {}): void {
1126
1120
  // TODO: Reuse embeddedPage XObject name if we've already added this embeddedPage to Resources.XObjects
1127
- assertIs(embeddedPage, 'embeddedPage', [
1128
- [PDFEmbeddedPage, 'PDFEmbeddedPage'],
1129
- ]);
1121
+ assertIs(embeddedPage, 'embeddedPage', [[PDFEmbeddedPage, 'PDFEmbeddedPage']]);
1130
1122
  assertOrUndefined(options.x, 'options.x', ['number']);
1131
1123
  assertOrUndefined(options.y, 'options.y', ['number']);
1132
1124
  assertOrUndefined(options.xScale, 'options.xScale', ['number']);
@@ -1139,10 +1131,7 @@ export default class PDFPage {
1139
1131
  assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
1140
1132
  assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
1141
1133
 
1142
- const xObjectKey = this.node.newXObject(
1143
- 'EmbeddedPdfPage',
1144
- embeddedPage.ref,
1145
- );
1134
+ const xObjectKey = this.node.newXObject('EmbeddedPdfPage', embeddedPage.ref);
1146
1135
 
1147
1136
  const graphicsStateKey = this.maybeEmbedGraphicsState({
1148
1137
  opacity: options.opacity,
@@ -1224,26 +1213,11 @@ export default class PDFPage {
1224
1213
  assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']);
1225
1214
  assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]);
1226
1215
  assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
1227
- assertOrUndefined(options.borderColor, 'options.borderColor', [
1228
- [Object, 'Color'],
1229
- ]);
1230
- assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [
1231
- Array,
1232
- ]);
1233
- assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [
1234
- 'number',
1235
- ]);
1236
- assertIsOneOfOrUndefined(
1237
- options.borderLineCap,
1238
- 'options.borderLineCap',
1239
- LineCapStyle,
1240
- );
1241
- assertRangeOrUndefined(
1242
- options.borderOpacity,
1243
- 'options.borderOpacity',
1244
- 0,
1245
- 1,
1246
- );
1216
+ assertOrUndefined(options.borderColor, 'options.borderColor', [[Object, 'Color']]);
1217
+ assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [Array]);
1218
+ assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', ['number']);
1219
+ assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
1220
+ assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
1247
1221
  assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
1248
1222
  assertIsOneOfOrUndefined(options.fillRule, 'options.fillRule', FillRule);
1249
1223
 
@@ -1273,7 +1247,7 @@ export default class PDFPage {
1273
1247
  graphicsState: graphicsStateKey,
1274
1248
  fillRule: options.fillRule,
1275
1249
  matrix: options.matrix,
1276
- clipSpaces: options.clipSpaces
1250
+ clipSpaces: options.clipSpaces,
1277
1251
  }),
1278
1252
  );
1279
1253
  }
@@ -1294,12 +1268,8 @@ export default class PDFPage {
1294
1268
  * @param options The options to be used when drawing the line.
1295
1269
  */
1296
1270
  drawLine(options: PDFPageDrawLineOptions): void {
1297
- assertIs(options.start, 'options.start', [
1298
- [Object, '{ x: number, y: number }'],
1299
- ]);
1300
- assertIs(options.end, 'options.end', [
1301
- [Object, '{ x: number, y: number }'],
1302
- ]);
1271
+ assertIs(options.start, 'options.start', [[Object, '{ x: number, y: number }']]);
1272
+ assertIs(options.end, 'options.end', [[Object, '{ x: number, y: number }']]);
1303
1273
  assertIs(options.start.x, 'options.start.x', ['number']);
1304
1274
  assertIs(options.start.y, 'options.start.y', ['number']);
1305
1275
  assertIs(options.end.x, 'options.end.x', ['number']);
@@ -1370,26 +1340,11 @@ export default class PDFPage {
1370
1340
  assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']);
1371
1341
  assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]);
1372
1342
  assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
1373
- assertOrUndefined(options.borderColor, 'options.borderColor', [
1374
- [Object, 'Color'],
1375
- ]);
1376
- assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [
1377
- Array,
1378
- ]);
1379
- assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [
1380
- 'number',
1381
- ]);
1382
- assertIsOneOfOrUndefined(
1383
- options.borderLineCap,
1384
- 'options.borderLineCap',
1385
- LineCapStyle,
1386
- );
1387
- assertRangeOrUndefined(
1388
- options.borderOpacity,
1389
- 'options.borderOpacity',
1390
- 0,
1391
- 1,
1392
- );
1343
+ assertOrUndefined(options.borderColor, 'options.borderColor', [[Object, 'Color']]);
1344
+ assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [Array]);
1345
+ assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', ['number']);
1346
+ assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
1347
+ assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
1393
1348
  assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
1394
1349
  assertOrUndefined(options.radius, 'options.radius', ['number']);
1395
1350
 
@@ -1479,27 +1434,12 @@ export default class PDFPage {
1479
1434
  assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]);
1480
1435
  assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]);
1481
1436
  assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
1482
- assertOrUndefined(options.borderColor, 'options.borderColor', [
1483
- [Object, 'Color'],
1484
- ]);
1485
- assertRangeOrUndefined(
1486
- options.borderOpacity,
1487
- 'options.borderOpacity',
1488
- 0,
1489
- 1,
1490
- );
1437
+ assertOrUndefined(options.borderColor, 'options.borderColor', [[Object, 'Color']]);
1438
+ assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
1491
1439
  assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']);
1492
- assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [
1493
- Array,
1494
- ]);
1495
- assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [
1496
- 'number',
1497
- ]);
1498
- assertIsOneOfOrUndefined(
1499
- options.borderLineCap,
1500
- 'options.borderLineCap',
1501
- LineCapStyle,
1502
- );
1440
+ assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [Array]);
1441
+ assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', ['number']);
1442
+ assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
1503
1443
  assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
1504
1444
  const graphicsStateKey = this.maybeEmbedGraphicsState({
1505
1445
  opacity: options.opacity,
@@ -1580,10 +1520,7 @@ export default class PDFPage {
1580
1520
  * @param svg The SVG to be drawn.
1581
1521
  * @param options The options to be used when drawing the SVG.
1582
1522
  */
1583
- async drawSvg(
1584
- svg: string,
1585
- options: PDFPageDrawSVGElementOptions = {},
1586
- ): Promise<void> {
1523
+ async drawSvg(svg: string, options: PDFPageDrawSVGElementOptions = {}): Promise<void> {
1587
1524
  assertIs(svg, 'svg', ['string']);
1588
1525
  assertOrUndefined(options.x, 'options.x', ['number']);
1589
1526
  assertOrUndefined(options.y, 'options.y', ['number']);
@@ -1633,11 +1570,7 @@ export default class PDFPage {
1633
1570
  }): PDFName | undefined {
1634
1571
  const { opacity, borderOpacity, blendMode } = options;
1635
1572
 
1636
- if (
1637
- opacity === undefined &&
1638
- borderOpacity === undefined &&
1639
- blendMode === undefined
1640
- ) {
1573
+ if (opacity === undefined && borderOpacity === undefined && blendMode === undefined) {
1641
1574
  return undefined;
1642
1575
  }
1643
1576
 
@@ -2,11 +2,11 @@ import { Color } from './colors';
2
2
  import PDFFont from './PDFFont';
3
3
  import { Rotation } from './rotations';
4
4
  import { FillRule, LineCapStyle } from './operators';
5
- import type { Space, TransformationMatrix } from '../types'
5
+ import type { Space, TransformationMatrix } from '../types';
6
6
 
7
7
  interface SvgOptions {
8
- matrix?: TransformationMatrix
9
- clipSpaces?: Space[]
8
+ matrix?: TransformationMatrix;
9
+ clipSpaces?: Space[];
10
10
  }
11
11
 
12
12
  export enum BlendMode {
@@ -80,7 +80,7 @@ export interface PDFPageDrawSVGOptions extends SvgOptions {
80
80
  borderDashPhase?: number;
81
81
  borderLineCap?: LineCapStyle;
82
82
  blendMode?: BlendMode;
83
- fillRule?: FillRule
83
+ fillRule?: FillRule;
84
84
  }
85
85
 
86
86
  export interface PDFPageDrawLineOptions extends SvgOptions {
package/src/api/colors.ts CHANGED
@@ -49,12 +49,7 @@ export const rgb = (red: number, green: number, blue: number): RGB => {
49
49
  return { type: ColorTypes.RGB, red, green, blue };
50
50
  };
51
51
 
52
- export const cmyk = (
53
- cyan: number,
54
- magenta: number,
55
- yellow: number,
56
- key: number,
57
- ): CMYK => {
52
+ export const cmyk = (cyan: number, magenta: number, yellow: number, key: number): CMYK => {
58
53
  assertRange(cyan, 'cyan', 0, 1);
59
54
  assertRange(magenta, 'magenta', 0, 1);
60
55
  assertRange(yellow, 'yellow', 0, 1);
package/src/api/errors.ts CHANGED
@@ -30,8 +30,7 @@ export class ForeignPageError extends Error {
30
30
  // TODO: Include link to documentation with example
31
31
  export class RemovePageFromEmptyDocumentError extends Error {
32
32
  constructor() {
33
- const msg =
34
- 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called';
33
+ const msg = 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called';
35
34
  super(msg);
36
35
  }
37
36
  }
@@ -8,19 +8,11 @@ import {
8
8
  normalizeAppearance,
9
9
  defaultButtonAppearanceProvider,
10
10
  } from './appearances';
11
- import PDFField, {
12
- FieldAppearanceOptions,
13
- assertFieldAppearanceOptions,
14
- } from './PDFField';
11
+ import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
15
12
  import { rgb } from '../colors';
16
13
  import { degrees } from '../rotations';
17
14
 
18
- import {
19
- PDFRef,
20
- PDFStream,
21
- PDFAcroPushButton,
22
- PDFWidgetAnnotation,
23
- } from '../../core';
15
+ import { PDFRef, PDFStream, PDFAcroPushButton, PDFWidgetAnnotation } from '../../core';
24
16
  import { assertIs, assertOrUndefined, assertPositive } from '../../utils';
25
17
 
26
18
  /**
@@ -44,25 +36,16 @@ export default class PDFButton extends PDFField {
44
36
  * @param ref The unique reference for this button.
45
37
  * @param doc The document to which this button will belong.
46
38
  */
47
- static of = (
48
- acroPushButton: PDFAcroPushButton,
49
- ref: PDFRef,
50
- doc: PDFDocument,
51
- ) => new PDFButton(acroPushButton, ref, doc);
39
+ static of = (acroPushButton: PDFAcroPushButton, ref: PDFRef, doc: PDFDocument) =>
40
+ new PDFButton(acroPushButton, ref, doc);
52
41
 
53
42
  /** The low-level PDFAcroPushButton wrapped by this button. */
54
43
  readonly acroField: PDFAcroPushButton;
55
44
 
56
- private constructor(
57
- acroPushButton: PDFAcroPushButton,
58
- ref: PDFRef,
59
- doc: PDFDocument,
60
- ) {
45
+ private constructor(acroPushButton: PDFAcroPushButton, ref: PDFRef, doc: PDFDocument) {
61
46
  super(acroPushButton, ref, doc);
62
47
 
63
- assertIs(acroPushButton, 'acroButton', [
64
- [PDFAcroPushButton, 'PDFAcroPushButton'],
65
- ]);
48
+ assertIs(acroPushButton, 'acroButton', [[PDFAcroPushButton, 'PDFAcroPushButton']]);
66
49
 
67
50
  this.acroField = acroPushButton;
68
51
  }
@@ -82,11 +65,7 @@ export default class PDFButton extends PDFField {
82
65
  const widgets = this.acroField.getWidgets();
83
66
  for (let idx = 0, len = widgets.length; idx < len; idx++) {
84
67
  const widget = widgets[idx];
85
- const streamRef = this.createImageAppearanceStream(
86
- widget,
87
- image,
88
- alignment,
89
- );
68
+ const streamRef = this.createImageAppearanceStream(widget, image, alignment);
90
69
  this.updateWidgetAppearances(widget, { normal: streamRef });
91
70
  }
92
71
 
@@ -199,8 +178,7 @@ export default class PDFButton extends PDFField {
199
178
  const widgets = this.acroField.getWidgets();
200
179
  for (let idx = 0, len = widgets.length; idx < len; idx++) {
201
180
  const widget = widgets[idx];
202
- const hasAppearances =
203
- widget.getAppearances()?.normal instanceof PDFStream;
181
+ const hasAppearances = widget.getAppearances()?.normal instanceof PDFStream;
204
182
  if (!hasAppearances) return true;
205
183
  }
206
184
 
@@ -241,10 +219,7 @@ export default class PDFButton extends PDFField {
241
219
  * @param provider Optionally, the appearance provider to be used for
242
220
  * generating the contents of the appearance streams.
243
221
  */
244
- updateAppearances(
245
- font: PDFFont,
246
- provider?: AppearanceProviderFor<PDFButton>,
247
- ) {
222
+ updateAppearances(font: PDFFont, provider?: AppearanceProviderFor<PDFButton>) {
248
223
  assertIs(font, 'font', [[PDFFont, 'PDFFont']]);
249
224
  assertOrUndefined(provider, 'provider', [Function]);
250
225
 
@@ -7,18 +7,9 @@ import {
7
7
  } from './appearances';
8
8
  import { rgb } from '../colors';
9
9
  import { degrees } from '../rotations';
10
- import PDFField, {
11
- FieldAppearanceOptions,
12
- assertFieldAppearanceOptions,
13
- } from './PDFField';
10
+ import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
14
11
 
15
- import {
16
- PDFName,
17
- PDFRef,
18
- PDFDict,
19
- PDFAcroCheckBox,
20
- PDFWidgetAnnotation,
21
- } from '../../core';
12
+ import { PDFName, PDFRef, PDFDict, PDFAcroCheckBox, PDFWidgetAnnotation } from '../../core';
22
13
  import { assertIs, assertOrUndefined } from '../../utils';
23
14
 
24
15
  /**
@@ -48,16 +39,10 @@ export default class PDFCheckBox extends PDFField {
48
39
  /** The low-level PDFAcroCheckBox wrapped by this check box. */
49
40
  readonly acroField: PDFAcroCheckBox;
50
41
 
51
- private constructor(
52
- acroCheckBox: PDFAcroCheckBox,
53
- ref: PDFRef,
54
- doc: PDFDocument,
55
- ) {
42
+ private constructor(acroCheckBox: PDFAcroCheckBox, ref: PDFRef, doc: PDFDocument) {
56
43
  super(acroCheckBox, ref, doc);
57
44
 
58
- assertIs(acroCheckBox, 'acroCheckBox', [
59
- [PDFAcroCheckBox, 'PDFAcroCheckBox'],
60
- ]);
45
+ assertIs(acroCheckBox, 'acroCheckBox', [[PDFAcroCheckBox, 'PDFAcroCheckBox']]);
61
46
 
62
47
  this.acroField = acroCheckBox;
63
48
  }
@@ -1,10 +1,7 @@
1
1
  import PDFDocument from '../PDFDocument';
2
2
  import PDFPage from '../PDFPage';
3
3
  import PDFFont from '../PDFFont';
4
- import PDFField, {
5
- FieldAppearanceOptions,
6
- assertFieldAppearanceOptions,
7
- } from './PDFField';
4
+ import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
8
5
  import {
9
6
  AppearanceProviderFor,
10
7
  normalizeAppearance,
@@ -54,16 +51,10 @@ export default class PDFDropdown extends PDFField {
54
51
  /** The low-level PDFAcroComboBox wrapped by this dropdown. */
55
52
  readonly acroField: PDFAcroComboBox;
56
53
 
57
- private constructor(
58
- acroComboBox: PDFAcroComboBox,
59
- ref: PDFRef,
60
- doc: PDFDocument,
61
- ) {
54
+ private constructor(acroComboBox: PDFAcroComboBox, ref: PDFRef, doc: PDFDocument) {
62
55
  super(acroComboBox, ref, doc);
63
56
 
64
- assertIs(acroComboBox, 'acroComboBox', [
65
- [PDFAcroComboBox, 'PDFAcroComboBox'],
66
- ]);
57
+ assertIs(acroComboBox, 'acroComboBox', [[PDFAcroComboBox, 'PDFAcroComboBox']]);
67
58
 
68
59
  this.acroField = acroComboBox;
69
60
  }
@@ -222,9 +213,7 @@ export default class PDFDropdown extends PDFField {
222
213
  const optionsArr = Array.isArray(options) ? options : [options];
223
214
 
224
215
  const validOptions = this.getOptions();
225
- const hasCustomOption = optionsArr.find(
226
- (option) => !validOptions.includes(option),
227
- );
216
+ const hasCustomOption = optionsArr.find((option) => !validOptions.includes(option));
228
217
  if (hasCustomOption) this.enableEditing();
229
218
 
230
219
  this.markAsDirty();
@@ -579,8 +568,7 @@ export default class PDFDropdown extends PDFField {
579
568
  const widgets = this.acroField.getWidgets();
580
569
  for (let idx = 0, len = widgets.length; idx < len; idx++) {
581
570
  const widget = widgets[idx];
582
- const hasAppearances =
583
- widget.getAppearances()?.normal instanceof PDFStream;
571
+ const hasAppearances = widget.getAppearances()?.normal instanceof PDFStream;
584
572
  if (!hasAppearances) return true;
585
573
  }
586
574
 
@@ -618,10 +606,7 @@ export default class PDFDropdown extends PDFField {
618
606
  * @param provider Optionally, the appearance provider to be used for
619
607
  * generating the contents of the appearance streams.
620
608
  */
621
- updateAppearances(
622
- font: PDFFont,
623
- provider?: AppearanceProviderFor<PDFDropdown>,
624
- ) {
609
+ updateAppearances(font: PDFFont, provider?: AppearanceProviderFor<PDFDropdown>) {
625
610
  assertIs(font, 'font', [[PDFFont, 'PDFFont']]);
626
611
  assertOrUndefined(provider, 'provider', [Function]);
627
612
 
@@ -41,22 +41,14 @@ export interface FieldAppearanceOptions {
41
41
  hidden?: boolean;
42
42
  }
43
43
 
44
- export const assertFieldAppearanceOptions = (
45
- options?: FieldAppearanceOptions,
46
- ) => {
44
+ export const assertFieldAppearanceOptions = (options?: FieldAppearanceOptions) => {
47
45
  assertOrUndefined(options?.x, 'options.x', ['number']);
48
46
  assertOrUndefined(options?.y, 'options.y', ['number']);
49
47
  assertOrUndefined(options?.width, 'options.width', ['number']);
50
48
  assertOrUndefined(options?.height, 'options.height', ['number']);
51
- assertOrUndefined(options?.textColor, 'options.textColor', [
52
- [Object, 'Color'],
53
- ]);
54
- assertOrUndefined(options?.backgroundColor, 'options.backgroundColor', [
55
- [Object, 'Color'],
56
- ]);
57
- assertOrUndefined(options?.borderColor, 'options.borderColor', [
58
- [Object, 'Color'],
59
- ]);
49
+ assertOrUndefined(options?.textColor, 'options.textColor', [[Object, 'Color']]);
50
+ assertOrUndefined(options?.backgroundColor, 'options.backgroundColor', [[Object, 'Color']]);
51
+ assertOrUndefined(options?.borderColor, 'options.borderColor', [[Object, 'Color']]);
60
52
  assertOrUndefined(options?.borderWidth, 'options.borderWidth', ['number']);
61
53
  assertOrUndefined(options?.rotate, 'options.rotate', [[Object, 'Rotation']]);
62
54
  };
@@ -91,11 +83,7 @@ export default class PDFField {
91
83
  /** The document to which this field belongs. */
92
84
  readonly doc: PDFDocument;
93
85
 
94
- protected constructor(
95
- acroField: PDFAcroTerminal,
96
- ref: PDFRef,
97
- doc: PDFDocument,
98
- ) {
86
+ protected constructor(acroField: PDFAcroTerminal, ref: PDFRef, doc: PDFDocument) {
99
87
  assertIs(acroField, 'acroField', [[PDFAcroTerminal, 'PDFAcroTerminal']]);
100
88
  assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]);
101
89
  assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]);
@@ -250,18 +238,12 @@ export default class PDFField {
250
238
 
251
239
  /** @ignore */
252
240
  needsAppearancesUpdate(): boolean {
253
- throw new MethodNotImplementedError(
254
- this.constructor.name,
255
- 'needsAppearancesUpdate',
256
- );
241
+ throw new MethodNotImplementedError(this.constructor.name, 'needsAppearancesUpdate');
257
242
  }
258
243
 
259
244
  /** @ignore */
260
245
  defaultUpdateAppearances(_font: PDFFont) {
261
- throw new MethodNotImplementedError(
262
- this.constructor.name,
263
- 'defaultUpdateAppearances',
264
- );
246
+ throw new MethodNotImplementedError(this.constructor.name, 'defaultUpdateAppearances');
265
247
  }
266
248
 
267
249
  protected markAsDirty() {
@@ -309,11 +291,7 @@ export default class PDFField {
309
291
  const widget = PDFWidgetAnnotation.create(this.doc.context, this.ref);
310
292
 
311
293
  // Set widget properties
312
- const rect = rotateRectangle(
313
- { x, y, width, height },
314
- borderWidth,
315
- degreesAngle,
316
- );
294
+ const rect = rotateRectangle({ x, y, width, height }, borderWidth, degreesAngle);
317
295
  widget.setRectangle(rect);
318
296
 
319
297
  if (pageRef) widget.setP(pageRef);
@@ -358,16 +336,11 @@ export default class PDFField {
358
336
  protected updateOnOffWidgetAppearance(
359
337
  widget: PDFWidgetAnnotation,
360
338
  onValue: PDFName,
361
- {
362
- normal,
363
- rollover,
364
- down,
365
- }: AppearanceMapping<{ on: PDFOperator[]; off: PDFOperator[] }>,
339
+ { normal, rollover, down }: AppearanceMapping<{ on: PDFOperator[]; off: PDFOperator[] }>,
366
340
  ) {
367
341
  this.updateWidgetAppearances(widget, {
368
342
  normal: this.createAppearanceDict(widget, normal, onValue),
369
- rollover:
370
- rollover && this.createAppearanceDict(widget, rollover, onValue),
343
+ rollover: rollover && this.createAppearanceDict(widget, rollover, onValue),
371
344
  down: down && this.createAppearanceDict(widget, down, onValue),
372
345
  });
373
346
  }
@@ -463,10 +436,7 @@ export default class PDFField {
463
436
  const rotate = rotateInPlace({ ...rectangle, rotation });
464
437
 
465
438
  const adj = adjustDimsForRotation(rectangle, rotation);
466
- const imageDims = image.scaleToFit(
467
- adj.width - borderWidth * 2,
468
- adj.height - borderWidth * 2,
469
- );
439
+ const imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2);
470
440
 
471
441
  // Support borders on images and maybe other properties
472
442
  const options = {
@@ -17,12 +17,7 @@ import {
17
17
  import PDFFont from '../PDFFont';
18
18
  import { StandardFonts } from '../StandardFonts';
19
19
  import { rotateInPlace } from '../operations';
20
- import {
21
- drawObject,
22
- popGraphicsState,
23
- pushGraphicsState,
24
- translate,
25
- } from '../operators';
20
+ import { drawObject, popGraphicsState, pushGraphicsState, translate } from '../operators';
26
21
  import {
27
22
  PDFAcroForm,
28
23
  PDFAcroField,
@@ -69,8 +64,7 @@ export default class PDFForm {
69
64
  * @param acroForm The underlying `PDFAcroForm` for this form.
70
65
  * @param doc The document to which the form will belong.
71
66
  */
72
- static of = (acroForm: PDFAcroForm, doc: PDFDocument) =>
73
- new PDFForm(acroForm, doc);
67
+ static of = (acroForm: PDFAcroForm, doc: PDFDocument) => new PDFForm(acroForm, doc);
74
68
 
75
69
  /** The low-level PDFAcroForm wrapped by this form. */
76
70
  readonly acroForm: PDFAcroForm;
@@ -474,11 +468,7 @@ export default class PDFForm {
474
468
  const radioButton = PDFAcroRadioButton.create(this.doc.context);
475
469
  radioButton.setPartialName(nameParts.terminal);
476
470
 
477
- addFieldToParent(
478
- parent,
479
- [radioButton, radioButton.ref],
480
- nameParts.terminal,
481
- );
471
+ addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal);
482
472
 
483
473
  return PDFRadioGroup.of(radioButton, radioButton.ref, this.doc);
484
474
  }
@@ -563,8 +553,8 @@ export default class PDFForm {
563
553
  ].filter(Boolean) as PDFOperator[];
564
554
 
565
555
  page.pushOperators(...operators);
566
- } catch(err) {
567
- console.error(err)
556
+ } catch (err) {
557
+ console.error(err);
568
558
  }
569
559
  }
570
560
 
@@ -595,8 +585,8 @@ export default class PDFForm {
595
585
  pages.add(page);
596
586
 
597
587
  page.node.removeAnnot(widgetRef);
598
- } catch(err) {
599
- console.error(err)
588
+ } catch (err) {
589
+ console.error(err);
600
590
  }
601
591
  }
602
592
 
@@ -725,10 +715,7 @@ export default class PDFForm {
725
715
  return page;
726
716
  }
727
717
 
728
- private findWidgetAppearanceRef(
729
- field: PDFField,
730
- widget: PDFWidgetAnnotation,
731
- ): PDFRef {
718
+ private findWidgetAppearanceRef(field: PDFField, widget: PDFWidgetAnnotation): PDFRef {
732
719
  let refOrDict = widget.getNormalAppearance();
733
720
 
734
721
  if (
@@ -752,9 +739,7 @@ export default class PDFForm {
752
739
  }
753
740
 
754
741
  private findOrCreateNonTerminals(partialNames: string[]) {
755
- let nonTerminal: [PDFAcroForm] | [PDFAcroNonTerminal, PDFRef] = [
756
- this.acroForm,
757
- ];
742
+ let nonTerminal: [PDFAcroForm] | [PDFAcroNonTerminal, PDFRef] = [this.acroForm];
758
743
  for (let idx = 0, len = partialNames.length; idx < len; idx++) {
759
744
  const namePart = partialNames[idx];
760
745
  if (!namePart) throw new InvalidFieldNamePartError(namePart);
@@ -795,8 +780,7 @@ export default class PDFForm {
795
780
  return undefined;
796
781
  }
797
782
 
798
- private embedDefaultFont = (): PDFFont =>
799
- this.doc.embedStandardFont(StandardFonts.Helvetica);
783
+ private embedDefaultFont = (): PDFFont => this.doc.embedStandardFont(StandardFonts.Helvetica);
800
784
  }
801
785
 
802
786
  const convertToPDFField = (
@@ -847,9 +831,7 @@ const addFieldToParent = (
847
831
  partialName: string,
848
832
  ) => {
849
833
  const entries = parent.normalizedEntries();
850
- const fields = createPDFAcroFields(
851
- 'Kids' in entries ? entries.Kids : entries.Fields,
852
- );
834
+ const fields = createPDFAcroFields('Kids' in entries ? entries.Kids : entries.Fields);
853
835
  for (let idx = 0, len = fields.length; idx < len; idx++) {
854
836
  if (fields[idx][0].getPartialName() === partialName) {
855
837
  throw new FieldAlreadyExistsError(partialName);