pdf-lite 1.0.1-alpha.2 → 1.0.1-alpha.3

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 (721) hide show
  1. package/dist/core/decoder.d.ts +39 -0
  2. package/dist/core/decoder.js +367 -0
  3. package/dist/core/generators.d.ts +37 -0
  4. package/{packages/pdf-lite/src/core/generators.ts → dist/core/generators.js} +36 -67
  5. package/dist/core/incremental-parser.d.ts +103 -0
  6. package/{packages/pdf-lite/src/core/incremental-parser.ts → dist/core/incremental-parser.js} +63 -100
  7. package/dist/core/index.d.ts +2 -0
  8. package/dist/core/index.js +2 -0
  9. package/dist/core/objects/pdf-array.d.ts +12 -0
  10. package/dist/core/objects/pdf-array.js +42 -0
  11. package/dist/core/objects/pdf-boolean.d.ts +8 -0
  12. package/dist/core/objects/pdf-boolean.js +15 -0
  13. package/dist/core/objects/pdf-comment.d.ts +18 -0
  14. package/dist/core/objects/pdf-comment.js +39 -0
  15. package/dist/core/objects/pdf-date.d.ts +5 -0
  16. package/dist/core/objects/pdf-date.js +40 -0
  17. package/dist/core/objects/pdf-dictionary.d.ts +22 -0
  18. package/dist/core/objects/pdf-dictionary.js +136 -0
  19. package/dist/core/objects/pdf-hexadecimal.d.ts +17 -0
  20. package/dist/core/objects/pdf-hexadecimal.js +42 -0
  21. package/dist/core/objects/pdf-indirect-object.d.ts +27 -0
  22. package/dist/core/objects/pdf-indirect-object.js +100 -0
  23. package/dist/core/objects/pdf-name.d.ts +8 -0
  24. package/dist/core/objects/pdf-name.js +15 -0
  25. package/dist/core/objects/pdf-null.d.ts +7 -0
  26. package/dist/core/objects/pdf-null.js +11 -0
  27. package/dist/core/objects/pdf-number.d.ts +25 -0
  28. package/dist/core/objects/pdf-number.js +77 -0
  29. package/dist/core/objects/pdf-object-reference.d.ts +9 -0
  30. package/dist/core/objects/pdf-object-reference.js +19 -0
  31. package/dist/core/objects/pdf-object.d.ts +30 -0
  32. package/dist/core/objects/pdf-object.js +77 -0
  33. package/dist/core/objects/pdf-start-xref.d.ts +10 -0
  34. package/dist/core/objects/pdf-start-xref.js +32 -0
  35. package/dist/core/objects/pdf-stream.d.ts +100 -0
  36. package/dist/core/objects/pdf-stream.js +521 -0
  37. package/dist/core/objects/pdf-string.d.ts +15 -0
  38. package/dist/core/objects/pdf-string.js +30 -0
  39. package/dist/core/objects/pdf-trailer.d.ts +26 -0
  40. package/dist/core/objects/pdf-trailer.js +33 -0
  41. package/dist/core/objects/pdf-xref-table.d.ts +48 -0
  42. package/dist/core/objects/pdf-xref-table.js +183 -0
  43. package/{packages/pdf-lite/src/core/parser.ts → dist/core/parser.d.ts} +3 -4
  44. package/dist/core/parser.js +9 -0
  45. package/dist/core/ref.d.ts +59 -0
  46. package/{packages/pdf-lite/src/core/ref.ts → dist/core/ref.js} +23 -41
  47. package/dist/core/serializer.d.ts +36 -0
  48. package/{packages/pdf-lite/src/core/serializer.ts → dist/core/serializer.js} +20 -30
  49. package/dist/core/streams/object-stream.d.ts +6 -0
  50. package/dist/core/streams/object-stream.js +15 -0
  51. package/dist/core/tokeniser.d.ts +98 -0
  52. package/dist/core/tokeniser.js +552 -0
  53. package/dist/core/tokens/boolean-token.d.ts +8 -0
  54. package/dist/core/tokens/boolean-token.js +15 -0
  55. package/dist/core/tokens/byte-offset-token.d.ts +8 -0
  56. package/dist/core/tokens/byte-offset-token.js +15 -0
  57. package/dist/core/tokens/comment-token.d.ts +10 -0
  58. package/dist/core/tokens/comment-token.js +26 -0
  59. package/dist/core/tokens/end-array-token.d.ts +4 -0
  60. package/dist/core/tokens/end-array-token.js +8 -0
  61. package/dist/core/tokens/end-dictionary-token.d.ts +4 -0
  62. package/dist/core/tokens/end-dictionary-token.js +8 -0
  63. package/dist/core/tokens/end-object-token.d.ts +4 -0
  64. package/dist/core/tokens/end-object-token.js +8 -0
  65. package/dist/core/tokens/end-stream-token.d.ts +5 -0
  66. package/dist/core/tokens/end-stream-token.js +8 -0
  67. package/dist/core/tokens/hexadecimal-token.d.ts +7 -0
  68. package/dist/core/tokens/hexadecimal-token.js +16 -0
  69. package/dist/core/tokens/name-token.d.ts +6 -0
  70. package/dist/core/tokens/name-token.js +15 -0
  71. package/dist/core/tokens/null-token.d.ts +4 -0
  72. package/dist/core/tokens/null-token.js +8 -0
  73. package/dist/core/tokens/number-token.d.ts +24 -0
  74. package/dist/core/tokens/number-token.js +104 -0
  75. package/dist/core/tokens/object-reference-token.d.ts +7 -0
  76. package/dist/core/tokens/object-reference-token.js +17 -0
  77. package/dist/core/tokens/start-array-token.d.ts +4 -0
  78. package/dist/core/tokens/start-array-token.js +8 -0
  79. package/dist/core/tokens/start-dictionary-token.d.ts +4 -0
  80. package/dist/core/tokens/start-dictionary-token.js +8 -0
  81. package/dist/core/tokens/start-object-token.d.ts +8 -0
  82. package/dist/core/tokens/start-object-token.js +17 -0
  83. package/dist/core/tokens/start-stream-token.d.ts +8 -0
  84. package/dist/core/tokens/start-stream-token.js +38 -0
  85. package/dist/core/tokens/start-xref-token.d.ts +4 -0
  86. package/dist/core/tokens/start-xref-token.js +8 -0
  87. package/dist/core/tokens/stream-chunk-token.d.ts +5 -0
  88. package/dist/core/tokens/stream-chunk-token.js +6 -0
  89. package/dist/core/tokens/string-token.d.ts +7 -0
  90. package/dist/core/tokens/string-token.js +13 -0
  91. package/dist/core/tokens/token.d.ts +10 -0
  92. package/dist/core/tokens/token.js +32 -0
  93. package/dist/core/tokens/trailer-token.d.ts +5 -0
  94. package/dist/core/tokens/trailer-token.js +10 -0
  95. package/dist/core/tokens/whitespace-token.d.ts +11 -0
  96. package/dist/core/tokens/whitespace-token.js +36 -0
  97. package/dist/core/tokens/xref-table-entry-token.d.ts +13 -0
  98. package/dist/core/tokens/xref-table-entry-token.js +40 -0
  99. package/dist/core/tokens/xref-table-section-start-token.d.ts +8 -0
  100. package/dist/core/tokens/xref-table-section-start-token.js +21 -0
  101. package/dist/core/tokens/xref-table-start-token.d.ts +5 -0
  102. package/dist/core/tokens/xref-table-start-token.js +10 -0
  103. package/dist/crypto/ciphers/aes128.d.ts +19 -0
  104. package/{packages/pdf-lite/src/crypto/ciphers/aes128.ts → dist/crypto/ciphers/aes128.js} +17 -27
  105. package/dist/crypto/ciphers/aes256.d.ts +18 -0
  106. package/{packages/pdf-lite/src/crypto/ciphers/aes256.ts → dist/crypto/ciphers/aes256.js} +14 -17
  107. package/dist/crypto/ciphers/rc4.d.ts +18 -0
  108. package/{packages/pdf-lite/src/crypto/ciphers/rc4.ts → dist/crypto/ciphers/rc4.js} +25 -30
  109. package/dist/crypto/constants.d.ts +6 -0
  110. package/{packages/pdf-lite/src/crypto/constants.ts → dist/crypto/constants.js} +1 -1
  111. package/dist/crypto/key-derivation/key-derivation-aes256.d.ts +56 -0
  112. package/dist/crypto/key-derivation/key-derivation-aes256.js +156 -0
  113. package/dist/crypto/key-derivation/key-derivation.d.ts +42 -0
  114. package/{packages/pdf-lite/src/crypto/key-derivation/key-derivation.ts → dist/crypto/key-derivation/key-derivation.js} +35 -66
  115. package/dist/crypto/key-gen/key-gen-aes256.d.ts +36 -0
  116. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-aes256.ts → dist/crypto/key-gen/key-gen-aes256.js} +25 -50
  117. package/dist/crypto/key-gen/key-gen-rc4-128.d.ts +47 -0
  118. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-128.ts → dist/crypto/key-gen/key-gen-rc4-128.js} +45 -106
  119. package/dist/crypto/key-gen/key-gen-rc4-40.d.ts +60 -0
  120. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-40.ts → dist/crypto/key-gen/key-gen-rc4-40.js} +26 -62
  121. package/dist/crypto/types.d.ts +5 -0
  122. package/dist/crypto/types.js +1 -0
  123. package/dist/crypto/utils.d.ts +40 -0
  124. package/{packages/pdf-lite/src/crypto/utils.ts → dist/crypto/utils.js} +27 -36
  125. package/dist/filters/ascii85.d.ts +16 -0
  126. package/{packages/pdf-lite/src/filters/ascii85.ts → dist/filters/ascii85.js} +41 -65
  127. package/dist/filters/asciihex.d.ts +16 -0
  128. package/{packages/pdf-lite/src/filters/asciihex.ts → dist/filters/asciihex.js} +18 -19
  129. package/dist/filters/flate.d.ts +15 -0
  130. package/{packages/pdf-lite/src/filters/flate.ts → dist/filters/flate.js} +7 -10
  131. package/dist/filters/lzw.d.ts +16 -0
  132. package/dist/filters/lzw.js +150 -0
  133. package/dist/filters/pass-through.d.ts +14 -0
  134. package/{packages/pdf-lite/src/filters/pass-through.ts → dist/filters/pass-through.js} +6 -9
  135. package/dist/filters/runlength.d.ts +16 -0
  136. package/{packages/pdf-lite/src/filters/runlength.ts → dist/filters/runlength.js} +36 -40
  137. package/dist/filters/types.d.ts +18 -0
  138. package/{packages/pdf-lite/src/filters/types.ts → dist/filters/types.js} +1 -10
  139. package/dist/index.d.ts +4 -0
  140. package/dist/index.js +4 -0
  141. package/dist/pdf/errors.d.ts +6 -0
  142. package/{packages/pdf-lite/src/pdf/errors.ts → dist/pdf/errors.js} +2 -1
  143. package/dist/pdf/index.d.ts +4 -0
  144. package/dist/pdf/index.js +4 -0
  145. package/dist/pdf/pdf-document.d.ts +277 -0
  146. package/{packages/pdf-lite/src/pdf/pdf-document.ts → dist/pdf/pdf-document.js} +305 -541
  147. package/dist/pdf/pdf-reader.d.ts +37 -0
  148. package/{packages/pdf-lite/src/pdf/pdf-reader.ts → dist/pdf/pdf-reader.js} +12 -22
  149. package/dist/pdf/pdf-revision.d.ts +101 -0
  150. package/{packages/pdf-lite/src/pdf/pdf-revision.ts → dist/pdf/pdf-revision.js} +70 -105
  151. package/dist/pdf/pdf-xref-lookup.d.ts +149 -0
  152. package/dist/pdf/pdf-xref-lookup.js +402 -0
  153. package/dist/security/crypt-filters/aesv2.d.ts +35 -0
  154. package/{packages/pdf-lite/src/security/crypt-filters/aesv2.ts → dist/security/crypt-filters/aesv2.js} +9 -26
  155. package/dist/security/crypt-filters/aesv3.d.ts +36 -0
  156. package/{packages/pdf-lite/src/security/crypt-filters/aesv3.ts → dist/security/crypt-filters/aesv3.js} +9 -23
  157. package/{packages/pdf-lite/src/security/crypt-filters/base.ts → dist/security/crypt-filters/base.d.ts} +21 -73
  158. package/dist/security/crypt-filters/base.js +93 -0
  159. package/dist/security/crypt-filters/identity.d.ts +28 -0
  160. package/{packages/pdf-lite/src/security/crypt-filters/identity.ts → dist/security/crypt-filters/identity.js} +9 -13
  161. package/dist/security/crypt-filters/v2.d.ts +37 -0
  162. package/{packages/pdf-lite/src/security/crypt-filters/v2.ts → dist/security/crypt-filters/v2.js} +9 -26
  163. package/dist/security/handlers/base.d.ts +304 -0
  164. package/dist/security/handlers/base.js +359 -0
  165. package/dist/security/handlers/pubSec.d.ts +164 -0
  166. package/dist/security/handlers/pubSec.js +299 -0
  167. package/dist/security/handlers/utils.d.ts +77 -0
  168. package/dist/security/handlers/utils.js +244 -0
  169. package/dist/security/handlers/v1.d.ts +81 -0
  170. package/dist/security/handlers/v1.js +135 -0
  171. package/dist/security/handlers/v2.d.ts +63 -0
  172. package/{packages/pdf-lite/src/security/handlers/v2.ts → dist/security/handlers/v2.js} +25 -62
  173. package/dist/security/handlers/v4.d.ts +121 -0
  174. package/dist/security/handlers/v4.js +257 -0
  175. package/dist/security/handlers/v5.d.ts +112 -0
  176. package/dist/security/handlers/v5.js +210 -0
  177. package/{packages/pdf-lite/src/security/types.ts → dist/security/types.d.ts} +72 -94
  178. package/dist/security/types.js +1 -0
  179. package/dist/signing/document-security-store.d.ts +108 -0
  180. package/dist/signing/document-security-store.js +156 -0
  181. package/dist/signing/index.d.ts +3 -0
  182. package/dist/signing/index.js +3 -0
  183. package/dist/signing/signatures/adbe-pkcs7-detached.d.ts +57 -0
  184. package/dist/signing/signatures/adbe-pkcs7-detached.js +117 -0
  185. package/dist/signing/signatures/adbe-pkcs7-sha1.d.ts +55 -0
  186. package/dist/signing/signatures/adbe-pkcs7-sha1.js +121 -0
  187. package/dist/signing/signatures/adbe-x509-rsa-sha1.d.ts +49 -0
  188. package/dist/signing/signatures/adbe-x509-rsa-sha1.js +81 -0
  189. package/dist/signing/signatures/base.d.ts +107 -0
  190. package/dist/signing/signatures/base.js +145 -0
  191. package/dist/signing/signatures/etsi-cades-detached.d.ts +64 -0
  192. package/dist/signing/signatures/etsi-cades-detached.js +159 -0
  193. package/dist/signing/signatures/etsi-rfc3161.d.ts +37 -0
  194. package/{packages/pdf-lite/src/signing/signatures/etsi-rfc3161.ts → dist/signing/signatures/etsi-rfc3161.js} +21 -43
  195. package/dist/signing/signatures/index.d.ts +6 -0
  196. package/dist/signing/signatures/index.js +6 -0
  197. package/dist/signing/signer.d.ts +23 -0
  198. package/dist/signing/signer.js +92 -0
  199. package/{packages/pdf-lite/src/signing/types.ts → dist/signing/types.d.ts} +40 -48
  200. package/dist/signing/types.js +1 -0
  201. package/dist/signing/utils.d.ts +32 -0
  202. package/{packages/pdf-lite/src/signing/utils.ts → dist/signing/utils.js} +12 -31
  203. package/dist/types.d.ts +23 -0
  204. package/dist/types.js +11 -0
  205. package/dist/utils/IterableReadableStream.d.ts +24 -0
  206. package/{packages/pdf-lite/src/utils/IterableReadableStream.ts → dist/utils/IterableReadableStream.js} +6 -6
  207. package/dist/utils/algos.d.ts +242 -0
  208. package/{packages/pdf-lite/src/utils/algos.ts → dist/utils/algos.js} +63 -136
  209. package/dist/utils/assert.d.ts +28 -0
  210. package/{packages/pdf-lite/src/utils/assert.ts → dist/utils/assert.js} +5 -10
  211. package/dist/utils/bytesToHex.d.ts +13 -0
  212. package/{packages/pdf-lite/src/utils/bytesToHex.ts → dist/utils/bytesToHex.js} +4 -6
  213. package/dist/utils/bytesToHexBytes.d.ts +14 -0
  214. package/{packages/pdf-lite/src/utils/bytesToHexBytes.ts → dist/utils/bytesToHexBytes.js} +7 -12
  215. package/dist/utils/bytesToString.d.ts +13 -0
  216. package/{packages/pdf-lite/src/utils/bytesToString.ts → dist/utils/bytesToString.js} +3 -5
  217. package/dist/utils/concatUint8Arrays.d.ts +16 -0
  218. package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js} +7 -9
  219. package/dist/utils/escapeString.d.ts +14 -0
  220. package/dist/utils/escapeString.js +43 -0
  221. package/dist/utils/hexBytesToBytes.d.ts +15 -0
  222. package/{packages/pdf-lite/src/utils/hexBytesToBytes.ts → dist/utils/hexBytesToBytes.js} +4 -6
  223. package/dist/utils/hexBytesToString.d.ts +13 -0
  224. package/{packages/pdf-lite/src/utils/hexBytesToString.ts → dist/utils/hexBytesToString.js} +5 -7
  225. package/dist/utils/hexToBytes.d.ts +13 -0
  226. package/{packages/pdf-lite/src/utils/hexToBytes.ts → dist/utils/hexToBytes.js} +4 -6
  227. package/dist/utils/padBytes.d.ts +15 -0
  228. package/{packages/pdf-lite/src/utils/padBytes.ts → dist/utils/padBytes.js} +5 -9
  229. package/dist/utils/predictors.d.ts +113 -0
  230. package/{packages/pdf-lite/src/utils/predictors.ts → dist/utils/predictors.js} +103 -156
  231. package/dist/utils/replaceInBuffer.d.ts +22 -0
  232. package/{packages/pdf-lite/src/utils/replaceInBuffer.ts → dist/utils/replaceInBuffer.js} +18 -27
  233. package/dist/utils/stringToBytes.d.ts +14 -0
  234. package/{packages/pdf-lite/src/utils/stringToBytes.ts → dist/utils/stringToBytes.js} +6 -7
  235. package/dist/utils/stringToHexBytes.d.ts +15 -0
  236. package/{packages/pdf-lite/src/utils/stringToHexBytes.ts → dist/utils/stringToHexBytes.js} +5 -7
  237. package/dist/utils/unescapeString.d.ts +16 -0
  238. package/dist/utils/unescapeString.js +114 -0
  239. package/package.json +37 -34
  240. package/.commitlintrc.cjs +0 -25
  241. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  242. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  243. package/.github/workflows/docs.yaml +0 -95
  244. package/.github/workflows/prepare-release.yaml +0 -79
  245. package/.github/workflows/release.yaml +0 -80
  246. package/.github/workflows/test.yaml +0 -35
  247. package/.husky/commit-msg +0 -1
  248. package/.husky/pre-commit +0 -1
  249. package/.prettierignore +0 -4
  250. package/.prettierrc +0 -4
  251. package/CONTRIBUTING.md +0 -109
  252. package/EXAMPLES.md +0 -1512
  253. package/docs/README.md +0 -127
  254. package/docs/core/README.md +0 -43
  255. package/docs/core/decoder/README.md +0 -11
  256. package/docs/core/decoder/classes/PdfDecoder.md +0 -362
  257. package/docs/core/generators/README.md +0 -14
  258. package/docs/core/generators/functions/bytesToPdfObjects.md +0 -26
  259. package/docs/core/generators/functions/pdfDecoder.md +0 -36
  260. package/docs/core/generators/functions/pdfDecoderAsync.md +0 -26
  261. package/docs/core/generators/functions/stringToPdfObjects.md +0 -25
  262. package/docs/core/incremental-parser/README.md +0 -13
  263. package/docs/core/incremental-parser/classes/EofReachedError.md +0 -55
  264. package/docs/core/incremental-parser/classes/IncrementalParser.md +0 -299
  265. package/docs/core/incremental-parser/classes/NoMoreTokensError.md +0 -55
  266. package/docs/core/objects/pdf-array/README.md +0 -11
  267. package/docs/core/objects/pdf-array/classes/PdfArray.md +0 -305
  268. package/docs/core/objects/pdf-boolean/README.md +0 -11
  269. package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +0 -265
  270. package/docs/core/objects/pdf-comment/README.md +0 -11
  271. package/docs/core/objects/pdf-comment/classes/PdfComment.md +0 -329
  272. package/docs/core/objects/pdf-date/README.md +0 -11
  273. package/docs/core/objects/pdf-date/classes/PdfDate.md +0 -317
  274. package/docs/core/objects/pdf-dictionary/README.md +0 -17
  275. package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +0 -396
  276. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +0 -9
  277. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +0 -9
  278. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +0 -9
  279. package/docs/core/objects/pdf-hexadecimal/README.md +0 -11
  280. package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +0 -320
  281. package/docs/core/objects/pdf-indirect-object/README.md +0 -11
  282. package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +0 -411
  283. package/docs/core/objects/pdf-name/README.md +0 -11
  284. package/docs/core/objects/pdf-name/classes/PdfName.md +0 -271
  285. package/docs/core/objects/pdf-null/README.md +0 -11
  286. package/docs/core/objects/pdf-null/classes/PdfNull.md +0 -259
  287. package/docs/core/objects/pdf-number/README.md +0 -12
  288. package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +0 -369
  289. package/docs/core/objects/pdf-number/classes/PdfNumber.md +0 -345
  290. package/docs/core/objects/pdf-object/README.md +0 -11
  291. package/docs/core/objects/pdf-object/classes/PdfObject.md +0 -214
  292. package/docs/core/objects/pdf-object-reference/README.md +0 -11
  293. package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +0 -279
  294. package/docs/core/objects/pdf-start-xref/README.md +0 -11
  295. package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +0 -265
  296. package/docs/core/objects/pdf-stream/README.md +0 -23
  297. package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +0 -699
  298. package/docs/core/objects/pdf-stream/classes/PdfStream.md +0 -570
  299. package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +0 -723
  300. package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +0 -51
  301. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +0 -9
  302. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +0 -9
  303. package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +0 -9
  304. package/docs/core/objects/pdf-string/README.md +0 -11
  305. package/docs/core/objects/pdf-string/classes/PdfString.md +0 -301
  306. package/docs/core/objects/pdf-trailer/README.md +0 -16
  307. package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +0 -271
  308. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +0 -9
  309. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +0 -51
  310. package/docs/core/objects/pdf-xref-table/README.md +0 -13
  311. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +0 -331
  312. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +0 -297
  313. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +0 -277
  314. package/docs/core/parser/README.md +0 -11
  315. package/docs/core/parser/classes/Parser.md +0 -74
  316. package/docs/core/ref/README.md +0 -15
  317. package/docs/core/ref/classes/Ref.md +0 -149
  318. package/docs/core/ref/type-aliases/RefUpdateCallback.md +0 -33
  319. package/docs/core/serializer/README.md +0 -11
  320. package/docs/core/serializer/classes/PdfTokenSerializer.md +0 -106
  321. package/docs/core/streams/object-stream/README.md +0 -11
  322. package/docs/core/streams/object-stream/classes/PdfObjectStream.md +0 -69
  323. package/docs/core/tokeniser/README.md +0 -21
  324. package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +0 -366
  325. package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +0 -69
  326. package/docs/core/tokeniser/functions/objectToTokens.md +0 -25
  327. package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +0 -27
  328. package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +0 -11
  329. package/docs/core/tokens/boolean-token/README.md +0 -11
  330. package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +0 -139
  331. package/docs/core/tokens/byte-offset-token/README.md +0 -11
  332. package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +0 -153
  333. package/docs/core/tokens/comment-token/README.md +0 -11
  334. package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +0 -161
  335. package/docs/core/tokens/end-array-token/README.md +0 -11
  336. package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +0 -115
  337. package/docs/core/tokens/end-dictionary-token/README.md +0 -11
  338. package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +0 -115
  339. package/docs/core/tokens/end-object-token/README.md +0 -11
  340. package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +0 -115
  341. package/docs/core/tokens/end-stream-token/README.md +0 -11
  342. package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +0 -121
  343. package/docs/core/tokens/hexadecimal-token/README.md +0 -11
  344. package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +0 -127
  345. package/docs/core/tokens/name-token/README.md +0 -11
  346. package/docs/core/tokens/name-token/classes/PdfNameToken.md +0 -127
  347. package/docs/core/tokens/null-token/README.md +0 -11
  348. package/docs/core/tokens/null-token/classes/PdfNullToken.md +0 -115
  349. package/docs/core/tokens/number-token/README.md +0 -11
  350. package/docs/core/tokens/number-token/classes/PdfNumberToken.md +0 -271
  351. package/docs/core/tokens/object-reference-token/README.md +0 -11
  352. package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +0 -137
  353. package/docs/core/tokens/start-array-token/README.md +0 -11
  354. package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +0 -115
  355. package/docs/core/tokens/start-dictionary-token/README.md +0 -11
  356. package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +0 -115
  357. package/docs/core/tokens/start-object-token/README.md +0 -11
  358. package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +0 -147
  359. package/docs/core/tokens/start-stream-token/README.md +0 -11
  360. package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +0 -147
  361. package/docs/core/tokens/start-xref-token/README.md +0 -11
  362. package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +0 -115
  363. package/docs/core/tokens/stream-chunk-token/README.md +0 -11
  364. package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +0 -121
  365. package/docs/core/tokens/string-token/README.md +0 -11
  366. package/docs/core/tokens/string-token/classes/PdfStringToken.md +0 -127
  367. package/docs/core/tokens/token/README.md +0 -11
  368. package/docs/core/tokens/token/classes/PdfToken.md +0 -116
  369. package/docs/core/tokens/trailer-token/README.md +0 -11
  370. package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +0 -127
  371. package/docs/core/tokens/whitespace-token/README.md +0 -11
  372. package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +0 -161
  373. package/docs/core/tokens/xref-table-entry-token/README.md +0 -11
  374. package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +0 -157
  375. package/docs/core/tokens/xref-table-section-start-token/README.md +0 -11
  376. package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +0 -137
  377. package/docs/core/tokens/xref-table-start-token/README.md +0 -11
  378. package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +0 -127
  379. package/docs/crypto/ciphers/aes128/README.md +0 -11
  380. package/docs/crypto/ciphers/aes128/functions/aes128.md +0 -39
  381. package/docs/crypto/ciphers/aes256/README.md +0 -11
  382. package/docs/crypto/ciphers/aes256/functions/aes256.md +0 -35
  383. package/docs/crypto/ciphers/rc4/README.md +0 -11
  384. package/docs/crypto/ciphers/rc4/functions/rc4.md +0 -35
  385. package/docs/crypto/constants/README.md +0 -11
  386. package/docs/crypto/constants/variables/DEFAULT_PADDING.md +0 -13
  387. package/docs/crypto/key-derivation/key-derivation/README.md +0 -13
  388. package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +0 -57
  389. package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +0 -50
  390. package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +0 -33
  391. package/docs/crypto/key-derivation/key-derivation-aes256/README.md +0 -13
  392. package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +0 -45
  393. package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +0 -66
  394. package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +0 -52
  395. package/docs/crypto/key-gen/key-gen-aes256/README.md +0 -12
  396. package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +0 -44
  397. package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +0 -38
  398. package/docs/crypto/key-gen/key-gen-rc4-128/README.md +0 -13
  399. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +0 -38
  400. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +0 -62
  401. package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +0 -38
  402. package/docs/crypto/key-gen/key-gen-rc4-40/README.md +0 -14
  403. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +0 -49
  404. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +0 -38
  405. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +0 -50
  406. package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +0 -38
  407. package/docs/crypto/types/README.md +0 -11
  408. package/docs/crypto/types/interfaces/Cipher.md +0 -39
  409. package/docs/crypto/utils/README.md +0 -13
  410. package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +0 -31
  411. package/docs/crypto/utils/functions/padPassword.md +0 -33
  412. package/docs/crypto/utils/functions/removePdfPasswordPadding.md +0 -32
  413. package/docs/filters/ascii85/README.md +0 -11
  414. package/docs/filters/ascii85/functions/ascii85.md +0 -27
  415. package/docs/filters/asciihex/README.md +0 -11
  416. package/docs/filters/asciihex/functions/asciiHex.md +0 -27
  417. package/docs/filters/flate/README.md +0 -11
  418. package/docs/filters/flate/functions/flate.md +0 -26
  419. package/docs/filters/lzw/README.md +0 -11
  420. package/docs/filters/lzw/functions/lzw.md +0 -27
  421. package/docs/filters/pass-through/README.md +0 -11
  422. package/docs/filters/pass-through/functions/passthroughFilter.md +0 -25
  423. package/docs/filters/runlength/README.md +0 -11
  424. package/docs/filters/runlength/functions/runLength.md +0 -27
  425. package/docs/filters/types/README.md +0 -19
  426. package/docs/filters/types/interfaces/PdfFilter.md +0 -39
  427. package/docs/filters/types/type-aliases/PdfStreamFilterType.md +0 -9
  428. package/docs/filters/types/variables/PDF_FILTER_TYPES.md +0 -51
  429. package/docs/index/README.md +0 -235
  430. package/docs/pdf/README.md +0 -31
  431. package/docs/pdf/errors/README.md +0 -11
  432. package/docs/pdf/errors/classes/FoundCompressedObjectError.md +0 -56
  433. package/docs/pdf/pdf-document/README.md +0 -11
  434. package/docs/pdf/pdf-document/classes/PdfDocument.md +0 -876
  435. package/docs/pdf/pdf-reader/README.md +0 -11
  436. package/docs/pdf/pdf-reader/classes/PdfReader.md +0 -82
  437. package/docs/pdf/pdf-revision/README.md +0 -11
  438. package/docs/pdf/pdf-revision/classes/PdfRevision.md +0 -508
  439. package/docs/pdf/pdf-xref-lookup/README.md +0 -11
  440. package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +0 -421
  441. package/docs/security/crypt-filters/aesv2/README.md +0 -11
  442. package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +0 -274
  443. package/docs/security/crypt-filters/aesv3/README.md +0 -11
  444. package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +0 -275
  445. package/docs/security/crypt-filters/base/README.md +0 -15
  446. package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +0 -221
  447. package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +0 -43
  448. package/docs/security/crypt-filters/identity/README.md +0 -11
  449. package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +0 -249
  450. package/docs/security/crypt-filters/v2/README.md +0 -11
  451. package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +0 -279
  452. package/docs/security/handlers/base/README.md +0 -17
  453. package/docs/security/handlers/base/classes/PdfSecurityHandler.md +0 -384
  454. package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +0 -694
  455. package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +0 -27
  456. package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +0 -43
  457. package/docs/security/handlers/pubSec/README.md +0 -11
  458. package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +0 -503
  459. package/docs/security/handlers/utils/README.md +0 -14
  460. package/docs/security/handlers/utils/functions/createFromDictionary.md +0 -56
  461. package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +0 -40
  462. package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +0 -55
  463. package/docs/security/handlers/utils/functions/getCryptFilter.md +0 -35
  464. package/docs/security/handlers/v1/README.md +0 -11
  465. package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +0 -779
  466. package/docs/security/handlers/v2/README.md +0 -11
  467. package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +0 -783
  468. package/docs/security/handlers/v4/README.md +0 -11
  469. package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +0 -907
  470. package/docs/security/handlers/v5/README.md +0 -11
  471. package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +0 -926
  472. package/docs/security/types/README.md +0 -19
  473. package/docs/security/types/type-aliases/CryptFilterType.md +0 -15
  474. package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +0 -12
  475. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +0 -11
  476. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +0 -17
  477. package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +0 -13
  478. package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +0 -11
  479. package/docs/security/types/type-aliases/PdfEncryptionOptions.md +0 -90
  480. package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +0 -24
  481. package/docs/security/types/type-aliases/PdfId.md +0 -13
  482. package/docs/signing/README.md +0 -127
  483. package/docs/signing/document-security-store/README.md +0 -19
  484. package/docs/signing/document-security-store/classes/PdfCertObject.md +0 -443
  485. package/docs/signing/document-security-store/classes/PdfCrlObject.md +0 -443
  486. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +0 -416
  487. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +0 -563
  488. package/docs/signing/document-security-store/classes/PdfOcspObject.md +0 -443
  489. package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +0 -12
  490. package/docs/signing/signatures/README.md +0 -55
  491. package/docs/signing/signatures/adbe-pkcs7-detached/README.md +0 -11
  492. package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +0 -669
  493. package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +0 -11
  494. package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +0 -667
  495. package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +0 -11
  496. package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +0 -651
  497. package/docs/signing/signatures/base/README.md +0 -16
  498. package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +0 -420
  499. package/docs/signing/signatures/base/classes/PdfSignatureObject.md +0 -584
  500. package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +0 -51
  501. package/docs/signing/signatures/etsi-cades-detached/README.md +0 -11
  502. package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +0 -693
  503. package/docs/signing/signatures/etsi-rfc3161/README.md +0 -11
  504. package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +0 -614
  505. package/docs/signing/signer/README.md +0 -11
  506. package/docs/signing/signer/classes/PdfSigner.md +0 -58
  507. package/docs/signing/types/README.md +0 -16
  508. package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +0 -95
  509. package/docs/signing/types/type-aliases/PdfSignatureSubType.md +0 -17
  510. package/docs/signing/types/type-aliases/PdfSignatureType.md +0 -14
  511. package/docs/signing/types/type-aliases/RevocationInfo.md +0 -43
  512. package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +0 -35
  513. package/docs/signing/types/type-aliases/TimeStampAuthority.md +0 -35
  514. package/docs/signing/utils/README.md +0 -11
  515. package/docs/signing/utils/functions/fetchRevocationInfo.md +0 -70
  516. package/docs/types/README.md +0 -21
  517. package/docs/types/type-aliases/ByteArray.md +0 -9
  518. package/docs/types/type-aliases/ChangeType.md +0 -9
  519. package/docs/types/type-aliases/DecodeParms.md +0 -33
  520. package/docs/types/type-aliases/HashAlgorithm.md +0 -9
  521. package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +0 -9
  522. package/docs/types/type-aliases/PdfPermissions.md +0 -63
  523. package/docs/types/type-aliases/PdfVersion.md +0 -9
  524. package/docs/types/variables/PERMISSION_FLAGS.md +0 -9
  525. package/docs/utils/IterableReadableStream/README.md +0 -11
  526. package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +0 -103
  527. package/docs/utils/algos/README.md +0 -28
  528. package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +0 -43
  529. package/docs/utils/algos/functions/aes128cbcDecrypt.md +0 -47
  530. package/docs/utils/algos/functions/aes128cbcEncrypt.md +0 -47
  531. package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +0 -43
  532. package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +0 -43
  533. package/docs/utils/algos/functions/aes256cbcDecrypt.md +0 -43
  534. package/docs/utils/algos/functions/aes256cbcEncrypt.md +0 -43
  535. package/docs/utils/algos/functions/aes256ecbDecrypt.md +0 -41
  536. package/docs/utils/algos/functions/aes256ecbEncrypt.md +0 -41
  537. package/docs/utils/algos/functions/deflateData.md +0 -31
  538. package/docs/utils/algos/functions/getRandomBytes.md +0 -35
  539. package/docs/utils/algos/functions/hash.md +0 -41
  540. package/docs/utils/algos/functions/inflateData.md +0 -35
  541. package/docs/utils/algos/functions/md5.md +0 -31
  542. package/docs/utils/algos/functions/sha1.md +0 -31
  543. package/docs/utils/algos/functions/sha256.md +0 -31
  544. package/docs/utils/algos/functions/sha384.md +0 -31
  545. package/docs/utils/algos/functions/sha512.md +0 -31
  546. package/docs/utils/assert/README.md +0 -12
  547. package/docs/utils/assert/functions/assert.md +0 -39
  548. package/docs/utils/assert/functions/assertIfDefined.md +0 -46
  549. package/docs/utils/bytesToHex/README.md +0 -11
  550. package/docs/utils/bytesToHex/functions/bytesToHex.md +0 -31
  551. package/docs/utils/bytesToHexBytes/README.md +0 -11
  552. package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +0 -32
  553. package/docs/utils/bytesToString/README.md +0 -11
  554. package/docs/utils/bytesToString/functions/bytesToString.md +0 -31
  555. package/docs/utils/concatUint8Arrays/README.md +0 -11
  556. package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +0 -31
  557. package/docs/utils/escapeString/README.md +0 -11
  558. package/docs/utils/escapeString/functions/escapeString.md +0 -32
  559. package/docs/utils/hexBytesToBytes/README.md +0 -11
  560. package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +0 -33
  561. package/docs/utils/hexBytesToString/README.md +0 -11
  562. package/docs/utils/hexBytesToString/functions/hexBytesToString.md +0 -31
  563. package/docs/utils/hexToBytes/README.md +0 -11
  564. package/docs/utils/hexToBytes/functions/hexToBytes.md +0 -31
  565. package/docs/utils/padBytes/README.md +0 -11
  566. package/docs/utils/padBytes/functions/padBytes.md +0 -41
  567. package/docs/utils/predictors/README.md +0 -11
  568. package/docs/utils/predictors/classes/Predictor.md +0 -306
  569. package/docs/utils/replaceInBuffer/README.md +0 -11
  570. package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +0 -65
  571. package/docs/utils/stringToBytes/README.md +0 -11
  572. package/docs/utils/stringToBytes/functions/stringToBytes.md +0 -32
  573. package/docs/utils/stringToHexBytes/README.md +0 -11
  574. package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +0 -33
  575. package/docs/utils/unescapeString/README.md +0 -11
  576. package/docs/utils/unescapeString/functions/unescapeString.md +0 -34
  577. package/examples/001-create-pdf.ts +0 -112
  578. package/examples/002-create-encrypted-pdf.ts +0 -121
  579. package/examples/003-sign-pdf.ts +0 -347
  580. package/examples/004-incremental-update.ts +0 -206
  581. package/examples/005-modify-acroform.ts +0 -374
  582. package/examples/006-tokeniser-example.ts +0 -131
  583. package/examples/007-decoder-example.ts +0 -197
  584. package/packages/pdf-lite/README.md +0 -3
  585. package/packages/pdf-lite/node_modules/.bin/playwright +0 -16
  586. package/packages/pdf-lite/node_modules/.bin/tsc +0 -16
  587. package/packages/pdf-lite/node_modules/.bin/tsserver +0 -16
  588. package/packages/pdf-lite/node_modules/.bin/vitest +0 -16
  589. package/packages/pdf-lite/package.json +0 -68
  590. package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -41
  591. package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -290
  592. package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -70
  593. package/packages/pdf-lite/src/core/decoder.ts +0 -454
  594. package/packages/pdf-lite/src/core/index.ts +0 -2
  595. package/packages/pdf-lite/src/core/objects/pdf-array.ts +0 -54
  596. package/packages/pdf-lite/src/core/objects/pdf-boolean.ts +0 -19
  597. package/packages/pdf-lite/src/core/objects/pdf-comment.ts +0 -50
  598. package/packages/pdf-lite/src/core/objects/pdf-date.ts +0 -74
  599. package/packages/pdf-lite/src/core/objects/pdf-dictionary.ts +0 -171
  600. package/packages/pdf-lite/src/core/objects/pdf-hexadecimal.ts +0 -54
  601. package/packages/pdf-lite/src/core/objects/pdf-indirect-object.ts +0 -137
  602. package/packages/pdf-lite/src/core/objects/pdf-name.ts +0 -19
  603. package/packages/pdf-lite/src/core/objects/pdf-null.ts +0 -15
  604. package/packages/pdf-lite/src/core/objects/pdf-number.ts +0 -98
  605. package/packages/pdf-lite/src/core/objects/pdf-object-reference.ts +0 -30
  606. package/packages/pdf-lite/src/core/objects/pdf-object.ts +0 -107
  607. package/packages/pdf-lite/src/core/objects/pdf-start-xref.ts +0 -39
  608. package/packages/pdf-lite/src/core/objects/pdf-stream.ts +0 -687
  609. package/packages/pdf-lite/src/core/objects/pdf-string.ts +0 -38
  610. package/packages/pdf-lite/src/core/objects/pdf-trailer.ts +0 -57
  611. package/packages/pdf-lite/src/core/objects/pdf-xref-table.ts +0 -264
  612. package/packages/pdf-lite/src/core/streams/object-stream.ts +0 -20
  613. package/packages/pdf-lite/src/core/tokeniser.ts +0 -687
  614. package/packages/pdf-lite/src/core/tokens/boolean-token.ts +0 -20
  615. package/packages/pdf-lite/src/core/tokens/byte-offset-token.ts +0 -20
  616. package/packages/pdf-lite/src/core/tokens/comment-token.ts +0 -32
  617. package/packages/pdf-lite/src/core/tokens/end-array-token.ts +0 -10
  618. package/packages/pdf-lite/src/core/tokens/end-dictionary-token.ts +0 -10
  619. package/packages/pdf-lite/src/core/tokens/end-object-token.ts +0 -10
  620. package/packages/pdf-lite/src/core/tokens/end-stream-token.ts +0 -11
  621. package/packages/pdf-lite/src/core/tokens/hexadecimal-token.ts +0 -22
  622. package/packages/pdf-lite/src/core/tokens/name-token.ts +0 -19
  623. package/packages/pdf-lite/src/core/tokens/null-token.ts +0 -9
  624. package/packages/pdf-lite/src/core/tokens/number-token.ts +0 -164
  625. package/packages/pdf-lite/src/core/tokens/object-reference-token.ts +0 -24
  626. package/packages/pdf-lite/src/core/tokens/start-array-token.ts +0 -10
  627. package/packages/pdf-lite/src/core/tokens/start-dictionary-token.ts +0 -10
  628. package/packages/pdf-lite/src/core/tokens/start-object-token.ts +0 -28
  629. package/packages/pdf-lite/src/core/tokens/start-stream-token.ts +0 -52
  630. package/packages/pdf-lite/src/core/tokens/start-xref-token.ts +0 -10
  631. package/packages/pdf-lite/src/core/tokens/stream-chunk-token.ts +0 -8
  632. package/packages/pdf-lite/src/core/tokens/string-token.ts +0 -17
  633. package/packages/pdf-lite/src/core/tokens/token.ts +0 -43
  634. package/packages/pdf-lite/src/core/tokens/trailer-token.ts +0 -12
  635. package/packages/pdf-lite/src/core/tokens/whitespace-token.ts +0 -43
  636. package/packages/pdf-lite/src/core/tokens/xref-table-entry-token.ts +0 -65
  637. package/packages/pdf-lite/src/core/tokens/xref-table-section-start-token.ts +0 -31
  638. package/packages/pdf-lite/src/core/tokens/xref-table-start-token.ts +0 -13
  639. package/packages/pdf-lite/src/crypto/key-derivation/key-derivation-aes256.ts +0 -213
  640. package/packages/pdf-lite/src/crypto/types.ts +0 -6
  641. package/packages/pdf-lite/src/filters/lzw.ts +0 -144
  642. package/packages/pdf-lite/src/index.ts +0 -4
  643. package/packages/pdf-lite/src/pdf/index.ts +0 -4
  644. package/packages/pdf-lite/src/pdf/pdf-xref-lookup.ts +0 -527
  645. package/packages/pdf-lite/src/security/handlers/base.ts +0 -625
  646. package/packages/pdf-lite/src/security/handlers/pubSec.ts +0 -413
  647. package/packages/pdf-lite/src/security/handlers/utils.ts +0 -304
  648. package/packages/pdf-lite/src/security/handlers/v1.ts +0 -225
  649. package/packages/pdf-lite/src/security/handlers/v4.ts +0 -379
  650. package/packages/pdf-lite/src/security/handlers/v5.ts +0 -298
  651. package/packages/pdf-lite/src/signing/document-security-store.ts +0 -224
  652. package/packages/pdf-lite/src/signing/index.ts +0 -3
  653. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-detached.ts +0 -154
  654. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-sha1.ts +0 -161
  655. package/packages/pdf-lite/src/signing/signatures/adbe-x509-rsa-sha1.ts +0 -106
  656. package/packages/pdf-lite/src/signing/signatures/base.ts +0 -229
  657. package/packages/pdf-lite/src/signing/signatures/etsi-cades-detached.ts +0 -229
  658. package/packages/pdf-lite/src/signing/signatures/index.ts +0 -6
  659. package/packages/pdf-lite/src/signing/signer.ts +0 -120
  660. package/packages/pdf-lite/src/types.ts +0 -44
  661. package/packages/pdf-lite/src/utils/escapeString.ts +0 -49
  662. package/packages/pdf-lite/src/utils/unescapeString.ts +0 -123
  663. package/packages/pdf-lite/test/acceptance/__snapshots__/versions.node.test.ts.snap +0 -60766
  664. package/packages/pdf-lite/test/acceptance/fixtures/1.3/basic.pdf +0 -0
  665. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-128.pdf +0 -0
  666. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-256.pdf +0 -0
  667. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-128.pdf +0 -0
  668. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-40.pdf +0 -0
  669. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic.pdf +0 -0
  670. package/packages/pdf-lite/test/acceptance/fixtures/1.5/basic.pdf +0 -0
  671. package/packages/pdf-lite/test/acceptance/fixtures/1.6/basic.pdf +0 -0
  672. package/packages/pdf-lite/test/acceptance/fixtures/1.7/basic.pdf +0 -0
  673. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-128.pdf +0 -43
  674. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-256.pdf +0 -43
  675. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-128.pdf +0 -43
  676. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-40.pdf +0 -44
  677. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic.pdf +0 -79
  678. package/packages/pdf-lite/test/acceptance/versions.node.test.ts +0 -41
  679. package/packages/pdf-lite/test/unit/__snapshots__/decoder.node.test.ts.snap +0 -86947
  680. package/packages/pdf-lite/test/unit/__snapshots__/tokeniser.node.test.ts.snap +0 -131829
  681. package/packages/pdf-lite/test/unit/ciphers.test.ts +0 -61
  682. package/packages/pdf-lite/test/unit/decoder.node.test.ts +0 -21
  683. package/packages/pdf-lite/test/unit/decoder.test.ts +0 -567
  684. package/packages/pdf-lite/test/unit/filters.test.ts +0 -67
  685. package/packages/pdf-lite/test/unit/fixtures/basic.pdf +0 -0
  686. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-128.pdf +0 -0
  687. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-256.pdf +0 -0
  688. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-128.pdf +0 -0
  689. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-40.pdf +0 -43
  690. package/packages/pdf-lite/test/unit/fixtures/protectedAdobeLivecycle.pdf +0 -0
  691. package/packages/pdf-lite/test/unit/fixtures/rsa-2048/index.ts +0 -187
  692. package/packages/pdf-lite/test/unit/fixtures/template.pdf +0 -0
  693. package/packages/pdf-lite/test/unit/incremental-update.test.ts +0 -0
  694. package/packages/pdf-lite/test/unit/objects.test.ts +0 -0
  695. package/packages/pdf-lite/test/unit/pdf-document-signing.test.ts +0 -0
  696. package/packages/pdf-lite/test/unit/pdf-revision.test.ts +0 -195
  697. package/packages/pdf-lite/test/unit/pdf.browser.test.ts +0 -0
  698. package/packages/pdf-lite/test/unit/predictors.test.ts +0 -226
  699. package/packages/pdf-lite/test/unit/ref.test.ts +0 -158
  700. package/packages/pdf-lite/test/unit/security-handlers.test.ts +0 -645
  701. package/packages/pdf-lite/test/unit/serializer.test.ts +0 -81
  702. package/packages/pdf-lite/test/unit/signature-objects.test.ts +0 -814
  703. package/packages/pdf-lite/test/unit/string-escaping.test.ts +0 -84
  704. package/packages/pdf-lite/test/unit/tokeniser.node.test.ts +0 -38
  705. package/packages/pdf-lite/test/unit/tokeniser.test.ts +0 -1213
  706. package/packages/pdf-lite/test/unit/utils.test.ts +0 -248
  707. package/packages/pdf-lite/test/unit/xref-lookup.test.ts +0 -72
  708. package/packages/pdf-lite/tsconfig.json +0 -4
  709. package/packages/pdf-lite/tsconfig.prod.json +0 -8
  710. package/packages/pdf-lite/typedoc.json +0 -14
  711. package/packages/pdf-lite/vitest.config.ts +0 -43
  712. package/pnpm-workspace.yaml +0 -2
  713. package/renovate.json +0 -34
  714. package/scripts/build-examples.ts +0 -30
  715. package/scripts/bump-version.sh +0 -56
  716. package/scripts/gen-html-docs.sh +0 -21
  717. package/scripts/gen-md-docs.sh +0 -15
  718. package/scripts/prepare-release.sh +0 -33
  719. package/tsconfig.json +0 -22
  720. package/tsconfig.prod.json +0 -12
  721. package/typedoc.json +0 -34
