@adnsistemas/pdf-lib 2.8.1 → 2.9.0

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 (753) hide show
  1. package/README.md +7 -2
  2. package/cjs/api/PDFDocument.d.ts +3 -0
  3. package/cjs/api/PDFDocument.d.ts.map +1 -1
  4. package/cjs/api/PDFDocument.js +22 -15
  5. package/cjs/api/PDFDocument.js.map +1 -1
  6. package/cjs/api/PDFFont.d.ts.map +1 -1
  7. package/cjs/api/PDFFont.js +4 -2
  8. package/cjs/api/PDFFont.js.map +1 -1
  9. package/cjs/api/PDFPage.d.ts.map +1 -1
  10. package/cjs/api/PDFPage.js +5 -4
  11. package/cjs/api/PDFPage.js.map +1 -1
  12. package/cjs/api/form/PDFButton.d.ts +3 -0
  13. package/cjs/api/form/PDFButton.d.ts.map +1 -1
  14. package/cjs/api/form/PDFButton.js +6 -1
  15. package/cjs/api/form/PDFButton.js.map +1 -1
  16. package/cjs/api/form/PDFCheckBox.d.ts +3 -0
  17. package/cjs/api/form/PDFCheckBox.d.ts.map +1 -1
  18. package/cjs/api/form/PDFCheckBox.js +6 -1
  19. package/cjs/api/form/PDFCheckBox.js.map +1 -1
  20. package/cjs/api/form/PDFDropdown.d.ts +3 -0
  21. package/cjs/api/form/PDFDropdown.d.ts.map +1 -1
  22. package/cjs/api/form/PDFDropdown.js +6 -1
  23. package/cjs/api/form/PDFDropdown.js.map +1 -1
  24. package/cjs/api/form/PDFField.d.ts +3 -0
  25. package/cjs/api/form/PDFField.d.ts.map +1 -1
  26. package/cjs/api/form/PDFField.js +5 -0
  27. package/cjs/api/form/PDFField.js.map +1 -1
  28. package/cjs/api/form/PDFForm.d.ts.map +1 -1
  29. package/cjs/api/form/PDFForm.js +24 -22
  30. package/cjs/api/form/PDFForm.js.map +1 -1
  31. package/cjs/api/form/PDFOptionList.d.ts +3 -0
  32. package/cjs/api/form/PDFOptionList.d.ts.map +1 -1
  33. package/cjs/api/form/PDFOptionList.js +6 -1
  34. package/cjs/api/form/PDFOptionList.js.map +1 -1
  35. package/cjs/api/form/PDFRadioGroup.d.ts +3 -0
  36. package/cjs/api/form/PDFRadioGroup.d.ts.map +1 -1
  37. package/cjs/api/form/PDFRadioGroup.js +7 -2
  38. package/cjs/api/form/PDFRadioGroup.js.map +1 -1
  39. package/cjs/api/form/PDFSignature.d.ts +3 -0
  40. package/cjs/api/form/PDFSignature.d.ts.map +1 -1
  41. package/cjs/api/form/PDFSignature.js +5 -0
  42. package/cjs/api/form/PDFSignature.js.map +1 -1
  43. package/cjs/api/form/PDFTextField.d.ts +3 -0
  44. package/cjs/api/form/PDFTextField.d.ts.map +1 -1
  45. package/cjs/api/form/PDFTextField.js +6 -1
  46. package/cjs/api/form/PDFTextField.js.map +1 -1
  47. package/cjs/api/objects.d.ts +61 -0
  48. package/cjs/api/objects.d.ts.map +1 -1
  49. package/cjs/api/objects.js +97 -4
  50. package/cjs/api/objects.js.map +1 -1
  51. package/cjs/api/operators.d.ts +28 -24
  52. package/cjs/api/operators.d.ts.map +1 -1
  53. package/cjs/api/operators.js +33 -29
  54. package/cjs/api/operators.js.map +1 -1
  55. package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +3 -0
  56. package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
  57. package/cjs/api/snapshot/DefaultDocumentSnapshot.js +5 -0
  58. package/cjs/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
  59. package/cjs/api/snapshot/DocumentSnapshot.d.ts +2 -0
  60. package/cjs/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
  61. package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +3 -0
  62. package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
  63. package/cjs/api/snapshot/IncrementalDocumentSnapshot.js +5 -0
  64. package/cjs/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
  65. package/cjs/core/PDFContext.d.ts +1 -1
  66. package/cjs/core/PDFContext.d.ts.map +1 -1
  67. package/cjs/core/PDFContext.js +33 -35
  68. package/cjs/core/PDFContext.js.map +1 -1
  69. package/cjs/core/PDFObjectCopier.d.ts.map +1 -1
  70. package/cjs/core/PDFObjectCopier.js +6 -9
  71. package/cjs/core/PDFObjectCopier.js.map +1 -1
  72. package/cjs/core/acroform/PDFAcroButton.d.ts.map +1 -1
  73. package/cjs/core/acroform/PDFAcroButton.js +7 -3
  74. package/cjs/core/acroform/PDFAcroButton.js.map +1 -1
  75. package/cjs/core/acroform/PDFAcroCheckBox.d.ts +3 -0
  76. package/cjs/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
  77. package/cjs/core/acroform/PDFAcroCheckBox.js +6 -1
  78. package/cjs/core/acroform/PDFAcroCheckBox.js.map +1 -1
  79. package/cjs/core/acroform/PDFAcroChoice.d.ts.map +1 -1
  80. package/cjs/core/acroform/PDFAcroChoice.js +22 -9
  81. package/cjs/core/acroform/PDFAcroChoice.js.map +1 -1
  82. package/cjs/core/acroform/PDFAcroComboBox.d.ts +3 -0
  83. package/cjs/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
  84. package/cjs/core/acroform/PDFAcroComboBox.js +5 -0
  85. package/cjs/core/acroform/PDFAcroComboBox.js.map +1 -1
  86. package/cjs/core/acroform/PDFAcroField.d.ts +3 -0
  87. package/cjs/core/acroform/PDFAcroField.d.ts.map +1 -1
  88. package/cjs/core/acroform/PDFAcroField.js +9 -4
  89. package/cjs/core/acroform/PDFAcroField.js.map +1 -1
  90. package/cjs/core/acroform/PDFAcroForm.d.ts +3 -0
  91. package/cjs/core/acroform/PDFAcroForm.d.ts.map +1 -1
  92. package/cjs/core/acroform/PDFAcroForm.js +7 -4
  93. package/cjs/core/acroform/PDFAcroForm.js.map +1 -1
  94. package/cjs/core/acroform/PDFAcroListBox.d.ts +3 -0
  95. package/cjs/core/acroform/PDFAcroListBox.d.ts.map +1 -1
  96. package/cjs/core/acroform/PDFAcroListBox.js +5 -0
  97. package/cjs/core/acroform/PDFAcroListBox.js.map +1 -1
  98. package/cjs/core/acroform/PDFAcroNonTerminal.d.ts +3 -0
  99. package/cjs/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
  100. package/cjs/core/acroform/PDFAcroNonTerminal.js +5 -0
  101. package/cjs/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  102. package/cjs/core/acroform/PDFAcroPushButton.d.ts +3 -0
  103. package/cjs/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
  104. package/cjs/core/acroform/PDFAcroPushButton.js +5 -0
  105. package/cjs/core/acroform/PDFAcroPushButton.js.map +1 -1
  106. package/cjs/core/acroform/PDFAcroRadioButton.d.ts +3 -0
  107. package/cjs/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
  108. package/cjs/core/acroform/PDFAcroRadioButton.js +6 -1
  109. package/cjs/core/acroform/PDFAcroRadioButton.js.map +1 -1
  110. package/cjs/core/acroform/PDFAcroSignature.d.ts +3 -0
  111. package/cjs/core/acroform/PDFAcroSignature.d.ts.map +1 -1
  112. package/cjs/core/acroform/PDFAcroSignature.js +5 -0
  113. package/cjs/core/acroform/PDFAcroSignature.js.map +1 -1
  114. package/cjs/core/acroform/PDFAcroText.d.ts +3 -0
  115. package/cjs/core/acroform/PDFAcroText.d.ts.map +1 -1
  116. package/cjs/core/acroform/PDFAcroText.js +9 -5
  117. package/cjs/core/acroform/PDFAcroText.js.map +1 -1
  118. package/cjs/core/acroform/utils.d.ts.map +1 -1
  119. package/cjs/core/acroform/utils.js +11 -7
  120. package/cjs/core/acroform/utils.js.map +1 -1
  121. package/cjs/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
  122. package/cjs/core/annotation/AppearanceCharacteristics.js +12 -11
  123. package/cjs/core/annotation/AppearanceCharacteristics.js.map +1 -1
  124. package/cjs/core/annotation/BorderStyle.d.ts.map +1 -1
  125. package/cjs/core/annotation/BorderStyle.js +2 -2
  126. package/cjs/core/annotation/BorderStyle.js.map +1 -1
  127. package/cjs/core/annotation/PDFAnnotation.d.ts.map +1 -1
  128. package/cjs/core/annotation/PDFAnnotation.js +4 -3
  129. package/cjs/core/annotation/PDFAnnotation.js.map +1 -1
  130. package/cjs/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
  131. package/cjs/core/annotation/PDFWidgetAnnotation.js +8 -9
  132. package/cjs/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  133. package/cjs/core/crypto.d.ts +3 -0
  134. package/cjs/core/crypto.d.ts.map +1 -1
  135. package/cjs/core/crypto.js +10 -5
  136. package/cjs/core/crypto.js.map +1 -1
  137. package/cjs/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
  138. package/cjs/core/embedders/PDFPageEmbedder.js +3 -4
  139. package/cjs/core/embedders/PDFPageEmbedder.js.map +1 -1
  140. package/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -0
  141. package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
  142. package/cjs/core/embedders/StandardFontEmbedder.js +5 -0
  143. package/cjs/core/embedders/StandardFontEmbedder.js.map +1 -1
  144. package/cjs/core/interactive/ViewerPreferences.d.ts.map +1 -1
  145. package/cjs/core/interactive/ViewerPreferences.js +5 -6
  146. package/cjs/core/interactive/ViewerPreferences.js.map +1 -1
  147. package/cjs/core/objects/PDFArray.d.ts +3 -0
  148. package/cjs/core/objects/PDFArray.d.ts.map +1 -1
  149. package/cjs/core/objects/PDFArray.js +6 -1
  150. package/cjs/core/objects/PDFArray.js.map +1 -1
  151. package/cjs/core/objects/PDFBool.d.ts +3 -0
  152. package/cjs/core/objects/PDFBool.d.ts.map +1 -1
  153. package/cjs/core/objects/PDFBool.js +5 -0
  154. package/cjs/core/objects/PDFBool.js.map +1 -1
  155. package/cjs/core/objects/PDFDict.d.ts +3 -0
  156. package/cjs/core/objects/PDFDict.d.ts.map +1 -1
  157. package/cjs/core/objects/PDFDict.js +5 -0
  158. package/cjs/core/objects/PDFDict.js.map +1 -1
  159. package/cjs/core/objects/PDFHexString.d.ts +3 -0
  160. package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
  161. package/cjs/core/objects/PDFHexString.js +5 -0
  162. package/cjs/core/objects/PDFHexString.js.map +1 -1
  163. package/cjs/core/objects/PDFInvalidObject.d.ts +3 -0
  164. package/cjs/core/objects/PDFInvalidObject.d.ts.map +1 -1
  165. package/cjs/core/objects/PDFInvalidObject.js +5 -0
  166. package/cjs/core/objects/PDFInvalidObject.js.map +1 -1
  167. package/cjs/core/objects/PDFName.d.ts +3 -0
  168. package/cjs/core/objects/PDFName.d.ts.map +1 -1
  169. package/cjs/core/objects/PDFName.js +5 -0
  170. package/cjs/core/objects/PDFName.js.map +1 -1
  171. package/cjs/core/objects/PDFNull.d.ts +3 -0
  172. package/cjs/core/objects/PDFNull.d.ts.map +1 -1
  173. package/cjs/core/objects/PDFNull.js +5 -0
  174. package/cjs/core/objects/PDFNull.js.map +1 -1
  175. package/cjs/core/objects/PDFNumber.d.ts +3 -0
  176. package/cjs/core/objects/PDFNumber.d.ts.map +1 -1
  177. package/cjs/core/objects/PDFNumber.js +5 -0
  178. package/cjs/core/objects/PDFNumber.js.map +1 -1
  179. package/cjs/core/objects/PDFObject.d.ts +3 -0
  180. package/cjs/core/objects/PDFObject.d.ts.map +1 -1
  181. package/cjs/core/objects/PDFObject.js +5 -0
  182. package/cjs/core/objects/PDFObject.js.map +1 -1
  183. package/cjs/core/objects/PDFRawStream.d.ts +3 -0
  184. package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
  185. package/cjs/core/objects/PDFRawStream.js +5 -0
  186. package/cjs/core/objects/PDFRawStream.js.map +1 -1
  187. package/cjs/core/objects/PDFRef.d.ts +3 -0
  188. package/cjs/core/objects/PDFRef.d.ts.map +1 -1
  189. package/cjs/core/objects/PDFRef.js +5 -0
  190. package/cjs/core/objects/PDFRef.js.map +1 -1
  191. package/cjs/core/objects/PDFStream.d.ts +3 -0
  192. package/cjs/core/objects/PDFStream.d.ts.map +1 -1
  193. package/cjs/core/objects/PDFStream.js +5 -0
  194. package/cjs/core/objects/PDFStream.js.map +1 -1
  195. package/cjs/core/objects/PDFString.d.ts +3 -0
  196. package/cjs/core/objects/PDFString.d.ts.map +1 -1
  197. package/cjs/core/objects/PDFString.js +5 -0
  198. package/cjs/core/objects/PDFString.js.map +1 -1
  199. package/cjs/core/operators/PDFOperator.d.ts.map +1 -1
  200. package/cjs/core/operators/PDFOperator.js +9 -4
  201. package/cjs/core/operators/PDFOperator.js.map +1 -1
  202. package/cjs/core/parser/PDFObjectParser.d.ts.map +1 -1
  203. package/cjs/core/parser/PDFObjectParser.js +2 -1
  204. package/cjs/core/parser/PDFObjectParser.js.map +1 -1
  205. package/cjs/core/parser/PDFParser.d.ts.map +1 -1
  206. package/cjs/core/parser/PDFParser.js +8 -7
  207. package/cjs/core/parser/PDFParser.js.map +1 -1
  208. package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  209. package/cjs/core/parser/PDFXRefStreamParser.js +8 -3
  210. package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
  211. package/cjs/core/streams/decode.d.ts.map +1 -1
  212. package/cjs/core/streams/decode.js +5 -5
  213. package/cjs/core/streams/decode.js.map +1 -1
  214. package/cjs/core/structures/PDFCatalog.d.ts +3 -0
  215. package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
  216. package/cjs/core/structures/PDFCatalog.js +5 -0
  217. package/cjs/core/structures/PDFCatalog.js.map +1 -1
  218. package/cjs/core/structures/PDFContentStream.d.ts +3 -0
  219. package/cjs/core/structures/PDFContentStream.d.ts.map +1 -1
  220. package/cjs/core/structures/PDFContentStream.js +5 -0
  221. package/cjs/core/structures/PDFContentStream.js.map +1 -1
  222. package/cjs/core/structures/PDFObjectStream.d.ts +3 -0
  223. package/cjs/core/structures/PDFObjectStream.d.ts.map +1 -1
  224. package/cjs/core/structures/PDFObjectStream.js +5 -0
  225. package/cjs/core/structures/PDFObjectStream.js.map +1 -1
  226. package/cjs/core/structures/PDFPageLeaf.d.ts +3 -0
  227. package/cjs/core/structures/PDFPageLeaf.d.ts.map +1 -1
  228. package/cjs/core/structures/PDFPageLeaf.js +7 -3
  229. package/cjs/core/structures/PDFPageLeaf.js.map +1 -1
  230. package/cjs/core/structures/PDFPageTree.d.ts +3 -0
  231. package/cjs/core/structures/PDFPageTree.d.ts.map +1 -1
  232. package/cjs/core/structures/PDFPageTree.js +11 -7
  233. package/cjs/core/structures/PDFPageTree.js.map +1 -1
  234. package/cjs/core/writers/PDFStreamWriter.d.ts +3 -0
  235. package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
  236. package/cjs/core/writers/PDFStreamWriter.js +11 -12
  237. package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
  238. package/cjs/core/writers/PDFWriter.d.ts +3 -0
  239. package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
  240. package/cjs/core/writers/PDFWriter.js +13 -8
  241. package/cjs/core/writers/PDFWriter.js.map +1 -1
  242. package/cjs/utils/elements/Arc.d.ts +3 -0
  243. package/cjs/utils/elements/Arc.d.ts.map +1 -1
  244. package/cjs/utils/elements/Arc.js +6 -1
  245. package/cjs/utils/elements/Arc.js.map +1 -1
  246. package/cjs/utils/elements/Circle.d.ts +3 -0
  247. package/cjs/utils/elements/Circle.d.ts.map +1 -1
  248. package/cjs/utils/elements/Circle.js +6 -1
  249. package/cjs/utils/elements/Circle.js.map +1 -1
  250. package/cjs/utils/elements/Ellipse.d.ts +3 -0
  251. package/cjs/utils/elements/Ellipse.d.ts.map +1 -1
  252. package/cjs/utils/elements/Ellipse.js +6 -1
  253. package/cjs/utils/elements/Ellipse.js.map +1 -1
  254. package/cjs/utils/elements/GraphElement.d.ts +2 -0
  255. package/cjs/utils/elements/GraphElement.d.ts.map +1 -1
  256. package/cjs/utils/elements/GraphElement.js.map +1 -1
  257. package/cjs/utils/elements/Line.d.ts +3 -0
  258. package/cjs/utils/elements/Line.d.ts.map +1 -1
  259. package/cjs/utils/elements/Line.js +6 -1
  260. package/cjs/utils/elements/Line.js.map +1 -1
  261. package/cjs/utils/elements/Plot.d.ts +3 -0
  262. package/cjs/utils/elements/Plot.d.ts.map +1 -1
  263. package/cjs/utils/elements/Plot.js +9 -2
  264. package/cjs/utils/elements/Plot.js.map +1 -1
  265. package/cjs/utils/elements/Point.d.ts +3 -0
  266. package/cjs/utils/elements/Point.d.ts.map +1 -1
  267. package/cjs/utils/elements/Point.js +6 -1
  268. package/cjs/utils/elements/Point.js.map +1 -1
  269. package/cjs/utils/elements/Rectangle.d.ts +3 -0
  270. package/cjs/utils/elements/Rectangle.d.ts.map +1 -1
  271. package/cjs/utils/elements/Rectangle.js +6 -1
  272. package/cjs/utils/elements/Rectangle.js.map +1 -1
  273. package/cjs/utils/elements/Segment.d.ts +3 -0
  274. package/cjs/utils/elements/Segment.d.ts.map +1 -1
  275. package/cjs/utils/elements/Segment.js +8 -4
  276. package/cjs/utils/elements/Segment.js.map +1 -1
  277. package/cjs/utils/intersections.d.ts.map +1 -1
  278. package/cjs/utils/intersections.js +32 -35
  279. package/cjs/utils/intersections.js.map +1 -1
  280. package/dist/pdf-lib.esm.js +4794 -4480
  281. package/dist/pdf-lib.esm.js.map +1 -1
  282. package/dist/pdf-lib.esm.min.js +3 -3
  283. package/dist/pdf-lib.esm.min.js.map +1 -1
  284. package/dist/pdf-lib.js +4794 -4479
  285. package/dist/pdf-lib.js.map +1 -1
  286. package/dist/pdf-lib.min.js +3 -3
  287. package/dist/pdf-lib.min.js.map +1 -1
  288. package/es/api/PDFDocument.d.ts +3 -0
  289. package/es/api/PDFDocument.d.ts.map +1 -1
  290. package/es/api/PDFDocument.js +23 -16
  291. package/es/api/PDFDocument.js.map +1 -1
  292. package/es/api/PDFFont.d.ts.map +1 -1
  293. package/es/api/PDFFont.js +4 -2
  294. package/es/api/PDFFont.js.map +1 -1
  295. package/es/api/PDFPage.d.ts.map +1 -1
  296. package/es/api/PDFPage.js +6 -5
  297. package/es/api/PDFPage.js.map +1 -1
  298. package/es/api/form/PDFButton.d.ts +3 -0
  299. package/es/api/form/PDFButton.d.ts.map +1 -1
  300. package/es/api/form/PDFButton.js +7 -2
  301. package/es/api/form/PDFButton.js.map +1 -1
  302. package/es/api/form/PDFCheckBox.d.ts +3 -0
  303. package/es/api/form/PDFCheckBox.d.ts.map +1 -1
  304. package/es/api/form/PDFCheckBox.js +7 -2
  305. package/es/api/form/PDFCheckBox.js.map +1 -1
  306. package/es/api/form/PDFDropdown.d.ts +3 -0
  307. package/es/api/form/PDFDropdown.d.ts.map +1 -1
  308. package/es/api/form/PDFDropdown.js +7 -2
  309. package/es/api/form/PDFDropdown.js.map +1 -1
  310. package/es/api/form/PDFField.d.ts +3 -0
  311. package/es/api/form/PDFField.d.ts.map +1 -1
  312. package/es/api/form/PDFField.js +5 -0
  313. package/es/api/form/PDFField.js.map +1 -1
  314. package/es/api/form/PDFForm.d.ts.map +1 -1
  315. package/es/api/form/PDFForm.js +25 -23
  316. package/es/api/form/PDFForm.js.map +1 -1
  317. package/es/api/form/PDFOptionList.d.ts +3 -0
  318. package/es/api/form/PDFOptionList.d.ts.map +1 -1
  319. package/es/api/form/PDFOptionList.js +7 -2
  320. package/es/api/form/PDFOptionList.js.map +1 -1
  321. package/es/api/form/PDFRadioGroup.d.ts +3 -0
  322. package/es/api/form/PDFRadioGroup.d.ts.map +1 -1
  323. package/es/api/form/PDFRadioGroup.js +8 -3
  324. package/es/api/form/PDFRadioGroup.js.map +1 -1
  325. package/es/api/form/PDFSignature.d.ts +3 -0
  326. package/es/api/form/PDFSignature.d.ts.map +1 -1
  327. package/es/api/form/PDFSignature.js +5 -0
  328. package/es/api/form/PDFSignature.js.map +1 -1
  329. package/es/api/form/PDFTextField.d.ts +3 -0
  330. package/es/api/form/PDFTextField.d.ts.map +1 -1
  331. package/es/api/form/PDFTextField.js +7 -2
  332. package/es/api/form/PDFTextField.js.map +1 -1
  333. package/es/api/objects.d.ts +61 -0
  334. package/es/api/objects.d.ts.map +1 -1
  335. package/es/api/objects.js +95 -3
  336. package/es/api/objects.js.map +1 -1
  337. package/es/api/operators.d.ts +28 -24
  338. package/es/api/operators.d.ts.map +1 -1
  339. package/es/api/operators.js +32 -28
  340. package/es/api/operators.js.map +1 -1
  341. package/es/api/snapshot/DefaultDocumentSnapshot.d.ts +3 -0
  342. package/es/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
  343. package/es/api/snapshot/DefaultDocumentSnapshot.js +5 -0
  344. package/es/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
  345. package/es/api/snapshot/DocumentSnapshot.d.ts +2 -0
  346. package/es/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
  347. package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +3 -0
  348. package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
  349. package/es/api/snapshot/IncrementalDocumentSnapshot.js +5 -0
  350. package/es/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
  351. package/es/core/PDFContext.d.ts +1 -1
  352. package/es/core/PDFContext.d.ts.map +1 -1
  353. package/es/core/PDFContext.js +33 -35
  354. package/es/core/PDFContext.js.map +1 -1
  355. package/es/core/PDFObjectCopier.d.ts.map +1 -1
  356. package/es/core/PDFObjectCopier.js +6 -9
  357. package/es/core/PDFObjectCopier.js.map +1 -1
  358. package/es/core/acroform/PDFAcroButton.d.ts.map +1 -1
  359. package/es/core/acroform/PDFAcroButton.js +7 -3
  360. package/es/core/acroform/PDFAcroButton.js.map +1 -1
  361. package/es/core/acroform/PDFAcroCheckBox.d.ts +3 -0
  362. package/es/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
  363. package/es/core/acroform/PDFAcroCheckBox.js +6 -1
  364. package/es/core/acroform/PDFAcroCheckBox.js.map +1 -1
  365. package/es/core/acroform/PDFAcroChoice.d.ts.map +1 -1
  366. package/es/core/acroform/PDFAcroChoice.js +22 -9
  367. package/es/core/acroform/PDFAcroChoice.js.map +1 -1
  368. package/es/core/acroform/PDFAcroComboBox.d.ts +3 -0
  369. package/es/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
  370. package/es/core/acroform/PDFAcroComboBox.js +5 -0
  371. package/es/core/acroform/PDFAcroComboBox.js.map +1 -1
  372. package/es/core/acroform/PDFAcroField.d.ts +3 -0
  373. package/es/core/acroform/PDFAcroField.d.ts.map +1 -1
  374. package/es/core/acroform/PDFAcroField.js +9 -4
  375. package/es/core/acroform/PDFAcroField.js.map +1 -1
  376. package/es/core/acroform/PDFAcroForm.d.ts +3 -0
  377. package/es/core/acroform/PDFAcroForm.d.ts.map +1 -1
  378. package/es/core/acroform/PDFAcroForm.js +7 -4
  379. package/es/core/acroform/PDFAcroForm.js.map +1 -1
  380. package/es/core/acroform/PDFAcroListBox.d.ts +3 -0
  381. package/es/core/acroform/PDFAcroListBox.d.ts.map +1 -1
  382. package/es/core/acroform/PDFAcroListBox.js +5 -0
  383. package/es/core/acroform/PDFAcroListBox.js.map +1 -1
  384. package/es/core/acroform/PDFAcroNonTerminal.d.ts +3 -0
  385. package/es/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
  386. package/es/core/acroform/PDFAcroNonTerminal.js +5 -0
  387. package/es/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  388. package/es/core/acroform/PDFAcroPushButton.d.ts +3 -0
  389. package/es/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
  390. package/es/core/acroform/PDFAcroPushButton.js +5 -0
  391. package/es/core/acroform/PDFAcroPushButton.js.map +1 -1
  392. package/es/core/acroform/PDFAcroRadioButton.d.ts +3 -0
  393. package/es/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
  394. package/es/core/acroform/PDFAcroRadioButton.js +6 -1
  395. package/es/core/acroform/PDFAcroRadioButton.js.map +1 -1
  396. package/es/core/acroform/PDFAcroSignature.d.ts +3 -0
  397. package/es/core/acroform/PDFAcroSignature.d.ts.map +1 -1
  398. package/es/core/acroform/PDFAcroSignature.js +5 -0
  399. package/es/core/acroform/PDFAcroSignature.js.map +1 -1
  400. package/es/core/acroform/PDFAcroText.d.ts +3 -0
  401. package/es/core/acroform/PDFAcroText.d.ts.map +1 -1
  402. package/es/core/acroform/PDFAcroText.js +9 -5
  403. package/es/core/acroform/PDFAcroText.js.map +1 -1
  404. package/es/core/acroform/utils.d.ts.map +1 -1
  405. package/es/core/acroform/utils.js +11 -7
  406. package/es/core/acroform/utils.js.map +1 -1
  407. package/es/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
  408. package/es/core/annotation/AppearanceCharacteristics.js +12 -11
  409. package/es/core/annotation/AppearanceCharacteristics.js.map +1 -1
  410. package/es/core/annotation/BorderStyle.d.ts.map +1 -1
  411. package/es/core/annotation/BorderStyle.js +2 -2
  412. package/es/core/annotation/BorderStyle.js.map +1 -1
  413. package/es/core/annotation/PDFAnnotation.d.ts.map +1 -1
  414. package/es/core/annotation/PDFAnnotation.js +4 -3
  415. package/es/core/annotation/PDFAnnotation.js.map +1 -1
  416. package/es/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
  417. package/es/core/annotation/PDFWidgetAnnotation.js +8 -9
  418. package/es/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  419. package/es/core/crypto.d.ts +3 -0
  420. package/es/core/crypto.d.ts.map +1 -1
  421. package/es/core/crypto.js +10 -5
  422. package/es/core/crypto.js.map +1 -1
  423. package/es/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
  424. package/es/core/embedders/PDFPageEmbedder.js +3 -4
  425. package/es/core/embedders/PDFPageEmbedder.js.map +1 -1
  426. package/es/core/embedders/StandardFontEmbedder.d.ts +3 -0
  427. package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
  428. package/es/core/embedders/StandardFontEmbedder.js +5 -0
  429. package/es/core/embedders/StandardFontEmbedder.js.map +1 -1
  430. package/es/core/interactive/ViewerPreferences.d.ts.map +1 -1
  431. package/es/core/interactive/ViewerPreferences.js +5 -6
  432. package/es/core/interactive/ViewerPreferences.js.map +1 -1
  433. package/es/core/objects/PDFArray.d.ts +3 -0
  434. package/es/core/objects/PDFArray.d.ts.map +1 -1
  435. package/es/core/objects/PDFArray.js +6 -1
  436. package/es/core/objects/PDFArray.js.map +1 -1
  437. package/es/core/objects/PDFBool.d.ts +3 -0
  438. package/es/core/objects/PDFBool.d.ts.map +1 -1
  439. package/es/core/objects/PDFBool.js +5 -0
  440. package/es/core/objects/PDFBool.js.map +1 -1
  441. package/es/core/objects/PDFDict.d.ts +3 -0
  442. package/es/core/objects/PDFDict.d.ts.map +1 -1
  443. package/es/core/objects/PDFDict.js +5 -0
  444. package/es/core/objects/PDFDict.js.map +1 -1
  445. package/es/core/objects/PDFHexString.d.ts +3 -0
  446. package/es/core/objects/PDFHexString.d.ts.map +1 -1
  447. package/es/core/objects/PDFHexString.js +5 -0
  448. package/es/core/objects/PDFHexString.js.map +1 -1
  449. package/es/core/objects/PDFInvalidObject.d.ts +3 -0
  450. package/es/core/objects/PDFInvalidObject.d.ts.map +1 -1
  451. package/es/core/objects/PDFInvalidObject.js +5 -0
  452. package/es/core/objects/PDFInvalidObject.js.map +1 -1
  453. package/es/core/objects/PDFName.d.ts +3 -0
  454. package/es/core/objects/PDFName.d.ts.map +1 -1
  455. package/es/core/objects/PDFName.js +5 -0
  456. package/es/core/objects/PDFName.js.map +1 -1
  457. package/es/core/objects/PDFNull.d.ts +3 -0
  458. package/es/core/objects/PDFNull.d.ts.map +1 -1
  459. package/es/core/objects/PDFNull.js +5 -0
  460. package/es/core/objects/PDFNull.js.map +1 -1
  461. package/es/core/objects/PDFNumber.d.ts +3 -0
  462. package/es/core/objects/PDFNumber.d.ts.map +1 -1
  463. package/es/core/objects/PDFNumber.js +5 -0
  464. package/es/core/objects/PDFNumber.js.map +1 -1
  465. package/es/core/objects/PDFObject.d.ts +3 -0
  466. package/es/core/objects/PDFObject.d.ts.map +1 -1
  467. package/es/core/objects/PDFObject.js +5 -0
  468. package/es/core/objects/PDFObject.js.map +1 -1
  469. package/es/core/objects/PDFRawStream.d.ts +3 -0
  470. package/es/core/objects/PDFRawStream.d.ts.map +1 -1
  471. package/es/core/objects/PDFRawStream.js +5 -0
  472. package/es/core/objects/PDFRawStream.js.map +1 -1
  473. package/es/core/objects/PDFRef.d.ts +3 -0
  474. package/es/core/objects/PDFRef.d.ts.map +1 -1
  475. package/es/core/objects/PDFRef.js +5 -0
  476. package/es/core/objects/PDFRef.js.map +1 -1
  477. package/es/core/objects/PDFStream.d.ts +3 -0
  478. package/es/core/objects/PDFStream.d.ts.map +1 -1
  479. package/es/core/objects/PDFStream.js +5 -0
  480. package/es/core/objects/PDFStream.js.map +1 -1
  481. package/es/core/objects/PDFString.d.ts +3 -0
  482. package/es/core/objects/PDFString.d.ts.map +1 -1
  483. package/es/core/objects/PDFString.js +5 -0
  484. package/es/core/objects/PDFString.js.map +1 -1
  485. package/es/core/operators/PDFOperator.d.ts.map +1 -1
  486. package/es/core/operators/PDFOperator.js +9 -4
  487. package/es/core/operators/PDFOperator.js.map +1 -1
  488. package/es/core/parser/PDFObjectParser.d.ts.map +1 -1
  489. package/es/core/parser/PDFObjectParser.js +2 -1
  490. package/es/core/parser/PDFObjectParser.js.map +1 -1
  491. package/es/core/parser/PDFParser.d.ts.map +1 -1
  492. package/es/core/parser/PDFParser.js +8 -7
  493. package/es/core/parser/PDFParser.js.map +1 -1
  494. package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  495. package/es/core/parser/PDFXRefStreamParser.js +8 -3
  496. package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
  497. package/es/core/streams/decode.d.ts.map +1 -1
  498. package/es/core/streams/decode.js +5 -5
  499. package/es/core/streams/decode.js.map +1 -1
  500. package/es/core/structures/PDFCatalog.d.ts +3 -0
  501. package/es/core/structures/PDFCatalog.d.ts.map +1 -1
  502. package/es/core/structures/PDFCatalog.js +5 -0
  503. package/es/core/structures/PDFCatalog.js.map +1 -1
  504. package/es/core/structures/PDFContentStream.d.ts +3 -0
  505. package/es/core/structures/PDFContentStream.d.ts.map +1 -1
  506. package/es/core/structures/PDFContentStream.js +5 -0
  507. package/es/core/structures/PDFContentStream.js.map +1 -1
  508. package/es/core/structures/PDFObjectStream.d.ts +3 -0
  509. package/es/core/structures/PDFObjectStream.d.ts.map +1 -1
  510. package/es/core/structures/PDFObjectStream.js +5 -0
  511. package/es/core/structures/PDFObjectStream.js.map +1 -1
  512. package/es/core/structures/PDFPageLeaf.d.ts +3 -0
  513. package/es/core/structures/PDFPageLeaf.d.ts.map +1 -1
  514. package/es/core/structures/PDFPageLeaf.js +7 -3
  515. package/es/core/structures/PDFPageLeaf.js.map +1 -1
  516. package/es/core/structures/PDFPageTree.d.ts +3 -0
  517. package/es/core/structures/PDFPageTree.d.ts.map +1 -1
  518. package/es/core/structures/PDFPageTree.js +11 -7
  519. package/es/core/structures/PDFPageTree.js.map +1 -1
  520. package/es/core/writers/PDFStreamWriter.d.ts +3 -0
  521. package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
  522. package/es/core/writers/PDFStreamWriter.js +11 -12
  523. package/es/core/writers/PDFStreamWriter.js.map +1 -1
  524. package/es/core/writers/PDFWriter.d.ts +3 -0
  525. package/es/core/writers/PDFWriter.d.ts.map +1 -1
  526. package/es/core/writers/PDFWriter.js +14 -9
  527. package/es/core/writers/PDFWriter.js.map +1 -1
  528. package/es/utils/elements/Arc.d.ts +3 -0
  529. package/es/utils/elements/Arc.d.ts.map +1 -1
  530. package/es/utils/elements/Arc.js +6 -1
  531. package/es/utils/elements/Arc.js.map +1 -1
  532. package/es/utils/elements/Circle.d.ts +3 -0
  533. package/es/utils/elements/Circle.d.ts.map +1 -1
  534. package/es/utils/elements/Circle.js +6 -1
  535. package/es/utils/elements/Circle.js.map +1 -1
  536. package/es/utils/elements/Ellipse.d.ts +3 -0
  537. package/es/utils/elements/Ellipse.d.ts.map +1 -1
  538. package/es/utils/elements/Ellipse.js +6 -1
  539. package/es/utils/elements/Ellipse.js.map +1 -1
  540. package/es/utils/elements/GraphElement.d.ts +2 -0
  541. package/es/utils/elements/GraphElement.d.ts.map +1 -1
  542. package/es/utils/elements/GraphElement.js.map +1 -1
  543. package/es/utils/elements/Line.d.ts +3 -0
  544. package/es/utils/elements/Line.d.ts.map +1 -1
  545. package/es/utils/elements/Line.js +6 -1
  546. package/es/utils/elements/Line.js.map +1 -1
  547. package/es/utils/elements/Plot.d.ts +3 -0
  548. package/es/utils/elements/Plot.d.ts.map +1 -1
  549. package/es/utils/elements/Plot.js +9 -2
  550. package/es/utils/elements/Plot.js.map +1 -1
  551. package/es/utils/elements/Point.d.ts +3 -0
  552. package/es/utils/elements/Point.d.ts.map +1 -1
  553. package/es/utils/elements/Point.js +6 -1
  554. package/es/utils/elements/Point.js.map +1 -1
  555. package/es/utils/elements/Rectangle.d.ts +3 -0
  556. package/es/utils/elements/Rectangle.d.ts.map +1 -1
  557. package/es/utils/elements/Rectangle.js +6 -1
  558. package/es/utils/elements/Rectangle.js.map +1 -1
  559. package/es/utils/elements/Segment.d.ts +3 -0
  560. package/es/utils/elements/Segment.d.ts.map +1 -1
  561. package/es/utils/elements/Segment.js +8 -4
  562. package/es/utils/elements/Segment.js.map +1 -1
  563. package/es/utils/intersections.d.ts.map +1 -1
  564. package/es/utils/intersections.js +32 -35
  565. package/es/utils/intersections.js.map +1 -1
  566. package/package.json +1 -1
  567. package/src/api/PDFDocument.ts +41 -36
  568. package/src/api/PDFFont.ts +5 -3
  569. package/src/api/PDFPage.ts +10 -6
  570. package/src/api/form/PDFButton.ts +10 -8
  571. package/src/api/form/PDFCheckBox.ts +7 -2
  572. package/src/api/form/PDFDropdown.ts +9 -3
  573. package/src/api/form/PDFField.ts +5 -0
  574. package/src/api/form/PDFForm.ts +53 -34
  575. package/src/api/form/PDFOptionList.ts +9 -3
  576. package/src/api/form/PDFRadioGroup.ts +8 -3
  577. package/src/api/form/PDFSignature.ts +5 -0
  578. package/src/api/form/PDFTextField.ts +9 -3
  579. package/src/api/objects.ts +90 -3
  580. package/src/api/operators.ts +32 -28
  581. package/src/api/snapshot/DefaultDocumentSnapshot.ts +6 -0
  582. package/src/api/snapshot/DocumentSnapshot.ts +3 -0
  583. package/src/api/snapshot/IncrementalDocumentSnapshot.ts +6 -0
  584. package/src/core/PDFContext.ts +53 -39
  585. package/src/core/PDFObjectCopier.ts +6 -5
  586. package/src/core/acroform/PDFAcroButton.ts +20 -10
  587. package/src/core/acroform/PDFAcroCheckBox.ts +6 -1
  588. package/src/core/acroform/PDFAcroChoice.ts +43 -17
  589. package/src/core/acroform/PDFAcroComboBox.ts +5 -0
  590. package/src/core/acroform/PDFAcroField.ts +14 -5
  591. package/src/core/acroform/PDFAcroForm.ts +7 -3
  592. package/src/core/acroform/PDFAcroListBox.ts +5 -0
  593. package/src/core/acroform/PDFAcroNonTerminal.ts +5 -0
  594. package/src/core/acroform/PDFAcroPushButton.ts +5 -0
  595. package/src/core/acroform/PDFAcroRadioButton.ts +6 -1
  596. package/src/core/acroform/PDFAcroSignature.ts +5 -0
  597. package/src/core/acroform/PDFAcroText.ts +12 -3
  598. package/src/core/acroform/utils.ts +16 -7
  599. package/src/core/annotation/AppearanceCharacteristics.ts +23 -8
  600. package/src/core/annotation/BorderStyle.ts +2 -1
  601. package/src/core/annotation/PDFAnnotation.ts +7 -2
  602. package/src/core/annotation/PDFWidgetAnnotation.ts +13 -8
  603. package/src/core/crypto.ts +13 -5
  604. package/src/core/embedders/PDFPageEmbedder.ts +5 -4
  605. package/src/core/embedders/StandardFontEmbedder.ts +5 -0
  606. package/src/core/interactive/ViewerPreferences.ts +9 -4
  607. package/src/core/objects/PDFArray.ts +7 -2
  608. package/src/core/objects/PDFBool.ts +5 -0
  609. package/src/core/objects/PDFDict.ts +5 -0
  610. package/src/core/objects/PDFHexString.ts +5 -0
  611. package/src/core/objects/PDFInvalidObject.ts +5 -0
  612. package/src/core/objects/PDFName.ts +5 -0
  613. package/src/core/objects/PDFNull.ts +5 -0
  614. package/src/core/objects/PDFNumber.ts +5 -0
  615. package/src/core/objects/PDFObject.ts +6 -0
  616. package/src/core/objects/PDFRawStream.ts +5 -0
  617. package/src/core/objects/PDFRef.ts +5 -0
  618. package/src/core/objects/PDFStream.ts +5 -0
  619. package/src/core/objects/PDFString.ts +5 -0
  620. package/src/core/operators/PDFOperator.ts +11 -5
  621. package/src/core/parser/PDFObjectParser.ts +3 -2
  622. package/src/core/parser/PDFParser.ts +13 -8
  623. package/src/core/parser/PDFXRefStreamParser.ts +9 -4
  624. package/src/core/streams/decode.ts +10 -9
  625. package/src/core/structures/PDFCatalog.ts +5 -0
  626. package/src/core/structures/PDFContentStream.ts +5 -0
  627. package/src/core/structures/PDFObjectStream.ts +5 -0
  628. package/src/core/structures/PDFPageLeaf.ts +9 -4
  629. package/src/core/structures/PDFPageTree.ts +28 -13
  630. package/src/core/writers/PDFStreamWriter.ts +11 -11
  631. package/src/core/writers/PDFWriter.ts +19 -12
  632. package/src/utils/elements/Arc.ts +9 -4
  633. package/src/utils/elements/Circle.ts +8 -3
  634. package/src/utils/elements/Ellipse.ts +9 -4
  635. package/src/utils/elements/GraphElement.ts +3 -0
  636. package/src/utils/elements/Line.ts +12 -4
  637. package/src/utils/elements/Plot.ts +9 -2
  638. package/src/utils/elements/Point.ts +7 -2
  639. package/src/utils/elements/Rectangle.ts +8 -3
  640. package/src/utils/elements/Segment.ts +10 -6
  641. package/src/utils/intersections.ts +81 -51
  642. package/ts3.4/cjs/api/PDFDocument.d.ts +3 -0
  643. package/ts3.4/cjs/api/form/PDFButton.d.ts +3 -0
  644. package/ts3.4/cjs/api/form/PDFCheckBox.d.ts +3 -0
  645. package/ts3.4/cjs/api/form/PDFDropdown.d.ts +3 -0
  646. package/ts3.4/cjs/api/form/PDFField.d.ts +3 -0
  647. package/ts3.4/cjs/api/form/PDFOptionList.d.ts +3 -0
  648. package/ts3.4/cjs/api/form/PDFRadioGroup.d.ts +3 -0
  649. package/ts3.4/cjs/api/form/PDFSignature.d.ts +3 -0
  650. package/ts3.4/cjs/api/form/PDFTextField.d.ts +3 -0
  651. package/ts3.4/cjs/api/objects.d.ts +61 -0
  652. package/ts3.4/cjs/api/operators.d.ts +28 -24
  653. package/ts3.4/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +3 -0
  654. package/ts3.4/cjs/api/snapshot/DocumentSnapshot.d.ts +2 -0
  655. package/ts3.4/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +3 -0
  656. package/ts3.4/cjs/core/PDFContext.d.ts +1 -1
  657. package/ts3.4/cjs/core/acroform/PDFAcroCheckBox.d.ts +3 -0
  658. package/ts3.4/cjs/core/acroform/PDFAcroComboBox.d.ts +3 -0
  659. package/ts3.4/cjs/core/acroform/PDFAcroField.d.ts +3 -0
  660. package/ts3.4/cjs/core/acroform/PDFAcroForm.d.ts +3 -0
  661. package/ts3.4/cjs/core/acroform/PDFAcroListBox.d.ts +3 -0
  662. package/ts3.4/cjs/core/acroform/PDFAcroNonTerminal.d.ts +3 -0
  663. package/ts3.4/cjs/core/acroform/PDFAcroPushButton.d.ts +3 -0
  664. package/ts3.4/cjs/core/acroform/PDFAcroRadioButton.d.ts +3 -0
  665. package/ts3.4/cjs/core/acroform/PDFAcroSignature.d.ts +3 -0
  666. package/ts3.4/cjs/core/acroform/PDFAcroText.d.ts +3 -0
  667. package/ts3.4/cjs/core/crypto.d.ts +3 -0
  668. package/ts3.4/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -0
  669. package/ts3.4/cjs/core/objects/PDFArray.d.ts +3 -0
  670. package/ts3.4/cjs/core/objects/PDFBool.d.ts +3 -0
  671. package/ts3.4/cjs/core/objects/PDFDict.d.ts +3 -0
  672. package/ts3.4/cjs/core/objects/PDFHexString.d.ts +3 -0
  673. package/ts3.4/cjs/core/objects/PDFInvalidObject.d.ts +3 -0
  674. package/ts3.4/cjs/core/objects/PDFName.d.ts +3 -0
  675. package/ts3.4/cjs/core/objects/PDFNull.d.ts +3 -0
  676. package/ts3.4/cjs/core/objects/PDFNumber.d.ts +3 -0
  677. package/ts3.4/cjs/core/objects/PDFObject.d.ts +3 -0
  678. package/ts3.4/cjs/core/objects/PDFRawStream.d.ts +3 -0
  679. package/ts3.4/cjs/core/objects/PDFRef.d.ts +3 -0
  680. package/ts3.4/cjs/core/objects/PDFStream.d.ts +3 -0
  681. package/ts3.4/cjs/core/objects/PDFString.d.ts +3 -0
  682. package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +3 -0
  683. package/ts3.4/cjs/core/structures/PDFContentStream.d.ts +3 -0
  684. package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +3 -0
  685. package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +3 -0
  686. package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +3 -0
  687. package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +3 -0
  688. package/ts3.4/cjs/core/writers/PDFWriter.d.ts +3 -0
  689. package/ts3.4/cjs/utils/elements/Arc.d.ts +3 -0
  690. package/ts3.4/cjs/utils/elements/Circle.d.ts +3 -0
  691. package/ts3.4/cjs/utils/elements/Ellipse.d.ts +3 -0
  692. package/ts3.4/cjs/utils/elements/GraphElement.d.ts +2 -0
  693. package/ts3.4/cjs/utils/elements/Line.d.ts +3 -0
  694. package/ts3.4/cjs/utils/elements/Plot.d.ts +3 -0
  695. package/ts3.4/cjs/utils/elements/Point.d.ts +3 -0
  696. package/ts3.4/cjs/utils/elements/Rectangle.d.ts +3 -0
  697. package/ts3.4/cjs/utils/elements/Segment.d.ts +3 -0
  698. package/ts3.4/es/api/PDFDocument.d.ts +3 -0
  699. package/ts3.4/es/api/form/PDFButton.d.ts +3 -0
  700. package/ts3.4/es/api/form/PDFCheckBox.d.ts +3 -0
  701. package/ts3.4/es/api/form/PDFDropdown.d.ts +3 -0
  702. package/ts3.4/es/api/form/PDFField.d.ts +3 -0
  703. package/ts3.4/es/api/form/PDFOptionList.d.ts +3 -0
  704. package/ts3.4/es/api/form/PDFRadioGroup.d.ts +3 -0
  705. package/ts3.4/es/api/form/PDFSignature.d.ts +3 -0
  706. package/ts3.4/es/api/form/PDFTextField.d.ts +3 -0
  707. package/ts3.4/es/api/objects.d.ts +61 -0
  708. package/ts3.4/es/api/operators.d.ts +28 -24
  709. package/ts3.4/es/api/snapshot/DefaultDocumentSnapshot.d.ts +3 -0
  710. package/ts3.4/es/api/snapshot/DocumentSnapshot.d.ts +2 -0
  711. package/ts3.4/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +3 -0
  712. package/ts3.4/es/core/PDFContext.d.ts +1 -1
  713. package/ts3.4/es/core/acroform/PDFAcroCheckBox.d.ts +3 -0
  714. package/ts3.4/es/core/acroform/PDFAcroComboBox.d.ts +3 -0
  715. package/ts3.4/es/core/acroform/PDFAcroField.d.ts +3 -0
  716. package/ts3.4/es/core/acroform/PDFAcroForm.d.ts +3 -0
  717. package/ts3.4/es/core/acroform/PDFAcroListBox.d.ts +3 -0
  718. package/ts3.4/es/core/acroform/PDFAcroNonTerminal.d.ts +3 -0
  719. package/ts3.4/es/core/acroform/PDFAcroPushButton.d.ts +3 -0
  720. package/ts3.4/es/core/acroform/PDFAcroRadioButton.d.ts +3 -0
  721. package/ts3.4/es/core/acroform/PDFAcroSignature.d.ts +3 -0
  722. package/ts3.4/es/core/acroform/PDFAcroText.d.ts +3 -0
  723. package/ts3.4/es/core/crypto.d.ts +3 -0
  724. package/ts3.4/es/core/embedders/StandardFontEmbedder.d.ts +3 -0
  725. package/ts3.4/es/core/objects/PDFArray.d.ts +3 -0
  726. package/ts3.4/es/core/objects/PDFBool.d.ts +3 -0
  727. package/ts3.4/es/core/objects/PDFDict.d.ts +3 -0
  728. package/ts3.4/es/core/objects/PDFHexString.d.ts +3 -0
  729. package/ts3.4/es/core/objects/PDFInvalidObject.d.ts +3 -0
  730. package/ts3.4/es/core/objects/PDFName.d.ts +3 -0
  731. package/ts3.4/es/core/objects/PDFNull.d.ts +3 -0
  732. package/ts3.4/es/core/objects/PDFNumber.d.ts +3 -0
  733. package/ts3.4/es/core/objects/PDFObject.d.ts +3 -0
  734. package/ts3.4/es/core/objects/PDFRawStream.d.ts +3 -0
  735. package/ts3.4/es/core/objects/PDFRef.d.ts +3 -0
  736. package/ts3.4/es/core/objects/PDFStream.d.ts +3 -0
  737. package/ts3.4/es/core/objects/PDFString.d.ts +3 -0
  738. package/ts3.4/es/core/structures/PDFCatalog.d.ts +3 -0
  739. package/ts3.4/es/core/structures/PDFContentStream.d.ts +3 -0
  740. package/ts3.4/es/core/structures/PDFObjectStream.d.ts +3 -0
  741. package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +3 -0
  742. package/ts3.4/es/core/structures/PDFPageTree.d.ts +3 -0
  743. package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +3 -0
  744. package/ts3.4/es/core/writers/PDFWriter.d.ts +3 -0
  745. package/ts3.4/es/utils/elements/Arc.d.ts +3 -0
  746. package/ts3.4/es/utils/elements/Circle.d.ts +3 -0
  747. package/ts3.4/es/utils/elements/Ellipse.d.ts +3 -0
  748. package/ts3.4/es/utils/elements/GraphElement.d.ts +2 -0
  749. package/ts3.4/es/utils/elements/Line.d.ts +3 -0
  750. package/ts3.4/es/utils/elements/Plot.d.ts +3 -0
  751. package/ts3.4/es/utils/elements/Point.d.ts +3 -0
  752. package/ts3.4/es/utils/elements/Rectangle.d.ts +3 -0
  753. package/ts3.4/es/utils/elements/Segment.d.ts +3 -0
