@pdfme/pdf-lib 1.17.3 → 1.18.3

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 (1475) hide show
  1. package/README.md +43 -23
  2. package/cjs/api/PDFDocument.d.ts +11 -11
  3. package/cjs/api/PDFDocument.d.ts.map +1 -1
  4. package/cjs/api/PDFDocument.js +368 -539
  5. package/cjs/api/PDFDocument.js.map +1 -1
  6. package/cjs/api/PDFDocumentOptions.d.ts +3 -2
  7. package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
  8. package/cjs/api/PDFEmbeddedFile.d.ts +4 -4
  9. package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
  10. package/cjs/api/PDFEmbeddedFile.js +48 -63
  11. package/cjs/api/PDFEmbeddedFile.js.map +1 -1
  12. package/cjs/api/PDFEmbeddedPage.d.ts +3 -3
  13. package/cjs/api/PDFEmbeddedPage.d.ts.map +1 -1
  14. package/cjs/api/PDFEmbeddedPage.js +34 -47
  15. package/cjs/api/PDFEmbeddedPage.js.map +1 -1
  16. package/cjs/api/PDFFont.d.ts +3 -3
  17. package/cjs/api/PDFFont.d.ts.map +1 -1
  18. package/cjs/api/PDFFont.js +46 -58
  19. package/cjs/api/PDFFont.js.map +1 -1
  20. package/cjs/api/PDFImage.d.ts +3 -3
  21. package/cjs/api/PDFImage.d.ts.map +1 -1
  22. package/cjs/api/PDFImage.js +49 -63
  23. package/cjs/api/PDFImage.js.map +1 -1
  24. package/cjs/api/PDFJavaScript.d.ts +4 -4
  25. package/cjs/api/PDFJavaScript.d.ts.map +1 -1
  26. package/cjs/api/PDFJavaScript.js +37 -52
  27. package/cjs/api/PDFJavaScript.js.map +1 -1
  28. package/cjs/api/PDFPage.d.ts +21 -9
  29. package/cjs/api/PDFPage.d.ts.map +1 -1
  30. package/cjs/api/PDFPage.js +447 -426
  31. package/cjs/api/PDFPage.js.map +1 -1
  32. package/cjs/api/PDFPageOptions.d.ts +29 -12
  33. package/cjs/api/PDFPageOptions.d.ts.map +1 -1
  34. package/cjs/api/PDFPageOptions.js.map +1 -1
  35. package/cjs/api/colors.d.ts +4 -0
  36. package/cjs/api/colors.d.ts.map +1 -1
  37. package/cjs/api/colors.js +52 -43
  38. package/cjs/api/colors.js.map +1 -1
  39. package/cjs/api/errors.js +73 -130
  40. package/cjs/api/errors.js.map +1 -1
  41. package/cjs/api/form/PDFButton.d.ts +8 -8
  42. package/cjs/api/form/PDFButton.d.ts.map +1 -1
  43. package/cjs/api/form/PDFButton.js +68 -72
  44. package/cjs/api/form/PDFButton.js.map +1 -1
  45. package/cjs/api/form/PDFCheckBox.d.ts +5 -5
  46. package/cjs/api/form/PDFCheckBox.d.ts.map +1 -1
  47. package/cjs/api/form/PDFCheckBox.js +64 -69
  48. package/cjs/api/form/PDFCheckBox.js.map +1 -1
  49. package/cjs/api/form/PDFDropdown.d.ts +6 -6
  50. package/cjs/api/form/PDFDropdown.d.ts.map +1 -1
  51. package/cjs/api/form/PDFDropdown.js +126 -132
  52. package/cjs/api/form/PDFDropdown.js.map +1 -1
  53. package/cjs/api/form/PDFField.d.ts +6 -6
  54. package/cjs/api/form/PDFField.d.ts.map +1 -1
  55. package/cjs/api/form/PDFField.js +118 -123
  56. package/cjs/api/form/PDFField.js.map +1 -1
  57. package/cjs/api/form/PDFForm.d.ts +11 -11
  58. package/cjs/api/form/PDFForm.d.ts.map +1 -1
  59. package/cjs/api/form/PDFForm.js +218 -217
  60. package/cjs/api/form/PDFForm.js.map +1 -1
  61. package/cjs/api/form/PDFOptionList.d.ts +6 -6
  62. package/cjs/api/form/PDFOptionList.d.ts.map +1 -1
  63. package/cjs/api/form/PDFOptionList.js +115 -121
  64. package/cjs/api/form/PDFOptionList.js.map +1 -1
  65. package/cjs/api/form/PDFRadioGroup.d.ts +5 -5
  66. package/cjs/api/form/PDFRadioGroup.d.ts.map +1 -1
  67. package/cjs/api/form/PDFRadioGroup.js +98 -101
  68. package/cjs/api/form/PDFRadioGroup.js.map +1 -1
  69. package/cjs/api/form/PDFSignature.d.ts +3 -3
  70. package/cjs/api/form/PDFSignature.d.ts.map +1 -1
  71. package/cjs/api/form/PDFSignature.js +25 -28
  72. package/cjs/api/form/PDFSignature.js.map +1 -1
  73. package/cjs/api/form/PDFTextField.d.ts +8 -8
  74. package/cjs/api/form/PDFTextField.d.ts.map +1 -1
  75. package/cjs/api/form/PDFTextField.js +136 -141
  76. package/cjs/api/form/PDFTextField.js.map +1 -1
  77. package/cjs/api/form/appearances.d.ts +11 -11
  78. package/cjs/api/form/appearances.d.ts.map +1 -1
  79. package/cjs/api/form/appearances.js +297 -219
  80. package/cjs/api/form/appearances.js.map +1 -1
  81. package/cjs/api/form/index.d.ts +10 -10
  82. package/cjs/api/form/index.d.ts.map +1 -1
  83. package/cjs/api/form/index.js +12 -11
  84. package/cjs/api/form/index.js.map +1 -1
  85. package/cjs/api/image/index.d.ts +1 -1
  86. package/cjs/api/image/index.d.ts.map +1 -1
  87. package/cjs/api/image/index.js +2 -2
  88. package/cjs/api/image/index.js.map +1 -1
  89. package/cjs/api/index.d.ts +20 -20
  90. package/cjs/api/index.d.ts.map +1 -1
  91. package/cjs/api/index.js +21 -20
  92. package/cjs/api/index.js.map +1 -1
  93. package/cjs/api/objects.d.ts +1 -1
  94. package/cjs/api/objects.d.ts.map +1 -1
  95. package/cjs/api/objects.js +7 -10
  96. package/cjs/api/objects.js.map +1 -1
  97. package/cjs/api/operations.d.ts +20 -4
  98. package/cjs/api/operations.d.ts.map +1 -1
  99. package/cjs/api/operations.js +383 -347
  100. package/cjs/api/operations.js.map +1 -1
  101. package/cjs/api/operators.d.ts +6 -1
  102. package/cjs/api/operators.d.ts.map +1 -1
  103. package/cjs/api/operators.js +169 -183
  104. package/cjs/api/operators.js.map +1 -1
  105. package/cjs/api/rotations.d.ts +1 -1
  106. package/cjs/api/rotations.d.ts.map +1 -1
  107. package/cjs/api/rotations.js +31 -30
  108. package/cjs/api/rotations.js.map +1 -1
  109. package/cjs/api/svg.d.ts +71 -0
  110. package/cjs/api/svg.d.ts.map +1 -0
  111. package/cjs/api/svg.js +654 -0
  112. package/cjs/api/svg.js.map +1 -0
  113. package/cjs/api/svgPath.d.ts +1 -1
  114. package/cjs/api/svgPath.d.ts.map +1 -1
  115. package/cjs/api/svgPath.js +115 -118
  116. package/cjs/api/svgPath.js.map +1 -1
  117. package/cjs/api/text/index.d.ts +2 -2
  118. package/cjs/api/text/index.d.ts.map +1 -1
  119. package/cjs/api/text/index.js +3 -3
  120. package/cjs/api/text/index.js.map +1 -1
  121. package/cjs/api/text/layout.d.ts +3 -3
  122. package/cjs/api/text/layout.d.ts.map +1 -1
  123. package/cjs/api/text/layout.js +87 -88
  124. package/cjs/api/text/layout.js.map +1 -1
  125. package/cjs/core/PDFContext.d.ts +17 -16
  126. package/cjs/core/PDFContext.d.ts.map +1 -1
  127. package/cjs/core/PDFContext.js +93 -101
  128. package/cjs/core/PDFContext.js.map +1 -1
  129. package/cjs/core/PDFObjectCopier.d.ts +2 -2
  130. package/cjs/core/PDFObjectCopier.d.ts.map +1 -1
  131. package/cjs/core/PDFObjectCopier.js +58 -62
  132. package/cjs/core/PDFObjectCopier.js.map +1 -1
  133. package/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
  134. package/cjs/core/acroform/PDFAcroButton.d.ts.map +1 -1
  135. package/cjs/core/acroform/PDFAcroButton.js +42 -47
  136. package/cjs/core/acroform/PDFAcroButton.js.map +1 -1
  137. package/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
  138. package/cjs/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
  139. package/cjs/core/acroform/PDFAcroCheckBox.js +28 -35
  140. package/cjs/core/acroform/PDFAcroCheckBox.js.map +1 -1
  141. package/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
  142. package/cjs/core/acroform/PDFAcroChoice.d.ts.map +1 -1
  143. package/cjs/core/acroform/PDFAcroChoice.js +47 -60
  144. package/cjs/core/acroform/PDFAcroChoice.js.map +1 -1
  145. package/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
  146. package/cjs/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
  147. package/cjs/core/acroform/PDFAcroComboBox.js +15 -22
  148. package/cjs/core/acroform/PDFAcroComboBox.js.map +1 -1
  149. package/cjs/core/acroform/PDFAcroField.d.ts +8 -8
  150. package/cjs/core/acroform/PDFAcroField.d.ts.map +1 -1
  151. package/cjs/core/acroform/PDFAcroField.js +80 -81
  152. package/cjs/core/acroform/PDFAcroField.js.map +1 -1
  153. package/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
  154. package/cjs/core/acroform/PDFAcroForm.d.ts.map +1 -1
  155. package/cjs/core/acroform/PDFAcroForm.js +46 -47
  156. package/cjs/core/acroform/PDFAcroForm.js.map +1 -1
  157. package/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
  158. package/cjs/core/acroform/PDFAcroListBox.d.ts.map +1 -1
  159. package/cjs/core/acroform/PDFAcroListBox.js +13 -20
  160. package/cjs/core/acroform/PDFAcroListBox.js.map +1 -1
  161. package/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
  162. package/cjs/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
  163. package/cjs/core/acroform/PDFAcroNonTerminal.js +18 -25
  164. package/cjs/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  165. package/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
  166. package/cjs/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
  167. package/cjs/core/acroform/PDFAcroPushButton.js +15 -22
  168. package/cjs/core/acroform/PDFAcroPushButton.js.map +1 -1
  169. package/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
  170. package/cjs/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
  171. package/cjs/core/acroform/PDFAcroRadioButton.js +33 -40
  172. package/cjs/core/acroform/PDFAcroRadioButton.js.map +1 -1
  173. package/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
  174. package/cjs/core/acroform/PDFAcroSignature.d.ts.map +1 -1
  175. package/cjs/core/acroform/PDFAcroSignature.js +5 -12
  176. package/cjs/core/acroform/PDFAcroSignature.js.map +1 -1
  177. package/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
  178. package/cjs/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
  179. package/cjs/core/acroform/PDFAcroTerminal.js +28 -35
  180. package/cjs/core/acroform/PDFAcroTerminal.js.map +1 -1
  181. package/cjs/core/acroform/PDFAcroText.d.ts +7 -7
  182. package/cjs/core/acroform/PDFAcroText.d.ts.map +1 -1
  183. package/cjs/core/acroform/PDFAcroText.js +40 -45
  184. package/cjs/core/acroform/PDFAcroText.js.map +1 -1
  185. package/cjs/core/acroform/flags.js +1 -1
  186. package/cjs/core/acroform/flags.js.map +1 -1
  187. package/cjs/core/acroform/index.d.ts +15 -15
  188. package/cjs/core/acroform/index.d.ts.map +1 -1
  189. package/cjs/core/acroform/index.js +17 -16
  190. package/cjs/core/acroform/index.js.map +1 -1
  191. package/cjs/core/acroform/utils.d.ts +4 -4
  192. package/cjs/core/acroform/utils.d.ts.map +1 -1
  193. package/cjs/core/acroform/utils.js +48 -48
  194. package/cjs/core/acroform/utils.js.map +1 -1
  195. package/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
  196. package/cjs/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
  197. package/cjs/core/annotation/AppearanceCharacteristics.js +61 -64
  198. package/cjs/core/annotation/AppearanceCharacteristics.js.map +1 -1
  199. package/cjs/core/annotation/BorderStyle.d.ts +2 -2
  200. package/cjs/core/annotation/BorderStyle.d.ts.map +1 -1
  201. package/cjs/core/annotation/BorderStyle.js +15 -16
  202. package/cjs/core/annotation/BorderStyle.js.map +1 -1
  203. package/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
  204. package/cjs/core/annotation/PDFAnnotation.d.ts.map +1 -1
  205. package/cjs/core/annotation/PDFAnnotation.js +76 -77
  206. package/cjs/core/annotation/PDFAnnotation.js.map +1 -1
  207. package/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
  208. package/cjs/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
  209. package/cjs/core/annotation/PDFWidgetAnnotation.js +60 -67
  210. package/cjs/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  211. package/cjs/core/annotation/flags.js +1 -1
  212. package/cjs/core/annotation/flags.js.map +1 -1
  213. package/cjs/core/annotation/index.d.ts +4 -4
  214. package/cjs/core/annotation/index.d.ts.map +1 -1
  215. package/cjs/core/annotation/index.js +6 -5
  216. package/cjs/core/annotation/index.js.map +1 -1
  217. package/cjs/core/crypto.d.ts +96 -0
  218. package/cjs/core/crypto.d.ts.map +1 -0
  219. package/cjs/core/crypto.js +1619 -0
  220. package/cjs/core/crypto.js.map +1 -0
  221. package/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
  222. package/cjs/core/document/PDFCrossRefSection.d.ts.map +1 -1
  223. package/cjs/core/document/PDFCrossRefSection.js +62 -65
  224. package/cjs/core/document/PDFCrossRefSection.js.map +1 -1
  225. package/cjs/core/document/PDFHeader.js +18 -21
  226. package/cjs/core/document/PDFHeader.js.map +1 -1
  227. package/cjs/core/document/PDFTrailer.js +16 -19
  228. package/cjs/core/document/PDFTrailer.js.map +1 -1
  229. package/cjs/core/document/PDFTrailerDict.d.ts +1 -1
  230. package/cjs/core/document/PDFTrailerDict.d.ts.map +1 -1
  231. package/cjs/core/document/PDFTrailerDict.js +14 -15
  232. package/cjs/core/document/PDFTrailerDict.js.map +1 -1
  233. package/cjs/core/embedders/CMap.d.ts +1 -1
  234. package/cjs/core/embedders/CMap.d.ts.map +1 -1
  235. package/cjs/core/embedders/CMap.js +41 -28
  236. package/cjs/core/embedders/CMap.js.map +1 -1
  237. package/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
  238. package/cjs/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
  239. package/cjs/core/embedders/CustomFontEmbedder.js +126 -183
  240. package/cjs/core/embedders/CustomFontEmbedder.js.map +1 -1
  241. package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
  242. package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
  243. package/cjs/core/embedders/CustomFontSubsetEmbedder.js +39 -52
  244. package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  245. package/cjs/core/embedders/FileEmbedder.d.ts +2 -2
  246. package/cjs/core/embedders/FileEmbedder.d.ts.map +1 -1
  247. package/cjs/core/embedders/FileEmbedder.js +39 -48
  248. package/cjs/core/embedders/FileEmbedder.js.map +1 -1
  249. package/cjs/core/embedders/FontFlags.d.ts +1 -1
  250. package/cjs/core/embedders/FontFlags.d.ts.map +1 -1
  251. package/cjs/core/embedders/FontFlags.js +7 -6
  252. package/cjs/core/embedders/FontFlags.js.map +1 -1
  253. package/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
  254. package/cjs/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
  255. package/cjs/core/embedders/JavaScriptEmbedder.js +20 -27
  256. package/cjs/core/embedders/JavaScriptEmbedder.js.map +1 -1
  257. package/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
  258. package/cjs/core/embedders/JpegEmbedder.d.ts.map +1 -1
  259. package/cjs/core/embedders/JpegEmbedder.js +62 -74
  260. package/cjs/core/embedders/JpegEmbedder.js.map +1 -1
  261. package/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
  262. package/cjs/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
  263. package/cjs/core/embedders/PDFPageEmbedder.js +53 -63
  264. package/cjs/core/embedders/PDFPageEmbedder.js.map +1 -1
  265. package/cjs/core/embedders/PngEmbedder.d.ts +2 -2
  266. package/cjs/core/embedders/PngEmbedder.d.ts.map +1 -1
  267. package/cjs/core/embedders/PngEmbedder.js +29 -42
  268. package/cjs/core/embedders/PngEmbedder.js.map +1 -1
  269. package/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -3
  270. package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
  271. package/cjs/core/embedders/StandardFontEmbedder.js +46 -50
  272. package/cjs/core/embedders/StandardFontEmbedder.js.map +1 -1
  273. package/cjs/core/errors.d.ts +1 -1
  274. package/cjs/core/errors.d.ts.map +1 -1
  275. package/cjs/core/errors.js +147 -260
  276. package/cjs/core/errors.js.map +1 -1
  277. package/cjs/core/index.d.ts +47 -47
  278. package/cjs/core/index.d.ts.map +1 -1
  279. package/cjs/core/index.js +48 -47
  280. package/cjs/core/index.js.map +1 -1
  281. package/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
  282. package/cjs/core/interactive/ViewerPreferences.d.ts.map +1 -1
  283. package/cjs/core/interactive/ViewerPreferences.js +135 -138
  284. package/cjs/core/interactive/ViewerPreferences.js.map +1 -1
  285. package/cjs/core/objects/PDFArray.d.ts +12 -12
  286. package/cjs/core/objects/PDFArray.d.ts.map +1 -1
  287. package/cjs/core/objects/PDFArray.js +72 -81
  288. package/cjs/core/objects/PDFArray.js.map +1 -1
  289. package/cjs/core/objects/PDFBool.d.ts +1 -1
  290. package/cjs/core/objects/PDFBool.d.ts.map +1 -1
  291. package/cjs/core/objects/PDFBool.js +22 -26
  292. package/cjs/core/objects/PDFBool.js.map +1 -1
  293. package/cjs/core/objects/PDFDict.d.ts +12 -11
  294. package/cjs/core/objects/PDFDict.d.ts.map +1 -1
  295. package/cjs/core/objects/PDFDict.js +74 -86
  296. package/cjs/core/objects/PDFDict.js.map +1 -1
  297. package/cjs/core/objects/PDFHexString.d.ts +1 -1
  298. package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
  299. package/cjs/core/objects/PDFHexString.js +49 -52
  300. package/cjs/core/objects/PDFHexString.js.map +1 -1
  301. package/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
  302. package/cjs/core/objects/PDFInvalidObject.d.ts.map +1 -1
  303. package/cjs/core/objects/PDFInvalidObject.js +19 -22
  304. package/cjs/core/objects/PDFInvalidObject.js.map +1 -1
  305. package/cjs/core/objects/PDFName.d.ts +1 -1
  306. package/cjs/core/objects/PDFName.d.ts.map +1 -1
  307. package/cjs/core/objects/PDFName.js +84 -92
  308. package/cjs/core/objects/PDFName.js.map +1 -1
  309. package/cjs/core/objects/PDFNull.d.ts +1 -1
  310. package/cjs/core/objects/PDFNull.d.ts.map +1 -1
  311. package/cjs/core/objects/PDFNull.js +15 -20
  312. package/cjs/core/objects/PDFNull.js.map +1 -1
  313. package/cjs/core/objects/PDFNumber.d.ts +1 -1
  314. package/cjs/core/objects/PDFNumber.d.ts.map +1 -1
  315. package/cjs/core/objects/PDFNumber.js +23 -26
  316. package/cjs/core/objects/PDFNumber.js.map +1 -1
  317. package/cjs/core/objects/PDFObject.d.ts +1 -1
  318. package/cjs/core/objects/PDFObject.d.ts.map +1 -1
  319. package/cjs/core/objects/PDFObject.js +11 -14
  320. package/cjs/core/objects/PDFObject.js.map +1 -1
  321. package/cjs/core/objects/PDFRawStream.d.ts +6 -4
  322. package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
  323. package/cjs/core/objects/PDFRawStream.js +21 -25
  324. package/cjs/core/objects/PDFRawStream.js.map +1 -1
  325. package/cjs/core/objects/PDFRef.d.ts +1 -1
  326. package/cjs/core/objects/PDFRef.d.ts.map +1 -1
  327. package/cjs/core/objects/PDFRef.js +31 -36
  328. package/cjs/core/objects/PDFRef.js.map +1 -1
  329. package/cjs/core/objects/PDFStream.d.ts +3 -3
  330. package/cjs/core/objects/PDFStream.d.ts.map +1 -1
  331. package/cjs/core/objects/PDFStream.js +32 -35
  332. package/cjs/core/objects/PDFStream.js.map +1 -1
  333. package/cjs/core/objects/PDFString.d.ts +1 -1
  334. package/cjs/core/objects/PDFString.d.ts.map +1 -1
  335. package/cjs/core/objects/PDFString.js +55 -58
  336. package/cjs/core/objects/PDFString.js.map +1 -1
  337. package/cjs/core/operators/PDFOperator.d.ts +7 -7
  338. package/cjs/core/operators/PDFOperator.d.ts.map +1 -1
  339. package/cjs/core/operators/PDFOperator.js +29 -32
  340. package/cjs/core/operators/PDFOperator.js.map +1 -1
  341. package/cjs/core/parser/BaseParser.d.ts +1 -1
  342. package/cjs/core/parser/BaseParser.d.ts.map +1 -1
  343. package/cjs/core/parser/BaseParser.js +40 -42
  344. package/cjs/core/parser/BaseParser.js.map +1 -1
  345. package/cjs/core/parser/ByteStream.d.ts +1 -1
  346. package/cjs/core/parser/ByteStream.d.ts.map +1 -1
  347. package/cjs/core/parser/ByteStream.js +30 -33
  348. package/cjs/core/parser/ByteStream.js.map +1 -1
  349. package/cjs/core/parser/PDFObjectParser.d.ts +22 -20
  350. package/cjs/core/parser/PDFObjectParser.d.ts.map +1 -1
  351. package/cjs/core/parser/PDFObjectParser.js +96 -88
  352. package/cjs/core/parser/PDFObjectParser.js.map +1 -1
  353. package/cjs/core/parser/PDFObjectStreamParser.d.ts +2 -2
  354. package/cjs/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
  355. package/cjs/core/parser/PDFObjectStreamParser.js +41 -61
  356. package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
  357. package/cjs/core/parser/PDFParser.d.ts +5 -4
  358. package/cjs/core/parser/PDFParser.d.ts.map +1 -1
  359. package/cjs/core/parser/PDFParser.js +157 -219
  360. package/cjs/core/parser/PDFParser.js.map +1 -1
  361. package/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
  362. package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  363. package/cjs/core/parser/PDFXRefStreamParser.js +38 -41
  364. package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
  365. package/cjs/core/streams/Ascii85Stream.d.ts +2 -2
  366. package/cjs/core/streams/Ascii85Stream.d.ts.map +1 -1
  367. package/cjs/core/streams/Ascii85Stream.js +21 -26
  368. package/cjs/core/streams/Ascii85Stream.js.map +1 -1
  369. package/cjs/core/streams/AsciiHexStream.d.ts +2 -2
  370. package/cjs/core/streams/AsciiHexStream.d.ts.map +1 -1
  371. package/cjs/core/streams/AsciiHexStream.js +19 -22
  372. package/cjs/core/streams/AsciiHexStream.js.map +1 -1
  373. package/cjs/core/streams/DecodeStream.d.ts +1 -1
  374. package/cjs/core/streams/DecodeStream.d.ts.map +1 -1
  375. package/cjs/core/streams/DecodeStream.js +54 -61
  376. package/cjs/core/streams/DecodeStream.js.map +1 -1
  377. package/cjs/core/streams/DecryptStream.d.ts +13 -0
  378. package/cjs/core/streams/DecryptStream.d.ts.map +1 -0
  379. package/cjs/core/streams/DecryptStream.js +37 -0
  380. package/cjs/core/streams/DecryptStream.js.map +1 -0
  381. package/cjs/core/streams/FlateStream.d.ts +2 -2
  382. package/cjs/core/streams/FlateStream.d.ts.map +1 -1
  383. package/cjs/core/streams/FlateStream.js +81 -84
  384. package/cjs/core/streams/FlateStream.js.map +1 -1
  385. package/cjs/core/streams/LZWStream.d.ts +3 -3
  386. package/cjs/core/streams/LZWStream.d.ts.map +1 -1
  387. package/cjs/core/streams/LZWStream.js +42 -45
  388. package/cjs/core/streams/LZWStream.js.map +1 -1
  389. package/cjs/core/streams/RunLengthStream.d.ts +2 -2
  390. package/cjs/core/streams/RunLengthStream.d.ts.map +1 -1
  391. package/cjs/core/streams/RunLengthStream.js +16 -19
  392. package/cjs/core/streams/RunLengthStream.js.map +1 -1
  393. package/cjs/core/streams/Stream.js +45 -56
  394. package/cjs/core/streams/Stream.js.map +1 -1
  395. package/cjs/core/streams/decode.d.ts +3 -3
  396. package/cjs/core/streams/decode.d.ts.map +1 -1
  397. package/cjs/core/streams/decode.js +24 -21
  398. package/cjs/core/streams/decode.js.map +1 -1
  399. package/cjs/core/structures/PDFCatalog.d.ts +5 -5
  400. package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
  401. package/cjs/core/structures/PDFCatalog.js +40 -47
  402. package/cjs/core/structures/PDFCatalog.js.map +1 -1
  403. package/cjs/core/structures/PDFContentStream.d.ts +4 -4
  404. package/cjs/core/structures/PDFContentStream.d.ts.map +1 -1
  405. package/cjs/core/structures/PDFContentStream.js +31 -43
  406. package/cjs/core/structures/PDFContentStream.js.map +1 -1
  407. package/cjs/core/structures/PDFCrossRefStream.d.ts +4 -4
  408. package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  409. package/cjs/core/structures/PDFCrossRefStream.js +92 -100
  410. package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
  411. package/cjs/core/structures/PDFFlateStream.d.ts +3 -3
  412. package/cjs/core/structures/PDFFlateStream.d.ts.map +1 -1
  413. package/cjs/core/structures/PDFFlateStream.js +21 -24
  414. package/cjs/core/structures/PDFFlateStream.js.map +1 -1
  415. package/cjs/core/structures/PDFObjectStream.d.ts +4 -4
  416. package/cjs/core/structures/PDFObjectStream.d.ts.map +1 -1
  417. package/cjs/core/structures/PDFObjectStream.js +49 -56
  418. package/cjs/core/structures/PDFObjectStream.js.map +1 -1
  419. package/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
  420. package/cjs/core/structures/PDFPageLeaf.d.ts.map +1 -1
  421. package/cjs/core/structures/PDFPageLeaf.js +126 -133
  422. package/cjs/core/structures/PDFPageLeaf.js.map +1 -1
  423. package/cjs/core/structures/PDFPageTree.d.ts +6 -6
  424. package/cjs/core/structures/PDFPageTree.d.ts.map +1 -1
  425. package/cjs/core/structures/PDFPageTree.js +67 -75
  426. package/cjs/core/structures/PDFPageTree.js.map +1 -1
  427. package/cjs/core/syntax/Delimiters.js +2 -2
  428. package/cjs/core/syntax/Delimiters.js.map +1 -1
  429. package/cjs/core/syntax/Irregular.js +5 -5
  430. package/cjs/core/syntax/Irregular.js.map +1 -1
  431. package/cjs/core/syntax/Keywords.d.ts +1 -1
  432. package/cjs/core/syntax/Keywords.d.ts.map +1 -1
  433. package/cjs/core/syntax/Keywords.js +14 -14
  434. package/cjs/core/syntax/Keywords.js.map +1 -1
  435. package/cjs/core/syntax/Numeric.js +3 -3
  436. package/cjs/core/syntax/Numeric.js.map +1 -1
  437. package/cjs/core/syntax/Whitespace.js +2 -2
  438. package/cjs/core/syntax/Whitespace.js.map +1 -1
  439. package/cjs/core/writers/PDFStreamWriter.d.ts +6 -6
  440. package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
  441. package/cjs/core/writers/PDFStreamWriter.js +74 -107
  442. package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
  443. package/cjs/core/writers/PDFWriter.d.ts +12 -9
  444. package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
  445. package/cjs/core/writers/PDFWriter.js +87 -127
  446. package/cjs/core/writers/PDFWriter.js.map +1 -1
  447. package/cjs/index.d.ts +4 -4
  448. package/cjs/index.d.ts.map +1 -1
  449. package/cjs/index.js +5 -5
  450. package/cjs/index.js.map +1 -1
  451. package/cjs/types/index.d.ts +25 -1
  452. package/cjs/types/index.d.ts.map +1 -1
  453. package/cjs/types/matrix.d.ts +8 -1
  454. package/cjs/types/matrix.d.ts.map +1 -1
  455. package/cjs/utils/Cache.js +10 -11
  456. package/cjs/utils/Cache.js.map +1 -1
  457. package/cjs/utils/arrays.d.ts +2 -1
  458. package/cjs/utils/arrays.d.ts.map +1 -1
  459. package/cjs/utils/arrays.js +83 -64
  460. package/cjs/utils/arrays.js.map +1 -1
  461. package/cjs/utils/async.d.ts.map +1 -1
  462. package/cjs/utils/async.js +4 -5
  463. package/cjs/utils/async.js.map +1 -1
  464. package/cjs/utils/base64.d.ts.map +1 -1
  465. package/cjs/utils/base64.js +29 -26
  466. package/cjs/utils/base64.js.map +1 -1
  467. package/cjs/utils/elements/Arc.d.ts +23 -0
  468. package/cjs/utils/elements/Arc.d.ts.map +1 -0
  469. package/cjs/utils/elements/Arc.js +78 -0
  470. package/cjs/utils/elements/Arc.js.map +1 -0
  471. package/cjs/utils/elements/Circle.d.ts +15 -0
  472. package/cjs/utils/elements/Circle.d.ts.map +1 -0
  473. package/cjs/utils/elements/Circle.js +41 -0
  474. package/cjs/utils/elements/Circle.js.map +1 -0
  475. package/cjs/utils/elements/Ellipse.d.ts +21 -0
  476. package/cjs/utils/elements/Ellipse.d.ts.map +1 -0
  477. package/cjs/utils/elements/Ellipse.js +91 -0
  478. package/cjs/utils/elements/Ellipse.js.map +1 -0
  479. package/cjs/utils/elements/GraphElement.d.ts +7 -0
  480. package/cjs/utils/elements/GraphElement.d.ts.map +1 -0
  481. package/cjs/utils/elements/GraphElement.js +11 -0
  482. package/cjs/utils/elements/GraphElement.js.map +1 -0
  483. package/cjs/utils/elements/Line.d.ts +24 -0
  484. package/cjs/utils/elements/Line.d.ts.map +1 -0
  485. package/cjs/utils/elements/Line.js +72 -0
  486. package/cjs/utils/elements/Line.js.map +1 -0
  487. package/cjs/utils/elements/Plot.d.ts +12 -0
  488. package/cjs/utils/elements/Plot.d.ts.map +1 -0
  489. package/cjs/utils/elements/Plot.js +46 -0
  490. package/cjs/utils/elements/Plot.js.map +1 -0
  491. package/cjs/utils/elements/Point.d.ts +19 -0
  492. package/cjs/utils/elements/Point.d.ts.map +1 -0
  493. package/cjs/utils/elements/Point.js +32 -0
  494. package/cjs/utils/elements/Point.js.map +1 -0
  495. package/cjs/utils/elements/Rectangle.d.ts +22 -0
  496. package/cjs/utils/elements/Rectangle.d.ts.map +1 -0
  497. package/cjs/utils/elements/Rectangle.js +58 -0
  498. package/cjs/utils/elements/Rectangle.js.map +1 -0
  499. package/cjs/utils/elements/Segment.d.ts +20 -0
  500. package/cjs/utils/elements/Segment.d.ts.map +1 -0
  501. package/cjs/utils/elements/Segment.js +80 -0
  502. package/cjs/utils/elements/Segment.js.map +1 -0
  503. package/cjs/utils/elements/index.d.ts +10 -0
  504. package/cjs/utils/elements/index.d.ts.map +1 -0
  505. package/cjs/utils/elements/index.js +25 -0
  506. package/cjs/utils/elements/index.js.map +1 -0
  507. package/cjs/utils/errors.js +2 -1
  508. package/cjs/utils/errors.js.map +1 -1
  509. package/cjs/utils/index.d.ts +11 -11
  510. package/cjs/utils/index.d.ts.map +1 -1
  511. package/cjs/utils/index.js +13 -12
  512. package/cjs/utils/index.js.map +1 -1
  513. package/cjs/utils/intersections.d.ts +10 -0
  514. package/cjs/utils/intersections.d.ts.map +1 -0
  515. package/cjs/utils/intersections.js +255 -0
  516. package/cjs/utils/intersections.js.map +1 -0
  517. package/cjs/utils/maths.d.ts +46 -0
  518. package/cjs/utils/maths.d.ts.map +1 -0
  519. package/cjs/utils/maths.js +89 -0
  520. package/cjs/utils/maths.js.map +1 -0
  521. package/cjs/utils/numbers.js +12 -9
  522. package/cjs/utils/numbers.js.map +1 -1
  523. package/cjs/utils/objects.js +8 -7
  524. package/cjs/utils/objects.js.map +1 -1
  525. package/cjs/utils/pdfDocEncoding.js +52 -51
  526. package/cjs/utils/pdfDocEncoding.js.map +1 -1
  527. package/cjs/utils/png.js +22 -23
  528. package/cjs/utils/png.js.map +1 -1
  529. package/cjs/utils/rng.js +7 -8
  530. package/cjs/utils/rng.js.map +1 -1
  531. package/cjs/utils/strings.d.ts +1 -0
  532. package/cjs/utils/strings.d.ts.map +1 -1
  533. package/cjs/utils/strings.js +84 -70
  534. package/cjs/utils/strings.js.map +1 -1
  535. package/cjs/utils/unicode.js +51 -64
  536. package/cjs/utils/unicode.js.map +1 -1
  537. package/cjs/utils/validators.js +84 -67
  538. package/cjs/utils/validators.js.map +1 -1
  539. package/dist/pdf-lib.esm.js +11480 -7021
  540. package/dist/pdf-lib.esm.js.map +1 -1
  541. package/dist/pdf-lib.esm.min.js +1 -15
  542. package/dist/pdf-lib.esm.min.js.map +1 -1
  543. package/dist/pdf-lib.js +11481 -7019
  544. package/dist/pdf-lib.js.map +1 -1
  545. package/dist/pdf-lib.min.js +1 -15
  546. package/dist/pdf-lib.min.js.map +1 -1
  547. package/es/api/Embeddable.js +1 -0
  548. package/es/api/PDFDocument.d.ts +11 -11
  549. package/es/api/PDFDocument.d.ts.map +1 -1
  550. package/es/api/PDFDocument.js +346 -519
  551. package/es/api/PDFDocument.js.map +1 -1
  552. package/es/api/PDFDocumentOptions.d.ts +3 -2
  553. package/es/api/PDFDocumentOptions.d.ts.map +1 -1
  554. package/es/api/PDFEmbeddedFile.d.ts +4 -4
  555. package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
  556. package/es/api/PDFEmbeddedFile.js +48 -64
  557. package/es/api/PDFEmbeddedFile.js.map +1 -1
  558. package/es/api/PDFEmbeddedPage.d.ts +3 -3
  559. package/es/api/PDFEmbeddedPage.d.ts.map +1 -1
  560. package/es/api/PDFEmbeddedPage.js +29 -44
  561. package/es/api/PDFEmbeddedPage.js.map +1 -1
  562. package/es/api/PDFFont.d.ts +3 -3
  563. package/es/api/PDFFont.d.ts.map +1 -1
  564. package/es/api/PDFFont.js +36 -50
  565. package/es/api/PDFFont.js.map +1 -1
  566. package/es/api/PDFImage.d.ts +3 -3
  567. package/es/api/PDFImage.d.ts.map +1 -1
  568. package/es/api/PDFImage.js +42 -58
  569. package/es/api/PDFImage.js.map +1 -1
  570. package/es/api/PDFJavaScript.d.ts +4 -4
  571. package/es/api/PDFJavaScript.d.ts.map +1 -1
  572. package/es/api/PDFJavaScript.js +37 -53
  573. package/es/api/PDFJavaScript.js.map +1 -1
  574. package/es/api/PDFPage.d.ts +21 -9
  575. package/es/api/PDFPage.d.ts.map +1 -1
  576. package/es/api/PDFPage.js +279 -260
  577. package/es/api/PDFPage.js.map +1 -1
  578. package/es/api/PDFPageOptions.d.ts +29 -12
  579. package/es/api/PDFPageOptions.d.ts.map +1 -1
  580. package/es/api/PDFPageOptions.js.map +1 -1
  581. package/es/api/colors.d.ts +4 -0
  582. package/es/api/colors.d.ts.map +1 -1
  583. package/es/api/colors.js +34 -34
  584. package/es/api/colors.js.map +1 -1
  585. package/es/api/errors.js +73 -144
  586. package/es/api/errors.js.map +1 -1
  587. package/es/api/form/PDFButton.d.ts +8 -8
  588. package/es/api/form/PDFButton.d.ts.map +1 -1
  589. package/es/api/form/PDFButton.js +56 -62
  590. package/es/api/form/PDFButton.js.map +1 -1
  591. package/es/api/form/PDFCheckBox.d.ts +5 -5
  592. package/es/api/form/PDFCheckBox.d.ts.map +1 -1
  593. package/es/api/form/PDFCheckBox.js +55 -62
  594. package/es/api/form/PDFCheckBox.js.map +1 -1
  595. package/es/api/form/PDFDropdown.d.ts +6 -6
  596. package/es/api/form/PDFDropdown.d.ts.map +1 -1
  597. package/es/api/form/PDFDropdown.js +110 -118
  598. package/es/api/form/PDFDropdown.js.map +1 -1
  599. package/es/api/form/PDFField.d.ts +6 -6
  600. package/es/api/form/PDFField.d.ts.map +1 -1
  601. package/es/api/form/PDFField.js +98 -106
  602. package/es/api/form/PDFField.js.map +1 -1
  603. package/es/api/form/PDFForm.d.ts +11 -11
  604. package/es/api/form/PDFForm.d.ts.map +1 -1
  605. package/es/api/form/PDFForm.js +195 -196
  606. package/es/api/form/PDFForm.js.map +1 -1
  607. package/es/api/form/PDFOptionList.d.ts +6 -6
  608. package/es/api/form/PDFOptionList.d.ts.map +1 -1
  609. package/es/api/form/PDFOptionList.js +98 -106
  610. package/es/api/form/PDFOptionList.js.map +1 -1
  611. package/es/api/form/PDFRadioGroup.d.ts +5 -5
  612. package/es/api/form/PDFRadioGroup.d.ts.map +1 -1
  613. package/es/api/form/PDFRadioGroup.js +86 -91
  614. package/es/api/form/PDFRadioGroup.js.map +1 -1
  615. package/es/api/form/PDFSignature.d.ts +3 -3
  616. package/es/api/form/PDFSignature.d.ts.map +1 -1
  617. package/es/api/form/PDFSignature.js +23 -28
  618. package/es/api/form/PDFSignature.js.map +1 -1
  619. package/es/api/form/PDFTextField.d.ts +8 -8
  620. package/es/api/form/PDFTextField.d.ts.map +1 -1
  621. package/es/api/form/PDFTextField.js +121 -128
  622. package/es/api/form/PDFTextField.js.map +1 -1
  623. package/es/api/form/appearances.d.ts +11 -11
  624. package/es/api/form/appearances.d.ts.map +1 -1
  625. package/es/api/form/appearances.js +285 -214
  626. package/es/api/form/appearances.js.map +1 -1
  627. package/es/api/form/index.d.ts +10 -10
  628. package/es/api/form/index.d.ts.map +1 -1
  629. package/es/api/form/index.js +10 -10
  630. package/es/api/form/index.js.map +1 -1
  631. package/es/api/image/index.d.ts +1 -1
  632. package/es/api/image/index.d.ts.map +1 -1
  633. package/es/api/image/index.js +1 -1
  634. package/es/api/image/index.js.map +1 -1
  635. package/es/api/index.d.ts +20 -20
  636. package/es/api/index.d.ts.map +1 -1
  637. package/es/api/index.js +19 -19
  638. package/es/api/index.js.map +1 -1
  639. package/es/api/objects.d.ts +1 -1
  640. package/es/api/objects.d.ts.map +1 -1
  641. package/es/api/objects.js +4 -10
  642. package/es/api/objects.js.map +1 -1
  643. package/es/api/operations.d.ts +20 -4
  644. package/es/api/operations.d.ts.map +1 -1
  645. package/es/api/operations.js +229 -210
  646. package/es/api/operations.js.map +1 -1
  647. package/es/api/operators.d.ts +6 -1
  648. package/es/api/operators.d.ts.map +1 -1
  649. package/es/api/operators.js +114 -182
  650. package/es/api/operators.js.map +1 -1
  651. package/es/api/rotations.d.ts +1 -1
  652. package/es/api/rotations.d.ts.map +1 -1
  653. package/es/api/rotations.js +20 -28
  654. package/es/api/rotations.js.map +1 -1
  655. package/es/api/sizes.js +1 -1
  656. package/es/api/sizes.js.map +1 -1
  657. package/es/api/svg.d.ts +71 -0
  658. package/es/api/svg.d.ts.map +1 -0
  659. package/es/api/svg.js +650 -0
  660. package/es/api/svg.js.map +1 -0
  661. package/es/api/svgPath.d.ts +1 -1
  662. package/es/api/svgPath.d.ts.map +1 -1
  663. package/es/api/svgPath.js +104 -108
  664. package/es/api/svgPath.js.map +1 -1
  665. package/es/api/text/index.d.ts +2 -2
  666. package/es/api/text/index.d.ts.map +1 -1
  667. package/es/api/text/index.js +2 -2
  668. package/es/api/text/index.js.map +1 -1
  669. package/es/api/text/layout.d.ts +3 -3
  670. package/es/api/text/layout.d.ts.map +1 -1
  671. package/es/api/text/layout.js +84 -88
  672. package/es/api/text/layout.js.map +1 -1
  673. package/es/core/PDFContext.d.ts +17 -16
  674. package/es/core/PDFContext.d.ts.map +1 -1
  675. package/es/core/PDFContext.js +90 -99
  676. package/es/core/PDFContext.js.map +1 -1
  677. package/es/core/PDFObjectCopier.d.ts +2 -2
  678. package/es/core/PDFObjectCopier.d.ts.map +1 -1
  679. package/es/core/PDFObjectCopier.js +57 -61
  680. package/es/core/PDFObjectCopier.js.map +1 -1
  681. package/es/core/acroform/PDFAcroButton.d.ts +7 -7
  682. package/es/core/acroform/PDFAcroButton.d.ts.map +1 -1
  683. package/es/core/acroform/PDFAcroButton.js +41 -47
  684. package/es/core/acroform/PDFAcroButton.js.map +1 -1
  685. package/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
  686. package/es/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
  687. package/es/core/acroform/PDFAcroCheckBox.js +27 -35
  688. package/es/core/acroform/PDFAcroCheckBox.js.map +1 -1
  689. package/es/core/acroform/PDFAcroChoice.d.ts +4 -4
  690. package/es/core/acroform/PDFAcroChoice.d.ts.map +1 -1
  691. package/es/core/acroform/PDFAcroChoice.js +46 -60
  692. package/es/core/acroform/PDFAcroChoice.js.map +1 -1
  693. package/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
  694. package/es/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
  695. package/es/core/acroform/PDFAcroComboBox.js +14 -22
  696. package/es/core/acroform/PDFAcroComboBox.js.map +1 -1
  697. package/es/core/acroform/PDFAcroField.d.ts +8 -8
  698. package/es/core/acroform/PDFAcroField.d.ts.map +1 -1
  699. package/es/core/acroform/PDFAcroField.js +79 -80
  700. package/es/core/acroform/PDFAcroField.js.map +1 -1
  701. package/es/core/acroform/PDFAcroForm.d.ts +5 -5
  702. package/es/core/acroform/PDFAcroForm.d.ts.map +1 -1
  703. package/es/core/acroform/PDFAcroForm.js +43 -44
  704. package/es/core/acroform/PDFAcroForm.js.map +1 -1
  705. package/es/core/acroform/PDFAcroListBox.d.ts +4 -4
  706. package/es/core/acroform/PDFAcroListBox.d.ts.map +1 -1
  707. package/es/core/acroform/PDFAcroListBox.js +12 -20
  708. package/es/core/acroform/PDFAcroListBox.js.map +1 -1
  709. package/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
  710. package/es/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
  711. package/es/core/acroform/PDFAcroNonTerminal.js +17 -25
  712. package/es/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  713. package/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
  714. package/es/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
  715. package/es/core/acroform/PDFAcroPushButton.js +14 -22
  716. package/es/core/acroform/PDFAcroPushButton.js.map +1 -1
  717. package/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
  718. package/es/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
  719. package/es/core/acroform/PDFAcroRadioButton.js +32 -40
  720. package/es/core/acroform/PDFAcroRadioButton.js.map +1 -1
  721. package/es/core/acroform/PDFAcroSignature.d.ts +3 -3
  722. package/es/core/acroform/PDFAcroSignature.d.ts.map +1 -1
  723. package/es/core/acroform/PDFAcroSignature.js +4 -12
  724. package/es/core/acroform/PDFAcroSignature.js.map +1 -1
  725. package/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
  726. package/es/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
  727. package/es/core/acroform/PDFAcroTerminal.js +27 -35
  728. package/es/core/acroform/PDFAcroTerminal.js.map +1 -1
  729. package/es/core/acroform/PDFAcroText.d.ts +7 -7
  730. package/es/core/acroform/PDFAcroText.d.ts.map +1 -1
  731. package/es/core/acroform/PDFAcroText.js +39 -45
  732. package/es/core/acroform/PDFAcroText.js.map +1 -1
  733. package/es/core/acroform/flags.js +1 -1
  734. package/es/core/acroform/flags.js.map +1 -1
  735. package/es/core/acroform/index.d.ts +15 -15
  736. package/es/core/acroform/index.d.ts.map +1 -1
  737. package/es/core/acroform/index.js +15 -15
  738. package/es/core/acroform/index.js.map +1 -1
  739. package/es/core/acroform/utils.d.ts +4 -4
  740. package/es/core/acroform/utils.d.ts.map +1 -1
  741. package/es/core/acroform/utils.js +44 -46
  742. package/es/core/acroform/utils.js.map +1 -1
  743. package/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
  744. package/es/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
  745. package/es/core/annotation/AppearanceCharacteristics.js +60 -63
  746. package/es/core/annotation/AppearanceCharacteristics.js.map +1 -1
  747. package/es/core/annotation/BorderStyle.d.ts +2 -2
  748. package/es/core/annotation/BorderStyle.d.ts.map +1 -1
  749. package/es/core/annotation/BorderStyle.js +14 -15
  750. package/es/core/annotation/BorderStyle.js.map +1 -1
  751. package/es/core/annotation/PDFAnnotation.d.ts +6 -6
  752. package/es/core/annotation/PDFAnnotation.d.ts.map +1 -1
  753. package/es/core/annotation/PDFAnnotation.js +75 -76
  754. package/es/core/annotation/PDFAnnotation.js.map +1 -1
  755. package/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
  756. package/es/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
  757. package/es/core/annotation/PDFWidgetAnnotation.js +59 -67
  758. package/es/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  759. package/es/core/annotation/flags.js +1 -1
  760. package/es/core/annotation/flags.js.map +1 -1
  761. package/es/core/annotation/index.d.ts +4 -4
  762. package/es/core/annotation/index.d.ts.map +1 -1
  763. package/es/core/annotation/index.js +4 -4
  764. package/es/core/annotation/index.js.map +1 -1
  765. package/es/core/crypto.d.ts +96 -0
  766. package/es/core/crypto.d.ts.map +1 -0
  767. package/es/core/crypto.js +1605 -0
  768. package/es/core/crypto.js.map +1 -0
  769. package/es/core/document/PDFCrossRefSection.d.ts +1 -1
  770. package/es/core/document/PDFCrossRefSection.d.ts.map +1 -1
  771. package/es/core/document/PDFCrossRefSection.js +55 -58
  772. package/es/core/document/PDFCrossRefSection.js.map +1 -1
  773. package/es/core/document/PDFHeader.js +15 -18
  774. package/es/core/document/PDFHeader.js.map +1 -1
  775. package/es/core/document/PDFTrailer.js +14 -17
  776. package/es/core/document/PDFTrailer.js.map +1 -1
  777. package/es/core/document/PDFTrailerDict.d.ts +1 -1
  778. package/es/core/document/PDFTrailerDict.d.ts.map +1 -1
  779. package/es/core/document/PDFTrailerDict.js +13 -14
  780. package/es/core/document/PDFTrailerDict.js.map +1 -1
  781. package/es/core/embedders/CMap.d.ts +1 -1
  782. package/es/core/embedders/CMap.d.ts.map +1 -1
  783. package/es/core/embedders/CMap.js +38 -26
  784. package/es/core/embedders/CMap.js.map +1 -1
  785. package/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
  786. package/es/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
  787. package/es/core/embedders/CustomFontEmbedder.js +124 -182
  788. package/es/core/embedders/CustomFontEmbedder.js.map +1 -1
  789. package/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
  790. package/es/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
  791. package/es/core/embedders/CustomFontSubsetEmbedder.js +37 -51
  792. package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  793. package/es/core/embedders/FileEmbedder.d.ts +2 -2
  794. package/es/core/embedders/FileEmbedder.d.ts.map +1 -1
  795. package/es/core/embedders/FileEmbedder.js +38 -48
  796. package/es/core/embedders/FileEmbedder.js.map +1 -1
  797. package/es/core/embedders/FontFlags.d.ts +1 -1
  798. package/es/core/embedders/FontFlags.d.ts.map +1 -1
  799. package/es/core/embedders/FontFlags.js +6 -6
  800. package/es/core/embedders/FontFlags.js.map +1 -1
  801. package/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
  802. package/es/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
  803. package/es/core/embedders/JavaScriptEmbedder.js +19 -27
  804. package/es/core/embedders/JavaScriptEmbedder.js.map +1 -1
  805. package/es/core/embedders/JpegEmbedder.d.ts +2 -2
  806. package/es/core/embedders/JpegEmbedder.d.ts.map +1 -1
  807. package/es/core/embedders/JpegEmbedder.js +62 -74
  808. package/es/core/embedders/JpegEmbedder.js.map +1 -1
  809. package/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
  810. package/es/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
  811. package/es/core/embedders/PDFPageEmbedder.js +51 -62
  812. package/es/core/embedders/PDFPageEmbedder.js.map +1 -1
  813. package/es/core/embedders/PngEmbedder.d.ts +2 -2
  814. package/es/core/embedders/PngEmbedder.d.ts.map +1 -1
  815. package/es/core/embedders/PngEmbedder.js +29 -42
  816. package/es/core/embedders/PngEmbedder.js.map +1 -1
  817. package/es/core/embedders/StandardFontEmbedder.d.ts +3 -3
  818. package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
  819. package/es/core/embedders/StandardFontEmbedder.js +43 -47
  820. package/es/core/embedders/StandardFontEmbedder.js.map +1 -1
  821. package/es/core/errors.d.ts +1 -1
  822. package/es/core/errors.d.ts.map +1 -1
  823. package/es/core/errors.js +175 -316
  824. package/es/core/errors.js.map +1 -1
  825. package/es/core/index.d.ts +47 -47
  826. package/es/core/index.d.ts.map +1 -1
  827. package/es/core/index.js +47 -47
  828. package/es/core/index.js.map +1 -1
  829. package/es/core/interactive/ViewerPreferences.d.ts +6 -6
  830. package/es/core/interactive/ViewerPreferences.d.ts.map +1 -1
  831. package/es/core/interactive/ViewerPreferences.js +127 -130
  832. package/es/core/interactive/ViewerPreferences.js.map +1 -1
  833. package/es/core/objects/PDFArray.d.ts +12 -12
  834. package/es/core/objects/PDFArray.d.ts.map +1 -1
  835. package/es/core/objects/PDFArray.js +71 -81
  836. package/es/core/objects/PDFArray.js.map +1 -1
  837. package/es/core/objects/PDFBool.d.ts +1 -1
  838. package/es/core/objects/PDFBool.d.ts.map +1 -1
  839. package/es/core/objects/PDFBool.js +21 -26
  840. package/es/core/objects/PDFBool.js.map +1 -1
  841. package/es/core/objects/PDFDict.d.ts +12 -11
  842. package/es/core/objects/PDFDict.d.ts.map +1 -1
  843. package/es/core/objects/PDFDict.js +73 -86
  844. package/es/core/objects/PDFDict.js.map +1 -1
  845. package/es/core/objects/PDFHexString.d.ts +1 -1
  846. package/es/core/objects/PDFHexString.d.ts.map +1 -1
  847. package/es/core/objects/PDFHexString.js +44 -48
  848. package/es/core/objects/PDFHexString.js.map +1 -1
  849. package/es/core/objects/PDFInvalidObject.d.ts +1 -1
  850. package/es/core/objects/PDFInvalidObject.d.ts.map +1 -1
  851. package/es/core/objects/PDFInvalidObject.js +18 -22
  852. package/es/core/objects/PDFInvalidObject.js.map +1 -1
  853. package/es/core/objects/PDFName.d.ts +1 -1
  854. package/es/core/objects/PDFName.d.ts.map +1 -1
  855. package/es/core/objects/PDFName.js +82 -91
  856. package/es/core/objects/PDFName.js.map +1 -1
  857. package/es/core/objects/PDFNull.d.ts +1 -1
  858. package/es/core/objects/PDFNull.d.ts.map +1 -1
  859. package/es/core/objects/PDFNull.js +14 -20
  860. package/es/core/objects/PDFNull.js.map +1 -1
  861. package/es/core/objects/PDFNumber.d.ts +1 -1
  862. package/es/core/objects/PDFNumber.d.ts.map +1 -1
  863. package/es/core/objects/PDFNumber.js +21 -25
  864. package/es/core/objects/PDFNumber.js.map +1 -1
  865. package/es/core/objects/PDFObject.d.ts +1 -1
  866. package/es/core/objects/PDFObject.d.ts.map +1 -1
  867. package/es/core/objects/PDFObject.js +11 -14
  868. package/es/core/objects/PDFObject.js.map +1 -1
  869. package/es/core/objects/PDFRawStream.d.ts +6 -4
  870. package/es/core/objects/PDFRawStream.d.ts.map +1 -1
  871. package/es/core/objects/PDFRawStream.js +19 -24
  872. package/es/core/objects/PDFRawStream.js.map +1 -1
  873. package/es/core/objects/PDFRef.d.ts +1 -1
  874. package/es/core/objects/PDFRef.d.ts.map +1 -1
  875. package/es/core/objects/PDFRef.js +29 -35
  876. package/es/core/objects/PDFRef.js.map +1 -1
  877. package/es/core/objects/PDFStream.d.ts +3 -3
  878. package/es/core/objects/PDFStream.d.ts.map +1 -1
  879. package/es/core/objects/PDFStream.js +31 -35
  880. package/es/core/objects/PDFStream.js.map +1 -1
  881. package/es/core/objects/PDFString.d.ts +1 -1
  882. package/es/core/objects/PDFString.d.ts.map +1 -1
  883. package/es/core/objects/PDFString.js +50 -54
  884. package/es/core/objects/PDFString.js.map +1 -1
  885. package/es/core/operators/PDFOperator.d.ts +7 -7
  886. package/es/core/operators/PDFOperator.d.ts.map +1 -1
  887. package/es/core/operators/PDFOperator.js +26 -29
  888. package/es/core/operators/PDFOperator.js.map +1 -1
  889. package/es/core/parser/BaseParser.d.ts +1 -1
  890. package/es/core/parser/BaseParser.d.ts.map +1 -1
  891. package/es/core/parser/BaseParser.js +36 -38
  892. package/es/core/parser/BaseParser.js.map +1 -1
  893. package/es/core/parser/ByteStream.d.ts +1 -1
  894. package/es/core/parser/ByteStream.d.ts.map +1 -1
  895. package/es/core/parser/ByteStream.js +29 -32
  896. package/es/core/parser/ByteStream.js.map +1 -1
  897. package/es/core/parser/PDFObjectParser.d.ts +22 -20
  898. package/es/core/parser/PDFObjectParser.d.ts.map +1 -1
  899. package/es/core/parser/PDFObjectParser.js +92 -85
  900. package/es/core/parser/PDFObjectParser.js.map +1 -1
  901. package/es/core/parser/PDFObjectStreamParser.d.ts +2 -2
  902. package/es/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
  903. package/es/core/parser/PDFObjectStreamParser.js +40 -61
  904. package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
  905. package/es/core/parser/PDFParser.d.ts +5 -4
  906. package/es/core/parser/PDFParser.d.ts.map +1 -1
  907. package/es/core/parser/PDFParser.js +156 -219
  908. package/es/core/parser/PDFParser.js.map +1 -1
  909. package/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
  910. package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  911. package/es/core/parser/PDFXRefStreamParser.js +37 -40
  912. package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
  913. package/es/core/streams/Ascii85Stream.d.ts +2 -2
  914. package/es/core/streams/Ascii85Stream.d.ts.map +1 -1
  915. package/es/core/streams/Ascii85Stream.js +20 -26
  916. package/es/core/streams/Ascii85Stream.js.map +1 -1
  917. package/es/core/streams/AsciiHexStream.d.ts +2 -2
  918. package/es/core/streams/AsciiHexStream.d.ts.map +1 -1
  919. package/es/core/streams/AsciiHexStream.js +18 -22
  920. package/es/core/streams/AsciiHexStream.js.map +1 -1
  921. package/es/core/streams/DecodeStream.d.ts +1 -1
  922. package/es/core/streams/DecodeStream.d.ts.map +1 -1
  923. package/es/core/streams/DecodeStream.js +53 -60
  924. package/es/core/streams/DecodeStream.js.map +1 -1
  925. package/es/core/streams/DecryptStream.d.ts +13 -0
  926. package/es/core/streams/DecryptStream.d.ts.map +1 -0
  927. package/es/core/streams/DecryptStream.js +34 -0
  928. package/es/core/streams/DecryptStream.js.map +1 -0
  929. package/es/core/streams/FlateStream.d.ts +2 -2
  930. package/es/core/streams/FlateStream.d.ts.map +1 -1
  931. package/es/core/streams/FlateStream.js +80 -84
  932. package/es/core/streams/FlateStream.js.map +1 -1
  933. package/es/core/streams/LZWStream.d.ts +3 -3
  934. package/es/core/streams/LZWStream.d.ts.map +1 -1
  935. package/es/core/streams/LZWStream.js +41 -45
  936. package/es/core/streams/LZWStream.js.map +1 -1
  937. package/es/core/streams/RunLengthStream.d.ts +2 -2
  938. package/es/core/streams/RunLengthStream.d.ts.map +1 -1
  939. package/es/core/streams/RunLengthStream.js +15 -19
  940. package/es/core/streams/RunLengthStream.js.map +1 -1
  941. package/es/core/streams/Stream.js +45 -56
  942. package/es/core/streams/Stream.js.map +1 -1
  943. package/es/core/streams/decode.d.ts +3 -3
  944. package/es/core/streams/decode.d.ts.map +1 -1
  945. package/es/core/streams/decode.js +22 -20
  946. package/es/core/streams/decode.js.map +1 -1
  947. package/es/core/structures/PDFCatalog.d.ts +5 -5
  948. package/es/core/structures/PDFCatalog.d.ts.map +1 -1
  949. package/es/core/structures/PDFCatalog.js +39 -47
  950. package/es/core/structures/PDFCatalog.js.map +1 -1
  951. package/es/core/structures/PDFContentStream.d.ts +4 -4
  952. package/es/core/structures/PDFContentStream.d.ts.map +1 -1
  953. package/es/core/structures/PDFContentStream.js +30 -43
  954. package/es/core/structures/PDFContentStream.js.map +1 -1
  955. package/es/core/structures/PDFCrossRefStream.d.ts +4 -4
  956. package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  957. package/es/core/structures/PDFCrossRefStream.js +91 -100
  958. package/es/core/structures/PDFCrossRefStream.js.map +1 -1
  959. package/es/core/structures/PDFFlateStream.d.ts +3 -3
  960. package/es/core/structures/PDFFlateStream.d.ts.map +1 -1
  961. package/es/core/structures/PDFFlateStream.js +19 -23
  962. package/es/core/structures/PDFFlateStream.js.map +1 -1
  963. package/es/core/structures/PDFObjectStream.d.ts +4 -4
  964. package/es/core/structures/PDFObjectStream.d.ts.map +1 -1
  965. package/es/core/structures/PDFObjectStream.js +46 -54
  966. package/es/core/structures/PDFObjectStream.js.map +1 -1
  967. package/es/core/structures/PDFPageLeaf.d.ts +9 -9
  968. package/es/core/structures/PDFPageLeaf.d.ts.map +1 -1
  969. package/es/core/structures/PDFPageLeaf.js +125 -133
  970. package/es/core/structures/PDFPageLeaf.js.map +1 -1
  971. package/es/core/structures/PDFPageTree.d.ts +6 -6
  972. package/es/core/structures/PDFPageTree.d.ts.map +1 -1
  973. package/es/core/structures/PDFPageTree.js +66 -75
  974. package/es/core/structures/PDFPageTree.js.map +1 -1
  975. package/es/core/syntax/Delimiters.js +2 -2
  976. package/es/core/syntax/Delimiters.js.map +1 -1
  977. package/es/core/syntax/Irregular.js +5 -5
  978. package/es/core/syntax/Irregular.js.map +1 -1
  979. package/es/core/syntax/Keywords.d.ts +1 -1
  980. package/es/core/syntax/Keywords.d.ts.map +1 -1
  981. package/es/core/syntax/Keywords.js +14 -15
  982. package/es/core/syntax/Keywords.js.map +1 -1
  983. package/es/core/syntax/Numeric.js +5 -5
  984. package/es/core/syntax/Numeric.js.map +1 -1
  985. package/es/core/syntax/Whitespace.js +2 -2
  986. package/es/core/syntax/Whitespace.js.map +1 -1
  987. package/es/core/writers/PDFStreamWriter.d.ts +6 -6
  988. package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
  989. package/es/core/writers/PDFStreamWriter.js +73 -107
  990. package/es/core/writers/PDFStreamWriter.js.map +1 -1
  991. package/es/core/writers/PDFWriter.d.ts +12 -9
  992. package/es/core/writers/PDFWriter.d.ts.map +1 -1
  993. package/es/core/writers/PDFWriter.js +86 -127
  994. package/es/core/writers/PDFWriter.js.map +1 -1
  995. package/es/index.d.ts +4 -4
  996. package/es/index.d.ts.map +1 -1
  997. package/es/index.js +4 -4
  998. package/es/index.js.map +1 -1
  999. package/es/package.json +3 -0
  1000. package/es/types/fontkit.js +1 -0
  1001. package/es/types/index.d.ts +25 -1
  1002. package/es/types/index.d.ts.map +1 -1
  1003. package/es/types/index.js +1 -0
  1004. package/es/types/matrix.d.ts +8 -1
  1005. package/es/types/matrix.d.ts.map +1 -1
  1006. package/es/types/matrix.js +1 -1
  1007. package/es/types/matrix.js.map +1 -1
  1008. package/es/utils/Cache.js +10 -11
  1009. package/es/utils/Cache.js.map +1 -1
  1010. package/es/utils/arrays.d.ts +2 -1
  1011. package/es/utils/arrays.d.ts.map +1 -1
  1012. package/es/utils/arrays.js +65 -60
  1013. package/es/utils/arrays.js.map +1 -1
  1014. package/es/utils/async.d.ts.map +1 -1
  1015. package/es/utils/async.js +3 -5
  1016. package/es/utils/async.js.map +1 -1
  1017. package/es/utils/base64.d.ts.map +1 -1
  1018. package/es/utils/base64.js +24 -24
  1019. package/es/utils/base64.js.map +1 -1
  1020. package/es/utils/elements/Arc.d.ts +23 -0
  1021. package/es/utils/elements/Arc.d.ts.map +1 -0
  1022. package/es/utils/elements/Arc.js +74 -0
  1023. package/es/utils/elements/Arc.js.map +1 -0
  1024. package/es/utils/elements/Circle.d.ts +15 -0
  1025. package/es/utils/elements/Circle.d.ts.map +1 -0
  1026. package/es/utils/elements/Circle.js +37 -0
  1027. package/es/utils/elements/Circle.js.map +1 -0
  1028. package/es/utils/elements/Ellipse.d.ts +21 -0
  1029. package/es/utils/elements/Ellipse.d.ts.map +1 -0
  1030. package/es/utils/elements/Ellipse.js +87 -0
  1031. package/es/utils/elements/Ellipse.js.map +1 -0
  1032. package/es/utils/elements/GraphElement.d.ts +7 -0
  1033. package/es/utils/elements/GraphElement.d.ts.map +1 -0
  1034. package/es/utils/elements/GraphElement.js +8 -0
  1035. package/es/utils/elements/GraphElement.js.map +1 -0
  1036. package/es/utils/elements/Line.d.ts +24 -0
  1037. package/es/utils/elements/Line.d.ts.map +1 -0
  1038. package/es/utils/elements/Line.js +68 -0
  1039. package/es/utils/elements/Line.js.map +1 -0
  1040. package/es/utils/elements/Plot.d.ts +12 -0
  1041. package/es/utils/elements/Plot.d.ts.map +1 -0
  1042. package/es/utils/elements/Plot.js +42 -0
  1043. package/es/utils/elements/Plot.js.map +1 -0
  1044. package/es/utils/elements/Point.d.ts +19 -0
  1045. package/es/utils/elements/Point.d.ts.map +1 -0
  1046. package/es/utils/elements/Point.js +28 -0
  1047. package/es/utils/elements/Point.js.map +1 -0
  1048. package/es/utils/elements/Rectangle.d.ts +22 -0
  1049. package/es/utils/elements/Rectangle.d.ts.map +1 -0
  1050. package/es/utils/elements/Rectangle.js +54 -0
  1051. package/es/utils/elements/Rectangle.js.map +1 -0
  1052. package/es/utils/elements/Segment.d.ts +20 -0
  1053. package/es/utils/elements/Segment.d.ts.map +1 -0
  1054. package/es/utils/elements/Segment.js +76 -0
  1055. package/es/utils/elements/Segment.js.map +1 -0
  1056. package/es/utils/elements/index.d.ts +10 -0
  1057. package/es/utils/elements/index.d.ts.map +1 -0
  1058. package/es/utils/elements/index.js +10 -0
  1059. package/es/utils/elements/index.js.map +1 -0
  1060. package/es/utils/errors.js +1 -1
  1061. package/es/utils/errors.js.map +1 -1
  1062. package/es/utils/index.d.ts +11 -11
  1063. package/es/utils/index.d.ts.map +1 -1
  1064. package/es/utils/index.js +11 -11
  1065. package/es/utils/index.js.map +1 -1
  1066. package/es/utils/intersections.d.ts +10 -0
  1067. package/es/utils/intersections.d.ts.map +1 -0
  1068. package/es/utils/intersections.js +245 -0
  1069. package/es/utils/intersections.js.map +1 -0
  1070. package/es/utils/maths.d.ts +46 -0
  1071. package/es/utils/maths.d.ts.map +1 -0
  1072. package/es/utils/maths.js +69 -0
  1073. package/es/utils/maths.js.map +1 -0
  1074. package/es/utils/numbers.js +9 -9
  1075. package/es/utils/numbers.js.map +1 -1
  1076. package/es/utils/objects.js +4 -6
  1077. package/es/utils/objects.js.map +1 -1
  1078. package/es/utils/pdfDocEncoding.js +7 -7
  1079. package/es/utils/pdfDocEncoding.js.map +1 -1
  1080. package/es/utils/png.js +20 -22
  1081. package/es/utils/png.js.map +1 -1
  1082. package/es/utils/rng.js +7 -9
  1083. package/es/utils/rng.js.map +1 -1
  1084. package/es/utils/strings.d.ts +1 -0
  1085. package/es/utils/strings.d.ts.map +1 -1
  1086. package/es/utils/strings.js +62 -68
  1087. package/es/utils/strings.js.map +1 -1
  1088. package/es/utils/unicode.js +42 -63
  1089. package/es/utils/unicode.js.map +1 -1
  1090. package/es/utils/validators.js +38 -38
  1091. package/es/utils/validators.js.map +1 -1
  1092. package/package.json +29 -20
  1093. package/src/api/PDFDocument.ts +48 -21
  1094. package/src/api/PDFDocumentOptions.ts +3 -2
  1095. package/src/api/PDFEmbeddedFile.ts +4 -4
  1096. package/src/api/PDFEmbeddedPage.ts +4 -4
  1097. package/src/api/PDFFont.ts +4 -4
  1098. package/src/api/PDFImage.ts +4 -4
  1099. package/src/api/PDFJavaScript.ts +4 -4
  1100. package/src/api/PDFPage.ts +66 -19
  1101. package/src/api/PDFPageOptions.ts +28 -12
  1102. package/src/api/colors.ts +12 -2
  1103. package/src/api/form/PDFButton.ts +11 -11
  1104. package/src/api/form/PDFCheckBox.ts +8 -8
  1105. package/src/api/form/PDFDropdown.ts +9 -9
  1106. package/src/api/form/PDFField.ts +7 -7
  1107. package/src/api/form/PDFForm.ts +46 -38
  1108. package/src/api/form/PDFOptionList.ts +9 -9
  1109. package/src/api/form/PDFRadioGroup.ts +8 -8
  1110. package/src/api/form/PDFSignature.ts +4 -4
  1111. package/src/api/form/PDFTextField.ts +13 -13
  1112. package/src/api/form/appearances.ts +40 -48
  1113. package/src/api/form/index.ts +10 -10
  1114. package/src/api/image/index.ts +1 -1
  1115. package/src/api/index.ts +20 -20
  1116. package/src/api/objects.ts +1 -1
  1117. package/src/api/operations.ts +55 -12
  1118. package/src/api/operators.ts +10 -3
  1119. package/src/api/rotations.ts +1 -1
  1120. package/src/api/svg.ts +937 -0
  1121. package/src/api/svgPath.ts +2 -4
  1122. package/src/api/text/index.ts +2 -2
  1123. package/src/api/text/layout.ts +5 -5
  1124. package/src/core/PDFContext.ts +20 -19
  1125. package/src/core/PDFObjectCopier.ts +8 -8
  1126. package/src/core/acroform/PDFAcroButton.ts +8 -8
  1127. package/src/core/acroform/PDFAcroCheckBox.ts +6 -6
  1128. package/src/core/acroform/PDFAcroChoice.ts +7 -10
  1129. package/src/core/acroform/PDFAcroComboBox.ts +5 -5
  1130. package/src/core/acroform/PDFAcroField.ts +12 -11
  1131. package/src/core/acroform/PDFAcroForm.ts +8 -11
  1132. package/src/core/acroform/PDFAcroListBox.ts +4 -4
  1133. package/src/core/acroform/PDFAcroNonTerminal.ts +5 -5
  1134. package/src/core/acroform/PDFAcroPushButton.ts +5 -5
  1135. package/src/core/acroform/PDFAcroRadioButton.ts +7 -7
  1136. package/src/core/acroform/PDFAcroSignature.ts +3 -3
  1137. package/src/core/acroform/PDFAcroTerminal.ts +6 -6
  1138. package/src/core/acroform/PDFAcroText.ts +8 -8
  1139. package/src/core/acroform/index.ts +15 -15
  1140. package/src/core/acroform/utils.ts +20 -20
  1141. package/src/core/annotation/AppearanceCharacteristics.ts +6 -6
  1142. package/src/core/annotation/BorderStyle.ts +3 -3
  1143. package/src/core/annotation/PDFAnnotation.ts +6 -6
  1144. package/src/core/annotation/PDFWidgetAnnotation.ts +9 -9
  1145. package/src/core/annotation/index.ts +4 -4
  1146. package/src/core/crypto.ts +1989 -0
  1147. package/src/core/document/PDFCrossRefSection.ts +3 -3
  1148. package/src/core/document/PDFHeader.ts +2 -2
  1149. package/src/core/document/PDFTrailer.ts +2 -2
  1150. package/src/core/document/PDFTrailerDict.ts +2 -2
  1151. package/src/core/embedders/CMap.ts +3 -3
  1152. package/src/core/embedders/CustomFontEmbedder.ts +9 -9
  1153. package/src/core/embedders/CustomFontSubsetEmbedder.ts +11 -4
  1154. package/src/core/embedders/FileEmbedder.ts +4 -4
  1155. package/src/core/embedders/FontFlags.ts +1 -1
  1156. package/src/core/embedders/JavaScriptEmbedder.ts +3 -3
  1157. package/src/core/embedders/JpegEmbedder.ts +2 -2
  1158. package/src/core/embedders/PDFPageEmbedder.ts +13 -13
  1159. package/src/core/embedders/PngEmbedder.ts +3 -3
  1160. package/src/core/embedders/StandardFontEmbedder.ts +4 -4
  1161. package/src/core/errors.ts +2 -2
  1162. package/src/core/index.ts +47 -47
  1163. package/src/core/interactive/ViewerPreferences.ts +7 -7
  1164. package/src/core/objects/PDFArray.ts +14 -14
  1165. package/src/core/objects/PDFBool.ts +3 -3
  1166. package/src/core/objects/PDFDict.ts +14 -12
  1167. package/src/core/objects/PDFHexString.ts +4 -4
  1168. package/src/core/objects/PDFInvalidObject.ts +1 -1
  1169. package/src/core/objects/PDFName.ts +5 -5
  1170. package/src/core/objects/PDFNull.ts +2 -2
  1171. package/src/core/objects/PDFNumber.ts +2 -2
  1172. package/src/core/objects/PDFObject.ts +2 -2
  1173. package/src/core/objects/PDFRawStream.ts +17 -7
  1174. package/src/core/objects/PDFRef.ts +3 -3
  1175. package/src/core/objects/PDFStream.ts +7 -7
  1176. package/src/core/objects/PDFString.ts +4 -4
  1177. package/src/core/operators/PDFOperator.ts +10 -10
  1178. package/src/core/parser/BaseParser.ts +6 -6
  1179. package/src/core/parser/ByteStream.ts +4 -4
  1180. package/src/core/parser/PDFObjectParser.ts +78 -41
  1181. package/src/core/parser/PDFObjectStreamParser.ts +9 -9
  1182. package/src/core/parser/PDFParser.ts +37 -22
  1183. package/src/core/parser/PDFXRefStreamParser.ts +9 -9
  1184. package/src/core/streams/Ascii85Stream.ts +2 -2
  1185. package/src/core/streams/AsciiHexStream.ts +2 -2
  1186. package/src/core/streams/DecodeStream.ts +2 -2
  1187. package/src/core/streams/DecryptStream.ts +56 -0
  1188. package/src/core/streams/FlateStream.ts +2 -2
  1189. package/src/core/streams/LZWStream.ts +3 -3
  1190. package/src/core/streams/RunLengthStream.ts +2 -2
  1191. package/src/core/streams/decode.ts +22 -17
  1192. package/src/core/structures/PDFCatalog.ts +6 -6
  1193. package/src/core/structures/PDFContentStream.ts +5 -5
  1194. package/src/core/structures/PDFCrossRefStream.ts +6 -6
  1195. package/src/core/structures/PDFFlateStream.ts +5 -5
  1196. package/src/core/structures/PDFObjectStream.ts +8 -8
  1197. package/src/core/structures/PDFPageLeaf.ts +9 -9
  1198. package/src/core/structures/PDFPageTree.ts +8 -8
  1199. package/src/core/syntax/Delimiters.ts +1 -1
  1200. package/src/core/syntax/Irregular.ts +3 -3
  1201. package/src/core/syntax/Keywords.ts +1 -1
  1202. package/src/core/syntax/Numeric.ts +1 -1
  1203. package/src/core/syntax/Whitespace.ts +1 -1
  1204. package/src/core/writers/PDFStreamWriter.ts +13 -13
  1205. package/src/core/writers/PDFWriter.ts +13 -19
  1206. package/src/index.ts +4 -4
  1207. package/src/types/index.ts +38 -1
  1208. package/src/utils/arrays.ts +14 -2
  1209. package/src/utils/base64.ts +2 -1
  1210. package/src/utils/elements/Arc.ts +107 -0
  1211. package/src/utils/elements/Circle.ts +55 -0
  1212. package/src/utils/elements/Ellipse.ts +135 -0
  1213. package/src/utils/elements/GraphElement.ts +14 -0
  1214. package/src/utils/elements/Line.ts +85 -0
  1215. package/src/utils/elements/Plot.ts +50 -0
  1216. package/src/utils/elements/Point.ts +37 -0
  1217. package/src/utils/elements/Rectangle.ts +65 -0
  1218. package/src/utils/elements/Segment.ts +92 -0
  1219. package/src/utils/elements/index.ts +9 -0
  1220. package/src/utils/index.ts +11 -11
  1221. package/src/utils/intersections.ts +282 -0
  1222. package/src/utils/maths.ts +108 -0
  1223. package/src/utils/pdfDocEncoding.ts +1 -1
  1224. package/src/utils/strings.ts +8 -1
  1225. package/src/utils/unicode.ts +1 -1
  1226. package/src/utils/validators.ts +1 -1
  1227. package/ts3.4/cjs/api/PDFDocument.d.ts +11 -11
  1228. package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +3 -2
  1229. package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +4 -4
  1230. package/ts3.4/cjs/api/PDFEmbeddedPage.d.ts +3 -3
  1231. package/ts3.4/cjs/api/PDFFont.d.ts +3 -3
  1232. package/ts3.4/cjs/api/PDFImage.d.ts +3 -3
  1233. package/ts3.4/cjs/api/PDFJavaScript.d.ts +4 -4
  1234. package/ts3.4/cjs/api/PDFPage.d.ts +21 -9
  1235. package/ts3.4/cjs/api/PDFPageOptions.d.ts +29 -12
  1236. package/ts3.4/cjs/api/colors.d.ts +4 -0
  1237. package/ts3.4/cjs/api/form/PDFButton.d.ts +8 -8
  1238. package/ts3.4/cjs/api/form/PDFCheckBox.d.ts +5 -5
  1239. package/ts3.4/cjs/api/form/PDFDropdown.d.ts +6 -6
  1240. package/ts3.4/cjs/api/form/PDFField.d.ts +6 -6
  1241. package/ts3.4/cjs/api/form/PDFForm.d.ts +11 -11
  1242. package/ts3.4/cjs/api/form/PDFOptionList.d.ts +6 -6
  1243. package/ts3.4/cjs/api/form/PDFRadioGroup.d.ts +5 -5
  1244. package/ts3.4/cjs/api/form/PDFSignature.d.ts +3 -3
  1245. package/ts3.4/cjs/api/form/PDFTextField.d.ts +8 -8
  1246. package/ts3.4/cjs/api/form/appearances.d.ts +11 -11
  1247. package/ts3.4/cjs/api/form/index.d.ts +10 -10
  1248. package/ts3.4/cjs/api/image/index.d.ts +1 -1
  1249. package/ts3.4/cjs/api/index.d.ts +20 -20
  1250. package/ts3.4/cjs/api/objects.d.ts +1 -1
  1251. package/ts3.4/cjs/api/operations.d.ts +20 -4
  1252. package/ts3.4/cjs/api/operators.d.ts +6 -1
  1253. package/ts3.4/cjs/api/rotations.d.ts +1 -1
  1254. package/ts3.4/cjs/api/svg.d.ts +71 -0
  1255. package/ts3.4/cjs/api/svgPath.d.ts +1 -1
  1256. package/ts3.4/cjs/api/text/index.d.ts +2 -2
  1257. package/ts3.4/cjs/api/text/layout.d.ts +3 -3
  1258. package/ts3.4/cjs/core/PDFContext.d.ts +17 -16
  1259. package/ts3.4/cjs/core/PDFObjectCopier.d.ts +2 -2
  1260. package/ts3.4/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
  1261. package/ts3.4/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
  1262. package/ts3.4/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
  1263. package/ts3.4/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
  1264. package/ts3.4/cjs/core/acroform/PDFAcroField.d.ts +8 -8
  1265. package/ts3.4/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
  1266. package/ts3.4/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
  1267. package/ts3.4/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
  1268. package/ts3.4/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
  1269. package/ts3.4/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
  1270. package/ts3.4/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
  1271. package/ts3.4/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
  1272. package/ts3.4/cjs/core/acroform/PDFAcroText.d.ts +7 -7
  1273. package/ts3.4/cjs/core/acroform/index.d.ts +15 -15
  1274. package/ts3.4/cjs/core/acroform/utils.d.ts +4 -4
  1275. package/ts3.4/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
  1276. package/ts3.4/cjs/core/annotation/BorderStyle.d.ts +2 -2
  1277. package/ts3.4/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
  1278. package/ts3.4/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
  1279. package/ts3.4/cjs/core/annotation/index.d.ts +4 -4
  1280. package/ts3.4/cjs/core/crypto.d.ts +96 -0
  1281. package/ts3.4/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
  1282. package/ts3.4/cjs/core/document/PDFTrailerDict.d.ts +1 -1
  1283. package/ts3.4/cjs/core/embedders/CMap.d.ts +1 -1
  1284. package/ts3.4/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
  1285. package/ts3.4/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
  1286. package/ts3.4/cjs/core/embedders/FileEmbedder.d.ts +2 -2
  1287. package/ts3.4/cjs/core/embedders/FontFlags.d.ts +1 -1
  1288. package/ts3.4/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
  1289. package/ts3.4/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
  1290. package/ts3.4/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
  1291. package/ts3.4/cjs/core/embedders/PngEmbedder.d.ts +2 -2
  1292. package/ts3.4/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -3
  1293. package/ts3.4/cjs/core/errors.d.ts +1 -1
  1294. package/ts3.4/cjs/core/index.d.ts +47 -47
  1295. package/ts3.4/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
  1296. package/ts3.4/cjs/core/objects/PDFArray.d.ts +12 -12
  1297. package/ts3.4/cjs/core/objects/PDFBool.d.ts +1 -1
  1298. package/ts3.4/cjs/core/objects/PDFDict.d.ts +12 -11
  1299. package/ts3.4/cjs/core/objects/PDFHexString.d.ts +1 -1
  1300. package/ts3.4/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
  1301. package/ts3.4/cjs/core/objects/PDFName.d.ts +1 -1
  1302. package/ts3.4/cjs/core/objects/PDFNull.d.ts +1 -1
  1303. package/ts3.4/cjs/core/objects/PDFNumber.d.ts +1 -1
  1304. package/ts3.4/cjs/core/objects/PDFObject.d.ts +1 -1
  1305. package/ts3.4/cjs/core/objects/PDFRawStream.d.ts +6 -4
  1306. package/ts3.4/cjs/core/objects/PDFRef.d.ts +1 -1
  1307. package/ts3.4/cjs/core/objects/PDFStream.d.ts +3 -3
  1308. package/ts3.4/cjs/core/objects/PDFString.d.ts +1 -1
  1309. package/ts3.4/cjs/core/operators/PDFOperator.d.ts +7 -7
  1310. package/ts3.4/cjs/core/parser/BaseParser.d.ts +1 -1
  1311. package/ts3.4/cjs/core/parser/ByteStream.d.ts +1 -1
  1312. package/ts3.4/cjs/core/parser/PDFObjectParser.d.ts +22 -20
  1313. package/ts3.4/cjs/core/parser/PDFObjectStreamParser.d.ts +2 -2
  1314. package/ts3.4/cjs/core/parser/PDFParser.d.ts +5 -4
  1315. package/ts3.4/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
  1316. package/ts3.4/cjs/core/streams/Ascii85Stream.d.ts +2 -2
  1317. package/ts3.4/cjs/core/streams/AsciiHexStream.d.ts +2 -2
  1318. package/ts3.4/cjs/core/streams/DecodeStream.d.ts +1 -1
  1319. package/ts3.4/cjs/core/streams/DecryptStream.d.ts +13 -0
  1320. package/ts3.4/cjs/core/streams/FlateStream.d.ts +2 -2
  1321. package/ts3.4/cjs/core/streams/LZWStream.d.ts +3 -3
  1322. package/ts3.4/cjs/core/streams/RunLengthStream.d.ts +2 -2
  1323. package/ts3.4/cjs/core/streams/decode.d.ts +3 -3
  1324. package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +5 -5
  1325. package/ts3.4/cjs/core/structures/PDFContentStream.d.ts +4 -4
  1326. package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +4 -4
  1327. package/ts3.4/cjs/core/structures/PDFFlateStream.d.ts +3 -3
  1328. package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +4 -4
  1329. package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
  1330. package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +6 -6
  1331. package/ts3.4/cjs/core/syntax/Keywords.d.ts +1 -1
  1332. package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +6 -6
  1333. package/ts3.4/cjs/core/writers/PDFWriter.d.ts +8 -8
  1334. package/ts3.4/cjs/index.d.ts +4 -4
  1335. package/ts3.4/cjs/types/index.d.ts +25 -1
  1336. package/ts3.4/cjs/utils/arrays.d.ts +2 -1
  1337. package/ts3.4/cjs/utils/elements/Arc.d.ts +23 -0
  1338. package/ts3.4/cjs/utils/elements/Circle.d.ts +15 -0
  1339. package/ts3.4/cjs/utils/elements/Ellipse.d.ts +21 -0
  1340. package/ts3.4/cjs/utils/elements/GraphElement.d.ts +7 -0
  1341. package/ts3.4/cjs/utils/elements/Line.d.ts +24 -0
  1342. package/ts3.4/cjs/utils/elements/Plot.d.ts +12 -0
  1343. package/ts3.4/cjs/utils/elements/Point.d.ts +19 -0
  1344. package/ts3.4/cjs/utils/elements/Rectangle.d.ts +22 -0
  1345. package/ts3.4/cjs/utils/elements/Segment.d.ts +20 -0
  1346. package/ts3.4/cjs/utils/elements/index.d.ts +10 -0
  1347. package/ts3.4/cjs/utils/index.d.ts +11 -11
  1348. package/ts3.4/cjs/utils/intersections.d.ts +10 -0
  1349. package/ts3.4/cjs/utils/maths.d.ts +46 -0
  1350. package/ts3.4/cjs/utils/strings.d.ts +1 -0
  1351. package/ts3.4/es/api/PDFDocument.d.ts +11 -11
  1352. package/ts3.4/es/api/PDFDocumentOptions.d.ts +3 -2
  1353. package/ts3.4/es/api/PDFEmbeddedFile.d.ts +4 -4
  1354. package/ts3.4/es/api/PDFEmbeddedPage.d.ts +3 -3
  1355. package/ts3.4/es/api/PDFFont.d.ts +3 -3
  1356. package/ts3.4/es/api/PDFImage.d.ts +3 -3
  1357. package/ts3.4/es/api/PDFJavaScript.d.ts +4 -4
  1358. package/ts3.4/es/api/PDFPage.d.ts +21 -9
  1359. package/ts3.4/es/api/PDFPageOptions.d.ts +29 -12
  1360. package/ts3.4/es/api/colors.d.ts +4 -0
  1361. package/ts3.4/es/api/form/PDFButton.d.ts +8 -8
  1362. package/ts3.4/es/api/form/PDFCheckBox.d.ts +5 -5
  1363. package/ts3.4/es/api/form/PDFDropdown.d.ts +6 -6
  1364. package/ts3.4/es/api/form/PDFField.d.ts +6 -6
  1365. package/ts3.4/es/api/form/PDFForm.d.ts +11 -11
  1366. package/ts3.4/es/api/form/PDFOptionList.d.ts +6 -6
  1367. package/ts3.4/es/api/form/PDFRadioGroup.d.ts +5 -5
  1368. package/ts3.4/es/api/form/PDFSignature.d.ts +3 -3
  1369. package/ts3.4/es/api/form/PDFTextField.d.ts +8 -8
  1370. package/ts3.4/es/api/form/appearances.d.ts +11 -11
  1371. package/ts3.4/es/api/form/index.d.ts +10 -10
  1372. package/ts3.4/es/api/image/index.d.ts +1 -1
  1373. package/ts3.4/es/api/index.d.ts +20 -20
  1374. package/ts3.4/es/api/objects.d.ts +1 -1
  1375. package/ts3.4/es/api/operations.d.ts +20 -4
  1376. package/ts3.4/es/api/operators.d.ts +6 -1
  1377. package/ts3.4/es/api/rotations.d.ts +1 -1
  1378. package/ts3.4/es/api/svg.d.ts +71 -0
  1379. package/ts3.4/es/api/svgPath.d.ts +1 -1
  1380. package/ts3.4/es/api/text/index.d.ts +2 -2
  1381. package/ts3.4/es/api/text/layout.d.ts +3 -3
  1382. package/ts3.4/es/core/PDFContext.d.ts +17 -16
  1383. package/ts3.4/es/core/PDFObjectCopier.d.ts +2 -2
  1384. package/ts3.4/es/core/acroform/PDFAcroButton.d.ts +7 -7
  1385. package/ts3.4/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
  1386. package/ts3.4/es/core/acroform/PDFAcroChoice.d.ts +4 -4
  1387. package/ts3.4/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
  1388. package/ts3.4/es/core/acroform/PDFAcroField.d.ts +8 -8
  1389. package/ts3.4/es/core/acroform/PDFAcroForm.d.ts +5 -5
  1390. package/ts3.4/es/core/acroform/PDFAcroListBox.d.ts +4 -4
  1391. package/ts3.4/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
  1392. package/ts3.4/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
  1393. package/ts3.4/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
  1394. package/ts3.4/es/core/acroform/PDFAcroSignature.d.ts +3 -3
  1395. package/ts3.4/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
  1396. package/ts3.4/es/core/acroform/PDFAcroText.d.ts +7 -7
  1397. package/ts3.4/es/core/acroform/index.d.ts +15 -15
  1398. package/ts3.4/es/core/acroform/utils.d.ts +4 -4
  1399. package/ts3.4/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
  1400. package/ts3.4/es/core/annotation/BorderStyle.d.ts +2 -2
  1401. package/ts3.4/es/core/annotation/PDFAnnotation.d.ts +6 -6
  1402. package/ts3.4/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
  1403. package/ts3.4/es/core/annotation/index.d.ts +4 -4
  1404. package/ts3.4/es/core/crypto.d.ts +96 -0
  1405. package/ts3.4/es/core/document/PDFCrossRefSection.d.ts +1 -1
  1406. package/ts3.4/es/core/document/PDFTrailerDict.d.ts +1 -1
  1407. package/ts3.4/es/core/embedders/CMap.d.ts +1 -1
  1408. package/ts3.4/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
  1409. package/ts3.4/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
  1410. package/ts3.4/es/core/embedders/FileEmbedder.d.ts +2 -2
  1411. package/ts3.4/es/core/embedders/FontFlags.d.ts +1 -1
  1412. package/ts3.4/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
  1413. package/ts3.4/es/core/embedders/JpegEmbedder.d.ts +2 -2
  1414. package/ts3.4/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
  1415. package/ts3.4/es/core/embedders/PngEmbedder.d.ts +2 -2
  1416. package/ts3.4/es/core/embedders/StandardFontEmbedder.d.ts +3 -3
  1417. package/ts3.4/es/core/errors.d.ts +1 -1
  1418. package/ts3.4/es/core/index.d.ts +47 -47
  1419. package/ts3.4/es/core/interactive/ViewerPreferences.d.ts +6 -6
  1420. package/ts3.4/es/core/objects/PDFArray.d.ts +12 -12
  1421. package/ts3.4/es/core/objects/PDFBool.d.ts +1 -1
  1422. package/ts3.4/es/core/objects/PDFDict.d.ts +12 -11
  1423. package/ts3.4/es/core/objects/PDFHexString.d.ts +1 -1
  1424. package/ts3.4/es/core/objects/PDFInvalidObject.d.ts +1 -1
  1425. package/ts3.4/es/core/objects/PDFName.d.ts +1 -1
  1426. package/ts3.4/es/core/objects/PDFNull.d.ts +1 -1
  1427. package/ts3.4/es/core/objects/PDFNumber.d.ts +1 -1
  1428. package/ts3.4/es/core/objects/PDFObject.d.ts +1 -1
  1429. package/ts3.4/es/core/objects/PDFRawStream.d.ts +6 -4
  1430. package/ts3.4/es/core/objects/PDFRef.d.ts +1 -1
  1431. package/ts3.4/es/core/objects/PDFStream.d.ts +3 -3
  1432. package/ts3.4/es/core/objects/PDFString.d.ts +1 -1
  1433. package/ts3.4/es/core/operators/PDFOperator.d.ts +7 -7
  1434. package/ts3.4/es/core/parser/BaseParser.d.ts +1 -1
  1435. package/ts3.4/es/core/parser/ByteStream.d.ts +1 -1
  1436. package/ts3.4/es/core/parser/PDFObjectParser.d.ts +22 -20
  1437. package/ts3.4/es/core/parser/PDFObjectStreamParser.d.ts +2 -2
  1438. package/ts3.4/es/core/parser/PDFParser.d.ts +5 -4
  1439. package/ts3.4/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
  1440. package/ts3.4/es/core/streams/Ascii85Stream.d.ts +2 -2
  1441. package/ts3.4/es/core/streams/AsciiHexStream.d.ts +2 -2
  1442. package/ts3.4/es/core/streams/DecodeStream.d.ts +1 -1
  1443. package/ts3.4/es/core/streams/DecryptStream.d.ts +13 -0
  1444. package/ts3.4/es/core/streams/FlateStream.d.ts +2 -2
  1445. package/ts3.4/es/core/streams/LZWStream.d.ts +3 -3
  1446. package/ts3.4/es/core/streams/RunLengthStream.d.ts +2 -2
  1447. package/ts3.4/es/core/streams/decode.d.ts +3 -3
  1448. package/ts3.4/es/core/structures/PDFCatalog.d.ts +5 -5
  1449. package/ts3.4/es/core/structures/PDFContentStream.d.ts +4 -4
  1450. package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +4 -4
  1451. package/ts3.4/es/core/structures/PDFFlateStream.d.ts +3 -3
  1452. package/ts3.4/es/core/structures/PDFObjectStream.d.ts +4 -4
  1453. package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +9 -9
  1454. package/ts3.4/es/core/structures/PDFPageTree.d.ts +6 -6
  1455. package/ts3.4/es/core/syntax/Keywords.d.ts +1 -1
  1456. package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +6 -6
  1457. package/ts3.4/es/core/writers/PDFWriter.d.ts +8 -8
  1458. package/ts3.4/es/index.d.ts +4 -4
  1459. package/ts3.4/es/types/index.d.ts +25 -1
  1460. package/ts3.4/es/utils/arrays.d.ts +2 -1
  1461. package/ts3.4/es/utils/elements/Arc.d.ts +23 -0
  1462. package/ts3.4/es/utils/elements/Circle.d.ts +15 -0
  1463. package/ts3.4/es/utils/elements/Ellipse.d.ts +21 -0
  1464. package/ts3.4/es/utils/elements/GraphElement.d.ts +7 -0
  1465. package/ts3.4/es/utils/elements/Line.d.ts +24 -0
  1466. package/ts3.4/es/utils/elements/Plot.d.ts +12 -0
  1467. package/ts3.4/es/utils/elements/Point.d.ts +19 -0
  1468. package/ts3.4/es/utils/elements/Rectangle.d.ts +22 -0
  1469. package/ts3.4/es/utils/elements/Segment.d.ts +20 -0
  1470. package/ts3.4/es/utils/elements/index.d.ts +10 -0
  1471. package/ts3.4/es/utils/index.d.ts +11 -11
  1472. package/ts3.4/es/utils/intersections.d.ts +10 -0
  1473. package/ts3.4/es/utils/maths.d.ts +46 -0
  1474. package/ts3.4/es/utils/strings.d.ts +1 -0
  1475. package/yarn.lock +0 -4408
