pdf-lite 1.0.0 → 1.0.1-alpha.2

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 (339) hide show
  1. package/.github/workflows/docs.yaml +2 -0
  2. package/EXAMPLES.md +1 -4
  3. package/docs/README.md +127 -0
  4. package/docs/core/README.md +43 -0
  5. package/docs/core/decoder/README.md +11 -0
  6. package/docs/core/decoder/classes/PdfDecoder.md +362 -0
  7. package/docs/core/generators/README.md +14 -0
  8. package/docs/core/generators/functions/bytesToPdfObjects.md +26 -0
  9. package/docs/core/generators/functions/pdfDecoder.md +36 -0
  10. package/docs/core/generators/functions/pdfDecoderAsync.md +26 -0
  11. package/docs/core/generators/functions/stringToPdfObjects.md +25 -0
  12. package/docs/core/incremental-parser/README.md +13 -0
  13. package/docs/core/incremental-parser/classes/EofReachedError.md +55 -0
  14. package/docs/core/incremental-parser/classes/IncrementalParser.md +299 -0
  15. package/docs/core/incremental-parser/classes/NoMoreTokensError.md +55 -0
  16. package/docs/core/objects/pdf-array/README.md +11 -0
  17. package/docs/core/objects/pdf-array/classes/PdfArray.md +305 -0
  18. package/docs/core/objects/pdf-boolean/README.md +11 -0
  19. package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +265 -0
  20. package/docs/core/objects/pdf-comment/README.md +11 -0
  21. package/docs/core/objects/pdf-comment/classes/PdfComment.md +329 -0
  22. package/docs/core/objects/pdf-date/README.md +11 -0
  23. package/docs/core/objects/pdf-date/classes/PdfDate.md +317 -0
  24. package/docs/core/objects/pdf-dictionary/README.md +17 -0
  25. package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +396 -0
  26. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +9 -0
  27. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +9 -0
  28. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +9 -0
  29. package/docs/core/objects/pdf-hexadecimal/README.md +11 -0
  30. package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +320 -0
  31. package/docs/core/objects/pdf-indirect-object/README.md +11 -0
  32. package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +411 -0
  33. package/docs/core/objects/pdf-name/README.md +11 -0
  34. package/docs/core/objects/pdf-name/classes/PdfName.md +271 -0
  35. package/docs/core/objects/pdf-null/README.md +11 -0
  36. package/docs/core/objects/pdf-null/classes/PdfNull.md +259 -0
  37. package/docs/core/objects/pdf-number/README.md +12 -0
  38. package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +369 -0
  39. package/docs/core/objects/pdf-number/classes/PdfNumber.md +345 -0
  40. package/docs/core/objects/pdf-object/README.md +11 -0
  41. package/docs/core/objects/pdf-object/classes/PdfObject.md +214 -0
  42. package/docs/core/objects/pdf-object-reference/README.md +11 -0
  43. package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +279 -0
  44. package/docs/core/objects/pdf-start-xref/README.md +11 -0
  45. package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +265 -0
  46. package/docs/core/objects/pdf-stream/README.md +23 -0
  47. package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +699 -0
  48. package/docs/core/objects/pdf-stream/classes/PdfStream.md +570 -0
  49. package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +723 -0
  50. package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +51 -0
  51. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +9 -0
  52. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +9 -0
  53. package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +9 -0
  54. package/docs/core/objects/pdf-string/README.md +11 -0
  55. package/docs/core/objects/pdf-string/classes/PdfString.md +301 -0
  56. package/docs/core/objects/pdf-trailer/README.md +16 -0
  57. package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +271 -0
  58. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +9 -0
  59. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +51 -0
  60. package/docs/core/objects/pdf-xref-table/README.md +13 -0
  61. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +331 -0
  62. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +297 -0
  63. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +277 -0
  64. package/docs/core/parser/README.md +11 -0
  65. package/docs/core/parser/classes/Parser.md +74 -0
  66. package/docs/core/ref/README.md +15 -0
  67. package/docs/core/ref/classes/Ref.md +149 -0
  68. package/docs/core/ref/type-aliases/RefUpdateCallback.md +33 -0
  69. package/docs/core/serializer/README.md +11 -0
  70. package/docs/core/serializer/classes/PdfTokenSerializer.md +106 -0
  71. package/docs/core/streams/object-stream/README.md +11 -0
  72. package/docs/core/streams/object-stream/classes/PdfObjectStream.md +69 -0
  73. package/docs/core/tokeniser/README.md +21 -0
  74. package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +366 -0
  75. package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +69 -0
  76. package/docs/core/tokeniser/functions/objectToTokens.md +25 -0
  77. package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +27 -0
  78. package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +11 -0
  79. package/docs/core/tokens/boolean-token/README.md +11 -0
  80. package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +139 -0
  81. package/docs/core/tokens/byte-offset-token/README.md +11 -0
  82. package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +153 -0
  83. package/docs/core/tokens/comment-token/README.md +11 -0
  84. package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +161 -0
  85. package/docs/core/tokens/end-array-token/README.md +11 -0
  86. package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +115 -0
  87. package/docs/core/tokens/end-dictionary-token/README.md +11 -0
  88. package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +115 -0
  89. package/docs/core/tokens/end-object-token/README.md +11 -0
  90. package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +115 -0
  91. package/docs/core/tokens/end-stream-token/README.md +11 -0
  92. package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +121 -0
  93. package/docs/core/tokens/hexadecimal-token/README.md +11 -0
  94. package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +127 -0
  95. package/docs/core/tokens/name-token/README.md +11 -0
  96. package/docs/core/tokens/name-token/classes/PdfNameToken.md +127 -0
  97. package/docs/core/tokens/null-token/README.md +11 -0
  98. package/docs/core/tokens/null-token/classes/PdfNullToken.md +115 -0
  99. package/docs/core/tokens/number-token/README.md +11 -0
  100. package/docs/core/tokens/number-token/classes/PdfNumberToken.md +271 -0
  101. package/docs/core/tokens/object-reference-token/README.md +11 -0
  102. package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +137 -0
  103. package/docs/core/tokens/start-array-token/README.md +11 -0
  104. package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +115 -0
  105. package/docs/core/tokens/start-dictionary-token/README.md +11 -0
  106. package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +115 -0
  107. package/docs/core/tokens/start-object-token/README.md +11 -0
  108. package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +147 -0
  109. package/docs/core/tokens/start-stream-token/README.md +11 -0
  110. package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +147 -0
  111. package/docs/core/tokens/start-xref-token/README.md +11 -0
  112. package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +115 -0
  113. package/docs/core/tokens/stream-chunk-token/README.md +11 -0
  114. package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +121 -0
  115. package/docs/core/tokens/string-token/README.md +11 -0
  116. package/docs/core/tokens/string-token/classes/PdfStringToken.md +127 -0
  117. package/docs/core/tokens/token/README.md +11 -0
  118. package/docs/core/tokens/token/classes/PdfToken.md +116 -0
  119. package/docs/core/tokens/trailer-token/README.md +11 -0
  120. package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +127 -0
  121. package/docs/core/tokens/whitespace-token/README.md +11 -0
  122. package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +161 -0
  123. package/docs/core/tokens/xref-table-entry-token/README.md +11 -0
  124. package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +157 -0
  125. package/docs/core/tokens/xref-table-section-start-token/README.md +11 -0
  126. package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +137 -0
  127. package/docs/core/tokens/xref-table-start-token/README.md +11 -0
  128. package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +127 -0
  129. package/docs/crypto/ciphers/aes128/README.md +11 -0
  130. package/docs/crypto/ciphers/aes128/functions/aes128.md +39 -0
  131. package/docs/crypto/ciphers/aes256/README.md +11 -0
  132. package/docs/crypto/ciphers/aes256/functions/aes256.md +35 -0
  133. package/docs/crypto/ciphers/rc4/README.md +11 -0
  134. package/docs/crypto/ciphers/rc4/functions/rc4.md +35 -0
  135. package/docs/crypto/constants/README.md +11 -0
  136. package/docs/crypto/constants/variables/DEFAULT_PADDING.md +13 -0
  137. package/docs/crypto/key-derivation/key-derivation/README.md +13 -0
  138. package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +57 -0
  139. package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +50 -0
  140. package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +33 -0
  141. package/docs/crypto/key-derivation/key-derivation-aes256/README.md +13 -0
  142. package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +45 -0
  143. package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +66 -0
  144. package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +52 -0
  145. package/docs/crypto/key-gen/key-gen-aes256/README.md +12 -0
  146. package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +44 -0
  147. package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +38 -0
  148. package/docs/crypto/key-gen/key-gen-rc4-128/README.md +13 -0
  149. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +38 -0
  150. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +62 -0
  151. package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +38 -0
  152. package/docs/crypto/key-gen/key-gen-rc4-40/README.md +14 -0
  153. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +49 -0
  154. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +38 -0
  155. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +50 -0
  156. package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +38 -0
  157. package/docs/crypto/types/README.md +11 -0
  158. package/docs/crypto/types/interfaces/Cipher.md +39 -0
  159. package/docs/crypto/utils/README.md +13 -0
  160. package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +31 -0
  161. package/docs/crypto/utils/functions/padPassword.md +33 -0
  162. package/docs/crypto/utils/functions/removePdfPasswordPadding.md +32 -0
  163. package/docs/filters/ascii85/README.md +11 -0
  164. package/docs/filters/ascii85/functions/ascii85.md +27 -0
  165. package/docs/filters/asciihex/README.md +11 -0
  166. package/docs/filters/asciihex/functions/asciiHex.md +27 -0
  167. package/docs/filters/flate/README.md +11 -0
  168. package/docs/filters/flate/functions/flate.md +26 -0
  169. package/docs/filters/lzw/README.md +11 -0
  170. package/docs/filters/lzw/functions/lzw.md +27 -0
  171. package/docs/filters/pass-through/README.md +11 -0
  172. package/docs/filters/pass-through/functions/passthroughFilter.md +25 -0
  173. package/docs/filters/runlength/README.md +11 -0
  174. package/docs/filters/runlength/functions/runLength.md +27 -0
  175. package/docs/filters/types/README.md +19 -0
  176. package/docs/filters/types/interfaces/PdfFilter.md +39 -0
  177. package/docs/filters/types/type-aliases/PdfStreamFilterType.md +9 -0
  178. package/docs/filters/types/variables/PDF_FILTER_TYPES.md +51 -0
  179. package/docs/index/README.md +235 -0
  180. package/docs/pdf/README.md +31 -0
  181. package/docs/pdf/errors/README.md +11 -0
  182. package/docs/pdf/errors/classes/FoundCompressedObjectError.md +56 -0
  183. package/docs/pdf/pdf-document/README.md +11 -0
  184. package/docs/pdf/pdf-document/classes/PdfDocument.md +876 -0
  185. package/docs/pdf/pdf-reader/README.md +11 -0
  186. package/docs/pdf/pdf-reader/classes/PdfReader.md +82 -0
  187. package/docs/pdf/pdf-revision/README.md +11 -0
  188. package/docs/pdf/pdf-revision/classes/PdfRevision.md +508 -0
  189. package/docs/pdf/pdf-xref-lookup/README.md +11 -0
  190. package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +421 -0
  191. package/docs/security/crypt-filters/aesv2/README.md +11 -0
  192. package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +274 -0
  193. package/docs/security/crypt-filters/aesv3/README.md +11 -0
  194. package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +275 -0
  195. package/docs/security/crypt-filters/base/README.md +15 -0
  196. package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +221 -0
  197. package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +43 -0
  198. package/docs/security/crypt-filters/identity/README.md +11 -0
  199. package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +249 -0
  200. package/docs/security/crypt-filters/v2/README.md +11 -0
  201. package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +279 -0
  202. package/docs/security/handlers/base/README.md +17 -0
  203. package/docs/security/handlers/base/classes/PdfSecurityHandler.md +384 -0
  204. package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +694 -0
  205. package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +27 -0
  206. package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +43 -0
  207. package/docs/security/handlers/pubSec/README.md +11 -0
  208. package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +503 -0
  209. package/docs/security/handlers/utils/README.md +14 -0
  210. package/docs/security/handlers/utils/functions/createFromDictionary.md +56 -0
  211. package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +40 -0
  212. package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +55 -0
  213. package/docs/security/handlers/utils/functions/getCryptFilter.md +35 -0
  214. package/docs/security/handlers/v1/README.md +11 -0
  215. package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +779 -0
  216. package/docs/security/handlers/v2/README.md +11 -0
  217. package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +783 -0
  218. package/docs/security/handlers/v4/README.md +11 -0
  219. package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +907 -0
  220. package/docs/security/handlers/v5/README.md +11 -0
  221. package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +926 -0
  222. package/docs/security/types/README.md +19 -0
  223. package/docs/security/types/type-aliases/CryptFilterType.md +15 -0
  224. package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +12 -0
  225. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +11 -0
  226. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +17 -0
  227. package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +13 -0
  228. package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +11 -0
  229. package/docs/security/types/type-aliases/PdfEncryptionOptions.md +90 -0
  230. package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +24 -0
  231. package/docs/security/types/type-aliases/PdfId.md +13 -0
  232. package/docs/signing/README.md +127 -0
  233. package/docs/signing/document-security-store/README.md +19 -0
  234. package/docs/signing/document-security-store/classes/PdfCertObject.md +443 -0
  235. package/docs/signing/document-security-store/classes/PdfCrlObject.md +443 -0
  236. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +416 -0
  237. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +563 -0
  238. package/docs/signing/document-security-store/classes/PdfOcspObject.md +443 -0
  239. package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +12 -0
  240. package/docs/signing/signatures/README.md +55 -0
  241. package/docs/signing/signatures/adbe-pkcs7-detached/README.md +11 -0
  242. package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +669 -0
  243. package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +11 -0
  244. package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +667 -0
  245. package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +11 -0
  246. package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +651 -0
  247. package/docs/signing/signatures/base/README.md +16 -0
  248. package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +420 -0
  249. package/docs/signing/signatures/base/classes/PdfSignatureObject.md +584 -0
  250. package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +51 -0
  251. package/docs/signing/signatures/etsi-cades-detached/README.md +11 -0
  252. package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +693 -0
  253. package/docs/signing/signatures/etsi-rfc3161/README.md +11 -0
  254. package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +614 -0
  255. package/docs/signing/signer/README.md +11 -0
  256. package/docs/signing/signer/classes/PdfSigner.md +58 -0
  257. package/docs/signing/types/README.md +16 -0
  258. package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +95 -0
  259. package/docs/signing/types/type-aliases/PdfSignatureSubType.md +17 -0
  260. package/docs/signing/types/type-aliases/PdfSignatureType.md +14 -0
  261. package/docs/signing/types/type-aliases/RevocationInfo.md +43 -0
  262. package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +35 -0
  263. package/docs/signing/types/type-aliases/TimeStampAuthority.md +35 -0
  264. package/docs/signing/utils/README.md +11 -0
  265. package/docs/signing/utils/functions/fetchRevocationInfo.md +70 -0
  266. package/docs/types/README.md +21 -0
  267. package/docs/types/type-aliases/ByteArray.md +9 -0
  268. package/docs/types/type-aliases/ChangeType.md +9 -0
  269. package/docs/types/type-aliases/DecodeParms.md +33 -0
  270. package/docs/types/type-aliases/HashAlgorithm.md +9 -0
  271. package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +9 -0
  272. package/docs/types/type-aliases/PdfPermissions.md +63 -0
  273. package/docs/types/type-aliases/PdfVersion.md +9 -0
  274. package/docs/types/variables/PERMISSION_FLAGS.md +9 -0
  275. package/docs/utils/IterableReadableStream/README.md +11 -0
  276. package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +103 -0
  277. package/docs/utils/algos/README.md +28 -0
  278. package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +43 -0
  279. package/docs/utils/algos/functions/aes128cbcDecrypt.md +47 -0
  280. package/docs/utils/algos/functions/aes128cbcEncrypt.md +47 -0
  281. package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +43 -0
  282. package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +43 -0
  283. package/docs/utils/algos/functions/aes256cbcDecrypt.md +43 -0
  284. package/docs/utils/algos/functions/aes256cbcEncrypt.md +43 -0
  285. package/docs/utils/algos/functions/aes256ecbDecrypt.md +41 -0
  286. package/docs/utils/algos/functions/aes256ecbEncrypt.md +41 -0
  287. package/docs/utils/algos/functions/deflateData.md +31 -0
  288. package/docs/utils/algos/functions/getRandomBytes.md +35 -0
  289. package/docs/utils/algos/functions/hash.md +41 -0
  290. package/docs/utils/algos/functions/inflateData.md +35 -0
  291. package/docs/utils/algos/functions/md5.md +31 -0
  292. package/docs/utils/algos/functions/sha1.md +31 -0
  293. package/docs/utils/algos/functions/sha256.md +31 -0
  294. package/docs/utils/algos/functions/sha384.md +31 -0
  295. package/docs/utils/algos/functions/sha512.md +31 -0
  296. package/docs/utils/assert/README.md +12 -0
  297. package/docs/utils/assert/functions/assert.md +39 -0
  298. package/docs/utils/assert/functions/assertIfDefined.md +46 -0
  299. package/docs/utils/bytesToHex/README.md +11 -0
  300. package/docs/utils/bytesToHex/functions/bytesToHex.md +31 -0
  301. package/docs/utils/bytesToHexBytes/README.md +11 -0
  302. package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +32 -0
  303. package/docs/utils/bytesToString/README.md +11 -0
  304. package/docs/utils/bytesToString/functions/bytesToString.md +31 -0
  305. package/docs/utils/concatUint8Arrays/README.md +11 -0
  306. package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +31 -0
  307. package/docs/utils/escapeString/README.md +11 -0
  308. package/docs/utils/escapeString/functions/escapeString.md +32 -0
  309. package/docs/utils/hexBytesToBytes/README.md +11 -0
  310. package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +33 -0
  311. package/docs/utils/hexBytesToString/README.md +11 -0
  312. package/docs/utils/hexBytesToString/functions/hexBytesToString.md +31 -0
  313. package/docs/utils/hexToBytes/README.md +11 -0
  314. package/docs/utils/hexToBytes/functions/hexToBytes.md +31 -0
  315. package/docs/utils/padBytes/README.md +11 -0
  316. package/docs/utils/padBytes/functions/padBytes.md +41 -0
  317. package/docs/utils/predictors/README.md +11 -0
  318. package/docs/utils/predictors/classes/Predictor.md +306 -0
  319. package/docs/utils/replaceInBuffer/README.md +11 -0
  320. package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +65 -0
  321. package/docs/utils/stringToBytes/README.md +11 -0
  322. package/docs/utils/stringToBytes/functions/stringToBytes.md +32 -0
  323. package/docs/utils/stringToHexBytes/README.md +11 -0
  324. package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +33 -0
  325. package/docs/utils/unescapeString/README.md +11 -0
  326. package/docs/utils/unescapeString/functions/unescapeString.md +34 -0
  327. package/package.json +63 -71
  328. package/packages/pdf-lite/node_modules/.bin/playwright +16 -0
  329. package/packages/pdf-lite/node_modules/.bin/tsc +16 -0
  330. package/packages/pdf-lite/node_modules/.bin/tsserver +16 -0
  331. package/packages/pdf-lite/node_modules/.bin/vitest +16 -0
  332. package/packages/pdf-lite/package.json +2 -2
  333. package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -0
  334. package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -0
  335. package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -0
  336. package/scripts/bump-version.sh +0 -0
  337. package/scripts/gen-html-docs.sh +0 -0
  338. package/scripts/gen-md-docs.sh +0 -0
  339. package/scripts/prepare-release.sh +0 -0