@@ -4,6 +4,7 @@ import PDFNumber from '../objects/PDFNumber';
4
4
  import PDFArray from '../objects/PDFArray';
5
5
  import PDFHexString from '../objects/PDFHexString';
6
6
  import PDFString from '../objects/PDFString';
7
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
7
8
 
8
9
  class AppearanceCharacteristics {
9
10
  readonly dict: PDFDict;
@@ -17,37 +18,49 @@ class AppearanceCharacteristics {
17
18
 
18
19
  R(): PDFNumber | undefined {
19
20
  const R = this.dict.lookup(PDFName.of('R'));
20
- if (R instanceof PDFNumber) return R;
21
+ if (isPDFInstance(R, PDFClasses.PDFNumber)) return R as PDFNumber;
21
22
  return undefined;
22
23
  }
23
24
 
24
25
  BC(): PDFArray | undefined {
25
26
  const BC = this.dict.lookup(PDFName.of('BC'));
26
- if (BC instanceof PDFArray) return BC;
27
+ if (isPDFInstance(BC, PDFClasses.PDFArray)) return BC as PDFArray;
27
28
  return undefined;
28
29
  }
29
30
 
30
31
  BG(): PDFArray | undefined {
31
32
  const BG = this.dict.lookup(PDFName.of('BG'));
32
- if (BG instanceof PDFArray) return BG;
33
+ if (isPDFInstance(BG, PDFClasses.PDFArray)) return BG as PDFArray;
33
34
  return undefined;
34
35
  }
35
36
 
36
37
  CA(): PDFHexString | PDFString | undefined {
37
38
  const CA = this.dict.lookup(PDFName.of('CA'));
38
- if (CA instanceof PDFHexString || CA instanceof PDFString) return CA;
39
+ if (
40
+ isPDFInstance(CA, PDFClasses.PDFHexString) ||
41
+ isPDFInstance(CA, PDFClasses.PDFString)
42
+ )
43
+ return CA as PDFString | PDFHexString;
39
44
  return undefined;
40
45
  }
41
46
 
42
47
  RC(): PDFHexString | PDFString | undefined {
43
48
  const RC = this.dict.lookup(PDFName.of('RC'));
44
- if (RC instanceof PDFHexString || RC instanceof PDFString) return RC;
49
+ if (
50
+ isPDFInstance(RC, PDFClasses.PDFHexString) ||
51
+ isPDFInstance(RC, PDFClasses.PDFString)
52
+ )
53
+ return RC as PDFString | PDFHexString;
45
54
  return undefined;
46
55
  }
47
56
 
48
57
  AC(): PDFHexString | PDFString | undefined {
49
58
  const AC = this.dict.lookup(PDFName.of('AC'));
50
- if (AC instanceof PDFHexString || AC instanceof PDFString) return AC;
59
+ if (
60
+ isPDFInstance(AC, PDFClasses.PDFHexString) ||
61
+ isPDFInstance(AC, PDFClasses.PDFString)
62
+ )
63
+ return AC as PDFString | PDFHexString;
51
64
  return undefined;
52
65
  }
53
66
 
@@ -63,7 +76,8 @@ class AppearanceCharacteristics {
63
76
  const components: number[] = [];
64
77
  for (let idx = 0, len = BC?.size(); idx < len; idx++) {
65
78
  const component = BC.get(idx);
66
- if (component instanceof PDFNumber) components.push(component.asNumber());
79
+ if (isPDFInstance(component, PDFClasses.PDFNumber))
80
+ components.push((component as PDFNumber).asNumber());
67
81
  }
68
82
 
69
83
  return components;
@@ -77,7 +91,8 @@ class AppearanceCharacteristics {
77
91
  const components: number[] = [];
78
92
  for (let idx = 0, len = BG?.size(); idx < len; idx++) {
79
93
  const component = BG.get(idx);
80
- if (component instanceof PDFNumber) components.push(component.asNumber());
94
+ if (isPDFInstance(component, PDFClasses.PDFNumber))
95
+ components.push((component as PDFNumber).asNumber());
81
96
  }
82
97
 
83
98
  return components;
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import PDFDict from '../objects/PDFDict';
2
3
  import PDFName from '../objects/PDFName';
3
4
  import PDFNumber from '../objects/PDFNumber';
@@ -14,7 +15,7 @@ class BorderStyle {
14
15
 
15
16
  W(): PDFNumber | undefined {
16
17
  const W = this.dict.lookup(PDFName.of('W'));
17
- if (W instanceof PDFNumber) return W;
18
+ if (isPDFInstance(W, PDFClasses.PDFNumber)) return W as PDFNumber;
18
19
  return undefined;
19
20
  }
20
21
 
@@ -4,6 +4,7 @@ import PDFStream from '../objects/PDFStream';
4
4
  import PDFArray from '../objects/PDFArray';
5
5
  import PDFRef from '../objects/PDFRef';
6
6
  import PDFNumber from '../objects/PDFNumber';
7
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
7
8
 
8
9
  class PDFAnnotation {
9
10
  readonly dict: PDFDict;
@@ -41,7 +42,7 @@ class PDFAnnotation {
41
42
 
42
43
  getAppearanceState(): PDFName | undefined {
43
44
  const AS = this.dict.lookup(PDFName.of('AS'));
44
- if (AS instanceof PDFName) return AS;
45
+ if (isPDFInstance(AS, PDFClasses.PDFName)) return AS as PDFName;
45
46
  return undefined;
46
47
  }
47
48
 
@@ -65,7 +66,11 @@ class PDFAnnotation {
65
66
  getNormalAppearance(): PDFRef | PDFDict {
66
67
  const AP = this.ensureAP();
67
68
  const N = AP.get(PDFName.of('N'));
68
- if (N instanceof PDFRef || N instanceof PDFDict) return N;
69
+ if (
70
+ isPDFInstance(N, PDFClasses.PDFRef) ||
71
+ isPDFInstance(N, PDFClasses.PDFDict)
72
+ )
73
+ return N as PDFRef | PDFDict;
69
74
 
70
75
  throw new Error(`Unexpected N type: ${N?.constructor.name}`);
71
76
  }
@@ -7,6 +7,7 @@ import PDFContext from '../PDFContext';
7
7
  import BorderStyle from './BorderStyle';
8
8
  import PDFAnnotation from './PDFAnnotation';
9
9
  import AppearanceCharacteristics from './AppearanceCharacteristics';
10
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
10
11
 
11
12
  class PDFWidgetAnnotation extends PDFAnnotation {
12
13
  static fromDict = (dict: PDFDict): PDFWidgetAnnotation =>
@@ -24,25 +25,29 @@ class PDFWidgetAnnotation extends PDFAnnotation {
24
25
 
25
26
  MK(): PDFDict | undefined {
26
27
  const MK = this.dict.lookup(PDFName.of('MK'));
27
- if (MK instanceof PDFDict) return MK;
28
+ if (isPDFInstance(MK, PDFClasses.PDFDict)) return MK as PDFDict;
28
29
  return undefined;
29
30
  }
30
31
 
31
32
  BS(): PDFDict | undefined {
32
33
  const BS = this.dict.lookup(PDFName.of('BS'));
33
- if (BS instanceof PDFDict) return BS;
34
+ if (isPDFInstance(BS, PDFClasses.PDFDict)) return BS as PDFDict;
34
35
  return undefined;
35
36
  }
36
37
 
37
38
  DA(): PDFString | PDFHexString | undefined {
38
39
  const da = this.dict.lookup(PDFName.of('DA'));
39
- if (da instanceof PDFString || da instanceof PDFHexString) return da;
40
+ if (
41
+ isPDFInstance(da, PDFClasses.PDFString) ||
42
+ isPDFInstance(da, PDFClasses.PDFHexString)
43
+ )
44
+ return da as PDFString | PDFHexString;
40
45
  return undefined;
41
46
  }
42
47
 
43
48
  P(): PDFRef | undefined {
44
49
  const P = this.dict.get(PDFName.of('P'));
45
- if (P instanceof PDFRef) return P;
50
+ if (isPDFInstance(P, PDFClasses.PDFRef)) return P as PDFRef;
46
51
  return undefined;
47
52
  }
48
53
 
@@ -57,8 +62,8 @@ class PDFWidgetAnnotation extends PDFAnnotation {
57
62
  getDefaultAppearance(): string | undefined {
58
63
  const DA = this.DA();
59
64
 
60
- if (DA instanceof PDFHexString) {
61
- return DA.decodeText();
65
+ if (isPDFInstance(DA, PDFClasses.PDFHexString)) {
66
+ return (DA as PDFHexString).decodeText();
62
67
  }
63
68
 
64
69
  return DA?.asString();
@@ -97,8 +102,8 @@ class PDFWidgetAnnotation extends PDFAnnotation {
97
102
  getOnValue(): PDFName | undefined {
98
103
  const normal = this.getAppearances()?.normal;
99
104
 
100
- if (normal instanceof PDFDict) {
101
- const keys = normal.keys();
105
+ if (isPDFInstance(normal, PDFClasses.PDFDict)) {
106
+ const keys = (normal as PDFDict).keys();
102
107
  for (let idx = 0, len = keys.length; idx < len; idx++) {
103
108
  const key = keys[idx];
104
109
  if (key !== PDFName.of('Off')) return key;
@@ -14,6 +14,7 @@
14
14
  */
15
15
  /* tslint:disable */
16
16
 
17
+ import { isPDFInstance, PDFClasses } from '../api/objects';
17
18
  import { arrayAsString, isArrayEqual } from '../utils/arrays';
18
19
  import { stringAsByteArray } from '../utils/strings';
19
20
  import PDFBool from './objects/PDFBool';
@@ -701,6 +702,10 @@ class NullCipher {
701
702
  }
702
703
 
703
704
  class AESBaseCipher {
705
+ static className = () => PDFClasses.AESBaseCipher;
706
+ myClass(): PDFClasses {
707
+ return PDFClasses.AESBaseCipher;
708
+ }
704
709
  protected _s: Uint8Array;
705
710
  protected _keySize!: number;
706
711
  protected _key!: Uint8Array;
@@ -1475,7 +1480,7 @@ class CipherTransform {
1475
1480
 
1476
1481
  encryptString(s: string) {
1477
1482
  const cipher = this.StringCipherConstructor();
1478
- if (cipher instanceof AESBaseCipher) {
1483
+ if (isPDFInstance(cipher, PDFClasses.AESBaseCipher)) {
1479
1484
  // Append some chars equal to "16 - (M mod 16)"
1480
1485
  // where M is the string length (see section 7.6.2 in PDF specification)
1481
1486
  // to have a final string where the length is a multiple of 16.
@@ -1507,7 +1512,7 @@ class CipherTransform {
1507
1512
  }
1508
1513
 
1509
1514
  let data = stringAsByteArray(s);
1510
- data = cipher.encrypt(data);
1515
+ data = (cipher as NullCipher).encrypt(data);
1511
1516
  return arrayAsString(data);
1512
1517
  }
1513
1518
  }
@@ -1559,7 +1564,10 @@ class CipherTransformFactory {
1559
1564
  // Trying to find default handler -- it usually has Length.
1560
1565
  const cfDict = dict.get(PDFName.of('CF')) as PDFDict;
1561
1566
  const streamCryptoName = dict.get(PDFName.of('StmF')) as PDFName;
1562
- if (cfDict instanceof PDFDict && streamCryptoName instanceof PDFName) {
1567
+ if (
1568
+ isPDFInstance(cfDict, PDFClasses.PDFDict) &&
1569
+ isPDFInstance(streamCryptoName, PDFClasses.PDFName)
1570
+ ) {
1563
1571
  cfDict.suppressEncryption = true;
1564
1572
  const handlerDict = cfDict.get(
1565
1573
  PDFName.of(streamCryptoName.asString()),
@@ -1686,7 +1694,7 @@ class CipherTransformFactory {
1686
1694
 
1687
1695
  if (algorithm >= 4) {
1688
1696
  const cf = dict.get(PDFName.of('CF')) as PDFDict;
1689
- if (cf instanceof PDFDict) {
1697
+ if (isPDFInstance(cf, PDFClasses.PDFDict)) {
1690
1698
  // The 'CF' dictionary itself should not be encrypted, and by setting
1691
1699
  // `suppressEncryption` we can prevent an infinite loop inside of
1692
1700
  // `XRef_fetchUncompressed` if the dictionary contains indirect
@@ -1948,7 +1956,7 @@ class CipherTransformFactory {
1948
1956
  gen: number,
1949
1957
  key: Uint8Array,
1950
1958
  ) {
1951
- if (!(name instanceof PDFName)) {
1959
+ if (!isPDFInstance(name, PDFClasses.PDFName)) {
1952
1960
  throw new Error('Invalid crypt filter name.');
1953
1961
  }
1954
1962
  const cryptFilter = cf.get(
@@ -14,6 +14,7 @@ import PDFPageLeaf from '../structures/PDFPageLeaf';
14
14
  import CharCodes from '../syntax/CharCodes';
15
15
  import { TransformationMatrix } from '../../types/matrix';
16
16
  import { mergeIntoTypedArray } from '../../utils';
17
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
17
18
 
18
19
  /**
19
20
  * Represents a page bounding box.
@@ -125,10 +126,10 @@ class PDFPageEmbedder {
125
126
  const stream = contents.lookup(idx, PDFStream);
126
127
 
127
128
  let content: Uint8Array;
128
- if (stream instanceof PDFRawStream) {
129
- content = decodePDFRawStream(stream).decode();
130
- } else if (stream instanceof PDFContentStream) {
131
- content = stream.getUnencodedContents();
129
+ if (isPDFInstance(stream, PDFClasses.PDFRawStream)) {
130
+ content = decodePDFRawStream(stream as PDFRawStream).decode();
131
+ } else if (isPDFInstance(stream, PDFClasses.PDFContentStream)) {
132
+ content = (stream as PDFContentStream).getUnencodedContents();
132
133
  } else {
133
134
  throw new UnrecognizedStreamTypeError(stream);
134
135
  }
@@ -9,6 +9,7 @@ import PDFHexString from '../objects/PDFHexString';
9
9
  import PDFRef from '../objects/PDFRef';
10
10
  import PDFContext from '../PDFContext';
11
11
  import { toCodePoint, toHexString } from '../../utils';
12
+ import { PDFClasses } from '../../api/objects';
12
13
 
13
14
  export interface Glyph {
14
15
  code: number;
@@ -21,6 +22,10 @@ export interface Glyph {
21
22
  * https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee
22
23
  */
23
24
  class StandardFontEmbedder {
25
+ static className = () => PDFClasses.StandardFontEmbedder;
26
+ myClass(): PDFClasses {
27
+ return PDFClasses.StandardFontEmbedder;
28
+ }
24
29
  static for = (fontName: FontNames, customName?: string) =>
25
30
  new StandardFontEmbedder(fontName, customName);
26
31
 
@@ -10,6 +10,7 @@ import {
10
10
  assertIsOneOf,
11
11
  assertRange,
12
12
  } from '../../utils';
13
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
13
14
 
14
15
  const asEnum = <T extends string | number, U extends { [key: string]: T }>(
15
16
  rawValue: T | undefined,
@@ -115,13 +116,15 @@ class ViewerPreferences {
115
116
 
116
117
  protected lookupBool(key: BoolViewerPrefKey): PDFBool | undefined {
117
118
  const returnObj = this.dict.lookup(PDFName.of(key));
118
- if (returnObj instanceof PDFBool) return returnObj;
119
+ if (isPDFInstance(returnObj, PDFClasses.PDFBool))
120
+ return returnObj as PDFBool;
119
121
  return undefined;
120
122
  }
121
123
 
122
124
  protected lookupName(key: NameViewerPrefKey): PDFName | undefined {
123
125
  const returnObj = this.dict.lookup(PDFName.of(key));
124
- if (returnObj instanceof PDFName) return returnObj;
126
+ if (isPDFInstance(returnObj, PDFClasses.PDFName))
127
+ return returnObj as PDFName;
125
128
  return undefined;
126
129
  }
127
130
 
@@ -183,14 +186,16 @@ class ViewerPreferences {
183
186
  /** @ignore */
184
187
  PrintPageRange(): PDFArray | undefined {
185
188
  const PrintPageRange = this.dict.lookup(PDFName.of('PrintPageRange'));
186
- if (PrintPageRange instanceof PDFArray) return PrintPageRange;
189
+ if (isPDFInstance(PrintPageRange, PDFClasses.PDFArray))
190
+ return PrintPageRange as PDFArray;
187
191
  return undefined;
188
192
  }
189
193
 
190
194
  /** @ignore */
191
195
  NumCopies(): PDFNumber | undefined {
192
196
  const NumCopies = this.dict.lookup(PDFName.of('NumCopies'));
193
- if (NumCopies instanceof PDFNumber) return NumCopies;
197
+ if (isPDFInstance(NumCopies, PDFClasses.PDFNumber))
198
+ return NumCopies as PDFNumber;
194
199
  return undefined;
195
200
  }
196
201
 
@@ -12,8 +12,13 @@ import PDFContext from '../PDFContext';
12
12
  import CharCodes from '../syntax/CharCodes';
13
13
  import { PDFArrayIsNotRectangleError } from '../errors';
14
14
  import PDFRawStream from './PDFRawStream';
15
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
15
16
 
16
17
  class PDFArray extends PDFObject {
18
+ static className = () => PDFClasses.PDFArray;
19
+ myClass(): PDFClasses {
20
+ return PDFClasses.PDFArray;
21
+ }
17
22
  static withContext = (context: PDFContext) => new PDFArray(context);
18
23
 
19
24
  private readonly array: PDFObject[];
@@ -178,9 +183,9 @@ class PDFArray extends PDFObject {
178
183
  scalePDFNumbers(x: number, y: number): void {
179
184
  for (let idx = 0, len = this.size(); idx < len; idx++) {
180
185
  const el = this.lookup(idx);
181
- if (el instanceof PDFNumber) {
186
+ if (isPDFInstance(el, PDFClasses.PDFNumber)) {
182
187
  const factor = idx % 2 === 0 ? x : y;
183
- this.set(idx, PDFNumber.of(el.asNumber() * factor));
188
+ this.set(idx, PDFNumber.of((el as PDFNumber).asNumber() * factor));
184
189
  }
185
190
  }
186
191
  }
@@ -1,10 +1,15 @@
1
1
  import { PrivateConstructorError } from '../errors';
2
2
  import PDFObject from './PDFObject';
3
3
  import CharCodes from '../syntax/CharCodes';
4
+ import { PDFClasses } from '../../api/objects';
4
5
 
5
6
  const ENFORCER = {};
6
7
 
7
8
  class PDFBool extends PDFObject {
9
+ static className = () => PDFClasses.PDFBool;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFBool;
12
+ }
8
13
  static readonly True = new PDFBool(ENFORCER, true);
9
14
  static readonly False = new PDFBool(ENFORCER, false);
10
15
 
@@ -10,10 +10,15 @@ import PDFStream from './PDFStream';
10
10
  import PDFString from './PDFString';
11
11
  import PDFContext from '../PDFContext';
12
12
  import CharCodes from '../syntax/CharCodes';
13
+ import { PDFClasses } from '../../api/objects';
13
14
 
14
15
  export type DictMap = Map<PDFName, PDFObject>;
15
16
 
16
17
  class PDFDict extends PDFObject {
18
+ static className = () => PDFClasses.PDFDict;
19
+ myClass(): PDFClasses {
20
+ return PDFClasses.PDFDict;
21
+ }
17
22
  static withContext = (context: PDFContext) => new PDFDict(new Map(), context);
18
23
 
19
24
  static fromMapWithContext = (map: DictMap, context: PDFContext) =>
@@ -11,8 +11,13 @@ import {
11
11
  byteArrayToHexString,
12
12
  } from '../../utils';
13
13
  import { InvalidPDFDateStringError } from '../errors';
14
+ import { PDFClasses } from '../../api/objects';
14
15
 
15
16
  class PDFHexString extends PDFObject {
17
+ static className = () => PDFClasses.PDFHexString;
18
+ myClass(): PDFClasses {
19
+ return PDFClasses.PDFHexString;
20
+ }
16
21
  static of = (value: string) => new PDFHexString(value);
17
22
 
18
23
  static fromText = (value: string) => {
@@ -1,6 +1,11 @@
1
+ import { PDFClasses } from '../../api/objects';
1
2
  import PDFObject from './PDFObject';
2
3
 
3
4
  class PDFInvalidObject extends PDFObject {
5
+ static className = () => PDFClasses.PDFInvalidObject;
6
+ myClass(): PDFClasses {
7
+ return PDFClasses.PDFInvalidObject;
8
+ }
4
9
  static of = (data: Uint8Array) => new PDFInvalidObject(data);
5
10
 
6
11
  private readonly data: Uint8Array;
@@ -8,6 +8,7 @@ import {
8
8
  toCharCode,
9
9
  toHexString,
10
10
  } from '../../utils';
11
+ import { PDFClasses } from '../../api/objects';
11
12
 
12
13
  const decodeName = (name: string) =>
13
14
  name.replace(/#([\dABCDEF]{2})/g, (_, hex) => charFromHexCode(hex));
@@ -21,6 +22,10 @@ const ENFORCER = {};
21
22
  const pool = new Map<string, PDFName>();
22
23
 
23
24
  class PDFName extends PDFObject {
25
+ static className = () => PDFClasses.PDFName;
26
+ myClass(): PDFClasses {
27
+ return PDFClasses.PDFName;
28
+ }
24
29
  static of = (name: string): PDFName => {
25
30
  const decodedValue = decodeName(name);
26
31
 
@@ -1,7 +1,12 @@
1
1
  import PDFObject from './PDFObject';
2
2
  import CharCodes from '../syntax/CharCodes';
3
+ import { PDFClasses } from '../../api/objects';
3
4
 
4
5
  class PDFNull extends PDFObject {
6
+ static className = () => PDFClasses.PDFNull;
7
+ myClass(): PDFClasses {
8
+ return PDFClasses.PDFNull;
9
+ }
5
10
  asNull(): null {
6
11
  return null;
7
12
  }
@@ -1,8 +1,13 @@
1
+ import { PDFClasses } from '../../api/objects';
1
2
  import { copyStringIntoBuffer, numberToString } from '../../utils/index';
2
3
 
3
4
  import PDFObject from './PDFObject';
4
5
 
5
6
  class PDFNumber extends PDFObject {
7
+ static className = () => PDFClasses.PDFNumber;
8
+ myClass(): PDFClasses {
9
+ return PDFClasses.PDFNumber;
10
+ }
6
11
  static of = (value: number) => new PDFNumber(value);
7
12
 
8
13
  private readonly numberValue: number;
@@ -1,7 +1,13 @@
1
+ import { PDFClasses } from '../../api/objects';
1
2
  import { MethodNotImplementedError } from '../errors';
2
3
  import PDFContext from '../PDFContext';
3
4
 
4
5
  class PDFObject {
6
+ static className = () => PDFClasses.PDFObject;
7
+ myClass(): PDFClasses {
8
+ return PDFClasses.PDFObject;
9
+ }
10
+
5
11
  registerChange() {
6
12
  throw new MethodNotImplementedError(
7
13
  this.constructor.name,
@@ -3,8 +3,13 @@ import PDFStream from './PDFStream';
3
3
  import PDFContext from '../PDFContext';
4
4
  import { arrayAsString } from '../../utils';
5
5
  import { CipherTransform } from '../crypto';
6
+ import { PDFClasses } from '../../api/objects';
6
7
 
7
8
  class PDFRawStream extends PDFStream {
9
+ static className = () => PDFClasses.PDFRawStream;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFRawStream;
12
+ }
8
13
  static of = (
9
14
  dict: PDFDict,
10
15
  contents: Uint8Array,
@@ -1,11 +1,16 @@
1
1
  import { PrivateConstructorError } from '../errors';
2
2
  import PDFObject from '../objects/PDFObject';
3
3
  import { copyStringIntoBuffer } from '../../utils';
4
+ import { PDFClasses } from '../../api';
4
5
 
5
6
  const ENFORCER = {};
6
7
  const pool = new Map<string, PDFRef>();
7
8
 
8
9
  class PDFRef extends PDFObject {
10
+ static className = () => PDFClasses.PDFRef;
11
+ myClass(): PDFClasses {
12
+ return PDFClasses.PDFRef;
13
+ }
9
14
  static of = (objectNumber: number, generationNumber = 0) => {
10
15
  const tag = `${objectNumber} ${generationNumber} R`;
11
16
 
@@ -5,8 +5,13 @@ import PDFNumber from './PDFNumber';
5
5
  import PDFObject from './PDFObject';
6
6
  import PDFContext from '../PDFContext';
7
7
  import CharCodes from '../syntax/CharCodes';
8
+ import { PDFClasses } from '../../api/objects';
8
9
 
9
10
  class PDFStream extends PDFObject {
11
+ static className = () => PDFClasses.PDFStream;
12
+ myClass(): PDFClasses {
13
+ return PDFClasses.PDFStream;
14
+ }
10
15
  readonly dict: PDFDict;
11
16
 
12
17
  constructor(dict: PDFDict) {
@@ -10,8 +10,13 @@ import {
10
10
  hasUtf16BOM,
11
11
  } from '../../utils';
12
12
  import { InvalidPDFDateStringError } from '../errors';
13
+ import { PDFClasses } from '../../api/objects';
13
14
 
14
15
  class PDFString extends PDFObject {
16
+ static className = () => PDFClasses.PDFString;
17
+ myClass(): PDFClasses {
18
+ return PDFClasses.PDFString;
19
+ }
15
20
  // The PDF spec allows newlines and parens to appear directly within a literal
16
21
  // string. These character _may_ be escaped. But they do not _have_ to be. So
17
22
  // for simplicity, we will not bother escaping them.
@@ -8,6 +8,7 @@ import PDFOperatorNames from './PDFOperatorNames';
8
8
  import PDFContext from '../PDFContext';
9
9
  import CharCodes from '../syntax/CharCodes';
10
10
  import { copyStringIntoBuffer } from '../../utils';
11
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
11
12
 
12
13
  export type PDFOperatorArg =
13
14
  | string
@@ -33,7 +34,9 @@ class PDFOperator {
33
34
  const args = new Array(this.args.length);
34
35
  for (let idx = 0, len = args.length; idx < len; idx++) {
35
36
  const arg = this.args[idx];
36
- args[idx] = arg instanceof PDFObject ? arg.clone(context) : arg;
37
+ args[idx] = isPDFInstance(arg, PDFClasses.PDFObject)
38
+ ? (arg as PDFObject).clone(context)
39
+ : arg;
37
40
  }
38
41
  return PDFOperator.of(this.name, args);
39
42
  }
@@ -51,7 +54,10 @@ class PDFOperator {
51
54
  let size = 0;
52
55
  for (let idx = 0, len = this.args.length; idx < len; idx++) {
53
56
  const arg = this.args[idx];
54
- size += (arg instanceof PDFObject ? arg.sizeInBytes() : arg.length) + 1;
57
+ size +=
58
+ (isPDFInstance(arg, PDFClasses.PDFObject)
59
+ ? (arg as PDFObject).sizeInBytes()
60
+ : (arg as string).length) + 1;
55
61
  }
56
62
  size += this.name.length;
57
63
  return size;
@@ -62,10 +68,10 @@ class PDFOperator {
62
68
 
63
69
  for (let idx = 0, len = this.args.length; idx < len; idx++) {
64
70
  const arg = this.args[idx];
65
- if (arg instanceof PDFObject) {
66
- offset += arg.copyBytesInto(buffer, offset);
71
+ if (isPDFInstance(arg, PDFClasses.PDFObject)) {
72
+ offset += (arg as PDFObject).copyBytesInto(buffer, offset);
67
73
  } else {
68
- offset += copyStringIntoBuffer(arg, buffer, offset);
74
+ offset += copyStringIntoBuffer(arg as string, buffer, offset);
69
75
  }
70
76
  buffer[offset++] = CharCodes.Space;
71
77
  }
@@ -29,6 +29,7 @@ import { IsDigit, IsNumeric } from '../syntax/Numeric';
29
29
  import { IsWhitespace } from '../syntax/Whitespace';
30
30
  import { arrayAsString, charFromCode } from '../../utils';
31
31
  import { CipherTransformFactory } from '../crypto';
32
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
32
33
 
33
34
  // TODO: Throw error if eof is reached before finishing object parse...
34
35
  class PDFObjectParser extends BaseParser {
@@ -256,8 +257,8 @@ class PDFObjectParser extends BaseParser {
256
257
  let end: number;
257
258
 
258
259
  const Length = dict.get(PDFName.of('Length'));
259
- if (Length instanceof PDFNumber) {
260
- end = start + Length.asNumber();
260
+ if (isPDFInstance(Length, PDFClasses.PDFNumber)) {
261
+ end = start + (Length as PDFNumber).asNumber();
261
262
  this.bytes.moveTo(end);
262
263
  this.skipWhitespaceAndComments();
263
264
  if (!this.matchKeyword(Keywords.endstream)) {