@pdfme/pdf-lib 1.17.3 → 1.18.1

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