pdf-lite 1.0.1-alpha.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1,687 +0,0 @@
1
- import { assert } from '../utils/assert.js'
2
- import { bytesToString } from '../utils/bytesToString.js'
3
- import { IncrementalParser } from './incremental-parser.js'
4
- import { PdfObject } from './objects/pdf-object.js'
5
- import { PdfToken } from './tokens/token.js'
6
- import { PdfBooleanToken } from './tokens/boolean-token.js'
7
- import { PdfCommentToken } from './tokens/comment-token.js'
8
- import { PdfEndArrayToken } from './tokens/end-array-token.js'
9
- import { PdfEndDictionaryToken } from './tokens/end-dictionary-token.js'
10
- import { PdfEndObjectToken } from './tokens/end-object-token.js'
11
- import { PdfEndStreamToken } from './tokens/end-stream-token.js'
12
- import { PdfHexadecimalToken } from './tokens/hexadecimal-token.js'
13
- import { PdfNameToken } from './tokens/name-token.js'
14
- import { PdfNullToken } from './tokens/null-token.js'
15
- import { PdfNumberToken } from './tokens/number-token.js'
16
- import { PdfObjectReferenceToken } from './tokens/object-reference-token.js'
17
- import { PdfStartArrayToken } from './tokens/start-array-token.js'
18
- import { PdfStartDictionaryToken } from './tokens/start-dictionary-token.js'
19
- import { PdfStartObjectToken } from './tokens/start-object-token.js'
20
- import { PdfStartStreamToken } from './tokens/start-stream-token.js'
21
- import { PdfStartXRefToken } from './tokens/start-xref-token.js'
22
- import { PdfStreamChunkToken } from './tokens/stream-chunk-token.js'
23
- import { PdfStringToken } from './tokens/string-token.js'
24
- import { PdfTrailerToken } from './tokens/trailer-token.js'
25
- import { PdfWhitespaceToken } from './tokens/whitespace-token.js'
26
- import { PdfXRefTableEntryToken } from './tokens/xref-table-entry-token.js'
27
- import { PdfXRefTableSectionStartToken } from './tokens/xref-table-section-start-token.js'
28
- import { PdfXRefTableStartToken } from './tokens/xref-table-start-token.js'
29
- import { Parser } from './parser.js'
30
- import { concatUint8Arrays } from '../utils/concatUint8Arrays.js'
31
- import { stringToBytes } from '../utils/stringToBytes.js'
32
- import { ByteArray } from '../types.js'
33
-
34
- /**
35
- * Type alias for a parser that converts bytes to PDF tokens.
36
- */
37
- export type PdfTokeniser = Parser<number, PdfToken>
38
-
39
- const ByteMap = {
40
- LEFT_PARENTHESIS: 0x28, // (
41
- RIGHT_PARENTHESIS: 0x29, // )
42
- LEFT_SQUARE_BRACKET: 0x5b, // [
43
- RIGHT_SQUARE_BRACKET: 0x5d, // ]
44
- LEFT_ANGLE_BRACKET: 0x3c, // <
45
- RIGHT_ANGLE_BRACKET: 0x3e, // >
46
- SLASH: 0x2f, // /
47
- PERCENT: 0x25, // %
48
- s: 0x73, // s
49
- R: 0x52, // R
50
- o: 0x6f, // o
51
- e: 0x65, // e
52
- t: 0x74, // t
53
- f: 0x66, // f
54
- n: 0x6e, // n
55
- d: 0x64, // d
56
- r: 0x72, // r
57
- u: 0x75, // u
58
- l: 0x6c, // l
59
- a: 0x61, // a
60
- x: 0x78, // x
61
- b: 0x62, // b
62
- j: 0x6a, // j
63
- m: 0x6d, // m
64
- i: 0x69, // i
65
- NEW_LINE: 0x0a, // \n
66
- LINE_FEED: 0x0a, // \n
67
- MINUS: 0x2d, // -
68
- BACKSLASH: 0x5c, // \
69
- SPACE: 0x20, // Space
70
- TAB: 0x09, // Tab
71
- DOT: 0x2e, // .
72
- }
73
-
74
- /**
75
- * Tokenizes a byte stream into PDF tokens.
76
- * Handles all PDF syntax including objects, streams, and xref tables.
77
- */
78
- export class PdfByteStreamTokeniser extends IncrementalParser<
79
- number,
80
- PdfToken
81
- > {
82
- private inStream: boolean = false
83
- private inXrefTable: boolean = false
84
- private xrefEntryCount: number = 0
85
- private lastSectionStartObjectNumber: number = 0
86
- private streamChunkSizeBytes: number
87
-
88
- /**
89
- * Creates a new byte stream tokenizer.
90
- *
91
- * @param options - Configuration options
92
- * @param options.streamChunkSizeBytes - Size of stream chunks (default: 1024)
93
- */
94
- constructor(options?: { streamChunkSizeBytes?: number }) {
95
- super()
96
- this.streamChunkSizeBytes = options?.streamChunkSizeBytes ?? 1024
97
- }
98
-
99
- /**
100
- * Feeds a byte array into the tokenizer.
101
- *
102
- * @param bytes - The bytes to process
103
- */
104
- feedBytes(bytes: ByteArray) {
105
- for (const byte of bytes) {
106
- this.feed(byte)
107
- }
108
- }
109
-
110
- private readValue(): ByteArray {
111
- const valueBytes: number[] = []
112
- let byte = this.peek()
113
- while (
114
- byte !== null &&
115
- !PdfByteStreamTokeniser.isNewLine(byte) &&
116
- !PdfByteStreamTokeniser.isNameEnd(byte)
117
- ) {
118
- valueBytes.push(byte)
119
- this.next() // Consume the byte
120
- byte = this.peek()
121
- }
122
- return new Uint8Array(valueBytes)
123
- }
124
-
125
- private nextCommentToken(): PdfCommentToken {
126
- this.expect(ByteMap.PERCENT) // Consume the '%'
127
- const commentBytes = this.readValue()
128
- return new PdfCommentToken(commentBytes)
129
- }
130
-
131
- private nextWhitespaceToken(): PdfWhitespaceToken {
132
- const byte = this.next()
133
- return new PdfWhitespaceToken(byte)
134
- }
135
-
136
- private nextStartDictionaryToken(): PdfStartDictionaryToken {
137
- this.expect(ByteMap.LEFT_ANGLE_BRACKET)
138
- this.expect(ByteMap.LEFT_ANGLE_BRACKET)
139
- return new PdfStartDictionaryToken()
140
- }
141
-
142
- private nextNameToken(): PdfNameToken {
143
- this.expect(ByteMap.SLASH)
144
- const nameBytes: number[] = []
145
- let byte = this.peek()
146
- while (
147
- byte !== null &&
148
- !PdfByteStreamTokeniser.isNameEnd(byte) &&
149
- !PdfByteStreamTokeniser.isWhitespace(byte)
150
- ) {
151
- nameBytes.push(this.next()!)
152
- byte = this.peek()
153
- }
154
-
155
- return new PdfNameToken(bytesToString(new Uint8Array(nameBytes)))
156
- }
157
-
158
- private nextDictionaryEndToken(): PdfEndDictionaryToken {
159
- this.expect(ByteMap.RIGHT_ANGLE_BRACKET)
160
- this.expect(ByteMap.RIGHT_ANGLE_BRACKET)
161
- return new PdfEndDictionaryToken()
162
- }
163
-
164
- private nextHexadecimalToken(): PdfHexadecimalToken {
165
- this.expect(ByteMap.LEFT_ANGLE_BRACKET)
166
-
167
- const hexBytes: number[] = []
168
- let byte = this.peek()
169
-
170
- while (
171
- byte !== null &&
172
- byte !== ByteMap.RIGHT_ANGLE_BRACKET &&
173
- !PdfByteStreamTokeniser.isWhitespace(byte)
174
- ) {
175
- hexBytes.push(this.next())
176
- byte = this.peek()
177
- }
178
-
179
- this.expect(ByteMap.RIGHT_ANGLE_BRACKET)
180
-
181
- return new PdfHexadecimalToken(new Uint8Array(hexBytes))
182
- }
183
-
184
- private nextNumberToken(): PdfNumberToken {
185
- const numberBytes: number[] = []
186
- let byte = this.peek()
187
-
188
- while (PdfByteStreamTokeniser.isDigit(byte)) {
189
- numberBytes.push(this.next())
190
- byte = this.peek()
191
- }
192
-
193
- return new PdfNumberToken({
194
- value: new Uint8Array(numberBytes),
195
- })
196
- }
197
-
198
- private nextObjectReferenceToken(): PdfObjectReferenceToken {
199
- const objectNumberToken = this.nextNumberToken()
200
- this.expect(ByteMap.SPACE)
201
- const generationNumberToken = this.nextNumberToken()
202
- this.expect(ByteMap.SPACE)
203
- this.expect(ByteMap.R)
204
-
205
- return new PdfObjectReferenceToken(
206
- objectNumberToken.value,
207
- generationNumberToken.value,
208
- )
209
- }
210
-
211
- private nextStartObjectToken(): PdfStartObjectToken {
212
- const offset = this.inputOffset
213
- const objectNumberToken = this.nextNumberToken()
214
- this.expect(ByteMap.SPACE)
215
- const generationNumberToken = this.nextNumberToken()
216
- this.expect(ByteMap.SPACE)
217
- this.expect(ByteMap.o)
218
- this.expect(ByteMap.b)
219
- this.expect(ByteMap.j)
220
-
221
- return new PdfStartObjectToken(
222
- objectNumberToken.value,
223
- generationNumberToken.value,
224
- offset,
225
- )
226
- }
227
-
228
- private nextStartArrayToken(): PdfStartArrayToken {
229
- this.expect(ByteMap.LEFT_SQUARE_BRACKET)
230
- return new PdfStartArrayToken()
231
- }
232
-
233
- private nextEndArrayToken(): PdfEndArrayToken {
234
- this.expect(ByteMap.RIGHT_SQUARE_BRACKET)
235
- return new PdfEndArrayToken()
236
- }
237
-
238
- private nextStringToken(): PdfStringToken {
239
- this.expect(ByteMap.LEFT_PARENTHESIS)
240
-
241
- const stringBytes: number[] = []
242
- let nesting = 1
243
- let inEscape = false
244
-
245
- while (inEscape || nesting > 0) {
246
- const byte = this.next()
247
-
248
- if (byte === null) {
249
- throw new Error('Unexpected end of input in string token')
250
- }
251
-
252
- if (byte === ByteMap.LEFT_PARENTHESIS) {
253
- nesting++
254
- } else if (byte === ByteMap.RIGHT_PARENTHESIS) {
255
- nesting--
256
- if (nesting === 0) {
257
- break
258
- }
259
- } else if (byte === ByteMap.BACKSLASH || inEscape) {
260
- inEscape = true
261
- const next = this.next()
262
-
263
- if (next === null) {
264
- throw new Error('Unexpected end of input in string token')
265
- }
266
-
267
- switch (next) {
268
- case ByteMap.n:
269
- stringBytes.push(0x0a)
270
- break // \n
271
- case ByteMap.r:
272
- stringBytes.push(0x0d)
273
- break // \r
274
- case ByteMap.t:
275
- stringBytes.push(0x09)
276
- break // \t
277
- case ByteMap.b:
278
- stringBytes.push(0x08)
279
- break // \b
280
- case ByteMap.f:
281
- stringBytes.push(0x0c)
282
- break // \f
283
- case ByteMap.LEFT_PARENTHESIS:
284
- stringBytes.push(ByteMap.LEFT_PARENTHESIS)
285
- break // \(
286
- case ByteMap.RIGHT_PARENTHESIS:
287
- stringBytes.push(ByteMap.RIGHT_PARENTHESIS)
288
- break // \)
289
- case ByteMap.BACKSLASH:
290
- stringBytes.push(ByteMap.BACKSLASH)
291
- break // \\
292
- case 0x0a:
293
- case 0x0d:
294
- // Ignore line breaks in the string after a backslash
295
- break
296
- default:
297
- if (PdfByteStreamTokeniser.isOctet(next)) {
298
- let octal = String.fromCharCode(next)
299
- // Octal: up to 3 digits
300
- const next2 = this.peek()
301
- if (next2 === null) {
302
- throw new Error(
303
- 'Unexpected end of input in string token',
304
- )
305
- }
306
-
307
- if (PdfByteStreamTokeniser.isOctet(next2)) {
308
- octal += String.fromCharCode(this.next()!)
309
- }
310
-
311
- const next3 = this.peek()
312
- if (next3 === null) {
313
- throw new Error(
314
- 'Unexpected end of input in string token',
315
- )
316
- }
317
-
318
- if (PdfByteStreamTokeniser.isOctet(next3)) {
319
- octal += String.fromCharCode(this.next()!)
320
- }
321
-
322
- stringBytes.push(parseInt(octal, 8))
323
- } else {
324
- // If it's not a valid escape sequence, just add the next byte
325
- stringBytes.push(next)
326
- }
327
- break
328
- }
329
-
330
- inEscape = false
331
- continue
332
- }
333
-
334
- stringBytes.push(byte)
335
- }
336
-
337
- return new PdfStringToken(new Uint8Array(stringBytes))
338
- }
339
-
340
- private nextEndObjectToken(): PdfEndObjectToken {
341
- this.expect(ByteMap.e)
342
- this.expect(ByteMap.n)
343
- this.expect(ByteMap.d)
344
- this.expect(ByteMap.o)
345
- this.expect(ByteMap.b)
346
- this.expect(ByteMap.j)
347
-
348
- return new PdfEndObjectToken()
349
- }
350
-
351
- private nextTrueToken(): PdfBooleanToken {
352
- this.expect(ByteMap.t)
353
- this.expect(ByteMap.r)
354
- this.expect(ByteMap.u)
355
- this.expect(ByteMap.e)
356
-
357
- return new PdfBooleanToken(true)
358
- }
359
-
360
- private nextFalseToken(): PdfBooleanToken {
361
- this.expect(ByteMap.f)
362
- this.expect(ByteMap.a)
363
- this.expect(ByteMap.l)
364
- this.expect(ByteMap.s)
365
- this.expect(ByteMap.e)
366
-
367
- return new PdfBooleanToken(false)
368
- }
369
-
370
- private nextNullToken(): PdfNullToken {
371
- this.expect(ByteMap.n)
372
- this.expect(ByteMap.u)
373
- this.expect(ByteMap.l)
374
- this.expect(ByteMap.l)
375
-
376
- return new PdfNullToken()
377
- }
378
-
379
- private nextStartStreamToken(): PdfStartStreamToken {
380
- this.expect(ByteMap.s)
381
- this.expect(ByteMap.t)
382
- this.expect(ByteMap.r)
383
- this.expect(ByteMap.e)
384
- this.expect(ByteMap.a)
385
- this.expect(ByteMap.m)
386
-
387
- const whitespaceBytes: number[] = []
388
- while (PdfByteStreamTokeniser.isWhitespace(this.peek())) {
389
- whitespaceBytes.push(this.next())
390
- }
391
-
392
- this.inStream = true
393
-
394
- return new PdfStartStreamToken(
395
- concatUint8Arrays(
396
- stringToBytes('stream'),
397
- new Uint8Array(whitespaceBytes),
398
- ),
399
- )
400
- }
401
-
402
- private nextStreamChunkToken(): PdfStreamChunkToken {
403
- if (!this.inStream) {
404
- throw new Error('Not currently in a stream')
405
- }
406
-
407
- const chunkBytes: number[] = []
408
-
409
- const isEnd = () => {
410
- return (
411
- this.peek() === ByteMap.e &&
412
- this.peek(1) === ByteMap.n &&
413
- this.peek(2) === ByteMap.d &&
414
- this.peek(3) === ByteMap.s &&
415
- this.peek(4) === ByteMap.t &&
416
- this.peek(5) === ByteMap.r &&
417
- this.peek(6) === ByteMap.e &&
418
- this.peek(7) === ByteMap.a &&
419
- this.peek(8) === ByteMap.m
420
- )
421
- }
422
-
423
- if (isEnd()) {
424
- return this.nextEndStreamToken()
425
- }
426
-
427
- while (!isEnd() && chunkBytes.length < this.streamChunkSizeBytes) {
428
- const nexted = this.next()
429
- chunkBytes.push(nexted)
430
- }
431
-
432
- return new PdfStreamChunkToken(new Uint8Array(chunkBytes))
433
- }
434
-
435
- private nextEndStreamToken(): PdfEndStreamToken {
436
- this.expect(ByteMap.e)
437
- this.expect(ByteMap.n)
438
- this.expect(ByteMap.d)
439
- this.expect(ByteMap.s)
440
- this.expect(ByteMap.t)
441
- this.expect(ByteMap.r)
442
- this.expect(ByteMap.e)
443
- this.expect(ByteMap.a)
444
- this.expect(ByteMap.m)
445
-
446
- this.inStream = false
447
-
448
- return new PdfEndStreamToken()
449
- }
450
-
451
- private nextStartXRefToken(): PdfStartXRefToken {
452
- this.expect(ByteMap.s)
453
- this.expect(ByteMap.t)
454
- this.expect(ByteMap.a)
455
- this.expect(ByteMap.r)
456
- this.expect(ByteMap.t)
457
- this.expect(ByteMap.x)
458
- this.expect(ByteMap.r)
459
- this.expect(ByteMap.e)
460
- this.expect(ByteMap.f)
461
-
462
- return new PdfStartXRefToken()
463
- }
464
-
465
- private nextTrailerToken(): PdfTrailerToken {
466
- const offset = this.inputOffset
467
-
468
- this.expect(ByteMap.t)
469
- this.expect(ByteMap.r)
470
- this.expect(ByteMap.a)
471
- this.expect(ByteMap.i)
472
- this.expect(ByteMap.l)
473
- this.expect(ByteMap.e)
474
- this.expect(ByteMap.r)
475
-
476
- this.inXrefTable = false
477
-
478
- return new PdfTrailerToken(offset)
479
- }
480
-
481
- private nextXRefTableStartToken(): PdfXRefTableStartToken {
482
- const offset = this.inputOffset
483
-
484
- this.expect(ByteMap.x)
485
- this.expect(ByteMap.r)
486
- this.expect(ByteMap.e)
487
- this.expect(ByteMap.f)
488
-
489
- this.inXrefTable = true
490
- this.xrefEntryCount = 0
491
- this.lastSectionStartObjectNumber = 0
492
-
493
- return new PdfXRefTableStartToken(offset)
494
- }
495
-
496
- private nextXRefTableSectionStartToken(): PdfXRefTableSectionStartToken {
497
- const firstObjectNumberToken = this.nextNumberToken()
498
- this.expect(ByteMap.SPACE)
499
- const entryCountToken = this.nextNumberToken()
500
-
501
- this.lastSectionStartObjectNumber = firstObjectNumberToken.value
502
- this.xrefEntryCount = 0
503
-
504
- return new PdfXRefTableSectionStartToken(
505
- firstObjectNumberToken,
506
- entryCountToken,
507
- )
508
- }
509
-
510
- private nextXRefTableEntryToken(): PdfXRefTableEntryToken {
511
- const byteOffsetToken = this.nextNumberToken()
512
- this.expect(ByteMap.SPACE)
513
- const generationNumberToken = this.nextNumberToken()
514
- this.expect(ByteMap.SPACE)
515
- const inUseByte = this.next()
516
-
517
- if (inUseByte === null) {
518
- throw new Error('Unexpected end of input in xref entry token')
519
- }
520
-
521
- assert(inUseByte === ByteMap.n || inUseByte === ByteMap.f)
522
-
523
- const inUse = inUseByte === ByteMap.n
524
-
525
- return new PdfXRefTableEntryToken(
526
- byteOffsetToken,
527
- generationNumberToken,
528
- this.lastSectionStartObjectNumber + this.xrefEntryCount++, // Increment and use the current count
529
- inUse,
530
- )
531
- }
532
-
533
- private nextToken(root: boolean = false): PdfToken {
534
- const byte = this.peek()
535
-
536
- if (this.inStream) {
537
- return this.nextStreamChunkToken()
538
- } else if (byte === ByteMap.PERCENT) {
539
- return this.nextCommentToken()
540
- } else if (PdfByteStreamTokeniser.isWhitespace(byte)) {
541
- return this.nextWhitespaceToken()
542
- } else if (byte === ByteMap.LEFT_ANGLE_BRACKET) {
543
- return this.oneOf(
544
- this.nextStartDictionaryToken,
545
- this.nextHexadecimalToken,
546
- )
547
- } else if (byte === ByteMap.SLASH) {
548
- return this.nextNameToken()
549
- } else if (byte === ByteMap.RIGHT_ANGLE_BRACKET) {
550
- return this.nextDictionaryEndToken()
551
- } else if (PdfByteStreamTokeniser.isDigit(byte)) {
552
- if (this.inXrefTable) {
553
- return this.oneOf(
554
- this.nextXRefTableEntryToken,
555
- this.nextXRefTableSectionStartToken,
556
- )
557
- }
558
-
559
- return this.oneOf(
560
- this.nextStartObjectToken,
561
- this.nextObjectReferenceToken,
562
- this.nextNumberToken,
563
- )
564
- } else if (byte === ByteMap.LEFT_SQUARE_BRACKET) {
565
- return this.nextStartArrayToken()
566
- } else if (byte === ByteMap.RIGHT_SQUARE_BRACKET) {
567
- return this.nextEndArrayToken()
568
- } else if (byte === ByteMap.LEFT_PARENTHESIS) {
569
- return this.nextStringToken()
570
- } else if (byte === ByteMap.e) {
571
- return this.oneOf(this.nextEndObjectToken, this.nextEndStreamToken)
572
- } else if (byte === ByteMap.t) {
573
- return this.oneOf(this.nextTrueToken, this.nextTrailerToken)
574
- } else if (byte === ByteMap.f) {
575
- return this.nextFalseToken()
576
- } else if (byte === ByteMap.n) {
577
- return this.nextNullToken()
578
- } else if (byte === ByteMap.s) {
579
- return this.oneOf(
580
- this.nextStartStreamToken,
581
- this.nextStartXRefToken,
582
- )
583
- } else if (byte === ByteMap.x) {
584
- return this.nextXRefTableStartToken()
585
- } else {
586
- throw new Error(
587
- `Unrecognised token starting with byte: ${byte} (root: ${root}) (char: ${String.fromCharCode(byte ?? 0)})`,
588
- )
589
- }
590
- }
591
-
592
- protected parse() {
593
- return this.nextToken(true)
594
- }
595
-
596
- private static isWhitespace(byte: number | null): boolean {
597
- return PdfWhitespaceToken.isWhitespaceByte(byte)
598
- }
599
-
600
- private static isNewLine(byte: number | null): boolean {
601
- return byte === ByteMap.NEW_LINE || byte === 0x0d || byte === 0x0c // \r or \f
602
- }
603
-
604
- private static isDigit(byte: number | null): boolean {
605
- return (
606
- byte !== null &&
607
- ((byte >= 0x30 && byte <= 0x39) ||
608
- byte === ByteMap.MINUS ||
609
- byte === ByteMap.DOT)
610
- ) // 0-9 or 0x2d (minus) or 0x2E (.)
611
- }
612
-
613
- private static isNameEnd(byte: number | null): boolean {
614
- if (byte === null) {
615
- return false
616
- }
617
- return (
618
- byte === ByteMap.SLASH ||
619
- byte === ByteMap.LEFT_ANGLE_BRACKET ||
620
- byte === ByteMap.RIGHT_ANGLE_BRACKET ||
621
- byte === ByteMap.RIGHT_PARENTHESIS ||
622
- byte === ByteMap.LEFT_PARENTHESIS ||
623
- byte === ByteMap.LEFT_SQUARE_BRACKET ||
624
- byte === ByteMap.RIGHT_SQUARE_BRACKET
625
- )
626
- }
627
-
628
- private static isOctet(byte: number | null): boolean {
629
- if (byte === null) {
630
- return false
631
- }
632
- return (
633
- byte >= 0x30 && byte <= 0x37 // 0-7
634
- )
635
- }
636
- }
637
-
638
- /**
639
- * Converts a PDF object to its token representation.
640
- *
641
- * @param object - The PDF object to tokenize
642
- * @returns A generator yielding the object's tokens
643
- */
644
- export function* objectToTokens(object: PdfObject): Generator<PdfToken> {
645
- return object.toTokens()
646
- }
647
-
648
- /**
649
- * Creates a function that converts a stream of PDF objects to tokens.
650
- *
651
- * @returns A generator function that yields tokens from PDF objects
652
- */
653
- export function pdfObjectStreamTokeniser() {
654
- return function* (objects: Iterable<PdfObject>): Generator<PdfToken> {
655
- for (const object of objects) {
656
- yield* objectToTokens(object)
657
- }
658
- }
659
- }
660
-
661
- /**
662
- * Tokenizes PDF objects into a stream of PDF tokens.
663
- */
664
- export class PdfObjectTokeniser extends Parser<PdfObject, PdfToken> {
665
- private buffer: PdfObject[] = []
666
-
667
- /**
668
- * Feeds PDF objects into the tokenizer buffer.
669
- *
670
- * @param input - PDF objects to tokenize
671
- */
672
- feed(...input: PdfObject[]): void {
673
- this.buffer.push(...input)
674
- }
675
-
676
- /**
677
- * Generates tokens from the buffered PDF objects.
678
- *
679
- * @returns A generator yielding PDF tokens
680
- */
681
- *nextItems(): Generator<PdfToken> {
682
- while (this.buffer.length) {
683
- const obj = this.buffer.shift()!
684
- yield* obj.toTokens()
685
- }
686
- }
687
- }
@@ -1,20 +0,0 @@
1
- import { ByteArray } from '../../types'
2
- import { PdfToken } from './token'
3
-
4
- export class PdfBooleanToken extends PdfToken {
5
- static TRUE = new PdfBooleanToken(true)
6
- static FALSE = new PdfBooleanToken(false)
7
-
8
- value: boolean
9
-
10
- constructor(value: boolean) {
11
- super(PdfBooleanToken.toBytes(value))
12
- this.value = value
13
- }
14
-
15
- private static toBytes(value: boolean): ByteArray {
16
- return value
17
- ? new Uint8Array([0x74, 0x72, 0x75, 0x65])
18
- : new Uint8Array([0x66, 0x61, 0x6c, 0x73, 0x65])
19
- }
20
- }