@adnsistemas/pdf-lib 2.8.1 → 2.9.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 (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 +26 -21
  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 +57 -49
  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 +24 -14
  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 +4834 -4507
  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 +4834 -4506
  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 +27 -22
  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 +57 -49
  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 +24 -14
  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 +48 -44
  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 +77 -56
  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 +32 -15
  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
@@ -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)) {
@@ -25,6 +25,7 @@ import { IsDigit } from '../syntax/Numeric';
25
25
  import { waitForTick } from '../../utils';
26
26
  import { CipherTransformFactory } from '../crypto';
27
27
  import PDFNumber from '../objects/PDFNumber';
28
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
28
29
 
29
30
  class PDFParser extends PDFObjectParser {
30
31
  static forBytesWithOptions = (
@@ -110,8 +111,8 @@ class PDFParser extends PDFObjectParser {
110
111
 
111
112
  private maybeRecoverRoot(): void {
112
113
  const isValidCatalog = (obj?: PDFObject) =>
113
- obj instanceof PDFDict &&
114
- obj.lookup(PDFName.of('Type')) === PDFName.of('Catalog');
114
+ isPDFInstance(obj, PDFClasses.PDFDict) &&
115
+ (obj as PDFDict).lookup(PDFName.of('Type')) === PDFName.of('Catalog');
115
116
 
116
117
  const catalog = this.context.lookup(this.context.trailerInfo.Root);
117
118
 
@@ -188,18 +189,22 @@ class PDFParser extends PDFObjectParser {
188
189
  this.matchKeyword(Keywords.endobj);
189
190
 
190
191
  if (
191
- object instanceof PDFRawStream &&
192
- object.dict.lookup(PDFName.of('Type')) === PDFName.of('ObjStm')
192
+ isPDFInstance(object, PDFClasses.PDFRawStream) &&
193
+ (object as PDFRawStream).dict.lookup(PDFName.of('Type')) ===
194
+ PDFName.of('ObjStm')
193
195
  ) {
194
196
  await PDFObjectStreamParser.forStream(
195
- object,
197
+ object as PDFRawStream,
196
198
  this.shouldWaitForTick,
197
199
  ).parseIntoContext();
198
200
  } else if (
199
- object instanceof PDFRawStream &&
200
- object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')
201
+ isPDFInstance(object, PDFClasses.PDFRawStream) &&
202
+ (object as PDFRawStream).dict.lookup(PDFName.of('Type')) ===
203
+ PDFName.of('XRef')
201
204
  ) {
202
- const entries = PDFXRefStreamParser.forStream(object).parseIntoContext();
205
+ const entries = PDFXRefStreamParser.forStream(
206
+ object as PDFRawStream,
207
+ ).parseIntoContext();
203
208
  if (entries.length) {
204
209
  const xref = PDFCrossRefSection.createEmpty();
205
210
  for (const entry of entries) {
@@ -7,6 +7,7 @@ import PDFRawStream from '../objects/PDFRawStream';
7
7
  import PDFRef from '../objects/PDFRef';
8
8
  import ByteStream from './ByteStream';
9
9
  import PDFContext from '../PDFContext';
10
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
10
11
 
11
12
  export interface Entry {
12
13
  ref: PDFRef;
@@ -41,11 +42,15 @@ class PDFXRefStreamParser {
41
42
  const Size = this.dict.lookup(PDFName.of('Size'), PDFNumber);
42
43
 
43
44
  const Index = this.dict.lookup(PDFName.of('Index'));
44
- if (Index instanceof PDFArray) {
45
+ if (isPDFInstance(Index, PDFClasses.PDFArray)) {
45
46
  this.subsections = [];
46
- for (let idx = 0, len = Index.size(); idx < len; idx += 2) {
47
- const firstObjectNumber = Index.lookup(idx + 0, PDFNumber).asNumber();
48
- const length = Index.lookup(idx + 1, PDFNumber).asNumber();
47
+ for (let idx = 0, len = (Index as PDFArray).size(); idx < len; idx += 2) {
48
+ const firstObjectNumber = (Index as PDFArray)
49
+ .lookup(idx + 0, PDFNumber)
50
+ .asNumber();
51
+ const length = (Index as PDFArray)
52
+ .lookup(idx + 1, PDFNumber)
53
+ .asNumber();
49
54
  this.subsections.push({ firstObjectNumber, length });
50
55
  }
51
56
  } else {
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import { UnexpectedObjectTypeError, UnsupportedEncodingError } from '../errors';
2
3
  import PDFArray from '../objects/PDFArray';
3
4
  import PDFDict from '../objects/PDFDict';
@@ -22,10 +23,10 @@ const decodeStream = (
22
23
  }
23
24
  if (encoding === PDFName.of('LZWDecode')) {
24
25
  let earlyChange = 1;
25
- if (params instanceof PDFDict) {
26
- const EarlyChange = params.lookup(PDFName.of('EarlyChange'));
27
- if (EarlyChange instanceof PDFNumber) {
28
- earlyChange = EarlyChange.asNumber();
26
+ if (isPDFInstance(params, PDFClasses.PDFDict)) {
27
+ const EarlyChange = (params as PDFDict).lookup(PDFName.of('EarlyChange'));
28
+ if (isPDFInstance(EarlyChange, PDFClasses.PDFNumber)) {
29
+ earlyChange = (EarlyChange as PDFNumber).asNumber();
29
30
  }
30
31
  }
31
32
  return new LZWStream(stream, undefined, earlyChange as 0 | 1);
@@ -56,17 +57,17 @@ export const decodePDFRawStream = ({
56
57
  const Filter = dict.lookup(PDFName.of('Filter'));
57
58
  const DecodeParms = dict.lookup(PDFName.of('DecodeParms'));
58
59
 
59
- if (Filter instanceof PDFName) {
60
+ if (isPDFInstance(Filter, PDFClasses.PDFName)) {
60
61
  stream = decodeStream(
61
62
  stream,
62
- Filter,
63
+ Filter as PDFName,
63
64
  DecodeParms as PDFDict | typeof PDFNull | undefined,
64
65
  );
65
- } else if (Filter instanceof PDFArray) {
66
- for (let idx = 0, len = Filter.size(); idx < len; idx++) {
66
+ } else if (isPDFInstance(Filter, PDFClasses.PDFArray)) {
67
+ for (let idx = 0, len = (Filter as PDFArray).size(); idx < len; idx++) {
67
68
  stream = decodeStream(
68
69
  stream,
69
- Filter.lookup(idx, PDFName),
70
+ (Filter as PDFArray).lookup(idx, PDFName),
70
71
  DecodeParms && (DecodeParms as PDFArray).lookupMaybe(idx, PDFDict),
71
72
  );
72
73
  }
@@ -6,8 +6,13 @@ import PDFPageTree from './PDFPageTree';
6
6
  import { PDFAcroForm } from '../acroform';
7
7
  import ViewerPreferences from '../interactive/ViewerPreferences';
8
8
  import PDFArray from '../objects/PDFArray';
9
+ import { PDFClasses } from '../../api/objects';
9
10
 
10
11
  class PDFCatalog extends PDFDict {
12
+ static className = () => PDFClasses.PDFCatalog;
13
+ myClass(): PDFClasses {
14
+ return PDFClasses.PDFCatalog;
15
+ }
11
16
  static withContextAndPages = (
12
17
  context: PDFContext,
13
18
  pages: PDFPageTree | PDFRef,
@@ -3,8 +3,13 @@ import PDFOperator from '../operators/PDFOperator';
3
3
  import PDFContext from '../PDFContext';
4
4
  import PDFFlateStream from './PDFFlateStream';
5
5
  import CharCodes from '../syntax/CharCodes';
6
+ import { PDFClasses } from '../../api/objects';
6
7
 
7
8
  class PDFContentStream extends PDFFlateStream {
9
+ static className = () => PDFClasses.PDFContentStream;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFContentStream;
12
+ }
8
13
  static of = (dict: PDFDict, operators: PDFOperator[], encode = true) =>
9
14
  new PDFContentStream(dict, operators, encode);
10
15
 
@@ -6,10 +6,15 @@ import PDFContext from '../PDFContext';
6
6
  import PDFFlateStream from './PDFFlateStream';
7
7
  import CharCodes from '../syntax/CharCodes';
8
8
  import { copyStringIntoBuffer, last } from '../../utils';
9
+ import { PDFClasses } from '../../api/objects';
9
10
 
10
11
  export type IndirectObject = [PDFRef, PDFObject];
11
12
 
12
13
  class PDFObjectStream extends PDFFlateStream {
14
+ static className = () => PDFClasses.PDFObjectStream;
15
+ myClass(): PDFClasses {
16
+ return PDFClasses.PDFObjectStream;
17
+ }
13
18
  static withContextAndObjects = (
14
19
  context: PDFContext,
15
20
  objects: IndirectObject[],
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import PDFArray from '../objects/PDFArray';
2
3
  import PDFDict, { DictMap } from '../objects/PDFDict';
3
4
  import PDFName from '../objects/PDFName';
@@ -9,6 +10,10 @@ import PDFContext from '../PDFContext';
9
10
  import PDFPageTree from './PDFPageTree';
10
11
 
11
12
  class PDFPageLeaf extends PDFDict {
13
+ static className = () => PDFClasses.PDFPageLeaf;
14
+ myClass(): PDFClasses {
15
+ return PDFClasses.PDFPageLeaf;
16
+ }
12
17
  static readonly InheritableEntries = [
13
18
  'Resources',
14
19
  'MediaBox',
@@ -124,9 +129,9 @@ class PDFPageLeaf extends PDFDict {
124
129
 
125
130
  wrapContentStreams(startStream: PDFRef, endStream: PDFRef): boolean {
126
131
  const Contents = this.Contents();
127
- if (Contents instanceof PDFArray) {
128
- Contents.insert(0, startStream);
129
- Contents.push(endStream);
132
+ if (isPDFInstance(Contents, PDFClasses.PDFArray)) {
133
+ (Contents as PDFArray).insert(0, startStream);
134
+ (Contents as PDFArray).push(endStream);
130
135
  return true;
131
136
  }
132
137
  return false;
@@ -208,7 +213,7 @@ class PDFPageLeaf extends PDFDict {
208
213
 
209
214
  const contentsRef = this.get(PDFName.Contents);
210
215
  const contents = this.context.lookup(contentsRef);
211
- if (contents instanceof PDFStream) {
216
+ if (isPDFInstance(contents, PDFClasses.PDFStream)) {
212
217
  this.set(PDFName.Contents, context.obj([contentsRef]));
213
218
  }
214
219
 
@@ -6,10 +6,16 @@ import PDFRef from '../objects/PDFRef';
6
6
  import PDFContext from '../PDFContext';
7
7
  import PDFPageLeaf from './PDFPageLeaf';
8
8
  import { InvalidTargetIndexError, CorruptPageTreeError } from '../errors';
9
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
9
10
 
10
11
  export type TreeNode = PDFPageTree | PDFPageLeaf;
11
12
 
12
13
  class PDFPageTree extends PDFDict {
14
+ static className = () => PDFClasses.PDFPageTree;
15
+ myClass(): PDFClasses {
16
+ return PDFClasses.PDFPageTree;
17
+ }
18
+
13
19
  static withContext = (context: PDFContext, parent?: PDFRef) => {
14
20
  const dict = new Map();
15
21
  dict.set(PDFName.of('Type'), PDFName.of('Pages'));
@@ -72,19 +78,24 @@ class PDFPageTree extends PDFDict {
72
78
  const kidRef = Kids.get(idx) as PDFRef;
73
79
  const kid = this.context.lookup(kidRef);
74
80
 
75
- if (kid instanceof PDFPageTree) {
76
- if (kid.Count().asNumber() > leafsRemainingUntilTarget) {
81
+ if (isPDFInstance(kid, PDFClasses.PDFPageTree)) {
82
+ if (
83
+ (kid as PDFPageTree).Count().asNumber() > leafsRemainingUntilTarget
84
+ ) {
77
85
  // Dig in
78
86
  return (
79
- kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef
87
+ (kid as PDFPageTree).insertLeafNode(
88
+ leafRef,
89
+ leafsRemainingUntilTarget,
90
+ ) || kidRef
80
91
  );
81
92
  } else {
82
93
  // Move on
83
- leafsRemainingUntilTarget -= kid.Count().asNumber();
94
+ leafsRemainingUntilTarget -= (kid as PDFPageTree).Count().asNumber();
84
95
  }
85
96
  }
86
97
 
87
- if (kid instanceof PDFPageLeaf) {
98
+ if (isPDFInstance(kid, PDFClasses.PDFPageLeaf)) {
88
99
  // Move on
89
100
  leafsRemainingUntilTarget -= 1;
90
101
  }
@@ -121,19 +132,22 @@ class PDFPageTree extends PDFDict {
121
132
  const kidRef = Kids.get(idx) as PDFRef;
122
133
  const kid = this.context.lookup(kidRef);
123
134
 
124
- if (kid instanceof PDFPageTree) {
125
- if (kid.Count().asNumber() > leafsRemainingUntilTarget) {
135
+ if (isPDFInstance(kid, PDFClasses.PDFPageTree)) {
136
+ if (
137
+ (kid as PDFPageTree).Count().asNumber() > leafsRemainingUntilTarget
138
+ ) {
126
139
  // Dig in
127
- kid.removeLeafNode(leafsRemainingUntilTarget, prune);
128
- if (prune && kid.Kids().size() === 0) Kids.remove(idx);
140
+ (kid as PDFPageTree).removeLeafNode(leafsRemainingUntilTarget, prune);
141
+ if (prune && (kid as PDFPageTree).Kids().size() === 0)
142
+ Kids.remove(idx);
129
143
  return;
130
144
  } else {
131
145
  // Move on
132
- leafsRemainingUntilTarget -= kid.Count().asNumber();
146
+ leafsRemainingUntilTarget -= (kid as PDFPageTree).Count().asNumber();
133
147
  }
134
148
  }
135
149
 
136
- if (kid instanceof PDFPageLeaf) {
150
+ if (isPDFInstance(kid, PDFClasses.PDFPageLeaf)) {
137
151
  if (leafsRemainingUntilTarget === 0) {
138
152
  // Remove page and return
139
153
  this.removeKid(idx);
@@ -161,7 +175,8 @@ class PDFPageTree extends PDFDict {
161
175
  for (let idx = 0, len = Kids.size(); idx < len; idx++) {
162
176
  const kidRef = Kids.get(idx) as PDFRef;
163
177
  const kid = this.context.lookup(kidRef) as TreeNode;
164
- if (kid instanceof PDFPageTree) kid.traverse(visitor);
178
+ if (isPDFInstance(kid, PDFClasses.PDFPageTree))
179
+ (kid as PDFPageTree).traverse(visitor);
165
180
  visitor(kid, kidRef);
166
181
  }
167
182
  }
@@ -181,7 +196,7 @@ class PDFPageTree extends PDFDict {
181
196
  const Kids = this.Kids();
182
197
 
183
198
  const kid = Kids.lookup(kidIdx);
184
- if (kid instanceof PDFPageLeaf) {
199
+ if (isPDFInstance(kid, PDFClasses.PDFPageLeaf)) {
185
200
  this.ascend((node) => {
186
201
  const newCount = node.Count().asNumber() - 1;
187
202
  node.set(PDFName.of('Count'), PDFNumber.of(newCount));
@@ -2,23 +2,23 @@ import { defaultDocumentSnapshot } from '../../api/snapshot';
2
2
  import type { DocumentSnapshot } from '../../api/snapshot';
3
3
  import PDFHeader from '../document/PDFHeader';
4
4
  import PDFTrailer from '../document/PDFTrailer';
5
- import PDFInvalidObject from '../objects/PDFInvalidObject';
6
5
  import PDFName from '../objects/PDFName';
7
6
  import PDFNumber from '../objects/PDFNumber';
8
7
  import PDFObject from '../objects/PDFObject';
9
8
  import PDFRef from '../objects/PDFRef';
10
- import PDFStream from '../objects/PDFStream';
11
9
  import PDFContext from '../PDFContext';
12
10
  import PDFCrossRefStream from '../structures/PDFCrossRefStream';
13
11
  import PDFObjectStream from '../structures/PDFObjectStream';
14
12
  import PDFWriter from '../writers/PDFWriter';
15
13
  import { last, waitForTick } from '../../utils';
16
14
  import PDFDict from '../objects/PDFDict';
17
- import PDFCatalog from '../structures/PDFCatalog';
18
- import PDFPageTree from '../structures/PDFPageTree';
19
- import PDFPageLeaf from '../structures/PDFPageLeaf';
15
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
20
16
 
21
17
  class PDFStreamWriter extends PDFWriter {
18
+ static className = () => PDFClasses.PDFStreamWriter;
19
+ myClass(): PDFClasses {
20
+ return PDFClasses.PDFStreamWriter;
21
+ }
22
22
  static forContext = (
23
23
  context: PDFContext,
24
24
  objectsPerTick: number,
@@ -97,13 +97,13 @@ class PDFStreamWriter extends PDFWriter {
97
97
 
98
98
  const shouldNotCompress =
99
99
  ref === this.context.trailerInfo.Encrypt ||
100
- object instanceof PDFStream ||
101
- object instanceof PDFInvalidObject ||
102
- object instanceof PDFCatalog ||
103
- object instanceof PDFPageTree ||
104
- object instanceof PDFPageLeaf ||
100
+ isPDFInstance(object, PDFClasses.PDFStream) ||
101
+ isPDFInstance(object, PDFClasses.PDFInvalidObject) ||
102
+ isPDFInstance(object, PDFClasses.PDFCatalog) ||
103
+ isPDFInstance(object, PDFClasses.PDFPageTree) ||
104
+ isPDFInstance(object, PDFClasses.PDFPageLeaf) ||
105
105
  ref.generationNumber !== 0 ||
106
- (object instanceof PDFDict &&
106
+ (isPDFInstance(object, PDFClasses.PDFDict) &&
107
107
  (object as PDFDict).lookup(PDFName.of('Type')) === PDFName.of('Sig'));
108
108
 
109
109
  if (shouldNotCompress) {
@@ -1,7 +1,4 @@
1
- import {
2
- DefaultDocumentSnapshot,
3
- defaultDocumentSnapshot,
4
- } from '../../api/snapshot';
1
+ import { defaultDocumentSnapshot } from '../../api/snapshot';
5
2
  import type { DocumentSnapshot } from '../../api/snapshot';
6
3
  import PDFCrossRefSection from '../document/PDFCrossRefSection';
7
4
  import PDFHeader from '../document/PDFHeader';
@@ -19,6 +16,7 @@ import PDFSecurity from '../security/PDFSecurity';
19
16
  import PDFStream from '../objects/PDFStream';
20
17
  import PDFName from '../objects/PDFName';
21
18
  import PDFRawStream from '../objects/PDFRawStream';
19
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
22
20
 
23
21
  export interface SerializationInfo {
24
22
  size: number;
@@ -30,6 +28,10 @@ export interface SerializationInfo {
30
28
  }
31
29
 
32
30
  class PDFWriter {
31
+ static className = () => PDFClasses.PDFWriter;
32
+ myClass(): PDFClasses {
33
+ return PDFClasses.PDFWriter;
34
+ }
33
35
  static forContext = (context: PDFContext, objectsPerTick: number) =>
34
36
  new PDFWriter(context, objectsPerTick, defaultDocumentSnapshot);
35
37
 
@@ -96,8 +98,9 @@ class PDFWriter {
96
98
  if (objects[idx][0].objectNumber < checkWatermark) break;
97
99
  const object = objects[idx][1];
98
100
  if (
99
- object instanceof PDFRawStream &&
100
- object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')
101
+ isPDFInstance(object, PDFClasses.PDFRawStream) &&
102
+ (object as PDFRawStream).dict.lookup(PDFName.of('Type')) ===
103
+ PDFName.of('XRef')
101
104
  ) {
102
105
  this._lastXRefObjectNumber = objects[idx][0].objectNumber;
103
106
  break;
@@ -112,7 +115,10 @@ class PDFWriter {
112
115
  }
113
116
 
114
117
  async serializeToBuffer(): Promise<Uint8Array> {
115
- const incremental = !(this.snapshot instanceof DefaultDocumentSnapshot);
118
+ const incremental = !isPDFInstance(
119
+ this.snapshot,
120
+ PDFClasses.DefaultDocumentSnapshot,
121
+ );
116
122
  const { size, header, indirectObjects, xref, trailerDict, trailer } =
117
123
  await this.computeBufferSize(incremental);
118
124
 
@@ -157,8 +163,9 @@ class PDFWriter {
157
163
  buffer[offset++] = CharCodes.Newline;
158
164
  buffer[offset++] = CharCodes.Newline;
159
165
 
160
- const n =
161
- object instanceof PDFObjectStream ? object.getObjectsCount() : 1;
166
+ const n = isPDFInstance(object, PDFClasses.PDFObjectStream)
167
+ ? (object as PDFObjectStream).getObjectsCount()
168
+ : 1;
162
169
  if (this.shouldWaitForTick(n)) await waitForTick();
163
170
  }
164
171
 
@@ -264,14 +271,14 @@ class PDFWriter {
264
271
  }
265
272
 
266
273
  protected encrypt(ref: PDFRef, object: PDFObject, security: PDFSecurity) {
267
- if (object instanceof PDFStream) {
274
+ if (isPDFInstance(object, PDFClasses.PDFStream)) {
268
275
  const encryptFn = security.getEncryptFn(
269
276
  ref.objectNumber,
270
277
  ref.generationNumber,
271
278
  );
272
- const unencryptedContents = object.getContents();
279
+ const unencryptedContents = (object as PDFStream).getContents();
273
280
  const encryptedContents = encryptFn(unencryptedContents);
274
- object.updateContents(encryptedContents);
281
+ (object as PDFStream).updateContents(encryptedContents);
275
282
  }
276
283
  }
277
284
 
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import { angleABC, distance, distanceCoords, rotate, vector } from '../maths';
2
3
 
3
4
  import Circle from './Circle';
@@ -5,6 +6,10 @@ import GraphElement from './GraphElement';
5
6
  import Point from './Point';
6
7
 
7
8
  export default class Arc extends GraphElement {
9
+ static className = () => PDFClasses.Arc;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.Arc;
12
+ }
8
13
  O: Point;
9
14
  A: Point;
10
15
  B: Point;
@@ -51,13 +56,13 @@ export default class Arc extends GraphElement {
51
56
  }
52
57
 
53
58
  isEqual(element: GraphElement): boolean {
54
- if (!(element instanceof Arc)) return false;
59
+ if (!isPDFInstance(element, PDFClasses.Arc)) return false;
55
60
  const dest = this.destination();
56
61
  const o = this.origin();
57
- const eDest = element.destination();
58
- const eO = element.origin();
62
+ const eDest = (element as Arc).destination();
63
+ const eO = (element as Arc).origin();
59
64
  return (
60
- this.getCircle().isEqual(element.getCircle()) &&
65
+ this.getCircle().isEqual((element as Arc).getCircle()) &&
61
66
  ((dest.isEqual(eDest) && o.isEqual(eO)) ||
62
67
  (dest.isEqual(eO) && o.isEqual(eDest)))
63
68
  );
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import {
2
3
  distance,
3
4
  distanceCoords,
@@ -11,6 +12,10 @@ import {
11
12
  import GraphElement from './GraphElement';
12
13
  import Point from './Point';
13
14
  export default class Circle extends GraphElement {
15
+ static className = () => PDFClasses.Circle;
16
+ myClass(): PDFClasses {
17
+ return PDFClasses.Circle;
18
+ }
14
19
  O: Point;
15
20
  r: number;
16
21
 
@@ -35,9 +40,9 @@ export default class Circle extends GraphElement {
35
40
 
36
41
  isEqual(element: GraphElement): boolean {
37
42
  return (
38
- element instanceof Circle &&
39
- this.center().isEqual(element.center()) &&
40
- isEqual(this.ray(), element.ray())
43
+ isPDFInstance(element, PDFClasses.Circle) &&
44
+ this.center().isEqual((element as Circle).center()) &&
45
+ isEqual(this.ray(), (element as Circle).ray())
41
46
  );
42
47
  }
43
48