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,374 +0,0 @@
1
- // Modifying AcroForms example - Creating and filling PDF form fields
2
-
3
- import { PdfArray } from 'pdf-lite/core/objects/pdf-array'
4
- import { PdfBoolean } from 'pdf-lite/core/objects/pdf-boolean'
5
- import { PdfDictionary } from 'pdf-lite/core/objects/pdf-dictionary'
6
- import { PdfIndirectObject } from 'pdf-lite/core/objects/pdf-indirect-object'
7
- import { PdfName } from 'pdf-lite/core/objects/pdf-name'
8
- import { PdfNumber } from 'pdf-lite/core/objects/pdf-number'
9
- import { PdfObjectReference } from 'pdf-lite/core/objects/pdf-object-reference'
10
- import { PdfStream } from 'pdf-lite/core/objects/pdf-stream'
11
- import { PdfString } from 'pdf-lite/core/objects/pdf-string'
12
- import { PdfDocument } from 'pdf-lite/pdf/pdf-document'
13
- import fs from 'fs/promises'
14
-
15
- const tmpFolder = `${import.meta.dirname}/tmp`
16
- await fs.mkdir(tmpFolder, { recursive: true })
17
-
18
- // Helper function to create a basic page
19
- function createPage(
20
- contentStreamRef: PdfObjectReference,
21
- ): PdfIndirectObject<PdfDictionary> {
22
- const pageDict = new PdfDictionary()
23
- pageDict.set('Type', new PdfName('Page'))
24
- pageDict.set(
25
- 'MediaBox',
26
- new PdfArray([
27
- new PdfNumber(0),
28
- new PdfNumber(0),
29
- new PdfNumber(612),
30
- new PdfNumber(792),
31
- ]),
32
- )
33
- pageDict.set('Contents', contentStreamRef)
34
- return new PdfIndirectObject({ content: pageDict })
35
- }
36
-
37
- // Helper function to create pages collection
38
- function createPages(
39
- pages: PdfIndirectObject<PdfDictionary>[],
40
- ): PdfIndirectObject<PdfDictionary> {
41
- const pagesDict = new PdfDictionary()
42
- pagesDict.set('Type', new PdfName('Pages'))
43
- pagesDict.set('Kids', new PdfArray(pages.map((x) => x.reference)))
44
- pagesDict.set('Count', new PdfNumber(pages.length))
45
- return new PdfIndirectObject({ content: pagesDict })
46
- }
47
-
48
- // Helper function to create catalog
49
- function createCatalog(
50
- pagesRef: PdfObjectReference,
51
- ): PdfIndirectObject<PdfDictionary> {
52
- const catalogDict = new PdfDictionary()
53
- catalogDict.set('Type', new PdfName('Catalog'))
54
- catalogDict.set('Pages', pagesRef)
55
- return new PdfIndirectObject({ content: catalogDict })
56
- }
57
-
58
- // Helper function to create font
59
- function createFont(): PdfIndirectObject<PdfDictionary> {
60
- const fontDict = new PdfDictionary()
61
- fontDict.set('Type', new PdfName('Font'))
62
- fontDict.set('Subtype', new PdfName('Type1'))
63
- fontDict.set('BaseFont', new PdfName('Helvetica'))
64
- return new PdfIndirectObject({ content: fontDict })
65
- }
66
-
67
- // Helper function to create resources
68
- function createResources(
69
- fontRef: PdfObjectReference,
70
- ): PdfIndirectObject<PdfDictionary> {
71
- const resourcesDict = new PdfDictionary()
72
- const fontDict = new PdfDictionary()
73
- fontDict.set('F1', fontRef)
74
- resourcesDict.set('Font', fontDict)
75
- return new PdfIndirectObject({ content: resourcesDict })
76
- }
77
-
78
- // Helper function to create a text field widget annotation
79
- function createTextField(
80
- fieldName: string,
81
- pageRef: PdfObjectReference,
82
- rect: [number, number, number, number],
83
- defaultValue: string = '',
84
- ): PdfIndirectObject<PdfDictionary> {
85
- const fieldDict = new PdfDictionary()
86
- // Annotation properties
87
- fieldDict.set('Type', new PdfName('Annot'))
88
- fieldDict.set('Subtype', new PdfName('Widget'))
89
- // Field type: Text
90
- fieldDict.set('FT', new PdfName('Tx'))
91
- // Field name
92
- fieldDict.set('T', new PdfString(fieldName))
93
- // Bounding rectangle [x1, y1, x2, y2]
94
- fieldDict.set(
95
- 'Rect',
96
- new PdfArray([
97
- new PdfNumber(rect[0]),
98
- new PdfNumber(rect[1]),
99
- new PdfNumber(rect[2]),
100
- new PdfNumber(rect[3]),
101
- ]),
102
- )
103
- // Annotation flags (4 = print)
104
- fieldDict.set('F', new PdfNumber(4))
105
- // Parent page reference
106
- fieldDict.set('P', pageRef)
107
- // Default value (if any)
108
- if (defaultValue) {
109
- fieldDict.set('V', new PdfString(defaultValue))
110
- fieldDict.set('DV', new PdfString(defaultValue))
111
- }
112
- // Default appearance string (font and size)
113
- fieldDict.set('DA', new PdfString('/Helv 12 Tf 0 g'))
114
-
115
- return new PdfIndirectObject({ content: fieldDict })
116
- }
117
-
118
- // Helper function to create a checkbox field widget annotation
119
- function createCheckboxField(
120
- fieldName: string,
121
- pageRef: PdfObjectReference,
122
- rect: [number, number, number, number],
123
- checked: boolean = false,
124
- ): PdfIndirectObject<PdfDictionary> {
125
- const fieldDict = new PdfDictionary()
126
- // Annotation properties
127
- fieldDict.set('Type', new PdfName('Annot'))
128
- fieldDict.set('Subtype', new PdfName('Widget'))
129
- // Field type: Button
130
- fieldDict.set('FT', new PdfName('Btn'))
131
- // Field name
132
- fieldDict.set('T', new PdfString(fieldName))
133
- // Bounding rectangle
134
- fieldDict.set(
135
- 'Rect',
136
- new PdfArray([
137
- new PdfNumber(rect[0]),
138
- new PdfNumber(rect[1]),
139
- new PdfNumber(rect[2]),
140
- new PdfNumber(rect[3]),
141
- ]),
142
- )
143
- // Annotation flags (4 = print)
144
- fieldDict.set('F', new PdfNumber(4))
145
- // Parent page reference
146
- fieldDict.set('P', pageRef)
147
- // Value: /Yes for checked, /Off for unchecked
148
- fieldDict.set('V', new PdfName(checked ? 'Yes' : 'Off'))
149
- fieldDict.set('AS', new PdfName(checked ? 'Yes' : 'Off'))
150
-
151
- return new PdfIndirectObject({ content: fieldDict })
152
- }
153
-
154
- // ============================================
155
- // PART 1: Create a PDF with form fields
156
- // ============================================
157
-
158
- const document = new PdfDocument()
159
-
160
- // Create font
161
- const font = createFont()
162
- document.add(font)
163
-
164
- // Create resources with the font
165
- const resources = createResources(font.reference)
166
- document.add(resources)
167
-
168
- // Create content stream with form labels
169
- const contentStream = new PdfIndirectObject({
170
- content: new PdfStream({
171
- header: new PdfDictionary(),
172
- original: `BT
173
- /F1 18 Tf 72 720 Td (PDF Form Example) Tj
174
- /F1 12 Tf 0 -40 Td (Name:) Tj
175
- 0 -30 Td (Email:) Tj
176
- 0 -30 Td (Phone:) Tj
177
- 0 -30 Td (Subscribe to newsletter:) Tj
178
- ET`,
179
- }),
180
- })
181
- document.add(contentStream)
182
-
183
- // Create page
184
- const page = createPage(contentStream.reference)
185
- page.content.set('Resources', resources.reference)
186
- document.add(page)
187
-
188
- // Create form fields
189
- const nameField = createTextField('name', page.reference, [150, 665, 400, 685])
190
- const emailField = createTextField(
191
- 'email',
192
- page.reference,
193
- [150, 635, 400, 655],
194
- )
195
- const phoneField = createTextField(
196
- 'phone',
197
- page.reference,
198
- [150, 605, 400, 625],
199
- )
200
- const subscribeField = createCheckboxField(
201
- 'subscribe',
202
- page.reference,
203
- [200, 575, 215, 590],
204
- )
205
-
206
- document.add(nameField)
207
- document.add(emailField)
208
- document.add(phoneField)
209
- document.add(subscribeField)
210
-
211
- // Add annotations to page
212
- page.content.set(
213
- 'Annots',
214
- new PdfArray([
215
- nameField.reference,
216
- emailField.reference,
217
- phoneField.reference,
218
- subscribeField.reference,
219
- ]),
220
- )
221
-
222
- // Create pages collection
223
- const pages = createPages([page])
224
- page.content.set('Parent', pages.reference)
225
- document.add(pages)
226
-
227
- // Create catalog
228
- const catalog = createCatalog(pages.reference)
229
-
230
- // Create AcroForm with all fields
231
- const acroForm = new PdfDictionary()
232
- acroForm.set(
233
- 'Fields',
234
- new PdfArray([
235
- nameField.reference,
236
- emailField.reference,
237
- phoneField.reference,
238
- subscribeField.reference,
239
- ]),
240
- )
241
- // NeedAppearances flag tells PDF readers to generate appearance streams
242
- acroForm.set('NeedAppearances', new PdfBoolean(true))
243
-
244
- // Default resources for the form (font)
245
- const formResources = new PdfDictionary()
246
- const formFontDict = new PdfDictionary()
247
- const helveticaFont = new PdfDictionary()
248
- helveticaFont.set('Type', new PdfName('Font'))
249
- helveticaFont.set('Subtype', new PdfName('Type1'))
250
- helveticaFont.set('BaseFont', new PdfName('Helvetica'))
251
- formFontDict.set('Helv', helveticaFont)
252
- formResources.set('Font', formFontDict)
253
- acroForm.set('DR', formResources)
254
-
255
- const acroFormObj = new PdfIndirectObject({ content: acroForm })
256
- document.add(acroFormObj)
257
- catalog.content.set('AcroForm', acroFormObj.reference)
258
-
259
- document.add(catalog)
260
-
261
- // Set the catalog as the root
262
- document.trailerDict.set('Root', catalog.reference)
263
-
264
- await document.commit()
265
-
266
- // Save the empty form
267
- // This demonstrates creating a blank form that users can fill in
268
- await fs.writeFile(`${tmpFolder}/form-empty.pdf`, document.toBytes())
269
- console.log('Created form-empty.pdf with empty form fields')
270
-
271
- // ============================================
272
- // PART 2: Fill in the form fields
273
- // ============================================
274
- // This demonstrates how to programmatically fill in form fields.
275
- // We now read the previously saved empty form and modify it.
276
-
277
- // Read the empty form PDF
278
- const emptyFormBytes = await fs.readFile(`${tmpFolder}/form-empty.pdf`)
279
- const filledDocument = await PdfDocument.fromBytes([emptyFormBytes])
280
-
281
- // Get the catalog reference from trailer
282
- const catalogRef = filledDocument.trailerDict.get('Root')
283
- if (!catalogRef || !(catalogRef instanceof PdfObjectReference)) {
284
- throw new Error('No catalog found in PDF')
285
- }
286
-
287
- // Read the catalog object
288
- const catalogObj = await filledDocument.readObject({
289
- objectNumber: catalogRef.objectNumber,
290
- })
291
- if (!catalogObj || !(catalogObj.content instanceof PdfDictionary)) {
292
- throw new Error('Catalog object not found')
293
- }
294
-
295
- // Get the AcroForm reference
296
- const acroFormRef = catalogObj.content.get('AcroForm')
297
- if (!acroFormRef || !(acroFormRef instanceof PdfObjectReference)) {
298
- throw new Error('No AcroForm found in PDF')
299
- }
300
-
301
- // Read the AcroForm object
302
- const filledAcroFormObj = await filledDocument.readObject({
303
- objectNumber: acroFormRef.objectNumber,
304
- })
305
- if (
306
- !filledAcroFormObj ||
307
- !(filledAcroFormObj.content instanceof PdfDictionary)
308
- ) {
309
- throw new Error('AcroForm object not found')
310
- }
311
-
312
- // Get the fields array
313
- const fieldsArray = filledAcroFormObj.content.get('Fields')
314
- if (!fieldsArray || !(fieldsArray instanceof PdfArray)) {
315
- throw new Error('No fields found in AcroForm')
316
- }
317
-
318
- // Helper function to find a field by name
319
- async function findField(
320
- fieldName: string,
321
- ): Promise<PdfIndirectObject<PdfDictionary> | null> {
322
- for (const fieldRef of fieldsArray.items) {
323
- if (!(fieldRef instanceof PdfObjectReference)) continue
324
- const fieldObj = await filledDocument.readObject({
325
- objectNumber: fieldRef.objectNumber,
326
- })
327
- if (!fieldObj || !(fieldObj.content instanceof PdfDictionary)) continue
328
-
329
- const name = fieldObj.content.get('T')
330
- if (name instanceof PdfString) {
331
- // Convert bytes to string for comparison
332
- const nameStr = name.value
333
- if (nameStr === fieldName) {
334
- return fieldObj as PdfIndirectObject<PdfDictionary>
335
- }
336
- }
337
- }
338
- return null
339
- }
340
-
341
- // Update the name field value
342
- const nameFieldObj = await findField('name')
343
- if (nameFieldObj) {
344
- nameFieldObj.content.set('V', new PdfString('John Doe'))
345
- }
346
-
347
- // Update the email field value
348
- const emailFieldObj = await findField('email')
349
- if (emailFieldObj) {
350
- emailFieldObj.content.set('V', new PdfString('john.doe@example.com'))
351
- }
352
-
353
- // Update the phone field value
354
- const phoneFieldObj = await findField('phone')
355
- if (phoneFieldObj) {
356
- phoneFieldObj.content.set('V', new PdfString('+1 (555) 123-4567'))
357
- }
358
-
359
- // Check the subscribe checkbox
360
- const subscribeFieldObj = await findField('subscribe')
361
- if (subscribeFieldObj) {
362
- subscribeFieldObj.content.set('V', new PdfName('Yes'))
363
- subscribeFieldObj.content.set('AS', new PdfName('Yes'))
364
- }
365
-
366
- // Save the filled form
367
- await fs.writeFile(`${tmpFolder}/form-filled.pdf`, filledDocument.toBytes())
368
- console.log('Created form-filled.pdf with filled form fields')
369
-
370
- console.log('\nForm field values:')
371
- console.log('- Name: John Doe')
372
- console.log('- Email: john.doe@example.com')
373
- console.log('- Phone: +1 (555) 123-4567')
374
- console.log('- Subscribe: Yes')
@@ -1,131 +0,0 @@
1
- // Tokeniser usage example
2
-
3
- import { PdfByteStreamTokeniser } from 'pdf-lite/core/tokeniser'
4
- import { PdfToken } from 'pdf-lite/core/tokens/token'
5
- import { stringToBytes } from 'pdf-lite/utils/stringToBytes'
6
-
7
- /**
8
- * This example demonstrates how to use the PdfByteStreamTokeniser
9
- * to tokenize PDF content into individual tokens.
10
- *
11
- * The tokeniser converts raw PDF bytes into a stream of tokens that can
12
- * be further processed by the decoder or used for PDF analysis.
13
- */
14
-
15
- // Sample PDF content to tokenize
16
- const pdfContent = `%PDF-2.0
17
- 1 0 obj
18
- << /Type /Catalog /Pages 2 0 R >>
19
- endobj
20
- 2 0 obj
21
- << /Type /Pages /Kids [3 0 R] /Count 1 >>
22
- endobj
23
- 3 0 obj
24
- << /Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] >>
25
- endobj
26
- trailer
27
- << /Size 4 /Root 1 0 R >>
28
- startxref
29
- 0
30
- %%EOF`
31
-
32
- // Create the tokeniser
33
- const tokeniser = new PdfByteStreamTokeniser()
34
-
35
- // Convert the PDF content to bytes and feed it to the tokeniser
36
- const bytes = stringToBytes(pdfContent)
37
- tokeniser.feedBytes(bytes)
38
-
39
- // Signal end of input
40
- tokeniser.eof = true
41
-
42
- // Collect all tokens
43
- const tokens: PdfToken[] = []
44
- for (const token of tokeniser.nextItems()) {
45
- tokens.push(token)
46
- }
47
-
48
- // Display tokenisation results
49
- console.log('PDF Tokenisation Example')
50
- console.log('========================\n')
51
- console.log(`Input: ${pdfContent.length} bytes`)
52
- console.log(`Output: ${tokens.length} tokens\n`)
53
-
54
- // Group tokens by type for summary
55
- const tokenCounts = new Map<string, number>()
56
- for (const token of tokens) {
57
- const type = token.constructor.name
58
- tokenCounts.set(type, (tokenCounts.get(type) ?? 0) + 1)
59
- }
60
-
61
- console.log('Token type counts:')
62
- for (const [type, count] of tokenCounts) {
63
- console.log(` ${type}: ${count}`)
64
- }
65
-
66
- console.log('\nFirst 20 tokens:')
67
- for (const token of tokens.slice(0, 20)) {
68
- const tokenString = token.toString().slice(0, 40)
69
- const displayString =
70
- tokenString.length >= 40 ? tokenString + '...' : tokenString
71
- console.log(
72
- ` ${token.constructor.name.padEnd(30)} ${JSON.stringify(displayString)}`,
73
- )
74
- }
75
-
76
- // Example: Tokenising incrementally (useful for streaming)
77
- console.log('\n\nIncremental Tokenisation Example')
78
- console.log('=================================\n')
79
-
80
- const incrementalTokeniser = new PdfByteStreamTokeniser()
81
-
82
- // Feed bytes in chunks (simulating streaming)
83
- const chunkSize = 50
84
- const numChunks = Math.ceil(bytes.length / chunkSize)
85
-
86
- console.log(`Processing ${numChunks} chunks of ~${chunkSize} bytes each...`)
87
-
88
- let totalTokens = 0
89
- for (let i = 0; i < bytes.length; i += chunkSize) {
90
- const chunk = bytes.slice(i, i + chunkSize)
91
- incrementalTokeniser.feedBytes(chunk)
92
-
93
- // Process tokens as they become available
94
- for (const _ of incrementalTokeniser.nextItems()) {
95
- totalTokens++
96
- }
97
- }
98
-
99
- // Signal end of input and collect remaining tokens
100
- incrementalTokeniser.eof = true
101
- for (const _ of incrementalTokeniser.nextItems()) {
102
- totalTokens++
103
- }
104
-
105
- console.log(`Total tokens produced: ${totalTokens}`)
106
-
107
- // Example: Custom stream chunk size
108
- console.log('\n\nCustom Stream Chunk Size Example')
109
- console.log('================================\n')
110
-
111
- const customTokeniser = new PdfByteStreamTokeniser({
112
- streamChunkSizeBytes: 512, // Customize the chunk size for stream content
113
- })
114
-
115
- const streamContent = `1 0 obj
116
- << /Length 100 >>
117
- stream
118
- This is stream content that will be chunked by the tokeniser.
119
- The chunk size determines how the stream data is delivered.
120
- endstream
121
- endobj`
122
-
123
- customTokeniser.feedBytes(stringToBytes(streamContent))
124
- customTokeniser.eof = true
125
-
126
- console.log('Tokens from stream content:')
127
- for (const token of customTokeniser.nextItems()) {
128
- const type = token.constructor.name
129
- const preview = token.toString().slice(0, 50).replace(/\n/g, '\\n')
130
- console.log(` ${type.padEnd(25)} ${JSON.stringify(preview)}`)
131
- }
@@ -1,197 +0,0 @@
1
- // Decoder usage example
2
-
3
- import { PdfDecoder } from 'pdf-lite/core/decoder'
4
- import { PdfByteStreamTokeniser } from 'pdf-lite/core/tokeniser'
5
- import { pdfDecoder } from 'pdf-lite/core/generators'
6
- import { PdfObject } from 'pdf-lite/core/objects/pdf-object'
7
- import { PdfIndirectObject } from 'pdf-lite/core/objects/pdf-indirect-object'
8
- import { PdfDictionary } from 'pdf-lite/core/objects/pdf-dictionary'
9
- import { PdfStream } from 'pdf-lite/core/objects/pdf-stream'
10
- import { PdfTrailer } from 'pdf-lite/core/objects/pdf-trailer'
11
- import { PdfXRefTable } from 'pdf-lite/core/objects/pdf-xref-table'
12
- import { PdfComment } from 'pdf-lite/core/objects/pdf-comment'
13
- import { PdfStartXRef } from 'pdf-lite/core/objects/pdf-start-xref'
14
- import { stringToBytes } from 'pdf-lite/utils/stringToBytes'
15
-
16
- /**
17
- * This example demonstrates how to use the PdfDecoder
18
- * to decode PDF tokens into PDF objects.
19
- *
20
- * The decoder transforms a stream of tokens (from the tokeniser)
21
- * into high-level PDF objects like dictionaries, arrays, streams,
22
- * and indirect objects.
23
- */
24
-
25
- // Sample PDF content to decode
26
- const pdfContent = `%PDF-2.0
27
- 1 0 obj
28
- << /Type /Catalog /Pages 2 0 R >>
29
- endobj
30
- 2 0 obj
31
- << /Type /Pages /Kids [3 0 R] /Count 1 >>
32
- endobj
33
- 3 0 obj
34
- << /Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] /Contents 4 0 R >>
35
- endobj
36
- 4 0 obj
37
- << /Length 44 >>
38
- stream
39
- BT /F1 12 Tf 100 700 Td (Hello!) Tj ET
40
- endstream
41
- endobj
42
- xref
43
- 0 5
44
- 0000000000 65535 f
45
- 0000000010 00000 n
46
- 0000000060 00000 n
47
- 0000000118 00000 n
48
- 0000000217 00000 n
49
- trailer
50
- << /Size 5 /Root 1 0 R >>
51
- startxref
52
- 310
53
- %%EOF`
54
-
55
- // Method 1: Using the pdfDecoder generator (recommended)
56
- console.log('PDF Decoder Example - Using pdfDecoder Generator')
57
- console.log('================================================\n')
58
-
59
- const bytes = stringToBytes(pdfContent)
60
- const objects: PdfObject[] = []
61
-
62
- for (const obj of pdfDecoder([bytes])) {
63
- objects.push(obj)
64
- }
65
-
66
- console.log(`Decoded ${objects.length} PDF objects:\n`)
67
-
68
- for (const obj of objects) {
69
- const type = obj.constructor.name
70
-
71
- if (obj instanceof PdfComment) {
72
- console.log(` ${type}: ${obj.toString().trim()}`)
73
- } else if (obj instanceof PdfIndirectObject) {
74
- const contentType = obj.content.constructor.name
75
- console.log(
76
- ` ${type}: ${obj.objectNumber} ${obj.generationNumber} obj (${contentType})`,
77
- )
78
-
79
- // Show dictionary keys if content is a dictionary or stream
80
- if (obj.content instanceof PdfDictionary) {
81
- const keys = Object.keys(obj.content.values)
82
- console.log(` Keys: ${keys.join(', ')}`)
83
- }
84
- if (obj.content instanceof PdfStream) {
85
- console.log(
86
- ` Stream length: ${obj.content.original.length} bytes`,
87
- )
88
- }
89
- } else if (obj instanceof PdfXRefTable) {
90
- console.log(` ${type}: ${obj.entries.length} entries`)
91
- } else if (obj instanceof PdfTrailer) {
92
- const size = obj.dict.get('Size')?.toString() ?? 'unknown'
93
- console.log(` ${type}: Size=${size}`)
94
- } else if (obj instanceof PdfStartXRef) {
95
- console.log(` ${type}: offset=${obj.offset}`)
96
- } else {
97
- console.log(` ${type}`)
98
- }
99
- }
100
-
101
- // Method 2: Using the PdfDecoder class directly with a tokeniser
102
- console.log('\n\nPDF Decoder Example - Manual Pipeline')
103
- console.log('======================================\n')
104
-
105
- const tokeniser = new PdfByteStreamTokeniser()
106
- const decoder = new PdfDecoder({ ignoreWhitespace: true })
107
-
108
- // Feed bytes to tokeniser
109
- tokeniser.feedBytes(bytes)
110
- tokeniser.eof = true
111
-
112
- // Feed tokens to decoder
113
- for (const token of tokeniser.nextItems()) {
114
- decoder.feed(token)
115
- }
116
- decoder.eof = true
117
-
118
- // Collect decoded objects
119
- const manualObjects: PdfObject[] = []
120
- for (const obj of decoder.nextItems()) {
121
- manualObjects.push(obj)
122
- }
123
-
124
- console.log(`Decoded ${manualObjects.length} objects with whitespace ignored\n`)
125
-
126
- // Count objects by type
127
- const typeCounts = new Map<string, number>()
128
- for (const obj of manualObjects) {
129
- const type = obj.constructor.name
130
- typeCounts.set(type, (typeCounts.get(type) ?? 0) + 1)
131
- }
132
-
133
- console.log('Object type counts:')
134
- for (const [type, count] of typeCounts) {
135
- console.log(` ${type}: ${count}`)
136
- }
137
-
138
- // Example: Incremental decoding (useful for streaming)
139
- console.log('\n\nIncremental Decoding Example')
140
- console.log('============================\n')
141
-
142
- const streamTokeniser = new PdfByteStreamTokeniser()
143
- const streamDecoder = new PdfDecoder()
144
-
145
- // Simulate streaming by processing in chunks
146
- const chunkSize = 100
147
- let objectCount = 0
148
-
149
- for (let i = 0; i < bytes.length; i += chunkSize) {
150
- const chunk = bytes.slice(i, i + chunkSize)
151
- streamTokeniser.feedBytes(chunk)
152
-
153
- // Process available tokens
154
- for (const token of streamTokeniser.nextItems()) {
155
- streamDecoder.feed(token)
156
-
157
- // Collect any complete objects
158
- for (const obj of streamDecoder.nextItems()) {
159
- objectCount++
160
- console.log(
161
- ` Chunk ${Math.floor(i / chunkSize) + 1}: Found ${obj.constructor.name}`,
162
- )
163
- }
164
- }
165
- }
166
-
167
- // Finalize
168
- streamTokeniser.eof = true
169
- streamDecoder.eof = true
170
-
171
- for (const token of streamTokeniser.nextItems()) {
172
- streamDecoder.feed(token)
173
- }
174
-
175
- for (const obj of streamDecoder.nextItems()) {
176
- objectCount++
177
- console.log(` Final: Found ${obj.constructor.name}`)
178
- }
179
-
180
- console.log(`\nTotal objects decoded incrementally: ${objectCount}`)
181
-
182
- // Example: Preserving whitespace for round-trip
183
- console.log('\n\nRound-Trip Example (Preserving Whitespace)')
184
- console.log('==========================================\n')
185
-
186
- const simpleDict = `<< /Type /Page /MediaBox [0 0 612 792] >>`
187
- const preservingDecoder = pdfDecoder([stringToBytes(simpleDict)], {
188
- ignoreWhitespace: false,
189
- })
190
-
191
- for (const obj of preservingDecoder) {
192
- // toString() will recreate the original representation
193
- const reconstructed = obj.toString()
194
- console.log('Original: ', JSON.stringify(simpleDict))
195
- console.log('Reconstructed:', JSON.stringify(reconstructed))
196
- console.log('Match:', simpleDict === reconstructed)
197
- }
@@ -1,3 +0,0 @@
1
- # pdf-lite
2
-
3
- See the [main README](../../README.md) for more details.