@pdfme/pdf-lib 5.4.0-dev.59 → 5.4.0-dev.65

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 (487) hide show
  1. package/dist/cjs/src/api/PDFDocument.js +3 -11
  2. package/dist/cjs/src/api/PDFDocument.js.map +1 -1
  3. package/dist/cjs/src/api/PDFEmbeddedFile.js.map +1 -1
  4. package/dist/cjs/src/api/PDFEmbeddedPage.js.map +1 -1
  5. package/dist/cjs/src/api/PDFFont.js.map +1 -1
  6. package/dist/cjs/src/api/PDFJavaScript.js.map +1 -1
  7. package/dist/cjs/src/api/PDFPage.js +16 -42
  8. package/dist/cjs/src/api/PDFPage.js.map +1 -1
  9. package/dist/cjs/src/api/colors.js.map +1 -1
  10. package/dist/cjs/src/api/errors.js.map +1 -1
  11. package/dist/cjs/src/api/form/PDFButton.js +1 -3
  12. package/dist/cjs/src/api/form/PDFButton.js.map +1 -1
  13. package/dist/cjs/src/api/form/PDFCheckBox.js +1 -3
  14. package/dist/cjs/src/api/form/PDFCheckBox.js.map +1 -1
  15. package/dist/cjs/src/api/form/PDFDropdown.js +1 -3
  16. package/dist/cjs/src/api/form/PDFDropdown.js.map +1 -1
  17. package/dist/cjs/src/api/form/PDFField.js +4 -10
  18. package/dist/cjs/src/api/form/PDFField.js.map +1 -1
  19. package/dist/cjs/src/api/form/PDFForm.js +1 -3
  20. package/dist/cjs/src/api/form/PDFForm.js.map +1 -1
  21. package/dist/cjs/src/api/form/PDFOptionList.js.map +1 -1
  22. package/dist/cjs/src/api/form/PDFRadioGroup.js +1 -3
  23. package/dist/cjs/src/api/form/PDFRadioGroup.js.map +1 -1
  24. package/dist/cjs/src/api/form/PDFSignature.js +1 -3
  25. package/dist/cjs/src/api/form/PDFSignature.js.map +1 -1
  26. package/dist/cjs/src/api/form/PDFTextField.js.map +1 -1
  27. package/dist/cjs/src/api/form/appearances.js.map +1 -1
  28. package/dist/cjs/src/api/operations.js.map +1 -1
  29. package/dist/cjs/src/api/operators.js +1 -5
  30. package/dist/cjs/src/api/operators.js.map +1 -1
  31. package/dist/cjs/src/api/rotations.js.map +1 -1
  32. package/dist/cjs/src/api/svg.js +25 -23
  33. package/dist/cjs/src/api/svg.js.map +1 -1
  34. package/dist/cjs/src/api/svgPath.js +1 -2
  35. package/dist/cjs/src/api/svgPath.js.map +1 -1
  36. package/dist/cjs/src/api/text/layout.js.map +1 -1
  37. package/dist/cjs/src/core/PDFContext.js.map +1 -1
  38. package/dist/cjs/src/core/PDFObjectCopier.js.map +1 -1
  39. package/dist/cjs/src/core/acroform/PDFAcroButton.js +1 -2
  40. package/dist/cjs/src/core/acroform/PDFAcroButton.js.map +1 -1
  41. package/dist/cjs/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  42. package/dist/cjs/src/core/acroform/PDFAcroChoice.js.map +1 -1
  43. package/dist/cjs/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  44. package/dist/cjs/src/core/acroform/PDFAcroField.js.map +1 -1
  45. package/dist/cjs/src/core/acroform/PDFAcroForm.js.map +1 -1
  46. package/dist/cjs/src/core/acroform/PDFAcroListBox.js.map +1 -1
  47. package/dist/cjs/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  48. package/dist/cjs/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  49. package/dist/cjs/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  50. package/dist/cjs/src/core/acroform/PDFAcroSignature.js.map +1 -1
  51. package/dist/cjs/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  52. package/dist/cjs/src/core/acroform/utils.js.map +1 -1
  53. package/dist/cjs/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  54. package/dist/cjs/src/core/crypto.js +122 -179
  55. package/dist/cjs/src/core/crypto.js.map +1 -1
  56. package/dist/cjs/src/core/document/PDFCrossRefSection.js.map +1 -1
  57. package/dist/cjs/src/core/document/PDFHeader.js.map +1 -1
  58. package/dist/cjs/src/core/document/PDFTrailer.js.map +1 -1
  59. package/dist/cjs/src/core/embedders/CMap.js.map +1 -1
  60. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js +1 -2
  61. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  62. package/dist/cjs/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  63. package/dist/cjs/src/core/embedders/FileEmbedder.js +3 -7
  64. package/dist/cjs/src/core/embedders/FileEmbedder.js.map +1 -1
  65. package/dist/cjs/src/core/embedders/JpegEmbedder.js +1 -3
  66. package/dist/cjs/src/core/embedders/JpegEmbedder.js.map +1 -1
  67. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js +11 -7
  68. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  69. package/dist/cjs/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  70. package/dist/cjs/src/core/errors.js +1 -3
  71. package/dist/cjs/src/core/errors.js.map +1 -1
  72. package/dist/cjs/src/core/index.js.map +1 -1
  73. package/dist/cjs/src/core/interactive/ViewerPreferences.js.map +1 -1
  74. package/dist/cjs/src/core/objects/PDFArray.js.map +1 -1
  75. package/dist/cjs/src/core/objects/PDFDict.js.map +1 -1
  76. package/dist/cjs/src/core/objects/PDFName.js +1 -3
  77. package/dist/cjs/src/core/objects/PDFName.js.map +1 -1
  78. package/dist/cjs/src/core/objects/PDFRawStream.js.map +1 -1
  79. package/dist/cjs/src/core/objects/PDFRef.js.map +1 -1
  80. package/dist/cjs/src/core/objects/PDFStream.js.map +1 -1
  81. package/dist/cjs/src/core/operators/PDFOperator.js.map +1 -1
  82. package/dist/cjs/src/core/parser/PDFObjectParser.js +1 -2
  83. package/dist/cjs/src/core/parser/PDFObjectParser.js.map +1 -1
  84. package/dist/cjs/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  85. package/dist/cjs/src/core/parser/PDFParser.js +1 -2
  86. package/dist/cjs/src/core/parser/PDFParser.js.map +1 -1
  87. package/dist/cjs/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  88. package/dist/cjs/src/core/streams/Ascii85Stream.js.map +1 -1
  89. package/dist/cjs/src/core/streams/DecryptStream.js.map +1 -1
  90. package/dist/cjs/src/core/streams/FlateStream.js.map +1 -1
  91. package/dist/cjs/src/core/streams/LZWStream.js.map +1 -1
  92. package/dist/cjs/src/core/streams/Stream.js.map +1 -1
  93. package/dist/cjs/src/core/streams/decode.js +1 -1
  94. package/dist/cjs/src/core/streams/decode.js.map +1 -1
  95. package/dist/cjs/src/core/structures/PDFCatalog.js.map +1 -1
  96. package/dist/cjs/src/core/structures/PDFCrossRefStream.js.map +1 -1
  97. package/dist/cjs/src/core/structures/PDFFlateStream.js.map +1 -1
  98. package/dist/cjs/src/core/structures/PDFObjectStream.js +1 -4
  99. package/dist/cjs/src/core/structures/PDFObjectStream.js.map +1 -1
  100. package/dist/cjs/src/core/structures/PDFPageLeaf.js +1 -6
  101. package/dist/cjs/src/core/structures/PDFPageLeaf.js.map +1 -1
  102. package/dist/cjs/src/core/structures/PDFPageTree.js +1 -1
  103. package/dist/cjs/src/core/structures/PDFPageTree.js.map +1 -1
  104. package/dist/cjs/src/core/syntax/Keywords.js +4 -30
  105. package/dist/cjs/src/core/syntax/Keywords.js.map +1 -1
  106. package/dist/cjs/src/core/writers/PDFStreamWriter.js.map +1 -1
  107. package/dist/cjs/src/core/writers/PDFWriter.js.map +1 -1
  108. package/dist/cjs/src/types/matrix.js.map +1 -1
  109. package/dist/cjs/src/utils/arrays.js +2 -5
  110. package/dist/cjs/src/utils/arrays.js.map +1 -1
  111. package/dist/cjs/src/utils/base64.js.map +1 -1
  112. package/dist/cjs/src/utils/elements/Arc.js +3 -6
  113. package/dist/cjs/src/utils/elements/Arc.js.map +1 -1
  114. package/dist/cjs/src/utils/elements/Circle.js.map +1 -1
  115. package/dist/cjs/src/utils/elements/Ellipse.js +1 -1
  116. package/dist/cjs/src/utils/elements/Ellipse.js.map +1 -1
  117. package/dist/cjs/src/utils/elements/Line.js +1 -3
  118. package/dist/cjs/src/utils/elements/Line.js.map +1 -1
  119. package/dist/cjs/src/utils/elements/Segment.js +1 -2
  120. package/dist/cjs/src/utils/elements/Segment.js.map +1 -1
  121. package/dist/cjs/src/utils/intersections.js.map +1 -1
  122. package/dist/cjs/src/utils/maths.js.map +1 -1
  123. package/dist/cjs/src/utils/strings.js.map +1 -1
  124. package/dist/cjs/src/utils/unicode.js.map +1 -1
  125. package/dist/cjs/src/utils/validators.js.map +1 -1
  126. package/dist/esm/src/api/PDFDocument.js +3 -11
  127. package/dist/esm/src/api/PDFDocument.js.map +1 -1
  128. package/dist/esm/src/api/PDFEmbeddedFile.js.map +1 -1
  129. package/dist/esm/src/api/PDFEmbeddedPage.js.map +1 -1
  130. package/dist/esm/src/api/PDFFont.js +1 -1
  131. package/dist/esm/src/api/PDFFont.js.map +1 -1
  132. package/dist/esm/src/api/PDFJavaScript.js.map +1 -1
  133. package/dist/esm/src/api/PDFPage.js +16 -42
  134. package/dist/esm/src/api/PDFPage.js.map +1 -1
  135. package/dist/esm/src/api/colors.js.map +1 -1
  136. package/dist/esm/src/api/errors.js.map +1 -1
  137. package/dist/esm/src/api/form/PDFButton.js +3 -5
  138. package/dist/esm/src/api/form/PDFButton.js.map +1 -1
  139. package/dist/esm/src/api/form/PDFCheckBox.js +3 -5
  140. package/dist/esm/src/api/form/PDFCheckBox.js.map +1 -1
  141. package/dist/esm/src/api/form/PDFDropdown.js +2 -4
  142. package/dist/esm/src/api/form/PDFDropdown.js.map +1 -1
  143. package/dist/esm/src/api/form/PDFField.js +4 -10
  144. package/dist/esm/src/api/form/PDFField.js.map +1 -1
  145. package/dist/esm/src/api/form/PDFForm.js +2 -4
  146. package/dist/esm/src/api/form/PDFForm.js.map +1 -1
  147. package/dist/esm/src/api/form/PDFOptionList.js +2 -2
  148. package/dist/esm/src/api/form/PDFOptionList.js.map +1 -1
  149. package/dist/esm/src/api/form/PDFRadioGroup.js +2 -4
  150. package/dist/esm/src/api/form/PDFRadioGroup.js.map +1 -1
  151. package/dist/esm/src/api/form/PDFSignature.js +1 -3
  152. package/dist/esm/src/api/form/PDFSignature.js.map +1 -1
  153. package/dist/esm/src/api/form/PDFTextField.js +2 -2
  154. package/dist/esm/src/api/form/PDFTextField.js.map +1 -1
  155. package/dist/esm/src/api/form/appearances.js +1 -1
  156. package/dist/esm/src/api/form/appearances.js.map +1 -1
  157. package/dist/esm/src/api/operations.js.map +1 -1
  158. package/dist/esm/src/api/operators.js +2 -6
  159. package/dist/esm/src/api/operators.js.map +1 -1
  160. package/dist/esm/src/api/rotations.js.map +1 -1
  161. package/dist/esm/src/api/svg.js +26 -24
  162. package/dist/esm/src/api/svg.js.map +1 -1
  163. package/dist/esm/src/api/svgPath.js +2 -3
  164. package/dist/esm/src/api/svgPath.js.map +1 -1
  165. package/dist/esm/src/api/text/layout.js +1 -1
  166. package/dist/esm/src/api/text/layout.js.map +1 -1
  167. package/dist/esm/src/core/PDFContext.js.map +1 -1
  168. package/dist/esm/src/core/PDFObjectCopier.js.map +1 -1
  169. package/dist/esm/src/core/acroform/PDFAcroButton.js +1 -2
  170. package/dist/esm/src/core/acroform/PDFAcroButton.js.map +1 -1
  171. package/dist/esm/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  172. package/dist/esm/src/core/acroform/PDFAcroChoice.js.map +1 -1
  173. package/dist/esm/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  174. package/dist/esm/src/core/acroform/PDFAcroField.js.map +1 -1
  175. package/dist/esm/src/core/acroform/PDFAcroForm.js.map +1 -1
  176. package/dist/esm/src/core/acroform/PDFAcroListBox.js.map +1 -1
  177. package/dist/esm/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  178. package/dist/esm/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  179. package/dist/esm/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  180. package/dist/esm/src/core/acroform/PDFAcroSignature.js.map +1 -1
  181. package/dist/esm/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  182. package/dist/esm/src/core/acroform/utils.js.map +1 -1
  183. package/dist/esm/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  184. package/dist/esm/src/core/crypto.js +122 -179
  185. package/dist/esm/src/core/crypto.js.map +1 -1
  186. package/dist/esm/src/core/document/PDFCrossRefSection.js.map +1 -1
  187. package/dist/esm/src/core/document/PDFHeader.js.map +1 -1
  188. package/dist/esm/src/core/document/PDFTrailer.js.map +1 -1
  189. package/dist/esm/src/core/embedders/CMap.js +1 -1
  190. package/dist/esm/src/core/embedders/CMap.js.map +1 -1
  191. package/dist/esm/src/core/embedders/CustomFontEmbedder.js +2 -3
  192. package/dist/esm/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  193. package/dist/esm/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  194. package/dist/esm/src/core/embedders/FileEmbedder.js +3 -7
  195. package/dist/esm/src/core/embedders/FileEmbedder.js.map +1 -1
  196. package/dist/esm/src/core/embedders/JpegEmbedder.js +1 -3
  197. package/dist/esm/src/core/embedders/JpegEmbedder.js.map +1 -1
  198. package/dist/esm/src/core/embedders/PDFPageEmbedder.js +12 -8
  199. package/dist/esm/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  200. package/dist/esm/src/core/embedders/StandardFontEmbedder.js +1 -1
  201. package/dist/esm/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  202. package/dist/esm/src/core/errors.js +1 -3
  203. package/dist/esm/src/core/errors.js.map +1 -1
  204. package/dist/esm/src/core/index.js +2 -2
  205. package/dist/esm/src/core/index.js.map +1 -1
  206. package/dist/esm/src/core/interactive/ViewerPreferences.js +1 -1
  207. package/dist/esm/src/core/interactive/ViewerPreferences.js.map +1 -1
  208. package/dist/esm/src/core/objects/PDFArray.js.map +1 -1
  209. package/dist/esm/src/core/objects/PDFDict.js.map +1 -1
  210. package/dist/esm/src/core/objects/PDFName.js +2 -4
  211. package/dist/esm/src/core/objects/PDFName.js.map +1 -1
  212. package/dist/esm/src/core/objects/PDFRawStream.js.map +1 -1
  213. package/dist/esm/src/core/objects/PDFRef.js.map +1 -1
  214. package/dist/esm/src/core/objects/PDFStream.js.map +1 -1
  215. package/dist/esm/src/core/operators/PDFOperator.js.map +1 -1
  216. package/dist/esm/src/core/parser/PDFObjectParser.js +1 -2
  217. package/dist/esm/src/core/parser/PDFObjectParser.js.map +1 -1
  218. package/dist/esm/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  219. package/dist/esm/src/core/parser/PDFParser.js +1 -2
  220. package/dist/esm/src/core/parser/PDFParser.js.map +1 -1
  221. package/dist/esm/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  222. package/dist/esm/src/core/streams/Ascii85Stream.js.map +1 -1
  223. package/dist/esm/src/core/streams/DecryptStream.js.map +1 -1
  224. package/dist/esm/src/core/streams/FlateStream.js.map +1 -1
  225. package/dist/esm/src/core/streams/LZWStream.js.map +1 -1
  226. package/dist/esm/src/core/streams/Stream.js.map +1 -1
  227. package/dist/esm/src/core/streams/decode.js +1 -1
  228. package/dist/esm/src/core/streams/decode.js.map +1 -1
  229. package/dist/esm/src/core/structures/PDFCatalog.js.map +1 -1
  230. package/dist/esm/src/core/structures/PDFCrossRefStream.js.map +1 -1
  231. package/dist/esm/src/core/structures/PDFFlateStream.js.map +1 -1
  232. package/dist/esm/src/core/structures/PDFObjectStream.js +1 -4
  233. package/dist/esm/src/core/structures/PDFObjectStream.js.map +1 -1
  234. package/dist/esm/src/core/structures/PDFPageLeaf.js +1 -6
  235. package/dist/esm/src/core/structures/PDFPageLeaf.js.map +1 -1
  236. package/dist/esm/src/core/structures/PDFPageTree.js +1 -1
  237. package/dist/esm/src/core/structures/PDFPageTree.js.map +1 -1
  238. package/dist/esm/src/core/syntax/Keywords.js +4 -30
  239. package/dist/esm/src/core/syntax/Keywords.js.map +1 -1
  240. package/dist/esm/src/core/writers/PDFStreamWriter.js.map +1 -1
  241. package/dist/esm/src/core/writers/PDFWriter.js.map +1 -1
  242. package/dist/esm/src/types/matrix.js.map +1 -1
  243. package/dist/esm/src/utils/arrays.js +2 -5
  244. package/dist/esm/src/utils/arrays.js.map +1 -1
  245. package/dist/esm/src/utils/base64.js.map +1 -1
  246. package/dist/esm/src/utils/elements/Arc.js +3 -6
  247. package/dist/esm/src/utils/elements/Arc.js.map +1 -1
  248. package/dist/esm/src/utils/elements/Circle.js +1 -1
  249. package/dist/esm/src/utils/elements/Circle.js.map +1 -1
  250. package/dist/esm/src/utils/elements/Ellipse.js +1 -1
  251. package/dist/esm/src/utils/elements/Ellipse.js.map +1 -1
  252. package/dist/esm/src/utils/elements/Line.js +1 -3
  253. package/dist/esm/src/utils/elements/Line.js.map +1 -1
  254. package/dist/esm/src/utils/elements/Segment.js +2 -3
  255. package/dist/esm/src/utils/elements/Segment.js.map +1 -1
  256. package/dist/esm/src/utils/intersections.js.map +1 -1
  257. package/dist/esm/src/utils/maths.js.map +1 -1
  258. package/dist/esm/src/utils/strings.js.map +1 -1
  259. package/dist/esm/src/utils/unicode.js.map +1 -1
  260. package/dist/esm/src/utils/validators.js.map +1 -1
  261. package/dist/node/src/api/PDFDocument.js +3 -11
  262. package/dist/node/src/api/PDFDocument.js.map +1 -1
  263. package/dist/node/src/api/PDFEmbeddedFile.js.map +1 -1
  264. package/dist/node/src/api/PDFEmbeddedPage.js.map +1 -1
  265. package/dist/node/src/api/PDFFont.js.map +1 -1
  266. package/dist/node/src/api/PDFJavaScript.js.map +1 -1
  267. package/dist/node/src/api/PDFPage.js +16 -42
  268. package/dist/node/src/api/PDFPage.js.map +1 -1
  269. package/dist/node/src/api/colors.js.map +1 -1
  270. package/dist/node/src/api/errors.js.map +1 -1
  271. package/dist/node/src/api/form/PDFButton.js +1 -3
  272. package/dist/node/src/api/form/PDFButton.js.map +1 -1
  273. package/dist/node/src/api/form/PDFCheckBox.js +1 -3
  274. package/dist/node/src/api/form/PDFCheckBox.js.map +1 -1
  275. package/dist/node/src/api/form/PDFDropdown.js +1 -3
  276. package/dist/node/src/api/form/PDFDropdown.js.map +1 -1
  277. package/dist/node/src/api/form/PDFField.js +4 -10
  278. package/dist/node/src/api/form/PDFField.js.map +1 -1
  279. package/dist/node/src/api/form/PDFForm.js +1 -3
  280. package/dist/node/src/api/form/PDFForm.js.map +1 -1
  281. package/dist/node/src/api/form/PDFOptionList.js.map +1 -1
  282. package/dist/node/src/api/form/PDFRadioGroup.js +1 -3
  283. package/dist/node/src/api/form/PDFRadioGroup.js.map +1 -1
  284. package/dist/node/src/api/form/PDFSignature.js +1 -3
  285. package/dist/node/src/api/form/PDFSignature.js.map +1 -1
  286. package/dist/node/src/api/form/PDFTextField.js.map +1 -1
  287. package/dist/node/src/api/form/appearances.js.map +1 -1
  288. package/dist/node/src/api/operations.js.map +1 -1
  289. package/dist/node/src/api/operators.js +1 -5
  290. package/dist/node/src/api/operators.js.map +1 -1
  291. package/dist/node/src/api/rotations.js.map +1 -1
  292. package/dist/node/src/api/svg.js +25 -23
  293. package/dist/node/src/api/svg.js.map +1 -1
  294. package/dist/node/src/api/svgPath.js +1 -2
  295. package/dist/node/src/api/svgPath.js.map +1 -1
  296. package/dist/node/src/api/text/layout.js.map +1 -1
  297. package/dist/node/src/core/PDFContext.js.map +1 -1
  298. package/dist/node/src/core/PDFObjectCopier.js.map +1 -1
  299. package/dist/node/src/core/acroform/PDFAcroButton.js +1 -2
  300. package/dist/node/src/core/acroform/PDFAcroButton.js.map +1 -1
  301. package/dist/node/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
  302. package/dist/node/src/core/acroform/PDFAcroChoice.js.map +1 -1
  303. package/dist/node/src/core/acroform/PDFAcroComboBox.js.map +1 -1
  304. package/dist/node/src/core/acroform/PDFAcroField.js.map +1 -1
  305. package/dist/node/src/core/acroform/PDFAcroForm.js.map +1 -1
  306. package/dist/node/src/core/acroform/PDFAcroListBox.js.map +1 -1
  307. package/dist/node/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
  308. package/dist/node/src/core/acroform/PDFAcroPushButton.js.map +1 -1
  309. package/dist/node/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
  310. package/dist/node/src/core/acroform/PDFAcroSignature.js.map +1 -1
  311. package/dist/node/src/core/acroform/PDFAcroTerminal.js.map +1 -1
  312. package/dist/node/src/core/acroform/utils.js.map +1 -1
  313. package/dist/node/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
  314. package/dist/node/src/core/crypto.js +122 -179
  315. package/dist/node/src/core/crypto.js.map +1 -1
  316. package/dist/node/src/core/document/PDFCrossRefSection.js.map +1 -1
  317. package/dist/node/src/core/document/PDFHeader.js.map +1 -1
  318. package/dist/node/src/core/document/PDFTrailer.js.map +1 -1
  319. package/dist/node/src/core/embedders/CMap.js.map +1 -1
  320. package/dist/node/src/core/embedders/CustomFontEmbedder.js +1 -2
  321. package/dist/node/src/core/embedders/CustomFontEmbedder.js.map +1 -1
  322. package/dist/node/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  323. package/dist/node/src/core/embedders/FileEmbedder.js +3 -7
  324. package/dist/node/src/core/embedders/FileEmbedder.js.map +1 -1
  325. package/dist/node/src/core/embedders/JpegEmbedder.js +1 -3
  326. package/dist/node/src/core/embedders/JpegEmbedder.js.map +1 -1
  327. package/dist/node/src/core/embedders/PDFPageEmbedder.js +11 -7
  328. package/dist/node/src/core/embedders/PDFPageEmbedder.js.map +1 -1
  329. package/dist/node/src/core/embedders/StandardFontEmbedder.js.map +1 -1
  330. package/dist/node/src/core/errors.js +1 -3
  331. package/dist/node/src/core/errors.js.map +1 -1
  332. package/dist/node/src/core/index.js.map +1 -1
  333. package/dist/node/src/core/interactive/ViewerPreferences.js.map +1 -1
  334. package/dist/node/src/core/objects/PDFArray.js.map +1 -1
  335. package/dist/node/src/core/objects/PDFDict.js.map +1 -1
  336. package/dist/node/src/core/objects/PDFName.js +1 -3
  337. package/dist/node/src/core/objects/PDFName.js.map +1 -1
  338. package/dist/node/src/core/objects/PDFRawStream.js.map +1 -1
  339. package/dist/node/src/core/objects/PDFRef.js.map +1 -1
  340. package/dist/node/src/core/objects/PDFStream.js.map +1 -1
  341. package/dist/node/src/core/operators/PDFOperator.js.map +1 -1
  342. package/dist/node/src/core/parser/PDFObjectParser.js +1 -2
  343. package/dist/node/src/core/parser/PDFObjectParser.js.map +1 -1
  344. package/dist/node/src/core/parser/PDFObjectStreamParser.js.map +1 -1
  345. package/dist/node/src/core/parser/PDFParser.js +1 -2
  346. package/dist/node/src/core/parser/PDFParser.js.map +1 -1
  347. package/dist/node/src/core/parser/PDFXRefStreamParser.js.map +1 -1
  348. package/dist/node/src/core/streams/Ascii85Stream.js.map +1 -1
  349. package/dist/node/src/core/streams/DecryptStream.js.map +1 -1
  350. package/dist/node/src/core/streams/FlateStream.js.map +1 -1
  351. package/dist/node/src/core/streams/LZWStream.js.map +1 -1
  352. package/dist/node/src/core/streams/Stream.js.map +1 -1
  353. package/dist/node/src/core/streams/decode.js +1 -1
  354. package/dist/node/src/core/streams/decode.js.map +1 -1
  355. package/dist/node/src/core/structures/PDFCatalog.js.map +1 -1
  356. package/dist/node/src/core/structures/PDFCrossRefStream.js.map +1 -1
  357. package/dist/node/src/core/structures/PDFFlateStream.js.map +1 -1
  358. package/dist/node/src/core/structures/PDFObjectStream.js +1 -4
  359. package/dist/node/src/core/structures/PDFObjectStream.js.map +1 -1
  360. package/dist/node/src/core/structures/PDFPageLeaf.js +1 -6
  361. package/dist/node/src/core/structures/PDFPageLeaf.js.map +1 -1
  362. package/dist/node/src/core/structures/PDFPageTree.js +1 -1
  363. package/dist/node/src/core/structures/PDFPageTree.js.map +1 -1
  364. package/dist/node/src/core/syntax/Keywords.js +4 -30
  365. package/dist/node/src/core/syntax/Keywords.js.map +1 -1
  366. package/dist/node/src/core/writers/PDFStreamWriter.js.map +1 -1
  367. package/dist/node/src/core/writers/PDFWriter.js.map +1 -1
  368. package/dist/node/src/types/matrix.js.map +1 -1
  369. package/dist/node/src/utils/arrays.js +2 -5
  370. package/dist/node/src/utils/arrays.js.map +1 -1
  371. package/dist/node/src/utils/base64.js.map +1 -1
  372. package/dist/node/src/utils/elements/Arc.js +3 -6
  373. package/dist/node/src/utils/elements/Arc.js.map +1 -1
  374. package/dist/node/src/utils/elements/Circle.js.map +1 -1
  375. package/dist/node/src/utils/elements/Ellipse.js +1 -1
  376. package/dist/node/src/utils/elements/Ellipse.js.map +1 -1
  377. package/dist/node/src/utils/elements/Line.js +1 -3
  378. package/dist/node/src/utils/elements/Line.js.map +1 -1
  379. package/dist/node/src/utils/elements/Segment.js +1 -2
  380. package/dist/node/src/utils/elements/Segment.js.map +1 -1
  381. package/dist/node/src/utils/intersections.js.map +1 -1
  382. package/dist/node/src/utils/maths.js.map +1 -1
  383. package/dist/node/src/utils/strings.js.map +1 -1
  384. package/dist/node/src/utils/unicode.js.map +1 -1
  385. package/dist/node/src/utils/validators.js.map +1 -1
  386. package/dist/types/src/api/form/PDFField.d.ts +1 -1
  387. package/dist/types/src/core/index.d.ts +2 -2
  388. package/dist/types/src/core/streams/decode.d.ts +1 -1
  389. package/dist/types/src/core/writers/PDFWriter.d.ts +1 -4
  390. package/dist/types/src/types/matrix.d.ts +1 -8
  391. package/package.json +1 -1
  392. package/src/api/PDFDocument.ts +11 -44
  393. package/src/api/PDFEmbeddedFile.ts +1 -4
  394. package/src/api/PDFEmbeddedPage.ts +1 -5
  395. package/src/api/PDFFont.ts +1 -6
  396. package/src/api/PDFJavaScript.ts +2 -9
  397. package/src/api/PDFPage.ts +26 -93
  398. package/src/api/PDFPageOptions.ts +4 -4
  399. package/src/api/colors.ts +1 -6
  400. package/src/api/errors.ts +1 -2
  401. package/src/api/form/PDFButton.ts +9 -34
  402. package/src/api/form/PDFCheckBox.ts +4 -19
  403. package/src/api/form/PDFDropdown.ts +6 -21
  404. package/src/api/form/PDFField.ts +11 -41
  405. package/src/api/form/PDFForm.ts +11 -29
  406. package/src/api/form/PDFOptionList.ts +5 -21
  407. package/src/api/form/PDFRadioGroup.ts +6 -22
  408. package/src/api/form/PDFSignature.ts +4 -13
  409. package/src/api/form/PDFTextField.ts +5 -20
  410. package/src/api/form/appearances.ts +33 -33
  411. package/src/api/operations.ts +23 -25
  412. package/src/api/operators.ts +11 -43
  413. package/src/api/rotations.ts +1 -4
  414. package/src/api/svg.ts +145 -195
  415. package/src/api/svgPath.ts +5 -32
  416. package/src/api/text/layout.ts +3 -18
  417. package/src/core/PDFContext.ts +10 -36
  418. package/src/core/PDFObjectCopier.ts +1 -2
  419. package/src/core/acroform/PDFAcroButton.ts +3 -13
  420. package/src/core/acroform/PDFAcroCheckBox.ts +1 -2
  421. package/src/core/acroform/PDFAcroChoice.ts +2 -9
  422. package/src/core/acroform/PDFAcroComboBox.ts +1 -2
  423. package/src/core/acroform/PDFAcroField.ts +1 -2
  424. package/src/core/acroform/PDFAcroForm.ts +2 -5
  425. package/src/core/acroform/PDFAcroListBox.ts +1 -2
  426. package/src/core/acroform/PDFAcroNonTerminal.ts +1 -2
  427. package/src/core/acroform/PDFAcroPushButton.ts +1 -2
  428. package/src/core/acroform/PDFAcroRadioButton.ts +1 -2
  429. package/src/core/acroform/PDFAcroSignature.ts +1 -2
  430. package/src/core/acroform/PDFAcroTerminal.ts +1 -2
  431. package/src/core/acroform/utils.ts +3 -9
  432. package/src/core/annotation/PDFWidgetAnnotation.ts +1 -2
  433. package/src/core/crypto.ts +143 -287
  434. package/src/core/document/PDFCrossRefSection.ts +3 -15
  435. package/src/core/document/PDFHeader.ts +1 -2
  436. package/src/core/document/PDFTrailer.ts +1 -2
  437. package/src/core/embedders/CMap.ts +1 -6
  438. package/src/core/embedders/CustomFontEmbedder.ts +4 -16
  439. package/src/core/embedders/CustomFontSubsetEmbedder.ts +2 -13
  440. package/src/core/embedders/FileEmbedder.ts +5 -23
  441. package/src/core/embedders/JpegEmbedder.ts +2 -11
  442. package/src/core/embedders/PDFPageEmbedder.ts +12 -14
  443. package/src/core/embedders/StandardFontEmbedder.ts +3 -12
  444. package/src/core/errors.ts +1 -3
  445. package/src/core/index.ts +2 -8
  446. package/src/core/interactive/ViewerPreferences.ts +4 -18
  447. package/src/core/objects/PDFArray.ts +2 -8
  448. package/src/core/objects/PDFDict.ts +3 -11
  449. package/src/core/objects/PDFName.ts +2 -9
  450. package/src/core/objects/PDFRawStream.ts +3 -10
  451. package/src/core/objects/PDFRef.ts +1 -5
  452. package/src/core/objects/PDFStream.ts +2 -8
  453. package/src/core/operators/PDFOperator.ts +2 -9
  454. package/src/core/parser/PDFObjectParser.ts +5 -14
  455. package/src/core/parser/PDFObjectStreamParser.ts +2 -4
  456. package/src/core/parser/PDFParser.ts +5 -21
  457. package/src/core/parser/PDFXRefStreamParser.ts +1 -2
  458. package/src/core/streams/Ascii85Stream.ts +1 -2
  459. package/src/core/streams/DecryptStream.ts +2 -9
  460. package/src/core/streams/FlateStream.ts +4 -14
  461. package/src/core/streams/LZWStream.ts +2 -9
  462. package/src/core/streams/Stream.ts +2 -8
  463. package/src/core/streams/decode.ts +2 -10
  464. package/src/core/structures/PDFCatalog.ts +2 -6
  465. package/src/core/structures/PDFCrossRefStream.ts +2 -10
  466. package/src/core/structures/PDFFlateStream.ts +1 -4
  467. package/src/core/structures/PDFObjectStream.ts +4 -14
  468. package/src/core/structures/PDFPageLeaf.ts +9 -28
  469. package/src/core/structures/PDFPageTree.ts +2 -5
  470. package/src/core/syntax/Keywords.ts +4 -30
  471. package/src/core/writers/PDFStreamWriter.ts +2 -11
  472. package/src/core/writers/PDFWriter.ts +2 -6
  473. package/src/types/fontkit.ts +3 -16
  474. package/src/types/index.ts +6 -14
  475. package/src/types/matrix.ts +1 -8
  476. package/src/utils/arrays.ts +3 -8
  477. package/src/utils/base64.ts +2 -4
  478. package/src/utils/elements/Arc.ts +5 -15
  479. package/src/utils/elements/Circle.ts +1 -9
  480. package/src/utils/elements/Ellipse.ts +6 -24
  481. package/src/utils/elements/Line.ts +1 -3
  482. package/src/utils/elements/Segment.ts +3 -14
  483. package/src/utils/intersections.ts +20 -65
  484. package/src/utils/maths.ts +10 -22
  485. package/src/utils/strings.ts +6 -16
  486. package/src/utils/unicode.ts +9 -22
  487. package/src/utils/validators.ts +9 -45
