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,43 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/base](../README.md) / PdfStandardSecurityHandlerOptions
6
+
7
+ # Type Alias: PdfStandardSecurityHandlerOptions
8
+
9
+ > **PdfStandardSecurityHandlerOptions** = [`PdfSecurityHandlerOptions`](PdfSecurityHandlerOptions.md) & `object`
10
+
11
+ Options for creating a standard security handler with password-based encryption.
12
+
13
+ ## Type Declaration
14
+
15
+ ### documentId?
16
+
17
+ > `optional` **documentId**: [`PdfId`](../../../types/type-aliases/PdfId.md) \| `string` \| [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
18
+
19
+ Document identifier for key derivation.
20
+
21
+ ### ownerKey?
22
+
23
+ > `optional` **ownerKey**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
24
+
25
+ Pre-computed owner key.
26
+
27
+ ### ownerPassword?
28
+
29
+ > `optional` **ownerPassword**: `string` \| [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
30
+
31
+ Owner password for full document access.
32
+
33
+ ### password?
34
+
35
+ > `optional` **password**: `string` \| [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
36
+
37
+ User password for opening the document.
38
+
39
+ ### userKey?
40
+
41
+ > `optional` **userKey**: [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
42
+
43
+ Pre-computed user key.
@@ -0,0 +1,11 @@
1
+ [**pdf-lite**](../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../README.md) / security/handlers/pubSec
6
+
7
+ # security/handlers/pubSec
8
+
9
+ ## Classes
10
+
11
+ - [PdfPublicKeySecurityHandler](classes/PdfPublicKeySecurityHandler.md)
@@ -0,0 +1,503 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/pubSec](../README.md) / PdfPublicKeySecurityHandler
6
+
7
+ # Class: PdfPublicKeySecurityHandler
8
+
9
+ Public key security handler implementing certificate-based encryption.
10
+ Uses PKCS#7 enveloped data to encrypt the file key for each recipient.
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ const handler = new PdfPublicKeySecurityHandler({
16
+ recipients: [
17
+ {
18
+ certificate: recipientCertBytes,
19
+ privateKey: privateKeyBytes,
20
+ },
21
+ ],
22
+ })
23
+ ```
24
+
25
+ ## Extends
26
+
27
+ - [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md)
28
+
29
+ ## Constructors
30
+
31
+ ### Constructor
32
+
33
+ > **new PdfPublicKeySecurityHandler**(`options`): `PdfPublicKeySecurityHandler`
34
+
35
+ Creates a new public key security handler.
36
+
37
+ #### Parameters
38
+
39
+ ##### options
40
+
41
+ Configuration including recipients and encryption settings.
42
+
43
+ ###### encryptMetadata?
44
+
45
+ `boolean`
46
+
47
+ ###### permissions?
48
+
49
+ `number` \| [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
50
+
51
+ ###### recipients
52
+
53
+ [`PdfEncryptionRecipient`](../../../types/type-aliases/PdfEncryptionRecipient.md)[]
54
+
55
+ ###### seed?
56
+
57
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
58
+
59
+ ###### standardSecurityHandler?
60
+
61
+ [`PdfStandardSecurityHandler`](../../base/classes/PdfStandardSecurityHandler.md)
62
+
63
+ #### Returns
64
+
65
+ `PdfPublicKeySecurityHandler`
66
+
67
+ #### Overrides
68
+
69
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`constructor`](../../base/classes/PdfSecurityHandler.md#constructor)
70
+
71
+ ## Properties
72
+
73
+ ### dict
74
+
75
+ > **dict**: [`PdfEncryptionDictionary`](../../../types/type-aliases/PdfEncryptionDictionary.md)
76
+
77
+ The encryption dictionary containing all encryption parameters.
78
+
79
+ #### Inherited from
80
+
81
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`dict`](../../base/classes/PdfSecurityHandler.md#dict)
82
+
83
+ ---
84
+
85
+ ### encryptMetadata
86
+
87
+ > **encryptMetadata**: `boolean`
88
+
89
+ Whether to encrypt document metadata.
90
+
91
+ #### Inherited from
92
+
93
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`encryptMetadata`](../../base/classes/PdfSecurityHandler.md#encryptmetadata)
94
+
95
+ ---
96
+
97
+ ### permissions
98
+
99
+ > **permissions**: `number`
100
+
101
+ Numeric permission flags.
102
+
103
+ #### Inherited from
104
+
105
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`permissions`](../../base/classes/PdfSecurityHandler.md#permissions)
106
+
107
+ ## Methods
108
+
109
+ ### buildPermissions()
110
+
111
+ > `protected` **buildPermissions**(`perm`): `number`
112
+
113
+ Builds the numeric permission flags from a PdfPermissions object.
114
+
115
+ #### Parameters
116
+
117
+ ##### perm
118
+
119
+ [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
120
+
121
+ The permissions to encode.
122
+
123
+ #### Returns
124
+
125
+ `number`
126
+
127
+ The numeric permission flags.
128
+
129
+ #### Inherited from
130
+
131
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`buildPermissions`](../../base/classes/PdfSecurityHandler.md#buildpermissions)
132
+
133
+ ---
134
+
135
+ ### canEncryptMetadata()
136
+
137
+ > **canEncryptMetadata**(): `boolean`
138
+
139
+ Checks if metadata encryption is enabled.
140
+
141
+ #### Returns
142
+
143
+ `boolean`
144
+
145
+ True if metadata should be encrypted.
146
+
147
+ ---
148
+
149
+ ### computeObjectKey()
150
+
151
+ > **computeObjectKey**(`objectNumber?`, `generationNumber?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
152
+
153
+ Computes the object encryption key.
154
+
155
+ #### Parameters
156
+
157
+ ##### objectNumber?
158
+
159
+ `number`
160
+
161
+ The PDF object number.
162
+
163
+ ##### generationNumber?
164
+
165
+ `number`
166
+
167
+ The PDF generation number.
168
+
169
+ #### Returns
170
+
171
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
172
+
173
+ The computed object key.
174
+
175
+ #### Overrides
176
+
177
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`computeObjectKey`](../../base/classes/PdfSecurityHandler.md#computeobjectkey)
178
+
179
+ ---
180
+
181
+ ### decodePermissions()
182
+
183
+ > **decodePermissions**(): [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
184
+
185
+ Decodes the numeric permission flags into a PdfPermissions object.
186
+
187
+ #### Returns
188
+
189
+ [`PdfPermissions`](../../../../types/type-aliases/PdfPermissions.md)
190
+
191
+ An object with boolean flags for each permission.
192
+
193
+ #### Inherited from
194
+
195
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`decodePermissions`](../../base/classes/PdfSecurityHandler.md#decodepermissions)
196
+
197
+ ---
198
+
199
+ ### decrypt()
200
+
201
+ > **decrypt**(`type`, `data`, `objectNumber?`, `generationNumber?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
202
+
203
+ Decrypts data using the underlying security handler.
204
+
205
+ #### Parameters
206
+
207
+ ##### type
208
+
209
+ The type of content being decrypted.
210
+
211
+ `"string"` | `"stream"` | `"file"`
212
+
213
+ ##### data
214
+
215
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
216
+
217
+ The encrypted data.
218
+
219
+ ##### objectNumber?
220
+
221
+ `number`
222
+
223
+ The PDF object number.
224
+
225
+ ##### generationNumber?
226
+
227
+ `number`
228
+
229
+ The PDF generation number.
230
+
231
+ #### Returns
232
+
233
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
234
+
235
+ The decrypted data.
236
+
237
+ #### Overrides
238
+
239
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`decrypt`](../../base/classes/PdfSecurityHandler.md#decrypt)
240
+
241
+ ---
242
+
243
+ ### decryptObject()
244
+
245
+ > **decryptObject**(`object`): `Promise`\<`void`\>
246
+
247
+ Recursively decrypts all strings and streams within an indirect object.
248
+
249
+ #### Parameters
250
+
251
+ ##### object
252
+
253
+ [`PdfIndirectObject`](../../../../core/objects/pdf-indirect-object/classes/PdfIndirectObject.md)
254
+
255
+ The indirect object to decrypt.
256
+
257
+ #### Returns
258
+
259
+ `Promise`\<`void`\>
260
+
261
+ #### Inherited from
262
+
263
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`decryptObject`](../../base/classes/PdfSecurityHandler.md#decryptobject)
264
+
265
+ ---
266
+
267
+ ### encrypt()
268
+
269
+ > **encrypt**(`type`, `data`, `objectNumber?`, `generationNumber?`): `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
270
+
271
+ Encrypts data using the underlying security handler.
272
+
273
+ #### Parameters
274
+
275
+ ##### type
276
+
277
+ The type of content being encrypted.
278
+
279
+ `"string"` | `"stream"` | `"file"`
280
+
281
+ ##### data
282
+
283
+ [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
284
+
285
+ The data to encrypt.
286
+
287
+ ##### objectNumber?
288
+
289
+ `number`
290
+
291
+ The PDF object number.
292
+
293
+ ##### generationNumber?
294
+
295
+ `number`
296
+
297
+ The PDF generation number.
298
+
299
+ #### Returns
300
+
301
+ `Promise`\<[`ByteArray`](../../../../types/type-aliases/ByteArray.md)\>
302
+
303
+ The encrypted data.
304
+
305
+ #### Overrides
306
+
307
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`encrypt`](../../base/classes/PdfSecurityHandler.md#encrypt)
308
+
309
+ ---
310
+
311
+ ### encryptObject()
312
+
313
+ > **encryptObject**(`object`): `Promise`\<`void`\>
314
+
315
+ Recursively encrypts all strings and streams within an indirect object.
316
+
317
+ #### Parameters
318
+
319
+ ##### object
320
+
321
+ [`PdfIndirectObject`](../../../../core/objects/pdf-indirect-object/classes/PdfIndirectObject.md)
322
+
323
+ The indirect object to encrypt.
324
+
325
+ #### Returns
326
+
327
+ `Promise`\<`void`\>
328
+
329
+ #### Inherited from
330
+
331
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`encryptObject`](../../base/classes/PdfSecurityHandler.md#encryptobject)
332
+
333
+ ---
334
+
335
+ ### getDocumentId()
336
+
337
+ > **getDocumentId**(): [`PdfId`](../../../types/type-aliases/PdfId.md) \| `undefined`
338
+
339
+ Gets the document ID.
340
+
341
+ #### Returns
342
+
343
+ [`PdfId`](../../../types/type-aliases/PdfId.md) \| `undefined`
344
+
345
+ The document ID, or undefined if not set.
346
+
347
+ #### Overrides
348
+
349
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`getDocumentId`](../../base/classes/PdfSecurityHandler.md#getdocumentid)
350
+
351
+ ---
352
+
353
+ ### getName()
354
+
355
+ > **getName**(): `string`
356
+
357
+ Gets the security handler filter name.
358
+
359
+ #### Returns
360
+
361
+ `string`
362
+
363
+ 'Adobe.PubSec' for public key encryption.
364
+
365
+ #### Overrides
366
+
367
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`getName`](../../base/classes/PdfSecurityHandler.md#getname)
368
+
369
+ ---
370
+
371
+ ### getRevision()
372
+
373
+ > **getRevision**(): `number`
374
+
375
+ Gets the encryption revision number.
376
+
377
+ #### Returns
378
+
379
+ `number`
380
+
381
+ The revision from the underlying handler.
382
+
383
+ #### Overrides
384
+
385
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`getRevision`](../../base/classes/PdfSecurityHandler.md#getrevision)
386
+
387
+ ---
388
+
389
+ ### getStandardSecurityHandler()
390
+
391
+ > **getStandardSecurityHandler**(): [`PdfStandardSecurityHandler`](../../base/classes/PdfStandardSecurityHandler.md)
392
+
393
+ Gets the underlying standard security handler.
394
+
395
+ #### Returns
396
+
397
+ [`PdfStandardSecurityHandler`](../../base/classes/PdfStandardSecurityHandler.md)
398
+
399
+ The standard security handler used for encryption.
400
+
401
+ ---
402
+
403
+ ### getVersion()
404
+
405
+ > **getVersion**(): `number`
406
+
407
+ Gets the encryption version number.
408
+
409
+ #### Returns
410
+
411
+ `number`
412
+
413
+ The version from the underlying handler.
414
+
415
+ #### Overrides
416
+
417
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`getVersion`](../../base/classes/PdfSecurityHandler.md#getversion)
418
+
419
+ ---
420
+
421
+ ### isReady()
422
+
423
+ > **isReady**(): `boolean`
424
+
425
+ Checks if the handler is ready.
426
+
427
+ #### Returns
428
+
429
+ `boolean`
430
+
431
+ True if the underlying handler is ready.
432
+
433
+ #### Overrides
434
+
435
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`isReady`](../../base/classes/PdfSecurityHandler.md#isready)
436
+
437
+ ---
438
+
439
+ ### readEncryptionDictionary()
440
+
441
+ > **readEncryptionDictionary**(`dictionary`): `void`
442
+
443
+ Reads encryption parameters from the encryption dictionary.
444
+
445
+ #### Parameters
446
+
447
+ ##### dictionary
448
+
449
+ [`PdfEncryptionDictionary`](../../../types/type-aliases/PdfEncryptionDictionary.md)
450
+
451
+ The encryption dictionary from the PDF.
452
+
453
+ #### Returns
454
+
455
+ `void`
456
+
457
+ #### Throws
458
+
459
+ Error if required entries are missing.
460
+
461
+ #### Overrides
462
+
463
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`readEncryptionDictionary`](../../base/classes/PdfSecurityHandler.md#readencryptiondictionary)
464
+
465
+ ---
466
+
467
+ ### setDocumentId()
468
+
469
+ > **setDocumentId**(`id`): `void`
470
+
471
+ Sets the document ID.
472
+
473
+ #### Parameters
474
+
475
+ ##### id
476
+
477
+ [`PdfId`](../../../types/type-aliases/PdfId.md)
478
+
479
+ The document ID array.
480
+
481
+ #### Returns
482
+
483
+ `void`
484
+
485
+ #### Overrides
486
+
487
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`setDocumentId`](../../base/classes/PdfSecurityHandler.md#setdocumentid)
488
+
489
+ ---
490
+
491
+ ### write()
492
+
493
+ > **write**(): `Promise`\<`void`\>
494
+
495
+ Writes the encryption dictionary with public key-specific entries.
496
+
497
+ #### Returns
498
+
499
+ `Promise`\<`void`\>
500
+
501
+ #### Overrides
502
+
503
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md).[`write`](../../base/classes/PdfSecurityHandler.md#write)
@@ -0,0 +1,14 @@
1
+ [**pdf-lite**](../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../README.md) / security/handlers/utils
6
+
7
+ # security/handlers/utils
8
+
9
+ ## Functions
10
+
11
+ - [createFromDictionary](functions/createFromDictionary.md)
12
+ - [createFromEncryptionOptions](functions/createFromEncryptionOptions.md)
13
+ - [createStandardSecurityHandlerFromDictionary](functions/createStandardSecurityHandlerFromDictionary.md)
14
+ - [getCryptFilter](functions/getCryptFilter.md)
@@ -0,0 +1,56 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/utils](../README.md) / createFromDictionary
6
+
7
+ # Function: createFromDictionary()
8
+
9
+ > **createFromDictionary**(`dict`, `options?`): [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md)
10
+
11
+ Creates a security handler from an encryption dictionary.
12
+ Automatically detects the handler type (Standard or Adobe.PubSec) and version.
13
+
14
+ ## Parameters
15
+
16
+ ### dict
17
+
18
+ [`PdfEncryptionDictionary`](../../../types/type-aliases/PdfEncryptionDictionary.md)
19
+
20
+ The encryption dictionary from the PDF trailer.
21
+
22
+ ### options?
23
+
24
+ Optional configuration including passwords and recipients.
25
+
26
+ #### documentId?
27
+
28
+ [`PdfId`](../../../types/type-aliases/PdfId.md)
29
+
30
+ #### ownerPassword?
31
+
32
+ `string` \| [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
33
+
34
+ #### password?
35
+
36
+ `string` \| [`ByteArray`](../../../../types/type-aliases/ByteArray.md)
37
+
38
+ #### recipients?
39
+
40
+ [`PdfEncryptionRecipient`](../../../types/type-aliases/PdfEncryptionRecipient.md)[]
41
+
42
+ ## Returns
43
+
44
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md)
45
+
46
+ The appropriate security handler instance.
47
+
48
+ ## Throws
49
+
50
+ Error if the filter type is unsupported.
51
+
52
+ ## Example
53
+
54
+ ```typescript
55
+ const handler = createFromDictionary(encryptDict, { password: 'secret' })
56
+ ```
@@ -0,0 +1,40 @@
1
+ [**pdf-lite**](../../../../README.md)
2
+
3
+ ---
4
+
5
+ [pdf-lite](../../../../README.md) / [security/handlers/utils](../README.md) / createFromEncryptionOptions
6
+
7
+ # Function: createFromEncryptionOptions()
8
+
9
+ > **createFromEncryptionOptions**(`options`): [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md)
10
+
11
+ Creates a security handler from encryption options.
12
+ Automatically selects the appropriate handler version based on the encryption method.
13
+
14
+ ## Parameters
15
+
16
+ ### options
17
+
18
+ [`PdfEncryptionOptions`](../../../types/type-aliases/PdfEncryptionOptions.md)
19
+
20
+ The encryption configuration options.
21
+
22
+ ## Returns
23
+
24
+ [`PdfSecurityHandler`](../../base/classes/PdfSecurityHandler.md)
25
+
26
+ A configured security handler.
27
+
28
+ ## Throws
29
+
30
+ Error if no encryption is selected or the type is unsupported.
31
+
32
+ ## Example
33
+
34
+ ```typescript
35
+ const handler = createFromEncryptionOptions({
36
+ method: { default: 'AES-256-CBC' },
37
+ password: 'secret',
38
+ permissions: { print: true, copy: false },
39
+ })
40
+ ```