@@ -1,48 +1,51 @@
1
- import { __awaiter, __generator, __rest } from "tslib";
2
- import { EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, } from "./errors";
3
- import PDFEmbeddedPage from "./PDFEmbeddedPage";
4
- import PDFFont from "./PDFFont";
5
- import PDFImage from "./PDFImage";
6
- import PDFPage from "./PDFPage";
7
- import PDFForm from "./form/PDFForm";
8
- import { PageSizes } from "./sizes";
9
- import { CustomFontEmbedder, CustomFontSubsetEmbedder, JpegEmbedder, PageEmbeddingMismatchedContextError, PDFCatalog, PDFContext, PDFDict, PDFHexString, PDFName, PDFObjectCopier, PDFPageEmbedder, PDFPageLeaf, PDFPageTree, PDFParser, PDFStreamWriter, PDFString, PDFWriter, PngEmbedder, StandardFontEmbedder, UnexpectedObjectTypeError, } from "../core";
10
- import { ParseSpeeds, } from "./PDFDocumentOptions";
11
- import { assertIs, assertIsOneOfOrUndefined, assertOrUndefined, assertRange, Cache, canBeConvertedToUint8Array, encodeToBase64, isStandardFont, pluckIndices, range, toUint8Array, } from "../utils";
12
- import FileEmbedder, { AFRelationship } from "../core/embedders/FileEmbedder";
13
- import PDFEmbeddedFile from "./PDFEmbeddedFile";
14
- import PDFJavaScript from "./PDFJavaScript";
15
- import JavaScriptEmbedder from "../core/embedders/JavaScriptEmbedder";
1
+ import { EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, } from './errors.js';
2
+ import PDFEmbeddedPage from './PDFEmbeddedPage.js';
3
+ import PDFFont from './PDFFont.js';
4
+ import PDFImage from './PDFImage.js';
5
+ import PDFPage from './PDFPage.js';
6
+ import PDFForm from './form/PDFForm.js';
7
+ import { PageSizes } from './sizes.js';
8
+ import { CustomFontEmbedder, CustomFontSubsetEmbedder, JpegEmbedder, PageEmbeddingMismatchedContextError, PDFArray, PDFCatalog, PDFContext, PDFDict, PDFHexString, PDFName, PDFObjectCopier, PDFPageEmbedder, PDFPageLeaf, PDFPageTree, PDFParser, PDFStreamWriter, PDFString, PDFWriter, PngEmbedder, StandardFontEmbedder, UnexpectedObjectTypeError, } from '../core/index.js';
9
+ import { ParseSpeeds, } from './PDFDocumentOptions.js';
10
+ import { assertIs, assertIsOneOfOrUndefined, assertOrUndefined, assertRange, Cache, canBeConvertedToUint8Array, encodeToBase64, isStandardFont, pluckIndices, range, toUint8Array, } from '../utils/index.js';
11
+ import FileEmbedder, { AFRelationship } from '../core/embedders/FileEmbedder.js';
12
+ import PDFEmbeddedFile from './PDFEmbeddedFile.js';
13
+ import PDFJavaScript from './PDFJavaScript.js';
14
+ import JavaScriptEmbedder from '../core/embedders/JavaScriptEmbedder.js';
15
+ import { CipherTransformFactory } from '../core/crypto.js';
16
16
  /**
17
17
  * Represents a PDF document.
18
18
  */
