@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
@@ -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
 
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import { Size } from '../../types';
2
3
  import {
3
4
  angle,
@@ -15,6 +16,10 @@ import Point from './Point';
15
16
  import Segment from './Segment';
16
17
 
17
18
  export default class Ellipse extends GraphElement {
19
+ static className = () => PDFClasses.Ellipse;
20
+ myClass(): PDFClasses {
21
+ return PDFClasses.Ellipse;
22
+ }
18
23
  A: Point;
19
24
  B: Point;
20
25
  C: Point;
@@ -62,13 +67,13 @@ export default class Ellipse extends GraphElement {
62
67
  }
63
68
 
64
69
  isEqual(element: GraphElement): boolean {
65
- if (!(element instanceof Ellipse)) return false;
70
+ if (!isPDFInstance(element, PDFClasses.Ellipse)) return false;
66
71
  const a = this.a();
67
72
  const b = this.b();
68
73
  const rotation = this.rotation();
69
- const eltA = element.a();
70
- const eltB = element.b();
71
- const eltRotation = element.rotation();
74
+ const eltA = (element as Ellipse).a();
75
+ const eltB = (element as Ellipse).b();
76
+ const eltRotation = (element as Ellipse).rotation();
72
77
  // If the main axis is the same on both ellipse
73
78
  if (eltA < eltB === a < b) {
74
79
  // The rotation is equivalent module PI as the element is symetrical
@@ -1,8 +1,11 @@
1
+ import { PDFClasses } from '../../api/objects';
1
2
  import { distance } from '../maths';
2
3
 
3
4
  import Point from './Point';
4
5
 
5
6
  export default abstract class GraphElement {
7
+ abstract myClass(): PDFClasses;
8
+
6
9
  abstract isEqual(element: GraphElement): boolean;
7
10
 
8
11
  abstract orthoProjection(P: Point): Point;
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import { Coordinates } from '../../types';
2
3
  import { intersectionLine } from '../intersections';
3
4
  import { isColinear, isEqual, orthogonal, vector } from '../maths';
@@ -6,6 +7,10 @@ import GraphElement from './GraphElement';
6
7
  import Point from './Point';
7
8
 
8
9
  export default class Line extends GraphElement {
10
+ static className = () => PDFClasses.Line;
11
+ myClass(): PDFClasses {
12
+ return PDFClasses.Line;
13
+ }
9
14
  origin(): Point {
10
15
  return this.A;
11
16
  }
@@ -46,12 +51,15 @@ export default class Line extends GraphElement {
46
51
  isEqual(element: GraphElement): boolean {
47
52
  const vect = this.dirVect();
48
53
  return (
49
- element instanceof Line &&
50
- isColinear(vect, element.dirVect()) &&
54
+ isPDFInstance(element, PDFClasses.Line) &&
55
+ isColinear(vect, (element as Line).dirVect()) &&
51
56
  (isEqual(vect.x, 0)
52
57
  ? // We need to take care of the case of the vertical line
53
- isEqual(this.origin().toCoords().x, element.origin().toCoords().x)
54
- : isEqual(this.b(), element.b()))
58
+ isEqual(
59
+ this.origin().toCoords().x,
60
+ (element as Line).origin().toCoords().x,
61
+ )
62
+ : isEqual(this.b(), (element as Line).b()))
55
63
  );
56
64
  }
57
65
 
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import { Coordinates } from '../../types';
2
3
  import { plus } from '../maths';
3
4
 
@@ -5,6 +6,10 @@ import GraphElement from './GraphElement';
5
6
  import Point from './Point';
6
7
  import Segment from './Segment';
7
8
  export default class Plot extends GraphElement {
9
+ static className = () => PDFClasses.Plot;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.Plot;
12
+ }
8
13
  points: Coordinates[];
9
14
 
10
15
  constructor(points: Coordinates[] = []) {
@@ -21,9 +26,11 @@ export default class Plot extends GraphElement {
21
26
  }
22
27
 
23
28
  isEqual(element: GraphElement): boolean {
24
- if (!(element instanceof Plot)) return false;
29
+ if (!isPDFInstance(element, PDFClasses.Plot)) return false;
25
30
  const points = this.getPoints().map((coord) => new Point(coord));
26
- const points2 = element.getPoints().map((coord) => new Point(coord));
31
+ const points2 = (element as Plot)
32
+ .getPoints()
33
+ .map((coord) => new Point(coord));
27
34
  return (
28
35
  points.every((point, i) => point.isEqual(points2[i])) ||
29
36
  points.reverse().every((point, i) => point.isEqual(points2[i]))
@@ -1,9 +1,14 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import type { Coordinates } from '../../types';
2
3
 
3
4
  import { isEqual, plus } from '../maths';
4
5
  import GraphElement from './GraphElement';
5
6
 
6
7
  export default class Point extends GraphElement {
8
+ static className = () => PDFClasses.Point;
9
+ myClass(): PDFClasses {
10
+ return PDFClasses.Point;
11
+ }
7
12
  static type = 'PointFixed';
8
13
 
9
14
  x: number;
@@ -20,9 +25,9 @@ export default class Point extends GraphElement {
20
25
  }
21
26
 
22
27
  isEqual(element: GraphElement): boolean {
23
- if (!(element instanceof Point)) return false;
28
+ if (!isPDFInstance(element, PDFClasses.Point)) return false;
24
29
  const A = this.toCoords();
25
- const B = element.toCoords();
30
+ const B = (element as Point).toCoords();
26
31
  return isEqual(A.x, B.x) && isEqual(A.y, B.y);
27
32
  }
28
33
 
@@ -1,8 +1,13 @@
1
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
1
2
  import GraphElement from './GraphElement';
2
3
  import Point from './Point';
3
4
  import Segment from './Segment';
4
5
 
5
6
  export default class Rectangle extends GraphElement {
7
+ static className = () => PDFClasses.Rectangle;
8
+ myClass(): PDFClasses {
9
+ return PDFClasses.Rectangle;
10
+ }
6
11
  static type = 'Rectangle';
7
12
  start: Point;
8
13
  end: Point;
@@ -48,9 +53,9 @@ export default class Rectangle extends GraphElement {
48
53
 
49
54
  isEqual(element: GraphElement): boolean {
50
55
  return (
51
- element instanceof Rectangle &&
52
- this.getStart().isEqual(element.getStart()) &&
53
- this.getEnd().isEqual(element.getEnd())
56
+ isPDFInstance(element, PDFClasses.Rectangle) &&
57
+ this.getStart().isEqual((element as Rectangle).getStart()) &&
58
+ this.getEnd().isEqual((element as Rectangle).getEnd())
54
59
  );
55
60
  }
56
61