@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,5 +1,6 @@
1
1
  import pako from 'pako';
2
- import type { DocumentSnapshot } from '../api';
2
+ import type { DocumentSnapshot } from '../api/snapshot/DocumentSnapshot';
3
+ import { isPDFInstance, PDFClasses } from '../api/objects';
3
4
 
4
5
  import PDFHeader from './document/PDFHeader';
5
6
  import { UnexpectedObjectTypeError } from './errors';
@@ -85,8 +86,8 @@ class PDFContext {
85
86
 
86
87
  security?: PDFSecurity;
87
88
 
88
- private readonly indirectObjects: Map<PDFRef, PDFObject>;
89
- private readonly objectsPreviousVersions: Map<PDFRef, PDFObject[]>;
89
+ private readonly indirectObjects: Map<string, [PDFRef, PDFObject]>;
90
+ private readonly objectsPreviousVersions: Map<string, PDFObject[]>;
90
91
 
91
92
  private pushGraphicsStateContentStreamRef?: PDFRef;
92
93
  private popGraphicsStateContentStreamRef?: PDFRef;
@@ -111,17 +112,17 @@ class PDFContext {
111
112
 
112
113
  assign(ref: PDFRef, object: PDFObject): void {
113
114
  if (this.preserveObjectsVersions) {
114
- const prevOV = this.indirectObjects.get(ref);
115
+ const prevOV = this.indirectObjects.get(ref.toString());
115
116
  if (prevOV) {
116
- const prevList = this.objectsPreviousVersions.get(ref);
117
+ const prevList = this.objectsPreviousVersions.get(ref.toString());
117
118
  if (!prevList) {
118
- this.objectsPreviousVersions.set(ref, [prevOV]);
119
+ this.objectsPreviousVersions.set(ref.toString(), [prevOV[1]]);
119
120
  } else {
120
- prevList.unshift(prevOV);
121
+ prevList.unshift(prevOV[1]);
121
122
  }
122
123
  }
123
124
  }
124
- this.indirectObjects.set(ref, object);
125
+ this.indirectObjects.set(ref.toString(), [ref, object]);
125
126
  if (ref.objectNumber > this.largestObjectNumber) {
126
127
  this.largestObjectNumber = ref.objectNumber;
127
128
  }
@@ -143,18 +144,18 @@ class PDFContext {
143
144
  delete(ref: PDFRef): boolean {
144
145
  if (this.snapshot) this.snapshot.markDeletedRef(ref);
145
146
  if (this.preserveObjectsVersions) {
146
- const object = this.indirectObjects.get(ref);
147
+ const object = this.indirectObjects.get(ref.toString());
147
148
  if (object) {
148
149
  // check is not already deleted
149
- const verlist = this.objectsPreviousVersions.get(ref);
150
+ const verlist = this.objectsPreviousVersions.get(ref.toString());
150
151
  if (verlist) {
151
- verlist.unshift(object);
152
+ verlist.unshift(object[1]);
152
153
  } else {
153
- this.objectsPreviousVersions.set(ref, [object]);
154
+ this.objectsPreviousVersions.set(ref.toString(), [object[1]]);
154
155
  }
155
156
  }
156
157
  }
157
- return this.indirectObjects.delete(ref);
158
+ return this.indirectObjects.delete(ref.toString());
158
159
  }
159
160
 
160
161
  lookupMaybe(ref: LookupKey, type: typeof PDFArray): PDFArray | undefined;
@@ -181,17 +182,27 @@ class PDFContext {
181
182
  // removed in next breaking API change.
182
183
  const preservePDFNull = types.includes(PDFNull);
183
184
 
184
- const result = ref instanceof PDFRef ? this.indirectObjects.get(ref) : ref;
185
-
186
- if (!result || (result === PDFNull && !preservePDFNull)) return undefined;
185
+ let result;
186
+ if (isPDFInstance(ref, PDFClasses.PDFRef)) {
187
+ const iobj = this.indirectObjects.get((ref as PDFRef).toString());
188
+ result = iobj ? iobj[1] : undefined;
189
+ } else {
190
+ result = ref;
191
+ }
192
+ if (
193
+ !result ||
194
+ (isPDFInstance(result, PDFClasses.PDFNull) && !preservePDFNull)
195
+ )
196
+ return undefined;
187
197
 
188
198
  for (let idx = 0, len = types.length; idx < len; idx++) {
189
199
  const type = types[idx];
190
- if (type === PDFNull) {
191
- if (result === PDFNull) return result;
192
- } else {
193
- if (result instanceof type) return result;
194
- }
200
+ if (
201
+ isPDFInstance(type, PDFClasses.PDFNull) &&
202
+ isPDFInstance(result, PDFClasses.PDFNull)
203
+ )
204
+ return result;
205
+ if (isPDFInstance(result, type)) return result;
195
206
  }
196
207
  throw new UnexpectedObjectTypeError(types, result);
197
208
  }
@@ -214,29 +225,36 @@ class PDFContext {
214
225
  ): PDFString | PDFHexString;
215
226
 
216
227
  lookup(ref: LookupKey, ...types: any[]) {
217
- const result = ref instanceof PDFRef ? this.indirectObjects.get(ref) : ref;
228
+ let result;
229
+ if (isPDFInstance(ref, PDFClasses.PDFRef)) {
230
+ const iobj = this.indirectObjects.get((ref as PDFRef).toString());
231
+ result = iobj ? iobj[1] : undefined;
232
+ } else {
233
+ result = ref;
234
+ }
218
235
 
219
236
  if (types.length === 0) return result;
220
237
 
221
238
  for (let idx = 0, len = types.length; idx < len; idx++) {
222
239
  const type = types[idx];
223
- if (type === PDFNull) {
224
- if (result === PDFNull) return result;
225
- } else {
226
- if (result instanceof type) return result;
227
- }
240
+ if (
241
+ isPDFInstance(type, PDFClasses.PDFNull) &&
242
+ isPDFInstance(result, PDFClasses.PDFNull)
243
+ )
244
+ return result;
245
+ if (isPDFInstance(result, type)) return result;
228
246
  }
229
247
 
230
248
  throw new UnexpectedObjectTypeError(types, result);
231
249
  }
232
250
 
233
251
  getRef(pdfObject: PDFObject | PDFRef): PDFRef | undefined {
234
- if (pdfObject instanceof PDFRef) return pdfObject;
252
+ if (isPDFInstance(pdfObject, PDFClasses.PDFRef)) return pdfObject as PDFRef;
235
253
  return this.getObjectRef(pdfObject);
236
254
  }
237
255
 
238
256
  getObjectRef(pdfObject: PDFObject): PDFRef | undefined {
239
- const entries = Array.from(this.indirectObjects.entries());
257
+ const entries = Array.from(this.indirectObjects.values());
240
258
  for (let idx = 0, len = entries.length; idx < len; idx++) {
241
259
  const [ref, object] = entries[idx];
242
260
  if (object === pdfObject) {
@@ -248,7 +266,7 @@ class PDFContext {
248
266
  }
249
267
 
250
268
  enumerateIndirectObjects(): [PDFRef, PDFObject][] {
251
- return Array.from(this.indirectObjects.entries()).sort(
269
+ return Array.from(this.indirectObjects.values()).sort(
252
270
  byAscendingObjectNumber,
253
271
  );
254
272
  }
@@ -261,7 +279,7 @@ class PDFContext {
261
279
  obj(literal: LiteralArray): PDFArray;
262
280
 
263
281
  obj(literal: Literal) {
264
- if (literal instanceof PDFObject) {
282
+ if (isPDFInstance(literal, PDFClasses.PDFObject)) {
265
283
  return literal;
266
284
  } else if (literal === null || literal === undefined) {
267
285
  return PDFNull;
@@ -321,34 +339,35 @@ class PDFContext {
321
339
  }: LiteralConfig = {},
322
340
  ): Literal | PDFObject {
323
341
  const cfg = { deep, literalRef, literalStreamDict, literalString };
324
- if (obj instanceof PDFArray) {
325
- const lit = obj.asArray();
342
+ if (isPDFInstance(obj, PDFClasses.PDFArray)) {
343
+ const lit = (obj as PDFArray).asArray();
326
344
  return deep ? lit.map((value) => this.getLiteral(value, cfg)) : lit;
327
- } else if (obj instanceof PDFBool) {
328
- return obj.asBoolean();
329
- } else if (obj instanceof PDFDict) {
345
+ } else if (isPDFInstance(obj, PDFClasses.PDFBool)) {
346
+ return (obj as PDFBool).asBoolean();
347
+ } else if (isPDFInstance(obj, PDFClasses.PDFDict)) {
330
348
  const lit: LiteralObject = {};
331
- const entries = obj.entries();
349
+ const entries = (obj as PDFDict).entries();
332
350
  for (let idx = 0, len = entries.length; idx < len; idx++) {
333
351
  const [name, value] = entries[idx];
334
352
  lit[this.getLiteral(name)] = deep ? this.getLiteral(value, cfg) : value;
335
353
  }
336
354
  return lit;
337
- } else if (obj instanceof PDFName) {
338
- return obj.decodeText();
355
+ } else if (isPDFInstance(obj, PDFClasses.PDFName)) {
356
+ return (obj as PDFName).decodeText();
339
357
  } else if (obj === PDFNull) {
340
358
  return null;
341
- } else if (obj instanceof PDFNumber) {
342
- return obj.asNumber();
343
- } else if (obj instanceof PDFRef && literalRef) {
344
- return obj.objectNumber;
345
- } else if (obj instanceof PDFStream && literalStreamDict) {
346
- return this.getLiteral(obj.dict, cfg);
359
+ } else if (isPDFInstance(obj, PDFClasses.PDFNumber)) {
360
+ return (obj as PDFNumber).asNumber();
361
+ } else if (isPDFInstance(obj, PDFClasses.PDFRef) && literalRef) {
362
+ return (obj as PDFRef).objectNumber;
363
+ } else if (isPDFInstance(obj, PDFClasses.PDFStream) && literalStreamDict) {
364
+ return this.getLiteral((obj as PDFStream).dict, cfg);
347
365
  } else if (
348
- (obj instanceof PDFString || obj instanceof PDFHexString) &&
366
+ (isPDFInstance(obj, PDFClasses.PDFString) ||
367
+ isPDFInstance(obj, PDFClasses.PDFHexString)) &&
349
368
  literalString
350
369
  ) {
351
- return obj.asString();
370
+ return (obj as PDFString | PDFHexString).asString();
352
371
  }
353
372
  return obj;
354
373
  }
@@ -444,7 +463,7 @@ class PDFContext {
444
463
  }
445
464
 
446
465
  private findContainingIndirectObject(target: PDFObject): PDFRef | undefined {
447
- const entries = Array.from(this.indirectObjects.entries());
466
+ const entries = Array.from(this.indirectObjects.values());
448
467
  for (let idx = 0, len = entries.length; idx < len; idx++) {
449
468
  const [ref, object] = entries[idx];
450
469
  if (this.objectContains(object, target)) {
@@ -457,17 +476,19 @@ class PDFContext {
457
476
  private objectContains(container: PDFObject, target: PDFObject): boolean {
458
477
  if (container === target) return true;
459
478
 
460
- if (container instanceof PDFDict) {
461
- const values = container.values();
479
+ if (isPDFInstance(container, PDFClasses.PDFDict)) {
480
+ const values = (container as PDFDict).values();
462
481
  for (let i = 0, len = values.length; i < len; i++) {
463
482
  if (this.objectContains(values[i], target)) return true;
464
483
  }
465
- } else if (container instanceof PDFArray) {
466
- for (let i = 0, len = container.size(); i < len; i++) {
467
- if (this.objectContains(container.get(i), target)) return true;
484
+ } else if (isPDFInstance(container, PDFClasses.PDFArray)) {
485
+ for (let i = 0, len = (container as PDFArray).size(); i < len; i++) {
486
+ if (this.objectContains((container as PDFArray).get(i), target))
487
+ return true;
468
488
  }
469
- } else if (container instanceof PDFStream) {
470
- if (this.objectContains(container.dict, target)) return true;
489
+ } else if (isPDFInstance(container, PDFClasses.PDFStream)) {
490
+ if (this.objectContains((container as PDFStream).dict, target))
491
+ return true;
471
492
  }
472
493
 
473
494
  return false;
@@ -475,7 +496,7 @@ class PDFContext {
475
496
 
476
497
  getObjectVersions(ref: PDFRef): PDFObject[] {
477
498
  if (!this.preserveObjectsVersions) return [];
478
- const list = this.objectsPreviousVersions.get(ref);
499
+ const list = this.objectsPreviousVersions.get(ref.toString());
479
500
  if (list) return list;
480
501
  return [];
481
502
  }
@@ -1,3 +1,4 @@
1
+ import { isPDFInstance, PDFClasses } from '../api/objects';
1
2
  import PDFArray from './objects/PDFArray';
2
3
  import PDFDict from './objects/PDFDict';
3
4
  import PDFName from './objects/PDFName';
@@ -43,11 +44,11 @@ class PDFObjectCopier {
43
44
 
44
45
  // prettier-ignore
45
46
  copy = <T extends PDFObject>(object: T): T => (
46
- object instanceof PDFPageLeaf ? this.copyPDFPage(object)
47
- : object instanceof PDFDict ? this.copyPDFDict(object)
48
- : object instanceof PDFArray ? this.copyPDFArray(object)
49
- : object instanceof PDFStream ? this.copyPDFStream(object)
50
- : object instanceof PDFRef ? this.copyPDFIndirectObject(object)
47
+ isPDFInstance(object, PDFClasses.PDFPageLeaf) ? this.copyPDFPage(object as any as PDFPageLeaf)
48
+ : isPDFInstance(object, PDFClasses.PDFDict) ? this.copyPDFDict(object as any as PDFDict)
49
+ : isPDFInstance(object, PDFClasses.PDFArray) ? this.copyPDFArray(object as any as PDFArray)
50
+ : isPDFInstance(object, PDFClasses.PDFStream) ? this.copyPDFStream(object as any as PDFStream)
51
+ : isPDFInstance(object, PDFClasses.PDFRef) ? this.copyPDFIndirectObject(object as any as PDFRef)
51
52
  : object.clone()
52
53
  ) as T;
53
54
 
@@ -6,6 +6,7 @@ import PDFName from '../objects/PDFName';
6
6
  import PDFRef from '../objects/PDFRef';
7
7
  import PDFAcroTerminal from './PDFAcroTerminal';
8
8
  import { IndexOutOfBoundsError } from '../errors';
9
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
9
10
 
10
11
  class PDFAcroButton extends PDFAcroTerminal {
11
12
  Opt(): PDFString | PDFHexString | PDFArray | undefined {
@@ -26,15 +27,21 @@ class PDFAcroButton extends PDFAcroTerminal {
26
27
 
27
28
  if (!opt) return undefined;
28
29
 
29
- if (opt instanceof PDFString || opt instanceof PDFHexString) {
30
- return [opt];
30
+ if (
31
+ isPDFInstance(opt, PDFClasses.PDFString) ||
32
+ isPDFInstance(opt, PDFClasses.PDFHexString)
33
+ ) {
34
+ return [opt as PDFString | PDFHexString];
31
35
  }
32
36
 
33
37
  const values: (PDFString | PDFHexString)[] = [];
34
- for (let idx = 0, len = opt.size(); idx < len; idx++) {
35
- const value = opt.lookup(idx);
36
- if (value instanceof PDFString || value instanceof PDFHexString) {
37
- values.push(value);
38
+ for (let idx = 0, len = (opt as PDFArray).size(); idx < len; idx++) {
39
+ const value = (opt as PDFArray).lookup(idx);
40
+ if (
41
+ isPDFInstance(value, PDFClasses.PDFString) ||
42
+ isPDFInstance(value, PDFClasses.PDFHexString)
43
+ ) {
44
+ values.push(value as PDFString | PDFHexString);
38
45
  }
39
46
  }
40
47
 
@@ -46,14 +53,17 @@ class PDFAcroButton extends PDFAcroTerminal {
46
53
 
47
54
  if (!opt) return;
48
55
 
49
- if (opt instanceof PDFString || opt instanceof PDFHexString) {
56
+ if (
57
+ isPDFInstance(opt, PDFClasses.PDFString) ||
58
+ isPDFInstance(opt, PDFClasses.PDFHexString)
59
+ ) {
50
60
  if (idx !== 0) throw new IndexOutOfBoundsError(idx, 0, 0);
51
61
  this.setOpt([]);
52
62
  } else {
53
- if (idx < 0 || idx > opt.size()) {
54
- throw new IndexOutOfBoundsError(idx, 0, opt.size());
63
+ if (idx < 0 || idx > (opt as PDFArray).size()) {
64
+ throw new IndexOutOfBoundsError(idx, 0, (opt as PDFArray).size());
55
65
  }
56
- opt.remove(idx);
66
+ (opt as PDFArray).remove(idx);
57
67
  }
58
68
  }
59
69
 
@@ -4,8 +4,13 @@ import PDFDict from '../objects/PDFDict';
4
4
  import PDFName from '../objects/PDFName';
5
5
  import PDFAcroButton from './PDFAcroButton';
6
6
  import { InvalidAcroFieldValueError } from '../errors';
7
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
7
8
 
8
9
  class PDFAcroCheckBox extends PDFAcroButton {
10
+ static className = () => PDFClasses.PDFAcroCheckBox;
11
+ myClass(): PDFClasses {
12
+ return PDFClasses.PDFAcroCheckBox;
13
+ }
9
14
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
10
15
  new PDFAcroCheckBox(dict, ref);
11
16
 
@@ -36,7 +41,7 @@ class PDFAcroCheckBox extends PDFAcroButton {
36
41
 
37
42
  getValue(): PDFName {
38
43
  const v = this.V();
39
- if (v instanceof PDFName) return v;
44
+ if (isPDFInstance(v, PDFClasses.PDFName)) return v as PDFName;
40
45
  return PDFName.of('Off');
41
46
  }
42
47
 
@@ -5,6 +5,7 @@ import PDFArray from '../objects/PDFArray';
5
5
  import PDFName from '../objects/PDFName';
6
6
  import { AcroChoiceFlags } from './flags';
7
7
  import { InvalidAcroFieldValueError, MultiSelectValueError } from '../errors';
8
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
8
9
 
9
10
  class PDFAcroChoice extends PDFAcroTerminal {
10
11
  setValues(values: (PDFString | PDFHexString)[]) {
@@ -62,15 +63,22 @@ class PDFAcroChoice extends PDFAcroTerminal {
62
63
  getValues(): (PDFString | PDFHexString)[] {
63
64
  const v = this.V();
64
65
 
65
- if (v instanceof PDFString || v instanceof PDFHexString) return [v];
66
+ if (
67
+ isPDFInstance(v, PDFClasses.PDFString) ||
68
+ isPDFInstance(v, PDFClasses.PDFHexString)
69
+ )
70
+ return [v as PDFString | PDFHexString];
66
71
 
67
- if (v instanceof PDFArray) {
72
+ if (isPDFInstance(v, PDFClasses.PDFArray)) {
68
73
  const values: (PDFString | PDFHexString)[] = [];
69
74
 
70
- for (let idx = 0, len = v.size(); idx < len; idx++) {
71
- const value = v.lookup(idx);
72
- if (value instanceof PDFString || value instanceof PDFHexString) {
73
- values.push(value);
75
+ for (let idx = 0, len = (v as PDFArray).size(); idx < len; idx++) {
76
+ const value = (v as PDFArray).lookup(idx);
77
+ if (
78
+ isPDFInstance(value, PDFClasses.PDFString) ||
79
+ isPDFInstance(value, PDFClasses.PDFHexString)
80
+ ) {
81
+ values.push(value as PDFString | PDFHexString);
74
82
  }
75
83
  }
76
84
 
@@ -110,31 +118,49 @@ class PDFAcroChoice extends PDFAcroTerminal {
110
118
  const Opt = this.Opt();
111
119
 
112
120
  // Not supposed to happen - Opt _should_ always be `PDFArray | undefined`
113
- if (Opt instanceof PDFString || Opt instanceof PDFHexString) {
114
- return [{ value: Opt, display: Opt }];
121
+ if (
122
+ isPDFInstance(Opt, PDFClasses.PDFString) ||
123
+ isPDFInstance(Opt, PDFClasses.PDFHexString)
124
+ ) {
125
+ return [
126
+ {
127
+ value: Opt as PDFString | PDFHexString,
128
+ display: Opt as PDFString | PDFHexString,
129
+ },
130
+ ];
115
131
  }
116
132
 
117
- if (Opt instanceof PDFArray) {
133
+ if (isPDFInstance(Opt, PDFClasses.PDFArray)) {
118
134
  const res: {
119
135
  value: PDFString | PDFHexString;
120
136
  display: PDFString | PDFHexString;
121
137
  }[] = [];
122
138
 
123
- for (let idx = 0, len = Opt.size(); idx < len; idx++) {
124
- const item = Opt.lookup(idx);
139
+ for (let idx = 0, len = (Opt as PDFArray).size(); idx < len; idx++) {
140
+ const item = (Opt as PDFArray).lookup(idx);
125
141
 
126
142
  // If `item` is a string, use that as both the export and text value
127
- if (item instanceof PDFString || item instanceof PDFHexString) {
128
- res.push({ value: item, display: item });
143
+ if (
144
+ isPDFInstance(item, PDFClasses.PDFString) ||
145
+ isPDFInstance(item, PDFClasses.PDFHexString)
146
+ ) {
147
+ res.push({
148
+ value: item as PDFString | PDFHexString,
149
+ display: item as PDFString | PDFHexString,
150
+ });
129
151
  }
130
152
 
131
153
  // If `item` is an array of one, treat it the same as just a string,
132
154
  // if it's an array of two then `item[0]` is the export value and
133
155
  // `item[1]` is the text value
134
- if (item instanceof PDFArray) {
135
- if (item.size() > 0) {
136
- const first = item.lookup(0, PDFString, PDFHexString);
137
- const second = item.lookupMaybe(1, PDFString, PDFHexString);
156
+ if (isPDFInstance(item, PDFClasses.PDFArray)) {
157
+ if ((item as PDFArray).size() > 0) {
158
+ const first = (item as PDFArray).lookup(0, PDFString, PDFHexString);
159
+ const second = (item as PDFArray).lookupMaybe(
160
+ 1,
161
+ PDFString,
162
+ PDFHexString,
163
+ );
138
164
  res.push({ value: first, display: second || first });
139
165
  }
140
166
  }
@@ -3,8 +3,13 @@ import PDFAcroChoice from './PDFAcroChoice';
3
3
  import PDFContext from '../PDFContext';
4
4
  import PDFRef from '../objects/PDFRef';
5
5
  import { AcroChoiceFlags } from './flags';
6
+ import { PDFClasses } from '../../api/objects';
6
7
 
7
8
  class PDFAcroComboBox extends PDFAcroChoice {
9
+ static className = () => PDFClasses.PDFAcroComboBox;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFAcroComboBox;
12
+ }
8
13
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
9
14
  new PDFAcroComboBox(dict, ref);
10
15
 
@@ -8,6 +8,7 @@ import PDFArray from '../objects/PDFArray';
8
8
  import PDFRef from '../objects/PDFRef';
9
9
  import { findLastMatch } from '../../utils';
10
10
  import { MissingDAEntryError, MissingTfOperatorError } from '../errors';
11
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
11
12
 
12
13
  // Examples:
13
14
  // `/Helv 12 Tf` -> ['Helv', '12']
@@ -16,6 +17,10 @@ import { MissingDAEntryError, MissingTfOperatorError } from '../errors';
16
17
  const tfRegex =
17
18
  /\/([^\0\t\n\f\r ]+)[\0\t\n\f\r ]*(\d*\.\d+|\d+)?[\0\t\n\f\r ]+Tf/;
18
19
  class PDFAcroField {
20
+ static className = () => PDFClasses.PDFAcroField;
21
+ myClass(): PDFClasses {
22
+ return PDFClasses.PDFAcroField;
23
+ }
19
24
  readonly dict: PDFDict;
20
25
  readonly ref: PDFRef;
21
26
 
@@ -48,7 +53,11 @@ class PDFAcroField {
48
53
 
49
54
  DA(): PDFString | PDFHexString | undefined {
50
55
  const da = this.dict.lookup(PDFName.of('DA'));
51
- if (da instanceof PDFString || da instanceof PDFHexString) return da;
56
+ if (
57
+ isPDFInstance(da, PDFClasses.PDFString) ||
58
+ isPDFInstance(da, PDFClasses.PDFHexString)
59
+ )
60
+ return da as PDFString | PDFHexString;
52
61
  return undefined;
53
62
  }
54
63
 
@@ -62,9 +71,9 @@ class PDFAcroField {
62
71
  // return new PDFAcroField(parent);
63
72
 
64
73
  const parentRef = this.dict.get(PDFName.of('Parent'));
65
- if (parentRef instanceof PDFRef) {
74
+ if (isPDFInstance(parentRef, PDFClasses.PDFRef)) {
66
75
  const parent = this.dict.lookup(PDFName.of('Parent'), PDFDict);
67
- return new PDFAcroField(parent, parentRef);
76
+ return new PDFAcroField(parent, parentRef as PDFRef);
68
77
  }
69
78
 
70
79
  return undefined;
@@ -97,8 +106,8 @@ class PDFAcroField {
97
106
  getDefaultAppearance(): string | undefined {
98
107
  const DA = this.DA();
99
108
 
100
- if (DA instanceof PDFHexString) {
101
- return DA.decodeText();
109
+ if (isPDFInstance(DA, PDFClasses.PDFHexString)) {
110
+ return (DA as PDFHexString).decodeText();
102
111
  }
103
112
 
104
113
  return DA?.asString();
@@ -4,10 +4,14 @@ import PDFArray from '../objects/PDFArray';
4
4
  import PDFName from '../objects/PDFName';
5
5
  import PDFRef from '../objects/PDFRef';
6
6
  import PDFAcroField from './PDFAcroField';
7
- import PDFAcroNonTerminal from './PDFAcroNonTerminal';
8
7
  import { createPDFAcroField, createPDFAcroFields } from './utils';
8
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
9
9
 
10
10
  class PDFAcroForm {
11
+ static className = () => PDFClasses.PDFAcroForm;
12
+ myClass(): PDFClasses {
13
+ return PDFClasses.PDFAcroForm;
14
+ }
11
15
  readonly dict: PDFDict;
12
16
 
13
17
  static fromDict = (dict: PDFDict) => new PDFAcroForm(dict);
@@ -23,7 +27,7 @@ class PDFAcroForm {
23
27
 
24
28
  Fields(): PDFArray | undefined {
25
29
  const fields = this.dict.lookup(PDFName.of('Fields'));
26
- if (fields instanceof PDFArray) return fields;
30
+ if (isPDFInstance(fields, PDFClasses.PDFArray)) return fields as PDFArray;
27
31
  return undefined;
28
32
  }
29
33
 
@@ -49,7 +53,7 @@ class PDFAcroForm {
49
53
  const field = fields[idx];
50
54
  allFields.push(field);
51
55
  const [fieldModel] = field;
52
- if (fieldModel instanceof PDFAcroNonTerminal) {
56
+ if (isPDFInstance(fieldModel, PDFClasses.PDFAcroNonTerminal)) {
53
57
  pushFields(createPDFAcroFields(fieldModel.Kids()));
54
58
  }
55
59
  }
@@ -2,8 +2,13 @@ import PDFDict from '../objects/PDFDict';
2
2
  import PDFAcroChoice from './PDFAcroChoice';
3
3
  import PDFContext from '../PDFContext';
4
4
  import PDFRef from '../objects/PDFRef';
5
+ import { PDFClasses } from '../../api/objects';
5
6
 
6
7
  class PDFAcroListBox extends PDFAcroChoice {
8
+ static className = () => PDFClasses.PDFAcroListBox;
9
+ myClass(): PDFClasses {
10
+ return PDFClasses.PDFAcroListBox;
11
+ }
7
12
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
8
13
  new PDFAcroListBox(dict, ref);
9
14
 
@@ -3,8 +3,13 @@ import PDFRef from '../objects/PDFRef';
3
3
  import PDFName from '../objects/PDFName';
4
4
  import PDFContext from '../PDFContext';
5
5
  import PDFAcroField from './PDFAcroField';
6
+ import { PDFClasses } from '../../api/objects';
6
7
 
7
8
  class PDFAcroNonTerminal extends PDFAcroField {
9
+ static className = () => PDFClasses.PDFAcroNonTerminal;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFAcroNonTerminal;
12
+ }
8
13
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
9
14
  new PDFAcroNonTerminal(dict, ref);
10
15
 
@@ -3,8 +3,13 @@ import PDFAcroButton from './PDFAcroButton';
3
3
  import PDFContext from '../PDFContext';
4
4
  import PDFRef from '../objects/PDFRef';
5
5
  import { AcroButtonFlags } from './flags';
6
+ import { PDFClasses } from '../../api/objects';
6
7
 
7
8
  class PDFAcroPushButton extends PDFAcroButton {
9
+ static className = () => PDFClasses.PDFAcroPushButton;
10
+ myClass(): PDFClasses {
11
+ return PDFClasses.PDFAcroPushButton;
12
+ }
8
13
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
9
14
  new PDFAcroPushButton(dict, ref);
10
15
 
@@ -5,8 +5,13 @@ import PDFAcroButton from './PDFAcroButton';
5
5
  import PDFContext from '../PDFContext';
6
6
  import { AcroButtonFlags } from './flags';
7
7
  import { InvalidAcroFieldValueError } from '../errors';
8
+ import { isPDFInstance, PDFClasses } from '../../api/objects';
8
9
 
9
10
  class PDFAcroRadioButton extends PDFAcroButton {
11
+ static className = () => PDFClasses.PDFAcroRadioButton;
12
+ myClass(): PDFClasses {
13
+ return PDFClasses.PDFAcroRadioButton;
14
+ }
10
15
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
11
16
  new PDFAcroRadioButton(dict, ref);
12
17
 
@@ -38,7 +43,7 @@ class PDFAcroRadioButton extends PDFAcroButton {
38
43
 
39
44
  getValue(): PDFName {
40
45
  const v = this.V();
41
- if (v instanceof PDFName) return v;
46
+ if (isPDFInstance(v, PDFClasses.PDFName)) return v as PDFName;
42
47
  return PDFName.of('Off');
43
48
  }
44
49
 
@@ -1,8 +1,13 @@
1
+ import { PDFClasses } from '../../api/objects';
1
2
  import PDFDict from '../objects/PDFDict';
2
3
  import PDFRef from '../objects/PDFRef';
3
4
  import PDFAcroTerminal from './PDFAcroTerminal';
4
5
 
5
6
  class PDFAcroSignature extends PDFAcroTerminal {
7
+ static className = () => PDFClasses.PDFAcroSignature;
8
+ myClass(): PDFClasses {
9
+ return PDFClasses.PDFAcroSignature;
10
+ }
6
11
  static fromDict = (dict: PDFDict, ref: PDFRef) =>
7
12
  new PDFAcroSignature(dict, ref);
8
13
  }