19
- var PDFDocument = /** @class */ (function () {
20
- function PDFDocument(context, ignoreEncryption, updateMetadata) {
21
- var _this = this;
19
+ export default class PDFDocument {
20
+ constructor(context, ignoreEncryption, updateMetadata) {
22
21
  /** The default word breaks used in PDFPage.drawText */
23
22
  this.defaultWordBreaks = [' '];
24
- this.computePages = function () {
25
- var pages = [];
26
- _this.catalog.Pages().traverse(function (node, ref) {
23
+ this.computePages = () => {
24
+ const pages = [];
25
+ this.catalog.Pages().traverse((node, ref) => {
27
26
  if (node instanceof PDFPageLeaf) {
28
- var page = _this.pageMap.get(node);
27
+ let page = this.pageMap.get(node);
29
28
  if (!page) {
30
- page = PDFPage.of(node, ref, _this);
31
- _this.pageMap.set(node, page);
29
+ page = PDFPage.of(node, ref, this);
30
+ this.pageMap.set(node, page);
32
31
  }
33
32
  pages.push(page);
34
33
  }
35
34
  });
36
35
  return pages;
37
36
  };
38
- this.getOrCreateForm = function () {
39
- var acroForm = _this.catalog.getOrCreateAcroForm();
40
- return PDFForm.of(acroForm, _this);
37
+ this.getOrCreateForm = () => {
38
+ const acroForm = this.catalog.getOrCreateAcroForm();
39
+ return PDFForm.of(acroForm, this);
41
40
  };
42
41
  assertIs(context, 'context', [[PDFContext, 'PDFContext']]);
43
42
  assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
44
43
  this.context = context;
45
44
  this.catalog = context.lookup(context.trailerInfo.Root);
45
+ if (!!context.lookup(context.trailerInfo.Encrypt) && context.isDecrypted) {
46
+ // context.delete(context.trailerInfo.Encrypt);
47
+ delete context.trailerInfo.Encrypt;
48
+ }
46
49
  this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);
47
50
  this.pageCache = Cache.populatedBy(this.computePages);
48
51
  this.pageMap = new Map();
@@ -109,46 +112,39 @@ var PDFDocument = /** @class */ (function () {
109
112
  * @param options The options to be used when loading the document.
110
113
  * @returns Resolves with a document loaded from the input.
111
114
  */
112
- PDFDocument.load = function (pdf, options) {
113
- if (options === void 0) { options = {}; }
114
- return __awaiter(this, void 0, void 0, function () {
115
- var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context;
116
- return __generator(this, function (_f) {
117
- switch (_f.label) {
118
- case 0:
119
- _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? ParseSpeeds.Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e;
120
- assertIs(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);
121
- assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
122
- assertIs(parseSpeed, 'parseSpeed', ['number']);
123
- assertIs(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);
124
- bytes = toUint8Array(pdf);
125
- return [4 /*yield*/, PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()];
126
- case 1:
127
- context = _f.sent();
128
- return [2 /*return*/, new PDFDocument(context, ignoreEncryption, updateMetadata)];
129
- }
130
- });
131
- });
132
- };
115
+ static async load(pdf, options = {}) {
116
+ const { ignoreEncryption = false, parseSpeed = ParseSpeeds.Slow, throwOnInvalidObject = false, updateMetadata = true, capNumbers = false, password, } = options;
117
+ assertIs(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);
118
+ assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
119
+ assertIs(parseSpeed, 'parseSpeed', ['number']);
120
+ assertIs(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);
121
+ assertIs(password, 'password', ['string', 'undefined']);
122
+ const bytes = toUint8Array(pdf);
123
+ const context = await PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument();
124
+ if (!!context.lookup(context.trailerInfo.Encrypt) && password !== undefined) {
125
+ // Decrypt
126
+ const fileIds = context.lookup(context.trailerInfo.ID, PDFArray);
127
+ const encryptDict = context.lookup(context.trailerInfo.Encrypt, PDFDict);
128
+ const decryptedContext = await PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers, new CipherTransformFactory(encryptDict, fileIds.get(0).asBytes(), password)).parseDocument();
129
+ return new PDFDocument(decryptedContext, true, updateMetadata);
130
+ }
131
+ else {
132
+ return new PDFDocument(context, ignoreEncryption, updateMetadata);
133
+ }
134
+ }
133
135
  /**
134
136
  * Create a new [[PDFDocument]].
135
137
  * @returns Resolves with the newly created document.
136
138
  */
137
- PDFDocument.create = function (options) {
138
- if (options === void 0) { options = {}; }
139
- return __awaiter(this, void 0, void 0, function () {
140
- var _a, updateMetadata, context, pageTree, pageTreeRef, catalog;
141
- return __generator(this, function (_b) {
142
- _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a;
143
- context = PDFContext.create();
144
- pageTree = PDFPageTree.withContext(context);
145
- pageTreeRef = context.register(pageTree);
146
- catalog = PDFCatalog.withContextAndPages(context, pageTreeRef);
147
- context.trailerInfo.Root = context.register(catalog);
148
- return [2 /*return*/, new PDFDocument(context, false, updateMetadata)];
149
- });
150
- });
151
- };
139
+ static async create(options = {}) {
140
+ const { updateMetadata = true } = options;
141
+ const context = PDFContext.create();
142
+ const pageTree = PDFPageTree.withContext(context);
143
+ const pageTreeRef = context.register(pageTree);
144
+ const catalog = PDFCatalog.withContextAndPages(context, pageTreeRef);
145
+ context.trailerInfo.Root = context.register(catalog);
146
+ return new PDFDocument(context, false, updateMetadata);
147
+ }
152
148
  /**
153
149
  * Register a fontkit instance. This must be done before custom fonts can
154
150
  * be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation)
@@ -167,9 +163,9 @@ var PDFDocument = /** @class */ (function () {
167
163
  *
168
164
  * @param fontkit The fontkit instance to be registered.
169
165
  */
170
- PDFDocument.prototype.registerFontkit = function (fontkit) {
166
+ registerFontkit(fontkit) {
171
167
  this.fontkit = fontkit;
172
- };
168
+ }
173
169
  /**
174
170
  * Get the [[PDFForm]] containing all interactive fields for this document.
175
171
  * For example:
@@ -184,14 +180,14 @@ var PDFDocument = /** @class */ (function () {
184
180
  * ```
185
181
  * @returns The form for this document.
186
182
  */
187
- PDFDocument.prototype.getForm = function () {
188
- var form = this.formCache.access();
183
+ getForm() {
184
+ const form = this.formCache.access();
189
185
  if (form.hasXFA()) {
190
186
  console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA');
191
187
  form.deleteXFA();
192
188
  }
193
189
  return form;
194
- };
190
+ }
195
191
  /**
196
192
  * Get this document's title metadata. The title appears in the
197
193
  * "Document Properties" section of most PDF readers. For example:
@@ -200,13 +196,13 @@ var PDFDocument = /** @class */ (function () {
200
196
  * ```
201
197
  * @returns A string containing the title of this document, if it has one.
202
198
  */
203
- PDFDocument.prototype.getTitle = function () {
204
- var title = this.getInfoDict().lookup(PDFName.Title);
199
+ getTitle() {
200
+ const title = this.getInfoDict().lookup(PDFName.Title);
205
201
  if (!title)
206
202
  return undefined;
207
203
  assertIsLiteralOrHexString(title);
208
204
  return title.decodeText();
209
- };
205
+ }
210
206
  /**
211
207
  * Get this document's author metadata. The author appears in the
212
208
  * "Document Properties" section of most PDF readers. For example:
@@ -215,13 +211,13 @@ var PDFDocument = /** @class */ (function () {
215
211
  * ```
216
212
  * @returns A string containing the author of this document, if it has one.
217
213
  */
218
- PDFDocument.prototype.getAuthor = function () {
219
- var author = this.getInfoDict().lookup(PDFName.Author);
214
+ getAuthor() {
215
+ const author = this.getInfoDict().lookup(PDFName.Author);
220
216
  if (!author)
221
217
  return undefined;
222
218
  assertIsLiteralOrHexString(author);
223
219
  return author.decodeText();
224
- };
220
+ }
225
221
  /**
226
222
  * Get this document's subject metadata. The subject appears in the
227
223
  * "Document Properties" section of most PDF readers. For example:
@@ -230,13 +226,13 @@ var PDFDocument = /** @class */ (function () {
230
226
  * ```
231
227
  * @returns A string containing the subject of this document, if it has one.
232
228
  */
233
- PDFDocument.prototype.getSubject = function () {
234
- var subject = this.getInfoDict().lookup(PDFName.Subject);
229
+ getSubject() {
230
+ const subject = this.getInfoDict().lookup(PDFName.Subject);
235
231
  if (!subject)
236
232
  return undefined;
237
233
  assertIsLiteralOrHexString(subject);
238
234
  return subject.decodeText();
239
- };
235
+ }
240
236
  /**
241
237
  * Get this document's keywords metadata. The keywords appear in the
242
238
  * "Document Properties" section of most PDF readers. For example:
@@ -245,13 +241,13 @@ var PDFDocument = /** @class */ (function () {
245
241
  * ```
246
242
  * @returns A string containing the keywords of this document, if it has any.
247
243
  */
248
- PDFDocument.prototype.getKeywords = function () {
249
- var keywords = this.getInfoDict().lookup(PDFName.Keywords);
244
+ getKeywords() {
245
+ const keywords = this.getInfoDict().lookup(PDFName.Keywords);
250
246
  if (!keywords)
251
247
  return undefined;
252
248
  assertIsLiteralOrHexString(keywords);
253
249
  return keywords.decodeText();
254
- };
250
+ }
255
251
  /**
256
252
  * Get this document's creator metadata. The creator appears in the
257
253
  * "Document Properties" section of most PDF readers. For example:
@@ -260,13 +256,13 @@ var PDFDocument = /** @class */ (function () {
260
256
  * ```
261
257
  * @returns A string containing the creator of this document, if it has one.
262
258
  */
263
- PDFDocument.prototype.getCreator = function () {
264
- var creator = this.getInfoDict().lookup(PDFName.Creator);
259
+ getCreator() {
260
+ const creator = this.getInfoDict().lookup(PDFName.Creator);
265
261
  if (!creator)
266
262
  return undefined;
267
263
  assertIsLiteralOrHexString(creator);
268
264
  return creator.decodeText();
269
- };
265
+ }
270
266
  /**
271
267
  * Get this document's producer metadata. The producer appears in the
272
268
  * "Document Properties" section of most PDF readers. For example:
@@ -275,13 +271,13 @@ var PDFDocument = /** @class */ (function () {
275
271
  * ```
276
272
  * @returns A string containing the producer of this document, if it has one.
277
273
  */
278
- PDFDocument.prototype.getProducer = function () {
279
- var producer = this.getInfoDict().lookup(PDFName.Producer);
274
+ getProducer() {
275
+ const producer = this.getInfoDict().lookup(PDFName.Producer);
280
276
  if (!producer)
281
277
  return undefined;
282
278
  assertIsLiteralOrHexString(producer);
283
279
  return producer.decodeText();
284
- };
280
+ }
285
281
  /**
286
282
  * Get this document's creation date metadata. The creation date appears in
287
283
  * the "Document Properties" section of most PDF readers. For example:
@@ -291,13 +287,13 @@ var PDFDocument = /** @class */ (function () {
291
287
  * @returns A Date containing the creation date of this document,
292
288
  * if it has one.
293
289
  */
294
- PDFDocument.prototype.getCreationDate = function () {
295
- var creationDate = this.getInfoDict().lookup(PDFName.CreationDate);
290
+ getCreationDate() {
291
+ const creationDate = this.getInfoDict().lookup(PDFName.CreationDate);
296
292
  if (!creationDate)
297
293
  return undefined;
298
294
  assertIsLiteralOrHexString(creationDate);
299
295
  return creationDate.decodeDate();
300
- };
296
+ }
301
297
  /**
302
298
  * Get this document's modification date metadata. The modification date
303
299
  * appears in the "Document Properties" section of most PDF readers.
@@ -308,13 +304,13 @@ var PDFDocument = /** @class */ (function () {
308
304
  * @returns A Date containing the modification date of this document,
309
305
  * if it has one.
310
306
  */
311
- PDFDocument.prototype.getModificationDate = function () {
312
- var modificationDate = this.getInfoDict().lookup(PDFName.ModDate);
307
+ getModificationDate() {
308
+ const modificationDate = this.getInfoDict().lookup(PDFName.ModDate);
313
309
  if (!modificationDate)
314
310
  return undefined;
315
311
  assertIsLiteralOrHexString(modificationDate);
316
312
  return modificationDate.decodeDate();
317
- };
313
+ }
318
314
  /**
319
315
  * Set this document's title metadata. The title will appear in the
320
316
  * "Document Properties" section of most PDF readers. For example:
@@ -332,16 +328,16 @@ var PDFDocument = /** @class */ (function () {
332
328
  * @param title The title of this document.
333
329
  * @param options The options to be used when setting the title.
334
330
  */
335
- PDFDocument.prototype.setTitle = function (title, options) {
331
+ setTitle(title, options) {
336
332
  assertIs(title, 'title', ['string']);
337
- var key = PDFName.of('Title');
333
+ const key = PDFName.of('Title');
338
334
  this.getInfoDict().set(key, PDFHexString.fromText(title));
339
335
  // Indicate that readers should display the title rather than the filename
340
336
  if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) {
341
- var prefs = this.catalog.getOrCreateViewerPreferences();
337
+ const prefs = this.catalog.getOrCreateViewerPreferences();
342
338
  prefs.setDisplayDocTitle(true);
343
339
  }
344
- };
340
+ }
345
341
  /**
346
342
  * Set this document's author metadata. The author will appear in the
347
343
  * "Document Properties" section of most PDF readers. For example:
@@ -350,11 +346,11 @@ var PDFDocument = /** @class */ (function () {
350
346
  * ```
351
347
  * @param author The author of this document.
352
348
  */
353
- PDFDocument.prototype.setAuthor = function (author) {
349
+ setAuthor(author) {
354
350
  assertIs(author, 'author', ['string']);
355
- var key = PDFName.of('Author');
351
+ const key = PDFName.of('Author');
356
352
  this.getInfoDict().set(key, PDFHexString.fromText(author));
357
- };
353
+ }
358
354
  /**
359
355
  * Set this document's subject metadata. The subject will appear in the
360
356
  * "Document Properties" section of most PDF readers. For example:
@@ -363,11 +359,11 @@ var PDFDocument = /** @class */ (function () {
363
359
  * ```
364
360
  * @param subject The subject of this document.
365
361
  */
366
- PDFDocument.prototype.setSubject = function (subject) {
362
+ setSubject(subject) {
367
363
  assertIs(subject, 'author', ['string']);
368
- var key = PDFName.of('Subject');
364
+ const key = PDFName.of('Subject');
369
365
  this.getInfoDict().set(key, PDFHexString.fromText(subject));
370
- };
366
+ }
371
367
  /**
372
368
  * Set this document's keyword metadata. These keywords will appear in the
373
369
  * "Document Properties" section of most PDF readers. For example:
@@ -376,11 +372,11 @@ var PDFDocument = /** @class */ (function () {
376
372
  * ```
377
373
  * @param keywords An array of keywords associated with this document.
378
374
  */
379
- PDFDocument.prototype.setKeywords = function (keywords) {
375
+ setKeywords(keywords) {
380
376
  assertIs(keywords, 'keywords', [Array]);
381
- var key = PDFName.of('Keywords');
377
+ const key = PDFName.of('Keywords');
382
378
  this.getInfoDict().set(key, PDFHexString.fromText(keywords.join(' ')));
383
- };
379
+ }
384
380
  /**
385
381
  * Set this document's creator metadata. The creator will appear in the
386
382
  * "Document Properties" section of most PDF readers. For example:
@@ -389,11 +385,11 @@ var PDFDocument = /** @class */ (function () {
389
385
  * ```
390
386
  * @param creator The creator of this document.
391
387
  */
392
- PDFDocument.prototype.setCreator = function (creator) {
388
+ setCreator(creator) {
393
389
  assertIs(creator, 'creator', ['string']);
394
- var key = PDFName.of('Creator');
390
+ const key = PDFName.of('Creator');
395
391
  this.getInfoDict().set(key, PDFHexString.fromText(creator));
396
- };
392
+ }
397
393
  /**
398
394
  * Set this document's producer metadata. The producer will appear in the
399
395
  * "Document Properties" section of most PDF readers. For example:
@@ -402,11 +398,11 @@ var PDFDocument = /** @class */ (function () {
402
398
  * ```
403
399
  * @param producer The producer of this document.
404
400
  */
405
- PDFDocument.prototype.setProducer = function (producer) {
401
+ setProducer(producer) {
406
402
  assertIs(producer, 'creator', ['string']);
407
- var key = PDFName.of('Producer');
403
+ const key = PDFName.of('Producer');
408
404
  this.getInfoDict().set(key, PDFHexString.fromText(producer));
409
- };
405
+ }
410
406
  /**
411
407
  * Set this document's language metadata. The language will appear in the
412
408
  * "Document Properties" section of some PDF readers. For example:
@@ -417,11 +413,11 @@ var PDFDocument = /** @class */ (function () {
417
413
  * @param language An RFC 3066 _Language-Tag_ denoting the language of this
418
414
  * document, or an empty string if the language is unknown.
419
415
  */
420
- PDFDocument.prototype.setLanguage = function (language) {
416
+ setLanguage(language) {
421
417
  assertIs(language, 'language', ['string']);
422
- var key = PDFName.of('Lang');
418
+ const key = PDFName.of('Lang');
423
419
  this.catalog.set(key, PDFString.of(language));
424
- };
420
+ }
425
421
  /**
426
422
  * Set this document's creation date metadata. The creation date will appear
427
423
  * in the "Document Properties" section of most PDF readers. For example:
@@ -430,11 +426,11 @@ var PDFDocument = /** @class */ (function () {
430
426
  * ```
431
427
  * @param creationDate The date this document was created.
432
428
  */
433
- PDFDocument.prototype.setCreationDate = function (creationDate) {
429
+ setCreationDate(creationDate) {
434
430
  assertIs(creationDate, 'creationDate', [[Date, 'Date']]);
435
- var key = PDFName.of('CreationDate');
431
+ const key = PDFName.of('CreationDate');
436
432
  this.getInfoDict().set(key, PDFString.fromDate(creationDate));
437
- };
433
+ }
438
434
  /**
439
435
  * Set this document's modification date metadata. The modification date will
440
436
  * appear in the "Document Properties" section of most PDF readers. For
@@ -444,11 +440,11 @@ var PDFDocument = /** @class */ (function () {
444
440
  * ```
445
441
  * @param modificationDate The date this document was last modified.
446
442
  */
447
- PDFDocument.prototype.setModificationDate = function (modificationDate) {
443
+ setModificationDate(modificationDate) {
448
444
  assertIs(modificationDate, 'modificationDate', [[Date, 'Date']]);
449
- var key = PDFName.of('ModDate');
445
+ const key = PDFName.of('ModDate');
450
446
  this.getInfoDict().set(key, PDFString.fromDate(modificationDate));
451
- };
447
+ }
452
448
  /**
453
449
  * Get the number of pages contained in this document. For example:
454
450
  * ```js
@@ -456,11 +452,11 @@ var PDFDocument = /** @class */ (function () {
456
452
  * ```
457
453
  * @returns The number of pages in this document.
458
454
  */
459
- PDFDocument.prototype.getPageCount = function () {
455
+ getPageCount() {
460
456
  if (this.pageCount === undefined)
461
457
  this.pageCount = this.getPages().length;
462
458
  return this.pageCount;
463
- };
459
+ }
464
460
  /**
465
461
  * Get an array of all the pages contained in this document. The pages are
466
462
  * stored in the array in the same order that they are rendered in the
@@ -473,9 +469,9 @@ var PDFDocument = /** @class */ (function () {
473
469
  * ```
474
470
  * @returns An array of all the pages contained in this document.
475
471
  */
476
- PDFDocument.prototype.getPages = function () {
472
+ getPages() {
477
473
  return this.pageCache.access();
478
- };
474
+ }
479
475
  /**
480
476
  * Get the page rendered at a particular `index` of the document. For example:
481
477
  * ```js
@@ -485,11 +481,11 @@ var PDFDocument = /** @class */ (function () {
485
481
  * ```
486
482
  * @returns The [[PDFPage]] rendered at the given `index` of the document.
487
483
  */
488
- PDFDocument.prototype.getPage = function (index) {
489
- var pages = this.getPages();
484
+ getPage(index) {
485
+ const pages = this.getPages();
490
486
  assertRange(index, 'index', 0, pages.length - 1);
491
487
  return pages[index];
492
- };
488
+ }
493
489
  /**
494
490
  * Get an array of indices for all the pages contained in this document. The
495
491
  * array will contain a range of integers from
@@ -505,9 +501,9 @@ var PDFDocument = /** @class */ (function () {
505
501
  * ```
506
502
  * @returns An array of indices for all pages contained in this document.
507
503
  */
508
- PDFDocument.prototype.getPageIndices = function () {
504
+ getPageIndices() {
509
505
  return range(0, this.getPageCount());
510
- };
506
+ }
511
507
  /**
512
508
  * Remove the page at a given index from this document. For example:
513
509
  * ```js
@@ -519,14 +515,14 @@ var PDFDocument = /** @class */ (function () {
519
515
  * in the document.
520
516
  * @param index The index of the page to be removed.
521
517
  */
522
- PDFDocument.prototype.removePage = function (index) {
523
- var pageCount = this.getPageCount();
518
+ removePage(index) {
519
+ const pageCount = this.getPageCount();
524
520
  if (this.pageCount === 0)
525
521
  throw new RemovePageFromEmptyDocumentError();
526
522
  assertRange(index, 'index', 0, pageCount - 1);
527
523
  this.catalog.removeLeafNode(index);
528
524
  this.pageCount = pageCount - 1;
529
- };
525
+ }
530
526
  /**
531
527
  * Add a page to the end of this document. This method accepts three
532
528
  * different value types for the `page` parameter:
@@ -558,10 +554,10 @@ var PDFDocument = /** @class */ (function () {
558
554
  * @param page Optionally, the desired dimensions or existing page.
559
555
  * @returns The newly created (or existing) page.
560
556
  */
561
- PDFDocument.prototype.addPage = function (page) {
557
+ addPage(page) {
562
558
  assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]);
563
559
  return this.insertPage(this.getPageCount(), page);
564
- };
560
+ }
565
561
  /**
566
562
  * Insert a page at a given index within this document. This method accepts
567
563
  * three different value types for the `page` parameter:
@@ -594,25 +590,25 @@ var PDFDocument = /** @class */ (function () {
594
590
  * @param page Optionally, the desired dimensions or existing page.
595
591
  * @returns The newly created (or existing) page.
596
592
  */
597
- PDFDocument.prototype.insertPage = function (index, page) {
598
- var pageCount = this.getPageCount();
593
+ insertPage(index, page) {
594
+ const pageCount = this.getPageCount();
599
595
  assertRange(index, 'index', 0, pageCount);
600
596
  assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]);
601
597
  if (!page || Array.isArray(page)) {
602
- var dims = Array.isArray(page) ? page : PageSizes.A4;
598
+ const dims = Array.isArray(page) ? page : PageSizes.A4;
603
599
  page = PDFPage.create(this);
604
- page.setSize.apply(page, dims);
600
+ page.setSize(...dims);
605
601
  }
606
602
  else if (page.doc !== this) {
607
603
  throw new ForeignPageError();
608
604
  }
609
- var parentRef = this.catalog.insertLeafNode(page.ref, index);
605
+ const parentRef = this.catalog.insertLeafNode(page.ref, index);
610
606
  page.node.setParent(parentRef);
611
607
  this.pageMap.set(page.node, page);
612
608
  this.pageCache.invalidate();
613
609
  this.pageCount = pageCount + 1;
614
610
  return page;
615
- };
611
+ }
616
612
  /**
617
613
  * Copy pages from a source document into this document. Allows pages to be
618
614
  * copied between different [[PDFDocument]] instances. For example:
@@ -631,31 +627,21 @@ var PDFDocument = /** @class */ (function () {
631
627
  * @param indices The indices of the pages that should be copied.
632
628
  * @returns Resolves with an array of pages copied into this document.
633
629
  */
634
- PDFDocument.prototype.copyPages = function (srcDoc, indices) {
635
- return __awaiter(this, void 0, void 0, function () {
636
- var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref;
637
- return __generator(this, function (_a) {
638
- switch (_a.label) {
639
- case 0:
640
- assertIs(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);
641
- assertIs(indices, 'indices', [Array]);
642
- return [4 /*yield*/, srcDoc.flush()];
643
- case 1:
644
- _a.sent();
645
- copier = PDFObjectCopier.for(srcDoc.context, this.context);
646
- srcPages = srcDoc.getPages();
647
- copiedPages = new Array(indices.length);
648
- for (idx = 0, len = indices.length; idx < len; idx++) {
649
- srcPage = srcPages[indices[idx]];
650
- copiedPage = copier.copy(srcPage.node);
651
- ref = this.context.register(copiedPage);
652
- copiedPages[idx] = PDFPage.of(copiedPage, ref, this);
653
- }
654
- return [2 /*return*/, copiedPages];
655
- }
656
- });
657
- });
658
- };
630
+ async copyPages(srcDoc, indices) {
631
+ assertIs(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);
632
+ assertIs(indices, 'indices', [Array]);
633
+ await srcDoc.flush();
634
+ const copier = PDFObjectCopier.for(srcDoc.context, this.context);
635
+ const srcPages = srcDoc.getPages();
636
+ const copiedPages = new Array(indices.length);
637
+ for (let idx = 0, len = indices.length; idx < len; idx++) {
638
+ const srcPage = srcPages[indices[idx]];
639
+ const copiedPage = copier.copy(srcPage.node);
640
+ const ref = this.context.register(copiedPage);
641
+ copiedPages[idx] = PDFPage.of(copiedPage, ref, this);
642
+ }
643
+ return copiedPages;
644
+ }
659
645
  /**
660
646
  * Get a copy of this document.
661
647
  *
@@ -670,47 +656,36 @@ var PDFDocument = /** @class */ (function () {
670
656
  *
671
657
  * @returns Resolves with a copy this document.
672
658
  */
673
- PDFDocument.prototype.copy = function () {
674
- return __awaiter(this, void 0, void 0, function () {
675
- var pdfCopy, contentPages, idx, len;
676
- return __generator(this, function (_a) {
677
- switch (_a.label) {
678
- case 0: return [4 /*yield*/, PDFDocument.create()];
679
- case 1:
680
- pdfCopy = _a.sent();
681
- return [4 /*yield*/, pdfCopy.copyPages(this, this.getPageIndices())];
682
- case 2:
683
- contentPages = _a.sent();
684
- for (idx = 0, len = contentPages.length; idx < len; idx++) {
685
- pdfCopy.addPage(contentPages[idx]);
686
- }
687
- if (this.getAuthor() !== undefined) {
688
- pdfCopy.setAuthor(this.getAuthor());
689
- }
690
- if (this.getCreationDate() !== undefined) {
691
- pdfCopy.setCreationDate(this.getCreationDate());
692
- }
693
- if (this.getCreator() !== undefined) {
694
- pdfCopy.setCreator(this.getCreator());
695
- }
696
- if (this.getModificationDate() !== undefined) {
697
- pdfCopy.setModificationDate(this.getModificationDate());
698
- }
699
- if (this.getProducer() !== undefined) {
700
- pdfCopy.setProducer(this.getProducer());
701
- }
702
- if (this.getSubject() !== undefined) {
703
- pdfCopy.setSubject(this.getSubject());
704
- }
705
- if (this.getTitle() !== undefined) {
706
- pdfCopy.setTitle(this.getTitle());
707
- }
708
- pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
709
- return [2 /*return*/, pdfCopy];
710
- }
711
- });
712
- });
713
- };
659
+ async copy() {
660
+ const pdfCopy = await PDFDocument.create();
661
+ const contentPages = await pdfCopy.copyPages(this, this.getPageIndices());
662
+ for (let idx = 0, len = contentPages.length; idx < len; idx++) {
663
+ pdfCopy.addPage(contentPages[idx]);
664
+ }
665
+ if (this.getAuthor() !== undefined) {
666
+ pdfCopy.setAuthor(this.getAuthor());
667
+ }
668
+ if (this.getCreationDate() !== undefined) {
669
+ pdfCopy.setCreationDate(this.getCreationDate());
670
+ }
671
+ if (this.getCreator() !== undefined) {
672
+ pdfCopy.setCreator(this.getCreator());
673
+ }
674
+ if (this.getModificationDate() !== undefined) {
675
+ pdfCopy.setModificationDate(this.getModificationDate());
676
+ }
677
+ if (this.getProducer() !== undefined) {
678
+ pdfCopy.setProducer(this.getProducer());
679
+ }
680
+ if (this.getSubject() !== undefined) {
681
+ pdfCopy.setSubject(this.getSubject());
682
+ }
683
+ if (this.getTitle() !== undefined) {
684
+ pdfCopy.setTitle(this.getTitle());
685
+ }
686
+ pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
687
+ return pdfCopy;
688
+ }
714
689
  /**
715
690
  * Add JavaScript to this document. The supplied `script` is executed when the
716
691
  * document is opened. The `script` can be used to perform some operation
@@ -735,14 +710,14 @@ var PDFDocument = /** @class */ (function () {
735
710
  * @param name The name of the script. Must be unique per document.
736
711
  * @param script The JavaScript to execute.
737
712
  */
738
- PDFDocument.prototype.addJavaScript = function (name, script) {
713
+ addJavaScript(name, script) {
739
714
  assertIs(name, 'name', ['string']);
740
715
  assertIs(script, 'script', ['string']);
741
- var embedder = JavaScriptEmbedder.for(script, name);
742
- var ref = this.context.nextRef();
743
- var javaScript = PDFJavaScript.of(ref, this, embedder);
716
+ const embedder = JavaScriptEmbedder.for(script, name);
717
+ const ref = this.context.nextRef();
718
+ const javaScript = PDFJavaScript.of(ref, this, embedder);
744
719
  this.javaScripts.push(javaScript);
745
- };
720
+ }
746
721
  /**
747
722
  * Add an attachment to this document. Attachments are visible in the
748
723
  * "Attachments" panel of Adobe Acrobat and some other PDF readers. Any
@@ -798,29 +773,22 @@ var PDFDocument = /** @class */ (function () {
798
773
  * @param name The name of the file to be attached.
799
774
  * @returns Resolves when the attachment is complete.
800
775
  */
801
- PDFDocument.prototype.attach = function (attachment, name, options) {
802
- if (options === void 0) { options = {}; }
803
- return __awaiter(this, void 0, void 0, function () {
804
- var bytes, embedder, ref, embeddedFile;
805
- return __generator(this, function (_a) {
806
- assertIs(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);
807
- assertIs(name, 'name', ['string']);
808
- assertOrUndefined(options.mimeType, 'mimeType', ['string']);
809
- assertOrUndefined(options.description, 'description', ['string']);
810
- assertOrUndefined(options.creationDate, 'options.creationDate', [Date]);
811
- assertOrUndefined(options.modificationDate, 'options.modificationDate', [
812
- Date,
813
- ]);
814
- assertIsOneOfOrUndefined(options.afRelationship, 'options.afRelationship', AFRelationship);
815
- bytes = toUint8Array(attachment);
816
- embedder = FileEmbedder.for(bytes, name, options);
817
- ref = this.context.nextRef();
818
- embeddedFile = PDFEmbeddedFile.of(ref, this, embedder);
819
- this.embeddedFiles.push(embeddedFile);
820
- return [2 /*return*/];
821
- });
822
- });
823
- };
776
+ async attach(attachment, name, options = {}) {
777
+ assertIs(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);
778
+ assertIs(name, 'name', ['string']);
779
+ assertOrUndefined(options.mimeType, 'mimeType', ['string']);
780
+ assertOrUndefined(options.description, 'description', ['string']);
781
+ assertOrUndefined(options.creationDate, 'options.creationDate', [Date]);
782
+ assertOrUndefined(options.modificationDate, 'options.modificationDate', [
783
+ Date,
784
+ ]);
785
+ assertIsOneOfOrUndefined(options.afRelationship, 'options.afRelationship', AFRelationship);
786
+ const bytes = toUint8Array(attachment);
787
+ const embedder = FileEmbedder.for(bytes, name, options);
788
+ const ref = this.context.nextRef();
789
+ const embeddedFile = PDFEmbeddedFile.of(ref, this, embedder);
790
+ this.embeddedFiles.push(embeddedFile);
791
+ }
824
792
  /**
825
793
  * Embed a font into this document. The input data can be provided in multiple
826
794
  * formats:
@@ -856,45 +824,29 @@ var PDFDocument = /** @class */ (function () {
856
824
  * @param options The options to be used when embedding the font.
857
825
  * @returns Resolves with the embedded font.
858
826
  */
859
- PDFDocument.prototype.embedFont = function (font, options) {
860
- if (options === void 0) { options = {}; }
861
- return __awaiter(this, void 0, void 0, function () {
862
- var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont;
863
- return __generator(this, function (_c) {
864
- switch (_c.label) {
865
- case 0:
866
- _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features;
867
- assertIs(font, 'font', ['string', Uint8Array, ArrayBuffer]);
868
- assertIs(subset, 'subset', ['boolean']);
869
- if (!isStandardFont(font)) return [3 /*break*/, 1];
870
- embedder = StandardFontEmbedder.for(font, customName);
871
- return [3 /*break*/, 7];
872
- case 1:
873
- if (!canBeConvertedToUint8Array(font)) return [3 /*break*/, 6];
874
- bytes = toUint8Array(font);
875
- fontkit = this.assertFontkit();
876
- if (!subset) return [3 /*break*/, 3];
877
- return [4 /*yield*/, CustomFontSubsetEmbedder.for(fontkit, bytes, customName, features)];
878
- case 2:
879
- _b = _c.sent();
880
- return [3 /*break*/, 5];
881
- case 3: return [4 /*yield*/, CustomFontEmbedder.for(fontkit, bytes, customName, features)];
882
- case 4:
883
- _b = _c.sent();
884
- _c.label = 5;
885
- case 5:
886
- embedder = _b;
887
- return [3 /*break*/, 7];
888
- case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
889
- case 7:
890
- ref = this.context.nextRef();
891
- pdfFont = PDFFont.of(ref, this, embedder);
892
- this.fonts.push(pdfFont);
893
- return [2 /*return*/, pdfFont];
894
- }
895
- });
896
- });
897
- };
827
+ async embedFont(font, options = {}) {
828
+ const { subset = false, customName, features } = options;
829
+ assertIs(font, 'font', ['string', Uint8Array, ArrayBuffer]);
830
+ assertIs(subset, 'subset', ['boolean']);
831
+ let embedder;
832
+ if (isStandardFont(font)) {
833
+ embedder = StandardFontEmbedder.for(font, customName);
834
+ }
835
+ else if (canBeConvertedToUint8Array(font)) {
836
+ const bytes = toUint8Array(font);
837
+ const fontkit = this.assertFontkit();
838
+ embedder = subset
839
+ ? await CustomFontSubsetEmbedder.for(fontkit, bytes, customName, features)
840
+ : await CustomFontEmbedder.for(fontkit, bytes, customName, features);
841
+ }
842
+ else {
843
+ throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
844
+ }
845
+ const ref = this.context.nextRef();
846
+ const pdfFont = PDFFont.of(ref, this, embedder);
847
+ this.fonts.push(pdfFont);
848
+ return pdfFont;
849
+ }
898
850
  /**
899
851
  * Embed a standard font into this document.
900
852
  * For example:
@@ -906,17 +858,17 @@ var PDFDocument = /** @class */ (function () {
906
858
  * @param customName The name to be used when embedding the font.
907
859
  * @returns The embedded font.
908
860
  */
909
- PDFDocument.prototype.embedStandardFont = function (font, customName) {
861
+ embedStandardFont(font, customName) {
910
862
  assertIs(font, 'font', ['string']);
911
863
  if (!isStandardFont(font)) {
912
864
  throw new TypeError('`font` must be one of type `StandardFonts`');
913
865
  }
914
- var embedder = StandardFontEmbedder.for(font, customName);
915
- var ref = this.context.nextRef();
916
- var pdfFont = PDFFont.of(ref, this, embedder);
866
+ const embedder = StandardFontEmbedder.for(font, customName);
867
+ const ref = this.context.nextRef();
868
+ const pdfFont = PDFFont.of(ref, this, embedder);
917
869
  this.fonts.push(pdfFont);
918
870
  return pdfFont;
919
- };
871
+ }
920
872
  /**
921
873
  * Embed a JPEG image into this document. The input data can be provided in
922
874
  * multiple formats:
@@ -947,25 +899,15 @@ var PDFDocument = /** @class */ (function () {
947
899
  * @param jpg The input data for a JPEG image.
948
900
  * @returns Resolves with the embedded image.
949
901
  */
950
- PDFDocument.prototype.embedJpg = function (jpg) {
951
- return __awaiter(this, void 0, void 0, function () {
952
- var bytes, embedder, ref, pdfImage;
953
- return __generator(this, function (_a) {
954
- switch (_a.label) {
955
- case 0:
956
- assertIs(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);
957
- bytes = toUint8Array(jpg);
958
- return [4 /*yield*/, JpegEmbedder.for(bytes)];
959
- case 1:
960
- embedder = _a.sent();
961
- ref = this.context.nextRef();
962
- pdfImage = PDFImage.of(ref, this, embedder);
963
- this.images.push(pdfImage);
964
- return [2 /*return*/, pdfImage];
965
- }
966
- });
967
- });
968
- };
902
+ async embedJpg(jpg) {
903
+ assertIs(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);
904
+ const bytes = toUint8Array(jpg);
905
+ const embedder = await JpegEmbedder.for(bytes);
906
+ const ref = this.context.nextRef();
907
+ const pdfImage = PDFImage.of(ref, this, embedder);
908
+ this.images.push(pdfImage);
909
+ return pdfImage;
910
+ }
969
911
  /**
970
912
  * Embed a PNG image into this document. The input data can be provided in
971
913
  * multiple formats:
@@ -996,25 +938,15 @@ var PDFDocument = /** @class */ (function () {
996
938
  * @param png The input data for a PNG image.
997
939
  * @returns Resolves with the embedded image.
998
940
  */
999
- PDFDocument.prototype.embedPng = function (png) {
1000
- return __awaiter(this, void 0, void 0, function () {
1001
- var bytes, embedder, ref, pdfImage;
1002
- return __generator(this, function (_a) {
1003
- switch (_a.label) {
1004
- case 0:
1005
- assertIs(png, 'png', ['string', Uint8Array, ArrayBuffer]);
1006
- bytes = toUint8Array(png);
1007
- return [4 /*yield*/, PngEmbedder.for(bytes)];
1008
- case 1:
1009
- embedder = _a.sent();
1010
- ref = this.context.nextRef();
1011
- pdfImage = PDFImage.of(ref, this, embedder);
1012
- this.images.push(pdfImage);
1013
- return [2 /*return*/, pdfImage];
1014
- }
1015
- });
1016
- });
1017
- };
941
+ async embedPng(png) {
942
+ assertIs(png, 'png', ['string', Uint8Array, ArrayBuffer]);
943
+ const bytes = toUint8Array(png);
944
+ const embedder = await PngEmbedder.for(bytes);
945
+ const ref = this.context.nextRef();
946
+ const pdfImage = PDFImage.of(ref, this, embedder);
947
+ this.images.push(pdfImage);
948
+ return pdfImage;
949
+ }
1018
950
  /**
1019
951
  * Embed one or more PDF pages into this document.
1020
952
  *
@@ -1035,35 +967,18 @@ var PDFDocument = /** @class */ (function () {
1035
967
  * @param indices The indices of the pages that should be embedded.
1036
968
  * @returns Resolves with an array of the embedded pages.
1037
969
  */
1038
- PDFDocument.prototype.embedPdf = function (pdf, indices) {
1039
- if (indices === void 0) { indices = [0]; }
1040
- return __awaiter(this, void 0, void 0, function () {
1041
- var srcDoc, _a, srcPages;
1042
- return __generator(this, function (_b) {
1043
- switch (_b.label) {
1044
- case 0:
1045
- assertIs(pdf, 'pdf', [
1046
- 'string',
1047
- Uint8Array,
1048
- ArrayBuffer,
1049
- [PDFDocument, 'PDFDocument'],
1050
- ]);
1051
- assertIs(indices, 'indices', [Array]);
1052
- if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1];
1053
- _a = pdf;
1054
- return [3 /*break*/, 3];
1055
- case 1: return [4 /*yield*/, PDFDocument.load(pdf)];
1056
- case 2:
1057
- _a = _b.sent();
1058
- _b.label = 3;
1059
- case 3:
1060
- srcDoc = _a;
1061
- srcPages = pluckIndices(srcDoc.getPages(), indices);
1062
- return [2 /*return*/, this.embedPages(srcPages)];
1063
- }
1064
- });
1065
- });
1066
- };
970
+ async embedPdf(pdf, indices = [0]) {
971
+ assertIs(pdf, 'pdf', [
972
+ 'string',
973
+ Uint8Array,
974
+ ArrayBuffer,
975
+ [PDFDocument, 'PDFDocument'],
976
+ ]);
977
+ assertIs(indices, 'indices', [Array]);
978
+ const srcDoc = pdf instanceof PDFDocument ? pdf : await PDFDocument.load(pdf);
979
+ const srcPages = pluckIndices(srcDoc.getPages(), indices);
980
+ return this.embedPages(srcPages);
981
+ }
1067
982
  /**
1068
983
  * Embed a single PDF page into this document.
1069
984
  *
@@ -1096,21 +1011,11 @@ var PDFDocument = /** @class */ (function () {
1096
1011
  * page anywhere it is drawn.
1097
1012
  * @returns Resolves with the embedded pdf page.
1098
1013
  */
1099
- PDFDocument.prototype.embedPage = function (page, boundingBox, transformationMatrix) {
1100
- return __awaiter(this, void 0, void 0, function () {
1101
- var embeddedPage;
1102
- return __generator(this, function (_a) {
1103
- switch (_a.label) {
1104
- case 0:
1105
- assertIs(page, 'page', [[PDFPage, 'PDFPage']]);
1106
- return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])];
1107
- case 1:
1108
- embeddedPage = (_a.sent())[0];
1109
- return [2 /*return*/, embeddedPage];
1110
- }
1111
- });
1112
- });
1113
- };
1014
+ async embedPage(page, boundingBox, transformationMatrix) {
1015
+ assertIs(page, 'page', [[PDFPage, 'PDFPage']]);
1016
+ const [embeddedPage] = await this.embedPages([page], [boundingBox], [transformationMatrix]);
1017
+ return embeddedPage;
1018
+ }
1114
1019
  /**
1115
1020
  * Embed one or more PDF pages into this document.
1116
1021
  *
@@ -1139,53 +1044,33 @@ var PDFDocument = /** @class */ (function () {
1139
1044
  * (each page's transformation will apply anywhere it is drawn).
1140
1045
  * @returns Resolves with an array of the embedded pdf pages.
1141
1046
  */
1142
- PDFDocument.prototype.embedPages = function (pages, boundingBoxes, transformationMatrices) {
1143
- if (boundingBoxes === void 0) { boundingBoxes = []; }
1144
- if (transformationMatrices === void 0) { transformationMatrices = []; }
1145
- return __awaiter(this, void 0, void 0, function () {
1146
- var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref;
1147
- var _a;
1148
- return __generator(this, function (_b) {
1149
- switch (_b.label) {
1150
- case 0:
1151
- if (pages.length === 0)
1152
- return [2 /*return*/, []];
1153
- // Assert all pages have the same context
1154
- for (idx = 0, len = pages.length - 1; idx < len; idx++) {
1155
- currPage = pages[idx];
1156
- nextPage = pages[idx + 1];
1157
- if (currPage.node.context !== nextPage.node.context) {
1158
- throw new PageEmbeddingMismatchedContextError();
1159
- }
1160
- }
1161
- context = pages[0].node.context;
1162
- maybeCopyPage = context === this.context
1163
- ? function (p) { return p; }
1164
- : PDFObjectCopier.for(context, this.context).copy;
1165
- embeddedPages = new Array(pages.length);
1166
- idx = 0, len = pages.length;
1167
- _b.label = 1;
1168
- case 1:
1169
- if (!(idx < len)) return [3 /*break*/, 4];
1170
- page = maybeCopyPage(pages[idx].node);
1171
- box = boundingBoxes[idx];
1172
- matrix = transformationMatrices[idx];
1173
- return [4 /*yield*/, PDFPageEmbedder.for(page, box, matrix)];
1174
- case 2:
1175
- embedder = _b.sent();
1176
- ref = this.context.nextRef();
1177
- embeddedPages[idx] = PDFEmbeddedPage.of(ref, this, embedder);
1178
- _b.label = 3;
1179
- case 3:
1180
- idx++;
1181
- return [3 /*break*/, 1];
1182
- case 4:
1183
- (_a = this.embeddedPages).push.apply(_a, embeddedPages);
1184
- return [2 /*return*/, embeddedPages];
1185
- }
1186
- });
1187
- });
1188
- };
1047
+ async embedPages(pages, boundingBoxes = [], transformationMatrices = []) {
1048
+ if (pages.length === 0)
1049
+ return [];
1050
+ // Assert all pages have the same context
1051
+ for (let idx = 0, len = pages.length - 1; idx < len; idx++) {
1052
+ const currPage = pages[idx];
1053
+ const nextPage = pages[idx + 1];
1054
+ if (currPage.node.context !== nextPage.node.context) {
1055
+ throw new PageEmbeddingMismatchedContextError();
1056
+ }
1057
+ }
1058
+ const context = pages[0].node.context;
1059
+ const maybeCopyPage = context === this.context
1060
+ ? (p) => p
1061
+ : PDFObjectCopier.for(context, this.context).copy;
1062
+ const embeddedPages = new Array(pages.length);
1063
+ for (let idx = 0, len = pages.length; idx < len; idx++) {
1064
+ const page = maybeCopyPage(pages[idx].node);
1065
+ const box = boundingBoxes[idx];
1066
+ const matrix = transformationMatrices[idx];
1067
+ const embedder = await PDFPageEmbedder.for(page, box, matrix);
1068
+ const ref = this.context.nextRef();
1069
+ embeddedPages[idx] = PDFEmbeddedPage.of(ref, this, embedder);
1070
+ }
1071
+ this.embeddedPages.push(...embeddedPages);
1072
+ return embeddedPages;
1073
+ }
1189
1074
  /**
1190
1075
  * > **NOTE:** You shouldn't need to call this method directly. The [[save]]
1191
1076
  * > and [[saveAsBase64]] methods will automatically ensure that all embedded
@@ -1196,30 +1081,13 @@ var PDFDocument = /** @class */ (function () {
1196
1081
  *
1197
1082
  * @returns Resolves when the flush is complete.
1198
1083
  */
1199
- PDFDocument.prototype.flush = function () {
1200
- return __awaiter(this, void 0, void 0, function () {
1201
- return __generator(this, function (_a) {
1202
- switch (_a.label) {
1203
- case 0: return [4 /*yield*/, this.embedAll(this.fonts)];
1204
- case 1:
1205
- _a.sent();
1206
- return [4 /*yield*/, this.embedAll(this.images)];
1207
- case 2:
1208
- _a.sent();
1209
- return [4 /*yield*/, this.embedAll(this.embeddedPages)];
1210
- case 3:
1211
- _a.sent();
1212
- return [4 /*yield*/, this.embedAll(this.embeddedFiles)];
1213
- case 4:
1214
- _a.sent();
1215
- return [4 /*yield*/, this.embedAll(this.javaScripts)];
1216
- case 5:
1217
- _a.sent();
1218
- return [2 /*return*/];
1219
- }
1220
- });
1221
- });
1222
- };
1084
+ async flush() {
1085
+ await this.embedAll(this.fonts);
1086
+ await this.embedAll(this.images);
1087
+ await this.embedAll(this.embeddedPages);
1088
+ await this.embedAll(this.embeddedFiles);
1089
+ await this.embedAll(this.javaScripts);
1090
+ }
1223
1091
  /**
1224
1092
  * Serialize this document to an array of bytes making up a PDF file.
1225
1093
  * For example:
@@ -1236,34 +1104,23 @@ var PDFDocument = /** @class */ (function () {
1236
1104
  * @param options The options to be used when saving the document.
1237
1105
  * @returns Resolves with the bytes of the serialized document.
1238
1106
  */
1239
- PDFDocument.prototype.save = function (options) {
1240
- if (options === void 0) { options = {}; }
1241
- return __awaiter(this, void 0, void 0, function () {
1242
- var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer;
1243
- return __generator(this, function (_e) {
1244
- switch (_e.label) {
1245
- case 0:
1246
- _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d;
1247
- assertIs(useObjectStreams, 'useObjectStreams', ['boolean']);
1248
- assertIs(addDefaultPage, 'addDefaultPage', ['boolean']);
1249
- assertIs(objectsPerTick, 'objectsPerTick', ['number']);
1250
- assertIs(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);
1251
- if (addDefaultPage && this.getPageCount() === 0)
1252
- this.addPage();
1253
- if (updateFieldAppearances) {
1254
- form = this.formCache.getValue();
1255
- if (form)
1256
- form.updateFieldAppearances();
1257
- }
1258
- return [4 /*yield*/, this.flush()];
1259
- case 1:
1260
- _e.sent();
1261
- Writer = useObjectStreams ? PDFStreamWriter : PDFWriter;
1262
- return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()];
1263
- }
1264
- });
1265
- });
1266
- };
1107
+ async save(options = {}) {
1108
+ const { useObjectStreams = true, addDefaultPage = true, objectsPerTick = 50, updateFieldAppearances = true, } = options;
1109
+ assertIs(useObjectStreams, 'useObjectStreams', ['boolean']);
1110
+ assertIs(addDefaultPage, 'addDefaultPage', ['boolean']);
1111
+ assertIs(objectsPerTick, 'objectsPerTick', ['number']);
1112
+ assertIs(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);
1113
+ if (addDefaultPage && this.getPageCount() === 0)
1114
+ this.addPage();
1115
+ if (updateFieldAppearances) {
1116
+ const form = this.formCache.getValue();
1117
+ if (form)
1118
+ form.updateFieldAppearances();
1119
+ }
1120
+ await this.flush();
1121
+ const Writer = useObjectStreams ? PDFStreamWriter : PDFWriter;
1122
+ return Writer.forContext(this.context, objectsPerTick).serializeToBuffer();
1123
+ }
1267
1124
  /**
1268
1125
  * Serialize this document to a base64 encoded string or data URI making up a
1269
1126
  * PDF file. For example:
@@ -1279,84 +1136,54 @@ var PDFDocument = /** @class */ (function () {
1279
1136
  * @returns Resolves with a base64 encoded string or data URI of the
1280
1137
  * serialized document.
1281
1138
  */
1282
- PDFDocument.prototype.saveAsBase64 = function (options) {
1283
- if (options === void 0) { options = {}; }
1284
- return __awaiter(this, void 0, void 0, function () {
1285
- var _a, dataUri, otherOptions, bytes, base64;
1286
- return __generator(this, function (_b) {
1287
- switch (_b.label) {
1288
- case 0:
1289
- _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = __rest(options, ["dataUri"]);
1290
- assertIs(dataUri, 'dataUri', ['boolean']);
1291
- return [4 /*yield*/, this.save(otherOptions)];
1292
- case 1:
1293
- bytes = _b.sent();
1294
- base64 = encodeToBase64(bytes);
1295
- return [2 /*return*/, dataUri ? "data:application/pdf;base64," + base64 : base64];
1296
- }
1297
- });
1298
- });
1299
- };
1300
- PDFDocument.prototype.findPageForAnnotationRef = function (ref) {
1301
- var pages = this.getPages();
1302
- for (var idx = 0, len = pages.length; idx < len; idx++) {
1303
- var page = pages[idx];
1304
- var annotations = page.node.Annots();
1139
+ async saveAsBase64(options = {}) {
1140
+ const { dataUri = false, ...otherOptions } = options;
1141
+ assertIs(dataUri, 'dataUri', ['boolean']);
1142
+ const bytes = await this.save(otherOptions);
1143
+ const base64 = encodeToBase64(bytes);
1144
+ return dataUri ? `data:application/pdf;base64,${base64}` : base64;
1145
+ }
1146
+ findPageForAnnotationRef(ref) {
1147
+ const pages = this.getPages();
1148
+ for (let idx = 0, len = pages.length; idx < len; idx++) {
1149
+ const page = pages[idx];
1150
+ const annotations = page.node.Annots();
1305
1151
  if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) {
1306
1152
  return page;
1307
1153
  }
1308
1154
  }
1309
1155
  return undefined;
1310
- };
1311
- PDFDocument.prototype.embedAll = function (embeddables) {
1312
- return __awaiter(this, void 0, void 0, function () {
1313
- var idx, len;
1314
- return __generator(this, function (_a) {
1315
- switch (_a.label) {
1316
- case 0:
1317
- idx = 0, len = embeddables.length;
1318
- _a.label = 1;
1319
- case 1:
1320
- if (!(idx < len)) return [3 /*break*/, 4];
1321
- return [4 /*yield*/, embeddables[idx].embed()];
1322
- case 2:
1323
- _a.sent();
1324
- _a.label = 3;
1325
- case 3:
1326
- idx++;
1327
- return [3 /*break*/, 1];
1328
- case 4: return [2 /*return*/];
1329
- }
1330
- });
1331
- });
1332
- };
1333
- PDFDocument.prototype.updateInfoDict = function () {
1334
- var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)";
1335
- var now = new Date();
1336
- var info = this.getInfoDict();
1156
+ }
1157
+ async embedAll(embeddables) {
1158
+ for (let idx = 0, len = embeddables.length; idx < len; idx++) {
1159
+ await embeddables[idx].embed();
1160
+ }
1161
+ }
1162
+ updateInfoDict() {
1163
+ const pdfLib = `pdf-lib (https://github.com/Hopding/pdf-lib)`;
1164
+ const now = new Date();
1165
+ const info = this.getInfoDict();
1337
1166
  this.setProducer(pdfLib);
1338
1167
  this.setModificationDate(now);
1339
1168
  if (!info.get(PDFName.of('Creator')))
1340
1169
  this.setCreator(pdfLib);
1341
1170
  if (!info.get(PDFName.of('CreationDate')))
1342
1171
  this.setCreationDate(now);
1343
- };
1344
- PDFDocument.prototype.getInfoDict = function () {
1345
- var existingInfo = this.context.lookup(this.context.trailerInfo.Info);
1172
+ }
1173
+ getInfoDict() {
1174
+ const existingInfo = this.context.lookup(this.context.trailerInfo.Info);
1346
1175
  if (existingInfo instanceof PDFDict)
1347
1176
  return existingInfo;
1348
- var newInfo = this.context.obj({});
1177
+ const newInfo = this.context.obj({});
1349
1178
  this.context.trailerInfo.Info = this.context.register(newInfo);
1350
1179
  return newInfo;
1351
- };
1352
- PDFDocument.prototype.assertFontkit = function () {
1180
+ }
1181
+ assertFontkit() {
1353
1182
  if (!this.fontkit)
1354
1183
  throw new FontkitNotRegisteredError();
1355
1184
  return this.fontkit;
1356
- };
1357
- return PDFDocument;
1358
- }());
1359
- export default PDFDocument;
1185
+ }
1186
+ }
1360
1187
  /* tslint:disable-next-line only-arrow-functions */
1361
1188
  function assertIsLiteralOrHexString(pdfObject) {
1362
1189
  if (!(pdfObject instanceof PDFHexString) &&