@@ -0,0 +1,98 @@
1
+ import { IncrementalParser } from './incremental-parser.js';
2
+ import { PdfObject } from './objects/pdf-object.js';
3
+ import { PdfToken } from './tokens/token.js';
4
+ import { Parser } from './parser.js';
5
+ import { ByteArray } from '../types.js';
6
+ /**
7
+ * Type alias for a parser that converts bytes to PDF tokens.
8
+ */
9
+ export type PdfTokeniser = Parser<number, PdfToken>;
10
+ /**
11
+ * Tokenizes a byte stream into PDF tokens.
12
+ * Handles all PDF syntax including objects, streams, and xref tables.
13
+ */
14
+ export declare class PdfByteStreamTokeniser extends IncrementalParser<number, PdfToken> {
15
+ private inStream;
16
+ private inXrefTable;
17
+ private xrefEntryCount;
18
+ private lastSectionStartObjectNumber;
19
+ private streamChunkSizeBytes;
20
+ /**
21
+ * Creates a new byte stream tokenizer.
22
+ *
23
+ * @param options - Configuration options
24
+ * @param options.streamChunkSizeBytes - Size of stream chunks (default: 1024)
25
+ */
26
+ constructor(options?: {
27
+ streamChunkSizeBytes?: number;
28
+ });
29
+ /**
30
+ * Feeds a byte array into the tokenizer.
31
+ *
32
+ * @param bytes - The bytes to process
33
+ */
34
+ feedBytes(bytes: ByteArray): void;
35
+ private readValue;
36
+ private nextCommentToken;
37
+ private nextWhitespaceToken;
38
+ private nextStartDictionaryToken;
39
+ private nextNameToken;
40
+ private nextDictionaryEndToken;
41
+ private nextHexadecimalToken;
42
+ private nextNumberToken;
43
+ private nextObjectReferenceToken;
44
+ private nextStartObjectToken;
45
+ private nextStartArrayToken;
46
+ private nextEndArrayToken;
47
+ private nextStringToken;
48
+ private nextEndObjectToken;
49
+ private nextTrueToken;
50
+ private nextFalseToken;
51
+ private nextNullToken;
52
+ private nextStartStreamToken;
53
+ private nextStreamChunkToken;
54
+ private nextEndStreamToken;
55
+ private nextStartXRefToken;
56
+ private nextTrailerToken;
57
+ private nextXRefTableStartToken;
58
+ private nextXRefTableSectionStartToken;
59
+ private nextXRefTableEntryToken;
60
+ private nextToken;
61
+ protected parse(): PdfToken;
62
+ private static isWhitespace;
63
+ private static isNewLine;
64
+ private static isDigit;
65
+ private static isNameEnd;
66
+ private static isOctet;
67
+ }
68
+ /**
69
+ * Converts a PDF object to its token representation.
70
+ *
71
+ * @param object - The PDF object to tokenize
72
+ * @returns A generator yielding the object's tokens
73
+ */
74
+ export declare function objectToTokens(object: PdfObject): Generator<PdfToken>;
75
+ /**
76
+ * Creates a function that converts a stream of PDF objects to tokens.
77
+ *
78
+ * @returns A generator function that yields tokens from PDF objects
79
+ */
80
+ export declare function pdfObjectStreamTokeniser(): (objects: Iterable<PdfObject>) => Generator<PdfToken>;
81
+ /**
82
+ * Tokenizes PDF objects into a stream of PDF tokens.
83
+ */
84
+ export declare class PdfObjectTokeniser extends Parser<PdfObject, PdfToken> {
85
+ private buffer;
86
+ /**
87
+ * Feeds PDF objects into the tokenizer buffer.
88
+ *
89
+ * @param input - PDF objects to tokenize
90
+ */
91
+ feed(...input: PdfObject[]): void;
92
+ /**
93
+ * Generates tokens from the buffered PDF objects.
94
+ *
95
+ * @returns A generator yielding PDF tokens
96
+ */
97
+ nextItems(): Generator<PdfToken>;
98
+ }
@@ -0,0 +1,552 @@
1
+ import { assert } from '../utils/assert.js';
2
+ import { bytesToString } from '../utils/bytesToString.js';
3
+ import { IncrementalParser } from './incremental-parser.js';
4
+ import { PdfBooleanToken } from './tokens/boolean-token.js';
5
+ import { PdfCommentToken } from './tokens/comment-token.js';
6
+ import { PdfEndArrayToken } from './tokens/end-array-token.js';
7
+ import { PdfEndDictionaryToken } from './tokens/end-dictionary-token.js';
8
+ import { PdfEndObjectToken } from './tokens/end-object-token.js';
9
+ import { PdfEndStreamToken } from './tokens/end-stream-token.js';
10
+ import { PdfHexadecimalToken } from './tokens/hexadecimal-token.js';
11
+ import { PdfNameToken } from './tokens/name-token.js';
12
+ import { PdfNullToken } from './tokens/null-token.js';
13
+ import { PdfNumberToken } from './tokens/number-token.js';
14
+ import { PdfObjectReferenceToken } from './tokens/object-reference-token.js';
15
+ import { PdfStartArrayToken } from './tokens/start-array-token.js';
16
+ import { PdfStartDictionaryToken } from './tokens/start-dictionary-token.js';
17
+ import { PdfStartObjectToken } from './tokens/start-object-token.js';
18
+ import { PdfStartStreamToken } from './tokens/start-stream-token.js';
19
+ import { PdfStartXRefToken } from './tokens/start-xref-token.js';
20
+ import { PdfStreamChunkToken } from './tokens/stream-chunk-token.js';
21
+ import { PdfStringToken } from './tokens/string-token.js';
22
+ import { PdfTrailerToken } from './tokens/trailer-token.js';
23
+ import { PdfWhitespaceToken } from './tokens/whitespace-token.js';
24
+ import { PdfXRefTableEntryToken } from './tokens/xref-table-entry-token.js';
25
+ import { PdfXRefTableSectionStartToken } from './tokens/xref-table-section-start-token.js';
26
+ import { PdfXRefTableStartToken } from './tokens/xref-table-start-token.js';
27
+ import { Parser } from './parser.js';
28
+ import { concatUint8Arrays } from '../utils/concatUint8Arrays.js';
29
+ import { stringToBytes } from '../utils/stringToBytes.js';
30
+ const ByteMap = {
31
+ LEFT_PARENTHESIS: 0x28, // (
32
+ RIGHT_PARENTHESIS: 0x29, // )
33
+ LEFT_SQUARE_BRACKET: 0x5b, // [
34
+ RIGHT_SQUARE_BRACKET: 0x5d, // ]
35
+ LEFT_ANGLE_BRACKET: 0x3c, // <
36
+ RIGHT_ANGLE_BRACKET: 0x3e, // >
37
+ SLASH: 0x2f, // /
38
+ PERCENT: 0x25, // %
39
+ s: 0x73, // s
40
+ R: 0x52, // R
41
+ o: 0x6f, // o
42
+ e: 0x65, // e
43
+ t: 0x74, // t
44
+ f: 0x66, // f
45
+ n: 0x6e, // n
46
+ d: 0x64, // d
47
+ r: 0x72, // r
48
+ u: 0x75, // u
49
+ l: 0x6c, // l
50
+ a: 0x61, // a
51
+ x: 0x78, // x
52
+ b: 0x62, // b
53
+ j: 0x6a, // j
54
+ m: 0x6d, // m
55
+ i: 0x69, // i
56
+ NEW_LINE: 0x0a, // \n
57
+ LINE_FEED: 0x0a, // \n
58
+ MINUS: 0x2d, // -
59
+ BACKSLASH: 0x5c, // \
60
+ SPACE: 0x20, // Space
61
+ TAB: 0x09, // Tab
62
+ DOT: 0x2e, // .
63
+ };
64
+ /**
65
+ * Tokenizes a byte stream into PDF tokens.
66
+ * Handles all PDF syntax including objects, streams, and xref tables.
67
+ */
68
+ export class PdfByteStreamTokeniser extends IncrementalParser {
69
+ inStream = false;
70
+ inXrefTable = false;
71
+ xrefEntryCount = 0;
72
+ lastSectionStartObjectNumber = 0;
73
+ streamChunkSizeBytes;
74
+ /**
75
+ * Creates a new byte stream tokenizer.
76
+ *
77
+ * @param options - Configuration options
78
+ * @param options.streamChunkSizeBytes - Size of stream chunks (default: 1024)
79
+ */
80
+ constructor(options) {
81
+ super();
82
+ this.streamChunkSizeBytes = options?.streamChunkSizeBytes ?? 1024;
83
+ }
84
+ /**
85
+ * Feeds a byte array into the tokenizer.
86
+ *
87
+ * @param bytes - The bytes to process
88
+ */
89
+ feedBytes(bytes) {
90
+ for (const byte of bytes) {
91
+ this.feed(byte);
92
+ }
93
+ }
94
+ readValue() {
95
+ const valueBytes = [];
96
+ let byte = this.peek();
97
+ while (byte !== null &&
98
+ !PdfByteStreamTokeniser.isNewLine(byte) &&
99
+ !PdfByteStreamTokeniser.isNameEnd(byte)) {
100
+ valueBytes.push(byte);
101
+ this.next(); // Consume the byte
102
+ byte = this.peek();
103
+ }
104
+ return new Uint8Array(valueBytes);
105
+ }
106
+ nextCommentToken() {
107
+ this.expect(ByteMap.PERCENT); // Consume the '%'
108
+ const commentBytes = this.readValue();
109
+ return new PdfCommentToken(commentBytes);
110
+ }
111
+ nextWhitespaceToken() {
112
+ const byte = this.next();
113
+ return new PdfWhitespaceToken(byte);
114
+ }
115
+ nextStartDictionaryToken() {
116
+ this.expect(ByteMap.LEFT_ANGLE_BRACKET);
117
+ this.expect(ByteMap.LEFT_ANGLE_BRACKET);
118
+ return new PdfStartDictionaryToken();
119
+ }
120
+ nextNameToken() {
121
+ this.expect(ByteMap.SLASH);
122
+ const nameBytes = [];
123
+ let byte = this.peek();
124
+ while (byte !== null &&
125
+ !PdfByteStreamTokeniser.isNameEnd(byte) &&
126
+ !PdfByteStreamTokeniser.isWhitespace(byte)) {
127
+ nameBytes.push(this.next());
128
+ byte = this.peek();
129
+ }
130
+ return new PdfNameToken(bytesToString(new Uint8Array(nameBytes)));
131
+ }
132
+ nextDictionaryEndToken() {
133
+ this.expect(ByteMap.RIGHT_ANGLE_BRACKET);
134
+ this.expect(ByteMap.RIGHT_ANGLE_BRACKET);
135
+ return new PdfEndDictionaryToken();
136
+ }
137
+ nextHexadecimalToken() {
138
+ this.expect(ByteMap.LEFT_ANGLE_BRACKET);
139
+ const hexBytes = [];
140
+ let byte = this.peek();
141
+ while (byte !== null &&
142
+ byte !== ByteMap.RIGHT_ANGLE_BRACKET &&
143
+ !PdfByteStreamTokeniser.isWhitespace(byte)) {
144
+ hexBytes.push(this.next());
145
+ byte = this.peek();
146
+ }
147
+ this.expect(ByteMap.RIGHT_ANGLE_BRACKET);
148
+ return new PdfHexadecimalToken(new Uint8Array(hexBytes));
149
+ }
150
+ nextNumberToken() {
151
+ const numberBytes = [];
152
+ let byte = this.peek();
153
+ while (PdfByteStreamTokeniser.isDigit(byte)) {
154
+ numberBytes.push(this.next());
155
+ byte = this.peek();
156
+ }
157
+ return new PdfNumberToken({
158
+ value: new Uint8Array(numberBytes),
159
+ });
160
+ }
161
+ nextObjectReferenceToken() {
162
+ const objectNumberToken = this.nextNumberToken();
163
+ this.expect(ByteMap.SPACE);
164
+ const generationNumberToken = this.nextNumberToken();
165
+ this.expect(ByteMap.SPACE);
166
+ this.expect(ByteMap.R);
167
+ return new PdfObjectReferenceToken(objectNumberToken.value, generationNumberToken.value);
168
+ }
169
+ nextStartObjectToken() {
170
+ const offset = this.inputOffset;
171
+ const objectNumberToken = this.nextNumberToken();
172
+ this.expect(ByteMap.SPACE);
173
+ const generationNumberToken = this.nextNumberToken();
174
+ this.expect(ByteMap.SPACE);
175
+ this.expect(ByteMap.o);
176
+ this.expect(ByteMap.b);
177
+ this.expect(ByteMap.j);
178
+ return new PdfStartObjectToken(objectNumberToken.value, generationNumberToken.value, offset);
179
+ }
180
+ nextStartArrayToken() {
181
+ this.expect(ByteMap.LEFT_SQUARE_BRACKET);
182
+ return new PdfStartArrayToken();
183
+ }
184
+ nextEndArrayToken() {
185
+ this.expect(ByteMap.RIGHT_SQUARE_BRACKET);
186
+ return new PdfEndArrayToken();
187
+ }
188
+ nextStringToken() {
189
+ this.expect(ByteMap.LEFT_PARENTHESIS);
190
+ const stringBytes = [];
191
+ let nesting = 1;
192
+ let inEscape = false;
193
+ while (inEscape || nesting > 0) {
194
+ const byte = this.next();
195
+ if (byte === null) {
196
+ throw new Error('Unexpected end of input in string token');
197
+ }
198
+ if (byte === ByteMap.LEFT_PARENTHESIS) {
199
+ nesting++;
200
+ }
201
+ else if (byte === ByteMap.RIGHT_PARENTHESIS) {
202
+ nesting--;
203
+ if (nesting === 0) {
204
+ break;
205
+ }
206
+ }
207
+ else if (byte === ByteMap.BACKSLASH || inEscape) {
208
+ inEscape = true;
209
+ const next = this.next();
210
+ if (next === null) {
211
+ throw new Error('Unexpected end of input in string token');
212
+ }
213
+ switch (next) {
214
+ case ByteMap.n:
215
+ stringBytes.push(0x0a);
216
+ break; // \n
217
+ case ByteMap.r:
218
+ stringBytes.push(0x0d);
219
+ break; // \r
220
+ case ByteMap.t:
221
+ stringBytes.push(0x09);
222
+ break; // \t
223
+ case ByteMap.b:
224
+ stringBytes.push(0x08);
225
+ break; // \b
226
+ case ByteMap.f:
227
+ stringBytes.push(0x0c);
228
+ break; // \f
229
+ case ByteMap.LEFT_PARENTHESIS:
230
+ stringBytes.push(ByteMap.LEFT_PARENTHESIS);
231
+ break; // \(
232
+ case ByteMap.RIGHT_PARENTHESIS:
233
+ stringBytes.push(ByteMap.RIGHT_PARENTHESIS);
234
+ break; // \)
235
+ case ByteMap.BACKSLASH:
236
+ stringBytes.push(ByteMap.BACKSLASH);
237
+ break; // \\
238
+ case 0x0a:
239
+ case 0x0d:
240
+ // Ignore line breaks in the string after a backslash
241
+ break;
242
+ default:
243
+ if (PdfByteStreamTokeniser.isOctet(next)) {
244
+ let octal = String.fromCharCode(next);
245
+ // Octal: up to 3 digits
246
+ const next2 = this.peek();
247
+ if (next2 === null) {
248
+ throw new Error('Unexpected end of input in string token');
249
+ }
250
+ if (PdfByteStreamTokeniser.isOctet(next2)) {
251
+ octal += String.fromCharCode(this.next());
252
+ }
253
+ const next3 = this.peek();
254
+ if (next3 === null) {
255
+ throw new Error('Unexpected end of input in string token');
256
+ }
257
+ if (PdfByteStreamTokeniser.isOctet(next3)) {
258
+ octal += String.fromCharCode(this.next());
259
+ }
260
+ stringBytes.push(parseInt(octal, 8));
261
+ }
262
+ else {
263
+ // If it's not a valid escape sequence, just add the next byte
264
+ stringBytes.push(next);
265
+ }
266
+ break;
267
+ }
268
+ inEscape = false;
269
+ continue;
270
+ }
271
+ stringBytes.push(byte);
272
+ }
273
+ return new PdfStringToken(new Uint8Array(stringBytes));
274
+ }
275
+ nextEndObjectToken() {
276
+ this.expect(ByteMap.e);
277
+ this.expect(ByteMap.n);
278
+ this.expect(ByteMap.d);
279
+ this.expect(ByteMap.o);
280
+ this.expect(ByteMap.b);
281
+ this.expect(ByteMap.j);
282
+ return new PdfEndObjectToken();
283
+ }
284
+ nextTrueToken() {
285
+ this.expect(ByteMap.t);
286
+ this.expect(ByteMap.r);
287
+ this.expect(ByteMap.u);
288
+ this.expect(ByteMap.e);
289
+ return new PdfBooleanToken(true);
290
+ }
291
+ nextFalseToken() {
292
+ this.expect(ByteMap.f);
293
+ this.expect(ByteMap.a);
294
+ this.expect(ByteMap.l);
295
+ this.expect(ByteMap.s);
296
+ this.expect(ByteMap.e);
297
+ return new PdfBooleanToken(false);
298
+ }
299
+ nextNullToken() {
300
+ this.expect(ByteMap.n);
301
+ this.expect(ByteMap.u);
302
+ this.expect(ByteMap.l);
303
+ this.expect(ByteMap.l);
304
+ return new PdfNullToken();
305
+ }
306
+ nextStartStreamToken() {
307
+ this.expect(ByteMap.s);
308
+ this.expect(ByteMap.t);
309
+ this.expect(ByteMap.r);
310
+ this.expect(ByteMap.e);
311
+ this.expect(ByteMap.a);
312
+ this.expect(ByteMap.m);
313
+ const whitespaceBytes = [];
314
+ while (PdfByteStreamTokeniser.isWhitespace(this.peek())) {
315
+ whitespaceBytes.push(this.next());
316
+ }
317
+ this.inStream = true;
318
+ return new PdfStartStreamToken(concatUint8Arrays(stringToBytes('stream'), new Uint8Array(whitespaceBytes)));
319
+ }
320
+ nextStreamChunkToken() {
321
+ if (!this.inStream) {
322
+ throw new Error('Not currently in a stream');
323
+ }
324
+ const chunkBytes = [];
325
+ const isEnd = () => {
326
+ return (this.peek() === ByteMap.e &&
327
+ this.peek(1) === ByteMap.n &&
328
+ this.peek(2) === ByteMap.d &&
329
+ this.peek(3) === ByteMap.s &&
330
+ this.peek(4) === ByteMap.t &&
331
+ this.peek(5) === ByteMap.r &&
332
+ this.peek(6) === ByteMap.e &&
333
+ this.peek(7) === ByteMap.a &&
334
+ this.peek(8) === ByteMap.m);
335
+ };
336
+ if (isEnd()) {
337
+ return this.nextEndStreamToken();
338
+ }
339
+ while (!isEnd() && chunkBytes.length < this.streamChunkSizeBytes) {
340
+ const nexted = this.next();
341
+ chunkBytes.push(nexted);
342
+ }
343
+ return new PdfStreamChunkToken(new Uint8Array(chunkBytes));
344
+ }
345
+ nextEndStreamToken() {
346
+ this.expect(ByteMap.e);
347
+ this.expect(ByteMap.n);
348
+ this.expect(ByteMap.d);
349
+ this.expect(ByteMap.s);
350
+ this.expect(ByteMap.t);
351
+ this.expect(ByteMap.r);
352
+ this.expect(ByteMap.e);
353
+ this.expect(ByteMap.a);
354
+ this.expect(ByteMap.m);
355
+ this.inStream = false;
356
+ return new PdfEndStreamToken();
357
+ }
358
+ nextStartXRefToken() {
359
+ this.expect(ByteMap.s);
360
+ this.expect(ByteMap.t);
361
+ this.expect(ByteMap.a);
362
+ this.expect(ByteMap.r);
363
+ this.expect(ByteMap.t);
364
+ this.expect(ByteMap.x);
365
+ this.expect(ByteMap.r);
366
+ this.expect(ByteMap.e);
367
+ this.expect(ByteMap.f);
368
+ return new PdfStartXRefToken();
369
+ }
370
+ nextTrailerToken() {
371
+ const offset = this.inputOffset;
372
+ this.expect(ByteMap.t);
373
+ this.expect(ByteMap.r);
374
+ this.expect(ByteMap.a);
375
+ this.expect(ByteMap.i);
376
+ this.expect(ByteMap.l);
377
+ this.expect(ByteMap.e);
378
+ this.expect(ByteMap.r);
379
+ this.inXrefTable = false;
380
+ return new PdfTrailerToken(offset);
381
+ }
382
+ nextXRefTableStartToken() {
383
+ const offset = this.inputOffset;
384
+ this.expect(ByteMap.x);
385
+ this.expect(ByteMap.r);
386
+ this.expect(ByteMap.e);
387
+ this.expect(ByteMap.f);
388
+ this.inXrefTable = true;
389
+ this.xrefEntryCount = 0;
390
+ this.lastSectionStartObjectNumber = 0;
391
+ return new PdfXRefTableStartToken(offset);
392
+ }
393
+ nextXRefTableSectionStartToken() {
394
+ const firstObjectNumberToken = this.nextNumberToken();
395
+ this.expect(ByteMap.SPACE);
396
+ const entryCountToken = this.nextNumberToken();
397
+ this.lastSectionStartObjectNumber = firstObjectNumberToken.value;
398
+ this.xrefEntryCount = 0;
399
+ return new PdfXRefTableSectionStartToken(firstObjectNumberToken, entryCountToken);
400
+ }
401
+ nextXRefTableEntryToken() {
402
+ const byteOffsetToken = this.nextNumberToken();
403
+ this.expect(ByteMap.SPACE);
404
+ const generationNumberToken = this.nextNumberToken();
405
+ this.expect(ByteMap.SPACE);
406
+ const inUseByte = this.next();
407
+ if (inUseByte === null) {
408
+ throw new Error('Unexpected end of input in xref entry token');
409
+ }
410
+ assert(inUseByte === ByteMap.n || inUseByte === ByteMap.f);
411
+ const inUse = inUseByte === ByteMap.n;
412
+ return new PdfXRefTableEntryToken(byteOffsetToken, generationNumberToken, this.lastSectionStartObjectNumber + this.xrefEntryCount++, // Increment and use the current count
413
+ inUse);
414
+ }
415
+ nextToken(root = false) {
416
+ const byte = this.peek();
417
+ if (this.inStream) {
418
+ return this.nextStreamChunkToken();
419
+ }
420
+ else if (byte === ByteMap.PERCENT) {
421
+ return this.nextCommentToken();
422
+ }
423
+ else if (PdfByteStreamTokeniser.isWhitespace(byte)) {
424
+ return this.nextWhitespaceToken();
425
+ }
426
+ else if (byte === ByteMap.LEFT_ANGLE_BRACKET) {
427
+ return this.oneOf(this.nextStartDictionaryToken, this.nextHexadecimalToken);
428
+ }
429
+ else if (byte === ByteMap.SLASH) {
430
+ return this.nextNameToken();
431
+ }
432
+ else if (byte === ByteMap.RIGHT_ANGLE_BRACKET) {
433
+ return this.nextDictionaryEndToken();
434
+ }
435
+ else if (PdfByteStreamTokeniser.isDigit(byte)) {
436
+ if (this.inXrefTable) {
437
+ return this.oneOf(this.nextXRefTableEntryToken, this.nextXRefTableSectionStartToken);
438
+ }
439
+ return this.oneOf(this.nextStartObjectToken, this.nextObjectReferenceToken, this.nextNumberToken);
440
+ }
441
+ else if (byte === ByteMap.LEFT_SQUARE_BRACKET) {
442
+ return this.nextStartArrayToken();
443
+ }
444
+ else if (byte === ByteMap.RIGHT_SQUARE_BRACKET) {
445
+ return this.nextEndArrayToken();
446
+ }
447
+ else if (byte === ByteMap.LEFT_PARENTHESIS) {
448
+ return this.nextStringToken();
449
+ }
450
+ else if (byte === ByteMap.e) {
451
+ return this.oneOf(this.nextEndObjectToken, this.nextEndStreamToken);
452
+ }
453
+ else if (byte === ByteMap.t) {
454
+ return this.oneOf(this.nextTrueToken, this.nextTrailerToken);
455
+ }
456
+ else if (byte === ByteMap.f) {
457
+ return this.nextFalseToken();
458
+ }
459
+ else if (byte === ByteMap.n) {
460
+ return this.nextNullToken();
461
+ }
462
+ else if (byte === ByteMap.s) {
463
+ return this.oneOf(this.nextStartStreamToken, this.nextStartXRefToken);
464
+ }
465
+ else if (byte === ByteMap.x) {
466
+ return this.nextXRefTableStartToken();
467
+ }
468
+ else {
469
+ throw new Error(`Unrecognised token starting with byte: ${byte} (root: ${root}) (char: ${String.fromCharCode(byte ?? 0)})`);
470
+ }
471
+ }
472
+ parse() {
473
+ return this.nextToken(true);
474
+ }
475
+ static isWhitespace(byte) {
476
+ return PdfWhitespaceToken.isWhitespaceByte(byte);
477
+ }
478
+ static isNewLine(byte) {
479
+ return byte === ByteMap.NEW_LINE || byte === 0x0d || byte === 0x0c; // \r or \f
480
+ }
481
+ static isDigit(byte) {
482
+ return (byte !== null &&
483
+ ((byte >= 0x30 && byte <= 0x39) ||
484
+ byte === ByteMap.MINUS ||
485
+ byte === ByteMap.DOT)); // 0-9 or 0x2d (minus) or 0x2E (.)
486
+ }
487
+ static isNameEnd(byte) {
488
+ if (byte === null) {
489
+ return false;
490
+ }
491
+ return (byte === ByteMap.SLASH ||
492
+ byte === ByteMap.LEFT_ANGLE_BRACKET ||
493
+ byte === ByteMap.RIGHT_ANGLE_BRACKET ||
494
+ byte === ByteMap.RIGHT_PARENTHESIS ||
495
+ byte === ByteMap.LEFT_PARENTHESIS ||
496
+ byte === ByteMap.LEFT_SQUARE_BRACKET ||
497
+ byte === ByteMap.RIGHT_SQUARE_BRACKET);
498
+ }
499
+ static isOctet(byte) {
500
+ if (byte === null) {
501
+ return false;
502
+ }
503
+ return (byte >= 0x30 && byte <= 0x37 // 0-7
504
+ );
505
+ }
506
+ }
507
+ /**
508
+ * Converts a PDF object to its token representation.
509
+ *
510
+ * @param object - The PDF object to tokenize
511
+ * @returns A generator yielding the object's tokens
512
+ */
513
+ export function* objectToTokens(object) {
514
+ return object.toTokens();
515
+ }
516
+ /**
517
+ * Creates a function that converts a stream of PDF objects to tokens.
518
+ *
519
+ * @returns A generator function that yields tokens from PDF objects
520
+ */
521
+ export function pdfObjectStreamTokeniser() {
522
+ return function* (objects) {
523
+ for (const object of objects) {
524
+ yield* objectToTokens(object);
525
+ }
526
+ };
527
+ }
528
+ /**
529
+ * Tokenizes PDF objects into a stream of PDF tokens.
530
+ */
531
+ export class PdfObjectTokeniser extends Parser {
532
+ buffer = [];
533
+ /**
534
+ * Feeds PDF objects into the tokenizer buffer.
535
+ *
536
+ * @param input - PDF objects to tokenize
537
+ */
538
+ feed(...input) {
539
+ this.buffer.push(...input);
540
+ }
541
+ /**
542
+ * Generates tokens from the buffered PDF objects.
543
+ *
544
+ * @returns A generator yielding PDF tokens
545
+ */
546
+ *nextItems() {
547
+ while (this.buffer.length) {
548
+ const obj = this.buffer.shift();
549
+ yield* obj.toTokens();
550
+ }
551
+ }
552
+ }
@@ -0,0 +1,8 @@
1
+ import { PdfToken } from './token';
2
+ export declare class PdfBooleanToken extends PdfToken {
3
+ static TRUE: PdfBooleanToken;
4
+ static FALSE: PdfBooleanToken;
5
+ value: boolean;
6
+ constructor(value: boolean);
7
+ private static toBytes;
8
+ }
@@ -0,0 +1,15 @@
1
+ import { PdfToken } from './token';
2
+ export class PdfBooleanToken extends PdfToken {
3
+ static TRUE = new PdfBooleanToken(true);
4
+ static FALSE = new PdfBooleanToken(false);
5
+ value;
6
+ constructor(value) {
7
+ super(PdfBooleanToken.toBytes(value));
8
+ this.value = value;
9
+ }
10
+ static toBytes(value) {
11
+ return value
12
+ ? new Uint8Array([0x74, 0x72, 0x75, 0x65])
13
+ : new Uint8Array([0x66, 0x61, 0x6c, 0x73, 0x65]);
14
+ }
15
+ }
@@ -0,0 +1,8 @@
1
+ import { Ref } from '../ref';
2
+ import { PdfToken } from './token';
3
+ export declare class PdfByteOffsetToken extends PdfToken {
4
+ value: Ref<number>;
5
+ constructor(value?: Ref<number>);
6
+ resolve(): number;
7
+ update(offset: number | Ref<number>): void;
8
+ }
@@ -0,0 +1,15 @@
1
+ import { Ref } from '../ref';
2
+ import { PdfToken } from './token';
3
+ export class PdfByteOffsetToken extends PdfToken {
4
+ value;
5
+ constructor(value = new Ref(0)) {
6
+ super(new Uint8Array());
7
+ this.value = value;
8
+ }
9
+ resolve() {
10
+ return this.value.resolve();
11
+ }
12
+ update(offset) {
13
+ this.value.update(offset);
14
+ }
15
+ }