@@ -43,18 +43,10 @@ class PDFCrossRefSection {
43
43
  toString(): string {
44
44
  let section = `xref\n`;
45
45
 
46
- for (
47
- let rangeIdx = 0, rangeLen = this.subsections.length;
48
- rangeIdx < rangeLen;
49
- rangeIdx++
50
- ) {
46
+ for (let rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) {
51
47
  const range = this.subsections[rangeIdx];
52
48
  section += `${range[0].ref.objectNumber} ${range.length}\n`;
53
- for (
54
- let entryIdx = 0, entryLen = range.length;
55
- entryIdx < entryLen;
56
- entryIdx++
57
- ) {
49
+ for (let entryIdx = 0, entryLen = range.length; entryIdx < entryLen; entryIdx++) {
58
50
  const entry = range[entryIdx];
59
51
  section += padStart(String(entry.offset), 10, '0');
60
52
  section += ' ';
@@ -121,11 +113,7 @@ class PDFCrossRefSection {
121
113
  return offset - initialOffset;
122
114
  }
123
115
 
124
- private copyEntriesIntoBuffer(
125
- entries: Entry[],
126
- buffer: Uint8Array,
127
- offset: number,
128
- ): number {
116
+ private copyEntriesIntoBuffer(entries: Entry[], buffer: Uint8Array, offset: number): number {
129
117
  const length = entries.length;
130
118
 
131
119
  for (let idx = 0; idx < length; idx++) {
@@ -2,8 +2,7 @@ import CharCodes from '../syntax/CharCodes';
2
2
  import { charFromCode, copyStringIntoBuffer } from '../../utils';
3
3
 
4
4
  class PDFHeader {
5
- static forVersion = (major: number, minor: number) =>
6
- new PDFHeader(major, minor);
5
+ static forVersion = (major: number, minor: number) => new PDFHeader(major, minor);
7
6
 
8
7
  private readonly major: string;
9
8
  private readonly minor: string;
@@ -2,8 +2,7 @@ import CharCodes from '../syntax/CharCodes';
2
2
  import { copyStringIntoBuffer } from '../../utils';
3
3
 
4
4
  class PDFTrailer {
5
- static forLastCrossRefSectionOffset = (offset: number) =>
6
- new PDFTrailer(offset);
5
+ static forLastCrossRefSectionOffset = (offset: number) => new PDFTrailer(offset);
7
6
 
8
7
  private readonly lastXRefOffset: string;
9
8
 
@@ -1,12 +1,7 @@
1
1
  import { Glyph } from '../../types/fontkit';
2
2
 
3
3
  import { toHexString, toHexStringOfMinLength } from '../../utils';
4
- import {
5
- hasSurrogates,
6
- highSurrogate,
7
- isWithinBMP,
8
- lowSurrogate,
9
- } from '../../utils/unicode';
4
+ import { hasSurrogates, highSurrogate, isWithinBMP, lowSurrogate } from '../../utils/unicode';
10
5
 
11
6
  /** [fontId, codePoint] */
12
7
  type BfChar = [string, string];
@@ -6,12 +6,7 @@ import PDFHexString from '../objects/PDFHexString';
6
6
  import PDFRef from '../objects/PDFRef';
7
7
  import PDFString from '../objects/PDFString';
8
8
  import PDFContext from '../PDFContext';
9
- import {
10
- byAscendingId,
11
- Cache,
12
- sortedUniq,
13
- toHexStringOfMinLength,
14
- } from '../../utils';
9
+ import { byAscendingId, Cache, sortedUniq, toHexStringOfMinLength } from '../../utils';
15
10
 
16
11
  /**
17
12
  * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
@@ -81,10 +76,7 @@ class CustomFontEmbedder {
81
76
  return totalWidth * scale;
82
77
  }
83
78
 
84
- heightOfFontAtSize(
85
- size: number,
86
- options: { descender?: boolean } = {},
87
- ): number {
79
+ heightOfFontAtSize(size: number, options: { descender?: boolean } = {}): number {
88
80
  const { descender = true } = options;
89
81
 
90
82
  const { ascent, descent, bbox } = this.font;
@@ -105,15 +97,11 @@ class CustomFontEmbedder {
105
97
  }
106
98
 
107
99
  embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef> {
108
- this.baseFontName =
109
- this.customName || context.addRandomSuffix(this.fontName);
100
+ this.baseFontName = this.customName || context.addRandomSuffix(this.fontName);
110
101
  return this.embedFontDict(context, ref);
111
102
  }
112
103
 
113
- protected async embedFontDict(
114
- context: PDFContext,
115
- ref?: PDFRef,
116
- ): Promise<PDFRef> {
104
+ protected async embedFontDict(context: PDFContext, ref?: PDFRef): Promise<PDFRef> {
117
105
  const cidFontDictRef = await this.embedCIDFontDict(context);
118
106
  const unicodeCMapRef = this.embedUnicodeCmap(context);
119
107
 
@@ -1,10 +1,4 @@
1
- import {
2
- Font,
3
- Fontkit,
4
- Glyph,
5
- Subset,
6
- TypeFeatures,
7
- } from '../../types/fontkit';
1
+ import { Font, Fontkit, Glyph, Subset, TypeFeatures } from '../../types/fontkit';
8
2
 
9
3
  import CustomFontEmbedder from './CustomFontEmbedder';
10
4
  import PDFHexString from '../objects/PDFHexString';
@@ -23,12 +17,7 @@ class CustomFontSubsetEmbedder extends CustomFontEmbedder {
23
17
  fontFeatures?: TypeFeatures,
24
18
  ) {
25
19
  const font = await fontkit.create(fontData);
26
- return new CustomFontSubsetEmbedder(
27
- font,
28
- fontData,
29
- customFontName,
30
- fontFeatures,
31
- );
20
+ return new CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures);
32
21
  }
33
22
 
34
23
  private readonly subset: Subset;
@@ -28,11 +28,7 @@ export interface EmbeddedFileOptions {
28
28
  }
29
29
 
30
30
  class FileEmbedder {
31
- static for(
32
- bytes: Uint8Array,
33
- fileName: string,
34
- options: EmbeddedFileOptions = {},
35
- ) {
31
+ static for(bytes: Uint8Array, fileName: string, options: EmbeddedFileOptions = {}) {
36
32
  return new FileEmbedder(bytes, fileName, options);
37
33
  }
38
34
 
@@ -40,36 +36,22 @@ class FileEmbedder {
40
36
  readonly fileName: string;
41
37
  readonly options: EmbeddedFileOptions;
42
38
 
43
- private constructor(
44
- fileData: Uint8Array,
45
- fileName: string,
46
- options: EmbeddedFileOptions = {},
47
- ) {
39
+ private constructor(fileData: Uint8Array, fileName: string, options: EmbeddedFileOptions = {}) {
48
40
  this.fileData = fileData;
49
41
  this.fileName = fileName;
50
42
  this.options = options;
51
43
  }
52
44
 
53
45
  async embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef> {
54
- const {
55
- mimeType,
56
- description,
57
- creationDate,
58
- modificationDate,
59
- afRelationship,
60
- } = this.options;
46
+ const { mimeType, description, creationDate, modificationDate, afRelationship } = this.options;
61
47
 
62
48
  const embeddedFileStream = context.flateStream(this.fileData, {
63
49
  Type: 'EmbeddedFile',
64
50
  Subtype: mimeType ?? undefined,
65
51
  Params: {
66
52
  Size: this.fileData.length,
67
- CreationDate: creationDate
68
- ? PDFString.fromDate(creationDate)
69
- : undefined,
70
- ModDate: modificationDate
71
- ? PDFString.fromDate(modificationDate)
72
- : undefined,
53
+ CreationDate: creationDate ? PDFString.fromDate(creationDate) : undefined,
54
+ ModDate: modificationDate ? PDFString.fromDate(modificationDate) : undefined,
73
55
  },
74
56
  });
75
57
  const embeddedFileStreamRef = context.register(embeddedFileStream);
@@ -61,13 +61,7 @@ class JpegEmbedder {
61
61
 
62
62
  const colorSpace = channelName;
63
63
 
64
- return new JpegEmbedder(
65
- imageData,
66
- bitsPerComponent,
67
- width,
68
- height,
69
- colorSpace,
70
- );
64
+ return new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace);
71
65
  }
72
66
 
73
67
  readonly bitsPerComponent: number;
@@ -109,10 +103,7 @@ class JpegEmbedder {
109
103
  //
110
104
  // Applying a swap here as a hedge that most bytes passing
111
105
  // through this method will benefit from it.
112
- Decode:
113
- this.colorSpace === ColorSpace.DeviceCMYK
114
- ? [1, 0, 1, 0, 1, 0, 1, 0]
115
- : undefined,
106
+ Decode: this.colorSpace === ColorSpace.DeviceCMYK ? [1, 0, 1, 0, 1, 0, 1, 0] : undefined,
116
107
  });
117
108
 
118
109
  if (ref) {
@@ -1,7 +1,4 @@
1
- import {
2
- MissingPageContentsEmbeddingError,
3
- UnrecognizedStreamTypeError,
4
- } from '../errors';
1
+ import { MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError } from '../errors';
5
2
  import PDFArray from '../objects/PDFArray';
6
3
  import PDFNumber from '../objects/PDFNumber';
7
4
  import PDFRawStream from '../objects/PDFRawStream';
@@ -40,22 +37,24 @@ export interface PageBoundingBox {
40
37
  const fullPageBoundingBox = (page: PDFPageLeaf) => {
41
38
  const mediaBox = page.MediaBox();
42
39
 
43
- const width =
44
- mediaBox.lookup(2, PDFNumber).asNumber() -
45
- mediaBox.lookup(0, PDFNumber).asNumber();
40
+ const width = mediaBox.lookup(2, PDFNumber).asNumber() - mediaBox.lookup(0, PDFNumber).asNumber();
46
41
 
47
42
  const height =
48
- mediaBox.lookup(3, PDFNumber).asNumber() -
49
- mediaBox.lookup(1, PDFNumber).asNumber();
43
+ mediaBox.lookup(3, PDFNumber).asNumber() - mediaBox.lookup(1, PDFNumber).asNumber();
50
44
 
51
45
  return { left: 0, bottom: 0, right: width, top: height };
52
46
  };
53
47
 
54
48
  // Returns the identity matrix, modified to position the content of the given
55
49
  // bounding box at (0, 0).
56
- const boundingBoxAdjustedMatrix = (
57
- bb: PageBoundingBox,
58
- ): TransformationMatrix => [1, 0, 0, 1, -bb.left, -bb.bottom];
50
+ const boundingBoxAdjustedMatrix = (bb: PageBoundingBox): TransformationMatrix => [
51
+ 1,
52
+ 0,
53
+ 0,
54
+ 1,
55
+ -bb.left,
56
+ -bb.bottom,
57
+ ];
59
58
 
60
59
  class PDFPageEmbedder {
61
60
  static async for(
@@ -85,8 +84,7 @@ class PDFPageEmbedder {
85
84
  this.width = bb.right - bb.left;
86
85
  this.height = bb.top - bb.bottom;
87
86
  this.boundingBox = bb;
88
- this.transformationMatrix =
89
- transformationMatrix ?? boundingBoxAdjustedMatrix(bb);
87
+ this.transformationMatrix = transformationMatrix ?? boundingBoxAdjustedMatrix(bb);
90
88
  }
91
89
 
92
90
  async embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef> {
@@ -1,9 +1,4 @@
1
- import {
2
- Encodings,
3
- Font,
4
- FontNames,
5
- EncodingType,
6
- } from '@pdf-lib/standard-fonts';
1
+ import { Encodings, Font, FontNames, EncodingType } from '@pdf-lib/standard-fonts';
7
2
 
8
3
  import PDFHexString from '../objects/PDFHexString';
9
4
  import PDFRef from '../objects/PDFRef';
@@ -70,10 +65,7 @@ class StandardFontEmbedder {
70
65
  return totalWidth * scale;
71
66
  }
72
67
 
73
- heightOfFontAtSize(
74
- size: number,
75
- options: { descender?: boolean } = {},
76
- ): number {
68
+ heightOfFontAtSize(size: number, options: { descender?: boolean } = {}): number {
77
69
  const { descender = true } = options;
78
70
 
79
71
  const { Ascender, Descender, FontBBox } = this.font;
@@ -99,8 +91,7 @@ class StandardFontEmbedder {
99
91
  Subtype: 'Type1',
100
92
  BaseFont: this.customName || this.fontName,
101
93
 
102
- Encoding:
103
- this.encoding === Encodings.WinAnsi ? 'WinAnsiEncoding' : undefined,
94
+ Encoding: this.encoding === Encodings.WinAnsi ? 'WinAnsiEncoding' : undefined,
104
95
  });
105
96
 
106
97
  if (ref) {
@@ -20,9 +20,7 @@ export class UnexpectedObjectTypeError extends Error {
20
20
  constructor(expected: any | any[], actual: any) {
21
21
  const name = (t: any) => t?.name ?? t?.constructor?.name;
22
22
 
23
- const expectedTypes = Array.isArray(expected)
24
- ? expected.map(name)
25
- : [name(expected)];
23
+ const expectedTypes = Array.isArray(expected) ? expected.map(name) : [name(expected)];
26
24
 
27
25
  const msg =
28
26
  `Expected instance of ${expectedTypes.join(' or ')}, ` +
package/src/core/index.ts CHANGED
@@ -14,16 +14,10 @@ export { default as PDFCrossRefSection } from './document/PDFCrossRefSection';
14
14
  export { default as StandardFontEmbedder } from './embedders/StandardFontEmbedder';
15
15
  export { default as CustomFontEmbedder } from './embedders/CustomFontEmbedder';
16
16
  export { default as CustomFontSubsetEmbedder } from './embedders/CustomFontSubsetEmbedder';
17
- export {
18
- default as FileEmbedder,
19
- AFRelationship,
20
- } from './embedders/FileEmbedder';
17
+ export { default as FileEmbedder, AFRelationship } from './embedders/FileEmbedder';
21
18
  export { default as JpegEmbedder } from './embedders/JpegEmbedder';
22
19
  export { default as PngEmbedder } from './embedders/PngEmbedder';
23
- export {
24
- default as PDFPageEmbedder,
25
- type PageBoundingBox,
26
- } from './embedders/PDFPageEmbedder';
20
+ export { default as PDFPageEmbedder, type PageBoundingBox } from './embedders/PDFPageEmbedder';
27
21
 
28
22
  export {
29
23
  default as ViewerPreferences,
@@ -4,12 +4,7 @@ import PDFDict from '../objects/PDFDict';
4
4
  import PDFName from '../objects/PDFName';
5
5
  import PDFNumber from '../objects/PDFNumber';
6
6
  import PDFContext from '../PDFContext';
7
- import {
8
- assertEachIs,
9
- assertInteger,
10
- assertIsOneOf,
11
- assertRange,
12
- } from '../../utils';
7
+ import { assertEachIs, assertInteger, assertIsOneOf, assertRange } from '../../utils';
13
8
 
14
9
  const asEnum = <T extends string | number, U extends { [key: string]: T }>(
15
10
  rawValue: T | undefined,
@@ -83,11 +78,7 @@ type BoolViewerPrefKey =
83
78
  | 'CenterWindow'
84
79
  | 'DisplayDocTitle'
85
80
  | 'PickTrayByPDFSize';
86
- type NameViewerPrefKey =
87
- | 'NonFullScreenPageMode'
88
- | 'Direction'
89
- | 'PrintScaling'
90
- | 'Duplex';
81
+ type NameViewerPrefKey = 'NonFullScreenPageMode' | 'Direction' | 'PrintScaling' | 'Duplex';
91
82
 
92
83
  interface PageRange {
93
84
  start: number;
@@ -99,8 +90,7 @@ class ViewerPreferences {
99
90
  readonly dict: PDFDict;
100
91
 
101
92
  /** @ignore */
102
- static fromDict = (dict: PDFDict): ViewerPreferences =>
103
- new ViewerPreferences(dict);
93
+ static fromDict = (dict: PDFDict): ViewerPreferences => new ViewerPreferences(dict);
104
94
 
105
95
  /** @ignore */
106
96
  static create = (context: PDFContext) => {
@@ -429,11 +419,7 @@ class ViewerPreferences {
429
419
  * exiting full screen mode.
430
420
  */
431
421
  setNonFullScreenPageMode(nonFullScreenPageMode: NonFullScreenPageMode) {
432
- assertIsOneOf(
433
- nonFullScreenPageMode,
434
- 'nonFullScreenPageMode',
435
- NonFullScreenPageMode,
436
- );
422
+ assertIsOneOf(nonFullScreenPageMode, 'nonFullScreenPageMode', NonFullScreenPageMode);
437
423
  const mode = PDFName.of(nonFullScreenPageMode);
438
424
  this.dict.set(PDFName.of('NonFullScreenPageMode'), mode);
439
425
  }
@@ -57,18 +57,12 @@ class PDFArray extends PDFObject {
57
57
  lookupMaybe(index: number, type: typeof PDFArray): PDFArray | undefined;
58
58
  lookupMaybe(index: number, type: typeof PDFBool): PDFBool | undefined;
59
59
  lookupMaybe(index: number, type: typeof PDFDict): PDFDict | undefined;
60
- lookupMaybe(
61
- index: number,
62
- type: typeof PDFHexString,
63
- ): PDFHexString | undefined;
60
+ lookupMaybe(index: number, type: typeof PDFHexString): PDFHexString | undefined;
64
61
  lookupMaybe(index: number, type: typeof PDFName): PDFName | undefined;
65
62
  lookupMaybe(index: number, type: typeof PDFNull): typeof PDFNull | undefined;
66
63
  lookupMaybe(index: number, type: typeof PDFNumber): PDFNumber | undefined;
67
64
  lookupMaybe(index: number, type: typeof PDFStream): PDFStream | undefined;
68
- lookupMaybe(
69
- index: number,
70
- type: typeof PDFRawStream,
71
- ): PDFRawStream | undefined;
65
+ lookupMaybe(index: number, type: typeof PDFRawStream): PDFRawStream | undefined;
72
66
  lookupMaybe(index: number, type: typeof PDFRef): PDFRef | undefined;
73
67
  lookupMaybe(index: number, type: typeof PDFString): PDFString | undefined;
74
68
  lookupMaybe(
@@ -16,8 +16,7 @@ export type DictMap = Map<PDFName, PDFObject>;
16
16
  class PDFDict extends PDFObject {
17
17
  static withContext = (context: PDFContext) => new PDFDict(new Map(), context);
18
18
 
19
- static fromMapWithContext = (map: DictMap, context: PDFContext) =>
20
- new PDFDict(map, context);
19
+ static fromMapWithContext = (map: DictMap, context: PDFContext) => new PDFDict(map, context);
21
20
 
22
21
  readonly context: PDFContext;
23
22
 
@@ -66,10 +65,7 @@ class PDFDict extends PDFObject {
66
65
  lookupMaybe(key: PDFName, type: typeof PDFArray): PDFArray | undefined;
67
66
  lookupMaybe(key: PDFName, type: typeof PDFBool): PDFBool | undefined;
68
67
  lookupMaybe(key: PDFName, type: typeof PDFDict): PDFDict | undefined;
69
- lookupMaybe(
70
- key: PDFName,
71
- type: typeof PDFHexString,
72
- ): PDFHexString | undefined;
68
+ lookupMaybe(key: PDFName, type: typeof PDFHexString): PDFHexString | undefined;
73
69
  lookupMaybe(key: PDFName, type: typeof PDFName): PDFName | undefined;
74
70
  lookupMaybe(key: PDFName, type: typeof PDFNull): typeof PDFNull | undefined;
75
71
  lookupMaybe(key: PDFName, type: typeof PDFNumber): PDFNumber | undefined;
@@ -125,11 +121,7 @@ class PDFDict extends PDFObject {
125
121
  type1: typeof PDFString,
126
122
  type2: typeof PDFHexString,
127
123
  ): PDFString | PDFHexString;
128
- lookup(
129
- ref: PDFName,
130
- type1: typeof PDFDict,
131
- type2: typeof PDFStream,
132
- ): PDFDict | PDFStream;
124
+ lookup(ref: PDFName, type1: typeof PDFDict, type2: typeof PDFStream): PDFDict | PDFStream;
133
125
  lookup(
134
126
  ref: PDFName,
135
127
  type1: typeof PDFString,
@@ -2,20 +2,13 @@ import { PrivateConstructorError } from '../errors';
2
2
  import PDFObject from './PDFObject';
3
3
  import CharCodes from '../syntax/CharCodes';
4
4
  import { IsIrregular } from '../syntax/Irregular';
5
- import {
6
- charFromHexCode,
7
- copyStringIntoBuffer,
8
- toCharCode,
9
- toHexString,
10
- } from '../../utils';
5
+ import { charFromHexCode, copyStringIntoBuffer, toCharCode, toHexString } from '../../utils';
11
6
 
12
7
  const decodeName = (name: string) =>
13
8
  name.replace(/#([\dABCDEF]{2})/g, (_, hex) => charFromHexCode(hex));
14
9
 
15
10
  const isRegularChar = (charCode: number) =>
16
- charCode >= CharCodes.ExclamationPoint &&
17
- charCode <= CharCodes.Tilde &&
18
- !IsIrregular[charCode];
11
+ charCode >= CharCodes.ExclamationPoint && charCode <= CharCodes.Tilde && !IsIrregular[charCode];
19
12
 
20
13
  const ENFORCER = {};
21
14
  const pool = new Map<string, PDFName>();
@@ -5,20 +5,13 @@ import { arrayAsString } from '../../utils';
5
5
  import { CipherTransform } from '../crypto';
6
6
 
7
7
  class PDFRawStream extends PDFStream {
8
- static of = (
9
- dict: PDFDict,
10
- contents: Uint8Array,
11
- transform?: CipherTransform,
12
- ) => new PDFRawStream(dict, contents, transform);
8
+ static of = (dict: PDFDict, contents: Uint8Array, transform?: CipherTransform) =>
9
+ new PDFRawStream(dict, contents, transform);
13
10
 
14
11
  readonly contents: Uint8Array;
15
12
  readonly transform?: CipherTransform;
16
13
 
17
- private constructor(
18
- dict: PDFDict,
19
- contents: Uint8Array,
20
- transform?: CipherTransform,
21
- ) {
14
+ private constructor(dict: PDFDict, contents: Uint8Array, transform?: CipherTransform) {
22
15
  super(dict);
23
16
  this.contents = contents;
24
17
  this.transform = transform;
@@ -22,11 +22,7 @@ class PDFRef extends PDFObject {
22
22
  readonly generationNumber: number;
23
23
  readonly tag: string;
24
24
 
25
- private constructor(
26
- enforcer: any,
27
- objectNumber: number,
28
- generationNumber: number,
29
- ) {
25
+ private constructor(enforcer: any, objectNumber: number, generationNumber: number) {
30
26
  if (enforcer !== ENFORCER) throw new PrivateConstructorError('PDFRef');
31
27
  super();
32
28
  this.objectNumber = objectNumber;
@@ -19,10 +19,7 @@ class PDFStream extends PDFObject {
19
19
  }
20
20
 
21
21
  getContentsString(): string {
22
- throw new MethodNotImplementedError(
23
- this.constructor.name,
24
- 'getContentsString',
25
- );
22
+ throw new MethodNotImplementedError(this.constructor.name, 'getContentsString');
26
23
  }
27
24
 
28
25
  getContents(): Uint8Array {
@@ -30,10 +27,7 @@ class PDFStream extends PDFObject {
30
27
  }
31
28
 
32
29
  getContentsSize(): number {
33
- throw new MethodNotImplementedError(
34
- this.constructor.name,
35
- 'getContentsSize',
36
- );
30
+ throw new MethodNotImplementedError(this.constructor.name, 'getContentsSize');
37
31
  }
38
32
 
39
33
  updateDict(): void {
@@ -9,17 +9,10 @@ import PDFContext from '../PDFContext';
9
9
  import CharCodes from '../syntax/CharCodes';
10
10
  import { copyStringIntoBuffer } from '../../utils';
11
11
 
12
- export type PDFOperatorArg =
13
- | string
14
- | PDFName
15
- | PDFArray
16
- | PDFNumber
17
- | PDFString
18
- | PDFHexString;
12
+ export type PDFOperatorArg = string | PDFName | PDFArray | PDFNumber | PDFString | PDFHexString;
19
13
 
20
14
  class PDFOperator {
21
- static of = (name: PDFOperatorNames, args?: PDFOperatorArg[]) =>
22
- new PDFOperator(name, args);
15
+ static of = (name: PDFOperatorNames, args?: PDFOperatorArg[]) => new PDFOperator(name, args);
23
16
 
24
17
  private readonly name: PDFOperatorNames;
25
18
  private readonly args: PDFOperatorArg[];
@@ -32,17 +32,11 @@ import { CipherTransformFactory } from '../crypto';
32
32
 
33
33
  // TODO: Throw error if eof is reached before finishing object parse...
34
34
  class PDFObjectParser extends BaseParser {
35
- static forBytes = (
36
- bytes: Uint8Array,
37
- context: PDFContext,
38
- capNumbers?: boolean,
39
- ) => new PDFObjectParser(ByteStream.of(bytes), context, capNumbers);
35
+ static forBytes = (bytes: Uint8Array, context: PDFContext, capNumbers?: boolean) =>
36
+ new PDFObjectParser(ByteStream.of(bytes), context, capNumbers);
40
37
 
41
- static forByteStream = (
42
- byteStream: ByteStream,
43
- context: PDFContext,
44
- capNumbers = false,
45
- ) => new PDFObjectParser(byteStream, context, capNumbers);
38
+ static forByteStream = (byteStream: ByteStream, context: PDFContext, capNumbers = false) =>
39
+ new PDFObjectParser(byteStream, context, capNumbers);
46
40
 
47
41
  protected readonly context: PDFContext;
48
42
  private readonly cryptoFactory?: CipherTransformFactory;
@@ -68,10 +62,7 @@ class PDFObjectParser extends BaseParser {
68
62
 
69
63
  const byte = this.bytes.peek();
70
64
 
71
- if (
72
- byte === CharCodes.LessThan &&
73
- this.bytes.peekAhead(1) === CharCodes.LessThan
74
- ) {
65
+ if (byte === CharCodes.LessThan && this.bytes.peekAhead(1) === CharCodes.LessThan) {
75
66
  return this.parseDictOrStream(ref);
76
67
  }
77
68
  if (byte === CharCodes.LessThan) return this.parseHexString(ref);
@@ -8,10 +8,8 @@ import PDFObjectParser from './PDFObjectParser';
8
8
  import { waitForTick } from '../../utils';
9
9
 
10
10
  class PDFObjectStreamParser extends PDFObjectParser {
11
- static forStream = (
12
- rawStream: PDFRawStream,
13
- shouldWaitForTick?: () => boolean,
14
- ) => new PDFObjectStreamParser(rawStream, shouldWaitForTick);
11
+ static forStream = (rawStream: PDFRawStream, shouldWaitForTick?: () => boolean) =>
12
+ new PDFObjectStreamParser(rawStream, shouldWaitForTick);
15
13
 
16
14
  private alreadyParsed: boolean;
17
15
  private readonly shouldWaitForTick: () => boolean;
@@ -32,14 +32,7 @@ class PDFParser extends PDFObjectParser {
32
32
  throwOnInvalidObject?: boolean,
33
33
  capNumbers?: boolean,
34
34
  cryptoFactory?: CipherTransformFactory,
35
- ) =>
36
- new PDFParser(
37
- pdfBytes,
38
- objectsPerTick,
39
- throwOnInvalidObject,
40
- capNumbers,
41
- cryptoFactory,
42
- );
35
+ ) => new PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers, cryptoFactory);
43
36
 
44
37
  private readonly objectsPerTick: number;
45
38
  private readonly throwOnInvalidObject: boolean;
@@ -53,15 +46,10 @@ class PDFParser extends PDFObjectParser {
53
46
  capNumbers = false,
54
47
  cryptoFactory?: CipherTransformFactory,
55
48
  ) {
56
- super(
57
- ByteStream.of(pdfBytes),
58
- PDFContext.create(),
59
- capNumbers,
60
- cryptoFactory,
61
- );
49
+ super(ByteStream.of(pdfBytes), PDFContext.create(), capNumbers, cryptoFactory);
62
50
  this.objectsPerTick = objectsPerTick;
63
51
  this.throwOnInvalidObject = throwOnInvalidObject;
64
- this.context.isDecrypted = !!cryptoFactory?.encryptionKey
52
+ this.context.isDecrypted = !!cryptoFactory?.encryptionKey;
65
53
  }
66
54
 
67
55
  async parseDocument(): Promise<PDFContext> {
@@ -94,8 +82,7 @@ class PDFParser extends PDFObjectParser {
94
82
 
95
83
  private maybeRecoverRoot(): void {
96
84
  const isValidCatalog = (obj?: PDFObject) =>
97
- obj instanceof PDFDict &&
98
- obj.lookup(PDFName.of('Type')) === PDFName.of('Catalog');
85
+ obj instanceof PDFDict && obj.lookup(PDFName.of('Type')) === PDFName.of('Catalog');
99
86
 
100
87
  const catalog = this.context.lookup(this.context.trailerInfo.Root);
101
88
 
@@ -175,10 +162,7 @@ class PDFParser extends PDFObjectParser {
175
162
  object instanceof PDFRawStream &&
176
163
  object.dict.lookup(PDFName.of('Type')) === PDFName.of('ObjStm')
177
164
  ) {
178
- await PDFObjectStreamParser.forStream(
179
- object,
180
- this.shouldWaitForTick,
181
- ).parseIntoContext();
165
+ await PDFObjectStreamParser.forStream(object, this.shouldWaitForTick).parseIntoContext();
182
166
  } else if (
183
167
  object instanceof PDFRawStream &&
184
168
  object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')
@@ -16,8 +16,7 @@ export interface Entry {
16
16
  }
17
17
 
18
18
  class PDFXRefStreamParser {
19
- static forStream = (rawStream: PDFRawStream) =>
20
- new PDFXRefStreamParser(rawStream);
19
+ static forStream = (rawStream: PDFRawStream) => new PDFXRefStreamParser(rawStream);
21
20
 
22
21
  private alreadyParsed: boolean;
23
22