@@ -0,0 +1,694 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/base](../README.md) / PdfStandardSecurityHandler
6
+
7
+ # Abstract Class: PdfStandardSecurityHandler
8
+
9
+ Abstract base class for standard PDF security handlers.
10
+ Implements password-based encryption as defined in the PDF specification.
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ const handler = new PdfV5SecurityHandler({
16
+ password: 'user123',
17
+ ownerPassword: 'admin456',
18
+ permissions: { print: true, copy: false },
19
+ })
20
+ ```
21
+
22
+ ## Extends
23
+
24
+ - [`PdfSecurityHandler`](PdfSecurityHandler.md)
25
+
26
+ ## Extended by
27
+
28
+ - [`PdfV1SecurityHandler`](../../v1/classes/PdfV1SecurityHandler.md)
29
+
30
+ ## Constructors
31
+
32
+ ### Constructor
33
+
34
+ > **new PdfStandardSecurityHandler**(`options`): `PdfStandardSecurityHandler`
35
+
36
+ Creates a new standard security handler.
37
+
38
+ #### Parameters
39
+
40
+ ##### options
41
+
42
+ [`PdfStandardSecurityHandlerOptions`](../type-aliases/PdfStandardSecurityHandlerOptions.md)
43
+
44
+ Configuration options including passwords and document ID.
45
+
46
+ #### Returns
47
+
48
+ `PdfStandardSecurityHandler`
49
+
50
+ #### Overrides
51
+
52
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`constructor`](PdfSecurityHandler.md#constructor)
53
+
54
+ ## Properties
55
+
56
+ ### dict
57
+
58
+ > **dict**: [`PdfEncryptionDictionary`](../../../types/type-aliases/PdfEncryptionDictionary.md)
59
+
60
+ The encryption dictionary containing all encryption parameters.
61
+
62
+ #### Inherited from
63
+
64
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`dict`](PdfSecurityHandler.md#dict)
65
+
66
+ ---
67
+
68
+ ### documentId?
69
+
70
+ > `protected` `optional` **documentId**: [`PdfId`](../../../types/type-aliases/PdfId.md)
71
+
72
+ Document identifier for key derivation.
73
+
74
+ ---
75
+
76
+ ### encryptMetadata
77
+
78
+ > **encryptMetadata**: `boolean`
79
+
80
+ Whether to encrypt document metadata.
81
+
82
+ #### Inherited from
83
+
84
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`encryptMetadata`](PdfSecurityHandler.md#encryptmetadata)
85
+
86
+ ---
87
+
88
+ ### masterKey?
89
+
90
+ > `protected` `optional` **masterKey**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
91
+
92
+ Derived master encryption key.
93
+
94
+ ---
95
+
96
+ ### ownerKey?
97
+
98
+ > `protected` `optional` **ownerKey**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
99
+
100
+ Computed owner key (O value).
101
+
102
+ ---
103
+
104
+ ### ownerPassword?
105
+
106
+ > `protected` `optional` **ownerPassword**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
107
+
108
+ Owner password for full access.
109
+
110
+ ---
111
+
112
+ ### password
113
+
114
+ > `protected` **password**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
115
+
116
+ User password for authentication.
117
+
118
+ ---
119
+
120
+ ### permissions
121
+
122
+ > **permissions**: `number`
123
+
124
+ Numeric permission flags.
125
+
126
+ #### Inherited from
127
+
128
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`permissions`](PdfSecurityHandler.md#permissions)
129
+
130
+ ---
131
+
132
+ ### userKey?
133
+
134
+ > `protected` `optional` **userKey**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
135
+
136
+ Computed user key (U value).
137
+
138
+ ## Methods
139
+
140
+ ### buildPermissions()
141
+
142
+ > `protected` **buildPermissions**(`perm`): `number`
143
+
144
+ Builds the numeric permission flags from a PdfPermissions object.
145
+
146
+ #### Parameters
147
+
148
+ ##### perm
149
+
150
+ [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
151
+
152
+ The permissions to encode.
153
+
154
+ #### Returns
155
+
156
+ `number`
157
+
158
+ The numeric permission flags.
159
+
160
+ #### Inherited from
161
+
162
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`buildPermissions`](PdfSecurityHandler.md#buildpermissions)
163
+
164
+ ---
165
+
166
+ ### canEncryptMetadata()
167
+
168
+ > **canEncryptMetadata**(): `boolean`
169
+
170
+ Checks if metadata encryption is enabled.
171
+
172
+ #### Returns
173
+
174
+ `boolean`
175
+
176
+ True if metadata should be encrypted.
177
+
178
+ ---
179
+
180
+ ### computeObjectKey()
181
+
182
+ > `abstract` **computeObjectKey**(`objectNumber?`, `generationNumber?`, `algorithm?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
183
+
184
+ Computes the object-specific encryption key.
185
+
186
+ #### Parameters
187
+
188
+ ##### objectNumber?
189
+
190
+ `number`
191
+
192
+ The PDF object number.
193
+
194
+ ##### generationNumber?
195
+
196
+ `number`
197
+
198
+ The PDF generation number.
199
+
200
+ ##### algorithm?
201
+
202
+ [`PdfEncryptionAlgorithmType`](../../../types/type-aliases/PdfEncryptionAlgorithmType.md)
203
+
204
+ Optional algorithm type for key derivation.
205
+
206
+ #### Returns
207
+
208
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
209
+
210
+ The computed object key.
211
+
212
+ #### Inherited from
213
+
214
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`computeObjectKey`](PdfSecurityHandler.md#computeobjectkey)
215
+
216
+ ---
217
+
218
+ ### computeOwnerKey()
219
+
220
+ > `abstract` `protected` **computeOwnerKey**(): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
221
+
222
+ Computes the owner key (O value) for the encryption dictionary.
223
+
224
+ #### Returns
225
+
226
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
227
+
228
+ The computed owner key.
229
+
230
+ ---
231
+
232
+ ### computeUserKey()
233
+
234
+ > `abstract` `protected` **computeUserKey**(): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
235
+
236
+ Computes the user key (U value) for the encryption dictionary.
237
+
238
+ #### Returns
239
+
240
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
241
+
242
+ The computed user key.
243
+
244
+ ---
245
+
246
+ ### decodePermissions()
247
+
248
+ > **decodePermissions**(): [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
249
+
250
+ Decodes the numeric permission flags into a PdfPermissions object.
251
+
252
+ #### Returns
253
+
254
+ [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
255
+
256
+ An object with boolean flags for each permission.
257
+
258
+ #### Inherited from
259
+
260
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`decodePermissions`](PdfSecurityHandler.md#decodepermissions)
261
+
262
+ ---
263
+
264
+ ### decrypt()
265
+
266
+ > **decrypt**(`type`, `data`, `objectNumber?`, `generationNumber?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
267
+
268
+ Decrypts data using the appropriate cipher.
269
+
270
+ #### Parameters
271
+
272
+ ##### type
273
+
274
+ The type of content being decrypted.
275
+
276
+ `"string"` | `"stream"` | `"file"`
277
+
278
+ ##### data
279
+
280
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
281
+
282
+ The encrypted data.
283
+
284
+ ##### objectNumber?
285
+
286
+ `number`
287
+
288
+ The PDF object number.
289
+
290
+ ##### generationNumber?
291
+
292
+ `number`
293
+
294
+ The PDF generation number.
295
+
296
+ #### Returns
297
+
298
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
299
+
300
+ The decrypted data.
301
+
302
+ #### Overrides
303
+
304
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`decrypt`](PdfSecurityHandler.md#decrypt)
305
+
306
+ ---
307
+
308
+ ### decryptObject()
309
+
310
+ > **decryptObject**(`object`): `Promise`\<`void`\>
311
+
312
+ Recursively decrypts all strings and streams within an indirect object.
313
+
314
+ #### Parameters
315
+
316
+ ##### object
317
+
318
+ [`PdfIndirectObject`](../../../../core/objects/pdf-indirect-object/classes/PdfIndirectObject.md)
319
+
320
+ The indirect object to decrypt.
321
+
322
+ #### Returns
323
+
324
+ `Promise`\<`void`\>
325
+
326
+ #### Inherited from
327
+
328
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`decryptObject`](PdfSecurityHandler.md#decryptobject)
329
+
330
+ ---
331
+
332
+ ### encrypt()
333
+
334
+ > **encrypt**(`type`, `data`, `objectNumber?`, `generationNumber?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
335
+
336
+ Encrypts data using the appropriate cipher.
337
+
338
+ #### Parameters
339
+
340
+ ##### type
341
+
342
+ The type of content being encrypted.
343
+
344
+ `"string"` | `"stream"` | `"file"`
345
+
346
+ ##### data
347
+
348
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
349
+
350
+ The data to encrypt.
351
+
352
+ ##### objectNumber?
353
+
354
+ `number`
355
+
356
+ The PDF object number.
357
+
358
+ ##### generationNumber?
359
+
360
+ `number`
361
+
362
+ The PDF generation number.
363
+
364
+ #### Returns
365
+
366
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
367
+
368
+ The encrypted data.
369
+
370
+ #### Overrides
371
+
372
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`encrypt`](PdfSecurityHandler.md#encrypt)
373
+
374
+ ---
375
+
376
+ ### encryptObject()
377
+
378
+ > **encryptObject**(`object`): `Promise`\<`void`\>
379
+
380
+ Recursively encrypts all strings and streams within an indirect object.
381
+
382
+ #### Parameters
383
+
384
+ ##### object
385
+
386
+ [`PdfIndirectObject`](../../../../core/objects/pdf-indirect-object/classes/PdfIndirectObject.md)
387
+
388
+ The indirect object to encrypt.
389
+
390
+ #### Returns
391
+
392
+ `Promise`\<`void`\>
393
+
394
+ #### Inherited from
395
+
396
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`encryptObject`](PdfSecurityHandler.md#encryptobject)
397
+
398
+ ---
399
+
400
+ ### getCipher()
401
+
402
+ > `abstract` `protected` **getCipher**(`objectNumber?`, `generationNumber?`): `Promise`\<[`Cipher`](../../../../crypto/types/interfaces/Cipher.md) \| `null`\>
403
+
404
+ Gets a cipher for the specified object.
405
+
406
+ #### Parameters
407
+
408
+ ##### objectNumber?
409
+
410
+ `number`
411
+
412
+ The PDF object number.
413
+
414
+ ##### generationNumber?
415
+
416
+ `number`
417
+
418
+ The PDF generation number.
419
+
420
+ #### Returns
421
+
422
+ `Promise`\<[`Cipher`](../../../../crypto/types/interfaces/Cipher.md) \| `null`\>
423
+
424
+ A cipher instance, or null if no encryption needed.
425
+
426
+ ---
427
+
428
+ ### getDocumentId()
429
+
430
+ > **getDocumentId**(): [`PdfId`](../../../types/type-aliases/PdfId.md) \| `undefined`
431
+
432
+ Gets the document ID.
433
+
434
+ #### Returns
435
+
436
+ [`PdfId`](../../../types/type-aliases/PdfId.md) \| `undefined`
437
+
438
+ The document ID, or undefined if not set.
439
+
440
+ #### Overrides
441
+
442
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`getDocumentId`](PdfSecurityHandler.md#getdocumentid)
443
+
444
+ ---
445
+
446
+ ### getKeyBits()
447
+
448
+ > `abstract` **getKeyBits**(): `number`
449
+
450
+ Gets the encryption key length in bits.
451
+
452
+ #### Returns
453
+
454
+ `number`
455
+
456
+ The key length in bits.
457
+
458
+ ---
459
+
460
+ ### getName()
461
+
462
+ > **getName**(): `string`
463
+
464
+ Gets the security handler filter name.
465
+
466
+ #### Returns
467
+
468
+ `string`
469
+
470
+ 'Standard' for password-based encryption.
471
+
472
+ #### Overrides
473
+
474
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`getName`](PdfSecurityHandler.md#getname)
475
+
476
+ ---
477
+
478
+ ### getRevision()
479
+
480
+ > `abstract` **getRevision**(): `number`
481
+
482
+ Gets the encryption revision number.
483
+
484
+ #### Returns
485
+
486
+ `number`
487
+
488
+ The revision number.
489
+
490
+ #### Inherited from
491
+
492
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`getRevision`](PdfSecurityHandler.md#getrevision)
493
+
494
+ ---
495
+
496
+ ### getVersion()
497
+
498
+ > `abstract` **getVersion**(): `number`
499
+
500
+ Gets the encryption version number.
501
+
502
+ #### Returns
503
+
504
+ `number`
505
+
506
+ The version number (1-5).
507
+
508
+ #### Inherited from
509
+
510
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`getVersion`](PdfSecurityHandler.md#getversion)
511
+
512
+ ---
513
+
514
+ ### initKeys()
515
+
516
+ > `protected` **initKeys**(): `Promise`\<`void`\>
517
+
518
+ Initializes the user and owner keys if not already set.
519
+
520
+ #### Returns
521
+
522
+ `Promise`\<`void`\>
523
+
524
+ ---
525
+
526
+ ### isReady()
527
+
528
+ > **isReady**(): `boolean`
529
+
530
+ Checks if the handler is ready (has document ID).
531
+
532
+ #### Returns
533
+
534
+ `boolean`
535
+
536
+ True if document ID is set.
537
+
538
+ #### Overrides
539
+
540
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`isReady`](PdfSecurityHandler.md#isready)
541
+
542
+ ---
543
+
544
+ ### readEncryptionDictionary()
545
+
546
+ > **readEncryptionDictionary**(`encryptionDictionary`): `void`
547
+
548
+ Reads encryption parameters from the encryption dictionary.
549
+
550
+ #### Parameters
551
+
552
+ ##### encryptionDictionary
553
+
554
+ [`PdfEncryptionDictionary`](../../../types/type-aliases/PdfEncryptionDictionary.md)
555
+
556
+ The encryption dictionary from the PDF.
557
+
558
+ #### Returns
559
+
560
+ `void`
561
+
562
+ #### Overrides
563
+
564
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`readEncryptionDictionary`](PdfSecurityHandler.md#readencryptiondictionary)
565
+
566
+ ---
567
+
568
+ ### recoverUserPassword()
569
+
570
+ > `abstract` **recoverUserPassword**(`ownerPassword?`): `Promise`\<`string`\>
571
+
572
+ Recovers the user password from the owner password.
573
+
574
+ #### Parameters
575
+
576
+ ##### ownerPassword?
577
+
578
+ The owner password.
579
+
580
+ `string` | [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
581
+
582
+ #### Returns
583
+
584
+ `Promise`\<`string`\>
585
+
586
+ The recovered user password.
587
+
588
+ #### Throws
589
+
590
+ Error if recovery is not supported.
591
+
592
+ ---
593
+
594
+ ### setDocumentId()
595
+
596
+ > **setDocumentId**(`id`): `void`
597
+
598
+ Sets the document ID for key derivation.
599
+
600
+ #### Parameters
601
+
602
+ ##### id
603
+
604
+ [`PdfId`](../../../types/type-aliases/PdfId.md)
605
+
606
+ The document ID array.
607
+
608
+ #### Returns
609
+
610
+ `void`
611
+
612
+ #### Overrides
613
+
614
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`setDocumentId`](PdfSecurityHandler.md#setdocumentid)
615
+
616
+ ---
617
+
618
+ ### setMasterKey()
619
+
620
+ > **setMasterKey**(`masterKey`): `void`
621
+
622
+ Sets the master encryption key directly.
623
+
624
+ #### Parameters
625
+
626
+ ##### masterKey
627
+
628
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
629
+
630
+ The master key to use.
631
+
632
+ #### Returns
633
+
634
+ `void`
635
+
636
+ ---
637
+
638
+ ### setOwnerPassword()
639
+
640
+ > **setOwnerPassword**(`ownerPassword`): `void`
641
+
642
+ Sets the owner password.
643
+
644
+ #### Parameters
645
+
646
+ ##### ownerPassword
647
+
648
+ The owner password string or bytes.
649
+
650
+ `string` | [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
651
+
652
+ #### Returns
653
+
654
+ `void`
655
+
656
+ ---
657
+
658
+ ### setPassword()
659
+
660
+ > **setPassword**(`password`): `void`
661
+
662
+ Sets the user password.
663
+
664
+ #### Parameters
665
+
666
+ ##### password
667
+
668
+ The user password string or bytes.
669
+
670
+ `string` | [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
671
+
672
+ #### Returns
673
+
674
+ `void`
675
+
676
+ ---
677
+
678
+ ### write()
679
+
680
+ > **write**(): `Promise`\<`void`\>
681
+
682
+ Writes the encryption dictionary with all computed keys and parameters.
683
+
684
+ #### Returns
685
+
686
+ `Promise`\<`void`\>
687
+
688
+ #### Throws
689
+
690
+ Error if required keys are not computed.
691
+
692
+ #### Overrides
693
+
694
+ [`PdfSecurityHandler`](PdfSecurityHandler.md).[`write`](PdfSecurityHandler.md#write)
@@ -0,0 +1,27 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/base](../README.md) / PdfSecurityHandlerOptions
6
+
7
+ # Type Alias: PdfSecurityHandlerOptions
8
+
9
+ > **PdfSecurityHandlerOptions** = `object`
10
+
11
+ Base options for creating a security handler.
12
+
13
+ ## Properties
14
+
15
+ ### encryptMetadata?
16
+
17
+ > `optional` **encryptMetadata**: `boolean`
18
+
19
+ Whether to encrypt document metadata.
20
+
21
+ ---
22
+
23
+ ### permissions?
24
+
25
+ > `optional` **permissions**: `number` \| [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
26
+
27
+ Document permissions configuration.