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.
- package/dist/core/decoder.d.ts +39 -0
- package/dist/core/decoder.js +367 -0
- package/dist/core/generators.d.ts +37 -0
- package/{packages/pdf-lite/src/core/generators.ts → dist/core/generators.js} +36 -67
- package/dist/core/incremental-parser.d.ts +103 -0
- package/{packages/pdf-lite/src/core/incremental-parser.ts → dist/core/incremental-parser.js} +63 -100
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +2 -0
- package/dist/core/objects/pdf-array.d.ts +12 -0
- package/dist/core/objects/pdf-array.js +42 -0
- package/dist/core/objects/pdf-boolean.d.ts +8 -0
- package/dist/core/objects/pdf-boolean.js +15 -0
- package/dist/core/objects/pdf-comment.d.ts +18 -0
- package/dist/core/objects/pdf-comment.js +39 -0
- package/dist/core/objects/pdf-date.d.ts +5 -0
- package/dist/core/objects/pdf-date.js +40 -0
- package/dist/core/objects/pdf-dictionary.d.ts +22 -0
- package/dist/core/objects/pdf-dictionary.js +136 -0
- package/dist/core/objects/pdf-hexadecimal.d.ts +17 -0
- package/dist/core/objects/pdf-hexadecimal.js +42 -0
- package/dist/core/objects/pdf-indirect-object.d.ts +27 -0
- package/dist/core/objects/pdf-indirect-object.js +100 -0
- package/dist/core/objects/pdf-name.d.ts +8 -0
- package/dist/core/objects/pdf-name.js +15 -0
- package/dist/core/objects/pdf-null.d.ts +7 -0
- package/dist/core/objects/pdf-null.js +11 -0
- package/dist/core/objects/pdf-number.d.ts +25 -0
- package/dist/core/objects/pdf-number.js +77 -0
- package/dist/core/objects/pdf-object-reference.d.ts +9 -0
- package/dist/core/objects/pdf-object-reference.js +19 -0
- package/dist/core/objects/pdf-object.d.ts +30 -0
- package/dist/core/objects/pdf-object.js +77 -0
- package/dist/core/objects/pdf-start-xref.d.ts +10 -0
- package/dist/core/objects/pdf-start-xref.js +32 -0
- package/dist/core/objects/pdf-stream.d.ts +100 -0
- package/dist/core/objects/pdf-stream.js +521 -0
- package/dist/core/objects/pdf-string.d.ts +15 -0
- package/dist/core/objects/pdf-string.js +30 -0
- package/dist/core/objects/pdf-trailer.d.ts +26 -0
- package/dist/core/objects/pdf-trailer.js +33 -0
- package/dist/core/objects/pdf-xref-table.d.ts +48 -0
- package/dist/core/objects/pdf-xref-table.js +183 -0
- package/{packages/pdf-lite/src/core/parser.ts → dist/core/parser.d.ts} +3 -4
- package/dist/core/parser.js +9 -0
- package/dist/core/ref.d.ts +59 -0
- package/{packages/pdf-lite/src/core/ref.ts → dist/core/ref.js} +23 -41
- package/dist/core/serializer.d.ts +36 -0
- package/{packages/pdf-lite/src/core/serializer.ts → dist/core/serializer.js} +20 -30
- package/dist/core/streams/object-stream.d.ts +6 -0
- package/dist/core/streams/object-stream.js +15 -0
- package/dist/core/tokeniser.d.ts +98 -0
- package/dist/core/tokeniser.js +552 -0
- package/dist/core/tokens/boolean-token.d.ts +8 -0
- package/dist/core/tokens/boolean-token.js +15 -0
- package/dist/core/tokens/byte-offset-token.d.ts +8 -0
- package/dist/core/tokens/byte-offset-token.js +15 -0
- package/dist/core/tokens/comment-token.d.ts +10 -0
- package/dist/core/tokens/comment-token.js +26 -0
- package/dist/core/tokens/end-array-token.d.ts +4 -0
- package/dist/core/tokens/end-array-token.js +8 -0
- package/dist/core/tokens/end-dictionary-token.d.ts +4 -0
- package/dist/core/tokens/end-dictionary-token.js +8 -0
- package/dist/core/tokens/end-object-token.d.ts +4 -0
- package/dist/core/tokens/end-object-token.js +8 -0
- package/dist/core/tokens/end-stream-token.d.ts +5 -0
- package/dist/core/tokens/end-stream-token.js +8 -0
- package/dist/core/tokens/hexadecimal-token.d.ts +7 -0
- package/dist/core/tokens/hexadecimal-token.js +16 -0
- package/dist/core/tokens/name-token.d.ts +6 -0
- package/dist/core/tokens/name-token.js +15 -0
- package/dist/core/tokens/null-token.d.ts +4 -0
- package/dist/core/tokens/null-token.js +8 -0
- package/dist/core/tokens/number-token.d.ts +24 -0
- package/dist/core/tokens/number-token.js +104 -0
- package/dist/core/tokens/object-reference-token.d.ts +7 -0
- package/dist/core/tokens/object-reference-token.js +17 -0
- package/dist/core/tokens/start-array-token.d.ts +4 -0
- package/dist/core/tokens/start-array-token.js +8 -0
- package/dist/core/tokens/start-dictionary-token.d.ts +4 -0
- package/dist/core/tokens/start-dictionary-token.js +8 -0
- package/dist/core/tokens/start-object-token.d.ts +8 -0
- package/dist/core/tokens/start-object-token.js +17 -0
- package/dist/core/tokens/start-stream-token.d.ts +8 -0
- package/dist/core/tokens/start-stream-token.js +38 -0
- package/dist/core/tokens/start-xref-token.d.ts +4 -0
- package/dist/core/tokens/start-xref-token.js +8 -0
- package/dist/core/tokens/stream-chunk-token.d.ts +5 -0
- package/dist/core/tokens/stream-chunk-token.js +6 -0
- package/dist/core/tokens/string-token.d.ts +7 -0
- package/dist/core/tokens/string-token.js +13 -0
- package/dist/core/tokens/token.d.ts +10 -0
- package/dist/core/tokens/token.js +32 -0
- package/dist/core/tokens/trailer-token.d.ts +5 -0
- package/dist/core/tokens/trailer-token.js +10 -0
- package/dist/core/tokens/whitespace-token.d.ts +11 -0
- package/dist/core/tokens/whitespace-token.js +36 -0
- package/dist/core/tokens/xref-table-entry-token.d.ts +13 -0
- package/dist/core/tokens/xref-table-entry-token.js +40 -0
- package/dist/core/tokens/xref-table-section-start-token.d.ts +8 -0
- package/dist/core/tokens/xref-table-section-start-token.js +21 -0
- package/dist/core/tokens/xref-table-start-token.d.ts +5 -0
- package/dist/core/tokens/xref-table-start-token.js +10 -0
- package/dist/crypto/ciphers/aes128.d.ts +19 -0
- package/{packages/pdf-lite/src/crypto/ciphers/aes128.ts → dist/crypto/ciphers/aes128.js} +17 -27
- package/dist/crypto/ciphers/aes256.d.ts +18 -0
- package/{packages/pdf-lite/src/crypto/ciphers/aes256.ts → dist/crypto/ciphers/aes256.js} +14 -17
- package/dist/crypto/ciphers/rc4.d.ts +18 -0
- package/{packages/pdf-lite/src/crypto/ciphers/rc4.ts → dist/crypto/ciphers/rc4.js} +25 -30
- package/dist/crypto/constants.d.ts +6 -0
- package/{packages/pdf-lite/src/crypto/constants.ts → dist/crypto/constants.js} +1 -1
- package/dist/crypto/key-derivation/key-derivation-aes256.d.ts +56 -0
- package/dist/crypto/key-derivation/key-derivation-aes256.js +156 -0
- package/dist/crypto/key-derivation/key-derivation.d.ts +42 -0
- package/{packages/pdf-lite/src/crypto/key-derivation/key-derivation.ts → dist/crypto/key-derivation/key-derivation.js} +35 -66
- package/dist/crypto/key-gen/key-gen-aes256.d.ts +36 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-aes256.ts → dist/crypto/key-gen/key-gen-aes256.js} +25 -50
- package/dist/crypto/key-gen/key-gen-rc4-128.d.ts +47 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-128.ts → dist/crypto/key-gen/key-gen-rc4-128.js} +45 -106
- package/dist/crypto/key-gen/key-gen-rc4-40.d.ts +60 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-40.ts → dist/crypto/key-gen/key-gen-rc4-40.js} +26 -62
- package/dist/crypto/types.d.ts +5 -0
- package/dist/crypto/types.js +1 -0
- package/dist/crypto/utils.d.ts +40 -0
- package/{packages/pdf-lite/src/crypto/utils.ts → dist/crypto/utils.js} +27 -36
- package/dist/filters/ascii85.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/ascii85.ts → dist/filters/ascii85.js} +41 -65
- package/dist/filters/asciihex.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/asciihex.ts → dist/filters/asciihex.js} +18 -19
- package/dist/filters/flate.d.ts +15 -0
- package/{packages/pdf-lite/src/filters/flate.ts → dist/filters/flate.js} +7 -10
- package/dist/filters/lzw.d.ts +16 -0
- package/dist/filters/lzw.js +150 -0
- package/dist/filters/pass-through.d.ts +14 -0
- package/{packages/pdf-lite/src/filters/pass-through.ts → dist/filters/pass-through.js} +6 -9
- package/dist/filters/runlength.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/runlength.ts → dist/filters/runlength.js} +36 -40
- package/dist/filters/types.d.ts +18 -0
- package/{packages/pdf-lite/src/filters/types.ts → dist/filters/types.js} +1 -10
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/pdf/errors.d.ts +6 -0
- package/{packages/pdf-lite/src/pdf/errors.ts → dist/pdf/errors.js} +2 -1
- package/dist/pdf/index.d.ts +4 -0
- package/dist/pdf/index.js +4 -0
- package/dist/pdf/pdf-document.d.ts +277 -0
- package/{packages/pdf-lite/src/pdf/pdf-document.ts → dist/pdf/pdf-document.js} +305 -541
- package/dist/pdf/pdf-reader.d.ts +37 -0
- package/{packages/pdf-lite/src/pdf/pdf-reader.ts → dist/pdf/pdf-reader.js} +12 -22
- package/dist/pdf/pdf-revision.d.ts +101 -0
- package/{packages/pdf-lite/src/pdf/pdf-revision.ts → dist/pdf/pdf-revision.js} +70 -105
- package/dist/pdf/pdf-xref-lookup.d.ts +149 -0
- package/dist/pdf/pdf-xref-lookup.js +402 -0
- package/dist/security/crypt-filters/aesv2.d.ts +35 -0
- package/{packages/pdf-lite/src/security/crypt-filters/aesv2.ts → dist/security/crypt-filters/aesv2.js} +9 -26
- package/dist/security/crypt-filters/aesv3.d.ts +36 -0
- package/{packages/pdf-lite/src/security/crypt-filters/aesv3.ts → dist/security/crypt-filters/aesv3.js} +9 -23
- package/{packages/pdf-lite/src/security/crypt-filters/base.ts → dist/security/crypt-filters/base.d.ts} +21 -73
- package/dist/security/crypt-filters/base.js +93 -0
- package/dist/security/crypt-filters/identity.d.ts +28 -0
- package/{packages/pdf-lite/src/security/crypt-filters/identity.ts → dist/security/crypt-filters/identity.js} +9 -13
- package/dist/security/crypt-filters/v2.d.ts +37 -0
- package/{packages/pdf-lite/src/security/crypt-filters/v2.ts → dist/security/crypt-filters/v2.js} +9 -26
- package/dist/security/handlers/base.d.ts +304 -0
- package/dist/security/handlers/base.js +359 -0
- package/dist/security/handlers/pubSec.d.ts +164 -0
- package/dist/security/handlers/pubSec.js +299 -0
- package/dist/security/handlers/utils.d.ts +77 -0
- package/dist/security/handlers/utils.js +244 -0
- package/dist/security/handlers/v1.d.ts +81 -0
- package/dist/security/handlers/v1.js +135 -0
- package/dist/security/handlers/v2.d.ts +63 -0
- package/{packages/pdf-lite/src/security/handlers/v2.ts → dist/security/handlers/v2.js} +25 -62
- package/dist/security/handlers/v4.d.ts +121 -0
- package/dist/security/handlers/v4.js +257 -0
- package/dist/security/handlers/v5.d.ts +112 -0
- package/dist/security/handlers/v5.js +210 -0
- package/{packages/pdf-lite/src/security/types.ts → dist/security/types.d.ts} +72 -94
- package/dist/security/types.js +1 -0
- package/dist/signing/document-security-store.d.ts +108 -0
- package/dist/signing/document-security-store.js +156 -0
- package/dist/signing/index.d.ts +3 -0
- package/dist/signing/index.js +3 -0
- package/dist/signing/signatures/adbe-pkcs7-detached.d.ts +57 -0
- package/dist/signing/signatures/adbe-pkcs7-detached.js +117 -0
- package/dist/signing/signatures/adbe-pkcs7-sha1.d.ts +55 -0
- package/dist/signing/signatures/adbe-pkcs7-sha1.js +121 -0
- package/dist/signing/signatures/adbe-x509-rsa-sha1.d.ts +49 -0
- package/dist/signing/signatures/adbe-x509-rsa-sha1.js +81 -0
- package/dist/signing/signatures/base.d.ts +107 -0
- package/dist/signing/signatures/base.js +145 -0
- package/dist/signing/signatures/etsi-cades-detached.d.ts +64 -0
- package/dist/signing/signatures/etsi-cades-detached.js +159 -0
- package/dist/signing/signatures/etsi-rfc3161.d.ts +37 -0
- package/{packages/pdf-lite/src/signing/signatures/etsi-rfc3161.ts → dist/signing/signatures/etsi-rfc3161.js} +21 -43
- package/dist/signing/signatures/index.d.ts +6 -0
- package/dist/signing/signatures/index.js +6 -0
- package/dist/signing/signer.d.ts +23 -0
- package/dist/signing/signer.js +92 -0
- package/{packages/pdf-lite/src/signing/types.ts → dist/signing/types.d.ts} +40 -48
- package/dist/signing/types.js +1 -0
- package/dist/signing/utils.d.ts +32 -0
- package/{packages/pdf-lite/src/signing/utils.ts → dist/signing/utils.js} +12 -31
- package/dist/types.d.ts +23 -0
- package/dist/types.js +11 -0
- package/dist/utils/IterableReadableStream.d.ts +24 -0
- package/{packages/pdf-lite/src/utils/IterableReadableStream.ts → dist/utils/IterableReadableStream.js} +6 -6
- package/dist/utils/algos.d.ts +242 -0
- package/{packages/pdf-lite/src/utils/algos.ts → dist/utils/algos.js} +63 -136
- package/dist/utils/assert.d.ts +28 -0
- package/{packages/pdf-lite/src/utils/assert.ts → dist/utils/assert.js} +5 -10
- package/dist/utils/bytesToHex.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/bytesToHex.ts → dist/utils/bytesToHex.js} +4 -6
- package/dist/utils/bytesToHexBytes.d.ts +14 -0
- package/{packages/pdf-lite/src/utils/bytesToHexBytes.ts → dist/utils/bytesToHexBytes.js} +7 -12
- package/dist/utils/bytesToString.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/bytesToString.ts → dist/utils/bytesToString.js} +3 -5
- package/dist/utils/concatUint8Arrays.d.ts +16 -0
- package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js} +7 -9
- package/dist/utils/escapeString.d.ts +14 -0
- package/dist/utils/escapeString.js +43 -0
- package/dist/utils/hexBytesToBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/hexBytesToBytes.ts → dist/utils/hexBytesToBytes.js} +4 -6
- package/dist/utils/hexBytesToString.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/hexBytesToString.ts → dist/utils/hexBytesToString.js} +5 -7
- package/dist/utils/hexToBytes.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/hexToBytes.ts → dist/utils/hexToBytes.js} +4 -6
- package/dist/utils/padBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/padBytes.ts → dist/utils/padBytes.js} +5 -9
- package/dist/utils/predictors.d.ts +113 -0
- package/{packages/pdf-lite/src/utils/predictors.ts → dist/utils/predictors.js} +103 -156
- package/dist/utils/replaceInBuffer.d.ts +22 -0
- package/{packages/pdf-lite/src/utils/replaceInBuffer.ts → dist/utils/replaceInBuffer.js} +18 -27
- package/dist/utils/stringToBytes.d.ts +14 -0
- package/{packages/pdf-lite/src/utils/stringToBytes.ts → dist/utils/stringToBytes.js} +6 -7
- package/dist/utils/stringToHexBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/stringToHexBytes.ts → dist/utils/stringToHexBytes.js} +5 -7
- package/dist/utils/unescapeString.d.ts +16 -0
- package/dist/utils/unescapeString.js +114 -0
- package/package.json +37 -34
- package/.commitlintrc.cjs +0 -25
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
- package/.github/workflows/docs.yaml +0 -95
- package/.github/workflows/prepare-release.yaml +0 -79
- package/.github/workflows/release.yaml +0 -80
- package/.github/workflows/test.yaml +0 -35
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -4
- package/CONTRIBUTING.md +0 -109
- package/EXAMPLES.md +0 -1512
- package/docs/README.md +0 -127
- package/docs/core/README.md +0 -43
- package/docs/core/decoder/README.md +0 -11
- package/docs/core/decoder/classes/PdfDecoder.md +0 -362
- package/docs/core/generators/README.md +0 -14
- package/docs/core/generators/functions/bytesToPdfObjects.md +0 -26
- package/docs/core/generators/functions/pdfDecoder.md +0 -36
- package/docs/core/generators/functions/pdfDecoderAsync.md +0 -26
- package/docs/core/generators/functions/stringToPdfObjects.md +0 -25
- package/docs/core/incremental-parser/README.md +0 -13
- package/docs/core/incremental-parser/classes/EofReachedError.md +0 -55
- package/docs/core/incremental-parser/classes/IncrementalParser.md +0 -299
- package/docs/core/incremental-parser/classes/NoMoreTokensError.md +0 -55
- package/docs/core/objects/pdf-array/README.md +0 -11
- package/docs/core/objects/pdf-array/classes/PdfArray.md +0 -305
- package/docs/core/objects/pdf-boolean/README.md +0 -11
- package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +0 -265
- package/docs/core/objects/pdf-comment/README.md +0 -11
- package/docs/core/objects/pdf-comment/classes/PdfComment.md +0 -329
- package/docs/core/objects/pdf-date/README.md +0 -11
- package/docs/core/objects/pdf-date/classes/PdfDate.md +0 -317
- package/docs/core/objects/pdf-dictionary/README.md +0 -17
- package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +0 -396
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +0 -9
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +0 -9
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +0 -9
- package/docs/core/objects/pdf-hexadecimal/README.md +0 -11
- package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +0 -320
- package/docs/core/objects/pdf-indirect-object/README.md +0 -11
- package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +0 -411
- package/docs/core/objects/pdf-name/README.md +0 -11
- package/docs/core/objects/pdf-name/classes/PdfName.md +0 -271
- package/docs/core/objects/pdf-null/README.md +0 -11
- package/docs/core/objects/pdf-null/classes/PdfNull.md +0 -259
- package/docs/core/objects/pdf-number/README.md +0 -12
- package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +0 -369
- package/docs/core/objects/pdf-number/classes/PdfNumber.md +0 -345
- package/docs/core/objects/pdf-object/README.md +0 -11
- package/docs/core/objects/pdf-object/classes/PdfObject.md +0 -214
- package/docs/core/objects/pdf-object-reference/README.md +0 -11
- package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +0 -279
- package/docs/core/objects/pdf-start-xref/README.md +0 -11
- package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +0 -265
- package/docs/core/objects/pdf-stream/README.md +0 -23
- package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +0 -699
- package/docs/core/objects/pdf-stream/classes/PdfStream.md +0 -570
- package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +0 -723
- package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +0 -51
- package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +0 -9
- package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +0 -9
- package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +0 -9
- package/docs/core/objects/pdf-string/README.md +0 -11
- package/docs/core/objects/pdf-string/classes/PdfString.md +0 -301
- package/docs/core/objects/pdf-trailer/README.md +0 -16
- package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +0 -271
- package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +0 -9
- package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +0 -51
- package/docs/core/objects/pdf-xref-table/README.md +0 -13
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +0 -331
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +0 -297
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +0 -277
- package/docs/core/parser/README.md +0 -11
- package/docs/core/parser/classes/Parser.md +0 -74
- package/docs/core/ref/README.md +0 -15
- package/docs/core/ref/classes/Ref.md +0 -149
- package/docs/core/ref/type-aliases/RefUpdateCallback.md +0 -33
- package/docs/core/serializer/README.md +0 -11
- package/docs/core/serializer/classes/PdfTokenSerializer.md +0 -106
- package/docs/core/streams/object-stream/README.md +0 -11
- package/docs/core/streams/object-stream/classes/PdfObjectStream.md +0 -69
- package/docs/core/tokeniser/README.md +0 -21
- package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +0 -366
- package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +0 -69
- package/docs/core/tokeniser/functions/objectToTokens.md +0 -25
- package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +0 -27
- package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +0 -11
- package/docs/core/tokens/boolean-token/README.md +0 -11
- package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +0 -139
- package/docs/core/tokens/byte-offset-token/README.md +0 -11
- package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +0 -153
- package/docs/core/tokens/comment-token/README.md +0 -11
- package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +0 -161
- package/docs/core/tokens/end-array-token/README.md +0 -11
- package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +0 -115
- package/docs/core/tokens/end-dictionary-token/README.md +0 -11
- package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +0 -115
- package/docs/core/tokens/end-object-token/README.md +0 -11
- package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +0 -115
- package/docs/core/tokens/end-stream-token/README.md +0 -11
- package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +0 -121
- package/docs/core/tokens/hexadecimal-token/README.md +0 -11
- package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +0 -127
- package/docs/core/tokens/name-token/README.md +0 -11
- package/docs/core/tokens/name-token/classes/PdfNameToken.md +0 -127
- package/docs/core/tokens/null-token/README.md +0 -11
- package/docs/core/tokens/null-token/classes/PdfNullToken.md +0 -115
- package/docs/core/tokens/number-token/README.md +0 -11
- package/docs/core/tokens/number-token/classes/PdfNumberToken.md +0 -271
- package/docs/core/tokens/object-reference-token/README.md +0 -11
- package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +0 -137
- package/docs/core/tokens/start-array-token/README.md +0 -11
- package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +0 -115
- package/docs/core/tokens/start-dictionary-token/README.md +0 -11
- package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +0 -115
- package/docs/core/tokens/start-object-token/README.md +0 -11
- package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +0 -147
- package/docs/core/tokens/start-stream-token/README.md +0 -11
- package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +0 -147
- package/docs/core/tokens/start-xref-token/README.md +0 -11
- package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +0 -115
- package/docs/core/tokens/stream-chunk-token/README.md +0 -11
- package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +0 -121
- package/docs/core/tokens/string-token/README.md +0 -11
- package/docs/core/tokens/string-token/classes/PdfStringToken.md +0 -127
- package/docs/core/tokens/token/README.md +0 -11
- package/docs/core/tokens/token/classes/PdfToken.md +0 -116
- package/docs/core/tokens/trailer-token/README.md +0 -11
- package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +0 -127
- package/docs/core/tokens/whitespace-token/README.md +0 -11
- package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +0 -161
- package/docs/core/tokens/xref-table-entry-token/README.md +0 -11
- package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +0 -157
- package/docs/core/tokens/xref-table-section-start-token/README.md +0 -11
- package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +0 -137
- package/docs/core/tokens/xref-table-start-token/README.md +0 -11
- package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +0 -127
- package/docs/crypto/ciphers/aes128/README.md +0 -11
- package/docs/crypto/ciphers/aes128/functions/aes128.md +0 -39
- package/docs/crypto/ciphers/aes256/README.md +0 -11
- package/docs/crypto/ciphers/aes256/functions/aes256.md +0 -35
- package/docs/crypto/ciphers/rc4/README.md +0 -11
- package/docs/crypto/ciphers/rc4/functions/rc4.md +0 -35
- package/docs/crypto/constants/README.md +0 -11
- package/docs/crypto/constants/variables/DEFAULT_PADDING.md +0 -13
- package/docs/crypto/key-derivation/key-derivation/README.md +0 -13
- package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +0 -57
- package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +0 -50
- package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +0 -33
- package/docs/crypto/key-derivation/key-derivation-aes256/README.md +0 -13
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +0 -45
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +0 -66
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +0 -52
- package/docs/crypto/key-gen/key-gen-aes256/README.md +0 -12
- package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +0 -44
- package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-128/README.md +0 -13
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +0 -62
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-40/README.md +0 -14
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +0 -49
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +0 -50
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +0 -38
- package/docs/crypto/types/README.md +0 -11
- package/docs/crypto/types/interfaces/Cipher.md +0 -39
- package/docs/crypto/utils/README.md +0 -13
- package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +0 -31
- package/docs/crypto/utils/functions/padPassword.md +0 -33
- package/docs/crypto/utils/functions/removePdfPasswordPadding.md +0 -32
- package/docs/filters/ascii85/README.md +0 -11
- package/docs/filters/ascii85/functions/ascii85.md +0 -27
- package/docs/filters/asciihex/README.md +0 -11
- package/docs/filters/asciihex/functions/asciiHex.md +0 -27
- package/docs/filters/flate/README.md +0 -11
- package/docs/filters/flate/functions/flate.md +0 -26
- package/docs/filters/lzw/README.md +0 -11
- package/docs/filters/lzw/functions/lzw.md +0 -27
- package/docs/filters/pass-through/README.md +0 -11
- package/docs/filters/pass-through/functions/passthroughFilter.md +0 -25
- package/docs/filters/runlength/README.md +0 -11
- package/docs/filters/runlength/functions/runLength.md +0 -27
- package/docs/filters/types/README.md +0 -19
- package/docs/filters/types/interfaces/PdfFilter.md +0 -39
- package/docs/filters/types/type-aliases/PdfStreamFilterType.md +0 -9
- package/docs/filters/types/variables/PDF_FILTER_TYPES.md +0 -51
- package/docs/index/README.md +0 -235
- package/docs/pdf/README.md +0 -31
- package/docs/pdf/errors/README.md +0 -11
- package/docs/pdf/errors/classes/FoundCompressedObjectError.md +0 -56
- package/docs/pdf/pdf-document/README.md +0 -11
- package/docs/pdf/pdf-document/classes/PdfDocument.md +0 -876
- package/docs/pdf/pdf-reader/README.md +0 -11
- package/docs/pdf/pdf-reader/classes/PdfReader.md +0 -82
- package/docs/pdf/pdf-revision/README.md +0 -11
- package/docs/pdf/pdf-revision/classes/PdfRevision.md +0 -508
- package/docs/pdf/pdf-xref-lookup/README.md +0 -11
- package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +0 -421
- package/docs/security/crypt-filters/aesv2/README.md +0 -11
- package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +0 -274
- package/docs/security/crypt-filters/aesv3/README.md +0 -11
- package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +0 -275
- package/docs/security/crypt-filters/base/README.md +0 -15
- package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +0 -221
- package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +0 -43
- package/docs/security/crypt-filters/identity/README.md +0 -11
- package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +0 -249
- package/docs/security/crypt-filters/v2/README.md +0 -11
- package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +0 -279
- package/docs/security/handlers/base/README.md +0 -17
- package/docs/security/handlers/base/classes/PdfSecurityHandler.md +0 -384
- package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +0 -694
- package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +0 -27
- package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +0 -43
- package/docs/security/handlers/pubSec/README.md +0 -11
- package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +0 -503
- package/docs/security/handlers/utils/README.md +0 -14
- package/docs/security/handlers/utils/functions/createFromDictionary.md +0 -56
- package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +0 -40
- package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +0 -55
- package/docs/security/handlers/utils/functions/getCryptFilter.md +0 -35
- package/docs/security/handlers/v1/README.md +0 -11
- package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +0 -779
- package/docs/security/handlers/v2/README.md +0 -11
- package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +0 -783
- package/docs/security/handlers/v4/README.md +0 -11
- package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +0 -907
- package/docs/security/handlers/v5/README.md +0 -11
- package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +0 -926
- package/docs/security/types/README.md +0 -19
- package/docs/security/types/type-aliases/CryptFilterType.md +0 -15
- package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +0 -12
- package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +0 -11
- package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +0 -17
- package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +0 -13
- package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +0 -11
- package/docs/security/types/type-aliases/PdfEncryptionOptions.md +0 -90
- package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +0 -24
- package/docs/security/types/type-aliases/PdfId.md +0 -13
- package/docs/signing/README.md +0 -127
- package/docs/signing/document-security-store/README.md +0 -19
- package/docs/signing/document-security-store/classes/PdfCertObject.md +0 -443
- package/docs/signing/document-security-store/classes/PdfCrlObject.md +0 -443
- package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +0 -416
- package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +0 -563
- package/docs/signing/document-security-store/classes/PdfOcspObject.md +0 -443
- package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +0 -12
- package/docs/signing/signatures/README.md +0 -55
- package/docs/signing/signatures/adbe-pkcs7-detached/README.md +0 -11
- package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +0 -669
- package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +0 -11
- package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +0 -667
- package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +0 -11
- package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +0 -651
- package/docs/signing/signatures/base/README.md +0 -16
- package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +0 -420
- package/docs/signing/signatures/base/classes/PdfSignatureObject.md +0 -584
- package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +0 -51
- package/docs/signing/signatures/etsi-cades-detached/README.md +0 -11
- package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +0 -693
- package/docs/signing/signatures/etsi-rfc3161/README.md +0 -11
- package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +0 -614
- package/docs/signing/signer/README.md +0 -11
- package/docs/signing/signer/classes/PdfSigner.md +0 -58
- package/docs/signing/types/README.md +0 -16
- package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +0 -95
- package/docs/signing/types/type-aliases/PdfSignatureSubType.md +0 -17
- package/docs/signing/types/type-aliases/PdfSignatureType.md +0 -14
- package/docs/signing/types/type-aliases/RevocationInfo.md +0 -43
- package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +0 -35
- package/docs/signing/types/type-aliases/TimeStampAuthority.md +0 -35
- package/docs/signing/utils/README.md +0 -11
- package/docs/signing/utils/functions/fetchRevocationInfo.md +0 -70
- package/docs/types/README.md +0 -21
- package/docs/types/type-aliases/ByteArray.md +0 -9
- package/docs/types/type-aliases/ChangeType.md +0 -9
- package/docs/types/type-aliases/DecodeParms.md +0 -33
- package/docs/types/type-aliases/HashAlgorithm.md +0 -9
- package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +0 -9
- package/docs/types/type-aliases/PdfPermissions.md +0 -63
- package/docs/types/type-aliases/PdfVersion.md +0 -9
- package/docs/types/variables/PERMISSION_FLAGS.md +0 -9
- package/docs/utils/IterableReadableStream/README.md +0 -11
- package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +0 -103
- package/docs/utils/algos/README.md +0 -28
- package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes128cbcDecrypt.md +0 -47
- package/docs/utils/algos/functions/aes128cbcEncrypt.md +0 -47
- package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +0 -43
- package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes256cbcDecrypt.md +0 -43
- package/docs/utils/algos/functions/aes256cbcEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes256ecbDecrypt.md +0 -41
- package/docs/utils/algos/functions/aes256ecbEncrypt.md +0 -41
- package/docs/utils/algos/functions/deflateData.md +0 -31
- package/docs/utils/algos/functions/getRandomBytes.md +0 -35
- package/docs/utils/algos/functions/hash.md +0 -41
- package/docs/utils/algos/functions/inflateData.md +0 -35
- package/docs/utils/algos/functions/md5.md +0 -31
- package/docs/utils/algos/functions/sha1.md +0 -31
- package/docs/utils/algos/functions/sha256.md +0 -31
- package/docs/utils/algos/functions/sha384.md +0 -31
- package/docs/utils/algos/functions/sha512.md +0 -31
- package/docs/utils/assert/README.md +0 -12
- package/docs/utils/assert/functions/assert.md +0 -39
- package/docs/utils/assert/functions/assertIfDefined.md +0 -46
- package/docs/utils/bytesToHex/README.md +0 -11
- package/docs/utils/bytesToHex/functions/bytesToHex.md +0 -31
- package/docs/utils/bytesToHexBytes/README.md +0 -11
- package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +0 -32
- package/docs/utils/bytesToString/README.md +0 -11
- package/docs/utils/bytesToString/functions/bytesToString.md +0 -31
- package/docs/utils/concatUint8Arrays/README.md +0 -11
- package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +0 -31
- package/docs/utils/escapeString/README.md +0 -11
- package/docs/utils/escapeString/functions/escapeString.md +0 -32
- package/docs/utils/hexBytesToBytes/README.md +0 -11
- package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +0 -33
- package/docs/utils/hexBytesToString/README.md +0 -11
- package/docs/utils/hexBytesToString/functions/hexBytesToString.md +0 -31
- package/docs/utils/hexToBytes/README.md +0 -11
- package/docs/utils/hexToBytes/functions/hexToBytes.md +0 -31
- package/docs/utils/padBytes/README.md +0 -11
- package/docs/utils/padBytes/functions/padBytes.md +0 -41
- package/docs/utils/predictors/README.md +0 -11
- package/docs/utils/predictors/classes/Predictor.md +0 -306
- package/docs/utils/replaceInBuffer/README.md +0 -11
- package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +0 -65
- package/docs/utils/stringToBytes/README.md +0 -11
- package/docs/utils/stringToBytes/functions/stringToBytes.md +0 -32
- package/docs/utils/stringToHexBytes/README.md +0 -11
- package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +0 -33
- package/docs/utils/unescapeString/README.md +0 -11
- package/docs/utils/unescapeString/functions/unescapeString.md +0 -34
- package/examples/001-create-pdf.ts +0 -112
- package/examples/002-create-encrypted-pdf.ts +0 -121
- package/examples/003-sign-pdf.ts +0 -347
- package/examples/004-incremental-update.ts +0 -206
- package/examples/005-modify-acroform.ts +0 -374
- package/examples/006-tokeniser-example.ts +0 -131
- package/examples/007-decoder-example.ts +0 -197
- package/packages/pdf-lite/README.md +0 -3
- package/packages/pdf-lite/node_modules/.bin/playwright +0 -16
- package/packages/pdf-lite/node_modules/.bin/tsc +0 -16
- package/packages/pdf-lite/node_modules/.bin/tsserver +0 -16
- package/packages/pdf-lite/node_modules/.bin/vitest +0 -16
- package/packages/pdf-lite/package.json +0 -68
- package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -41
- package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -290
- package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -70
- package/packages/pdf-lite/src/core/decoder.ts +0 -454
- package/packages/pdf-lite/src/core/index.ts +0 -2
- package/packages/pdf-lite/src/core/objects/pdf-array.ts +0 -54
- package/packages/pdf-lite/src/core/objects/pdf-boolean.ts +0 -19
- package/packages/pdf-lite/src/core/objects/pdf-comment.ts +0 -50
- package/packages/pdf-lite/src/core/objects/pdf-date.ts +0 -74
- package/packages/pdf-lite/src/core/objects/pdf-dictionary.ts +0 -171
- package/packages/pdf-lite/src/core/objects/pdf-hexadecimal.ts +0 -54
- package/packages/pdf-lite/src/core/objects/pdf-indirect-object.ts +0 -137
- package/packages/pdf-lite/src/core/objects/pdf-name.ts +0 -19
- package/packages/pdf-lite/src/core/objects/pdf-null.ts +0 -15
- package/packages/pdf-lite/src/core/objects/pdf-number.ts +0 -98
- package/packages/pdf-lite/src/core/objects/pdf-object-reference.ts +0 -30
- package/packages/pdf-lite/src/core/objects/pdf-object.ts +0 -107
- package/packages/pdf-lite/src/core/objects/pdf-start-xref.ts +0 -39
- package/packages/pdf-lite/src/core/objects/pdf-stream.ts +0 -687
- package/packages/pdf-lite/src/core/objects/pdf-string.ts +0 -38
- package/packages/pdf-lite/src/core/objects/pdf-trailer.ts +0 -57
- package/packages/pdf-lite/src/core/objects/pdf-xref-table.ts +0 -264
- package/packages/pdf-lite/src/core/streams/object-stream.ts +0 -20
- package/packages/pdf-lite/src/core/tokeniser.ts +0 -687
- package/packages/pdf-lite/src/core/tokens/boolean-token.ts +0 -20
- package/packages/pdf-lite/src/core/tokens/byte-offset-token.ts +0 -20
- package/packages/pdf-lite/src/core/tokens/comment-token.ts +0 -32
- package/packages/pdf-lite/src/core/tokens/end-array-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-dictionary-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-object-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-stream-token.ts +0 -11
- package/packages/pdf-lite/src/core/tokens/hexadecimal-token.ts +0 -22
- package/packages/pdf-lite/src/core/tokens/name-token.ts +0 -19
- package/packages/pdf-lite/src/core/tokens/null-token.ts +0 -9
- package/packages/pdf-lite/src/core/tokens/number-token.ts +0 -164
- package/packages/pdf-lite/src/core/tokens/object-reference-token.ts +0 -24
- package/packages/pdf-lite/src/core/tokens/start-array-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/start-dictionary-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/start-object-token.ts +0 -28
- package/packages/pdf-lite/src/core/tokens/start-stream-token.ts +0 -52
- package/packages/pdf-lite/src/core/tokens/start-xref-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/stream-chunk-token.ts +0 -8
- package/packages/pdf-lite/src/core/tokens/string-token.ts +0 -17
- package/packages/pdf-lite/src/core/tokens/token.ts +0 -43
- package/packages/pdf-lite/src/core/tokens/trailer-token.ts +0 -12
- package/packages/pdf-lite/src/core/tokens/whitespace-token.ts +0 -43
- package/packages/pdf-lite/src/core/tokens/xref-table-entry-token.ts +0 -65
- package/packages/pdf-lite/src/core/tokens/xref-table-section-start-token.ts +0 -31
- package/packages/pdf-lite/src/core/tokens/xref-table-start-token.ts +0 -13
- package/packages/pdf-lite/src/crypto/key-derivation/key-derivation-aes256.ts +0 -213
- package/packages/pdf-lite/src/crypto/types.ts +0 -6
- package/packages/pdf-lite/src/filters/lzw.ts +0 -144
- package/packages/pdf-lite/src/index.ts +0 -4
- package/packages/pdf-lite/src/pdf/index.ts +0 -4
- package/packages/pdf-lite/src/pdf/pdf-xref-lookup.ts +0 -527
- package/packages/pdf-lite/src/security/handlers/base.ts +0 -625
- package/packages/pdf-lite/src/security/handlers/pubSec.ts +0 -413
- package/packages/pdf-lite/src/security/handlers/utils.ts +0 -304
- package/packages/pdf-lite/src/security/handlers/v1.ts +0 -225
- package/packages/pdf-lite/src/security/handlers/v4.ts +0 -379
- package/packages/pdf-lite/src/security/handlers/v5.ts +0 -298
- package/packages/pdf-lite/src/signing/document-security-store.ts +0 -224
- package/packages/pdf-lite/src/signing/index.ts +0 -3
- package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-detached.ts +0 -154
- package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-sha1.ts +0 -161
- package/packages/pdf-lite/src/signing/signatures/adbe-x509-rsa-sha1.ts +0 -106
- package/packages/pdf-lite/src/signing/signatures/base.ts +0 -229
- package/packages/pdf-lite/src/signing/signatures/etsi-cades-detached.ts +0 -229
- package/packages/pdf-lite/src/signing/signatures/index.ts +0 -6
- package/packages/pdf-lite/src/signing/signer.ts +0 -120
- package/packages/pdf-lite/src/types.ts +0 -44
- package/packages/pdf-lite/src/utils/escapeString.ts +0 -49
- package/packages/pdf-lite/src/utils/unescapeString.ts +0 -123
- package/packages/pdf-lite/test/acceptance/__snapshots__/versions.node.test.ts.snap +0 -60766
- package/packages/pdf-lite/test/acceptance/fixtures/1.3/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-128.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-256.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-128.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-40.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.5/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.6/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.7/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-128.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-256.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-128.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-40.pdf +0 -44
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic.pdf +0 -79
- package/packages/pdf-lite/test/acceptance/versions.node.test.ts +0 -41
- package/packages/pdf-lite/test/unit/__snapshots__/decoder.node.test.ts.snap +0 -86947
- package/packages/pdf-lite/test/unit/__snapshots__/tokeniser.node.test.ts.snap +0 -131829
- package/packages/pdf-lite/test/unit/ciphers.test.ts +0 -61
- package/packages/pdf-lite/test/unit/decoder.node.test.ts +0 -21
- package/packages/pdf-lite/test/unit/decoder.test.ts +0 -567
- package/packages/pdf-lite/test/unit/filters.test.ts +0 -67
- package/packages/pdf-lite/test/unit/fixtures/basic.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-128.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-256.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-128.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-40.pdf +0 -43
- package/packages/pdf-lite/test/unit/fixtures/protectedAdobeLivecycle.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/rsa-2048/index.ts +0 -187
- package/packages/pdf-lite/test/unit/fixtures/template.pdf +0 -0
- package/packages/pdf-lite/test/unit/incremental-update.test.ts +0 -0
- package/packages/pdf-lite/test/unit/objects.test.ts +0 -0
- package/packages/pdf-lite/test/unit/pdf-document-signing.test.ts +0 -0
- package/packages/pdf-lite/test/unit/pdf-revision.test.ts +0 -195
- package/packages/pdf-lite/test/unit/pdf.browser.test.ts +0 -0
- package/packages/pdf-lite/test/unit/predictors.test.ts +0 -226
- package/packages/pdf-lite/test/unit/ref.test.ts +0 -158
- package/packages/pdf-lite/test/unit/security-handlers.test.ts +0 -645
- package/packages/pdf-lite/test/unit/serializer.test.ts +0 -81
- package/packages/pdf-lite/test/unit/signature-objects.test.ts +0 -814
- package/packages/pdf-lite/test/unit/string-escaping.test.ts +0 -84
- package/packages/pdf-lite/test/unit/tokeniser.node.test.ts +0 -38
- package/packages/pdf-lite/test/unit/tokeniser.test.ts +0 -1213
- package/packages/pdf-lite/test/unit/utils.test.ts +0 -248
- package/packages/pdf-lite/test/unit/xref-lookup.test.ts +0 -72
- package/packages/pdf-lite/tsconfig.json +0 -4
- package/packages/pdf-lite/tsconfig.prod.json +0 -8
- package/packages/pdf-lite/typedoc.json +0 -14
- package/packages/pdf-lite/vitest.config.ts +0 -43
- package/pnpm-workspace.yaml +0 -2
- package/renovate.json +0 -34
- package/scripts/build-examples.ts +0 -30
- package/scripts/bump-version.sh +0 -56
- package/scripts/gen-html-docs.sh +0 -21
- package/scripts/gen-md-docs.sh +0 -15
- package/scripts/prepare-release.sh +0 -33
- package/tsconfig.json +0 -22
- package/tsconfig.prod.json +0 -12
- package/typedoc.json +0 -34
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PdfNumber } from '../core/objects/pdf-number.js'
|
|
3
|
-
import { PdfObject } from '../core/objects/pdf-object.js'
|
|
4
|
-
import { ByteArray, DecodeParms } from '../types.js'
|
|
5
|
-
|
|
1
|
+
import { PdfNumber } from '../core/objects/pdf-number.js';
|
|
6
2
|
/**
|
|
7
3
|
* Handles PNG and TIFF predictor encoding and decoding for PDF streams.
|
|
8
4
|
* Predictors are used to improve compression efficiency by transforming
|
|
@@ -21,23 +17,20 @@ export class Predictor {
|
|
|
21
17
|
* const decoded = Predictor.decode(encodedData, { Predictor: 12, Columns: 100 })
|
|
22
18
|
* ```
|
|
23
19
|
*/
|
|
24
|
-
static decode(data
|
|
25
|
-
const predictor = params.Predictor ?? 1
|
|
26
|
-
const columns = params.Columns ?? 1
|
|
27
|
-
const colors = params.Colors ?? 1
|
|
28
|
-
const bpc = params.BitsPerComponent ?? 8
|
|
29
|
-
|
|
30
|
-
const bpp = Math.ceil((colors * bpc) / 8)
|
|
31
|
-
|
|
20
|
+
static decode(data, params = {}) {
|
|
21
|
+
const predictor = params.Predictor ?? 1;
|
|
22
|
+
const columns = params.Columns ?? 1;
|
|
23
|
+
const colors = params.Colors ?? 1;
|
|
24
|
+
const bpc = params.BitsPerComponent ?? 8;
|
|
25
|
+
const bpp = Math.ceil((colors * bpc) / 8);
|
|
32
26
|
if (predictor === 2) {
|
|
33
|
-
return this.tiffDecode(data, columns, bpp)
|
|
34
|
-
} else if (predictor >= 10 && predictor <= 15) {
|
|
35
|
-
return this.pngDecode(data, columns, bpp)
|
|
27
|
+
return this.tiffDecode(data, columns, bpp);
|
|
36
28
|
}
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
else if (predictor >= 10 && predictor <= 15) {
|
|
30
|
+
return this.pngDecode(data, columns, bpp);
|
|
31
|
+
}
|
|
32
|
+
return data;
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
/**
|
|
42
35
|
* Encodes data using a predictor algorithm.
|
|
43
36
|
*
|
|
@@ -51,27 +44,20 @@ export class Predictor {
|
|
|
51
44
|
* const encoded = Predictor.encode(rawData, { Predictor: 12, Columns: 100 }, 1)
|
|
52
45
|
* ```
|
|
53
46
|
*/
|
|
54
|
-
static encode(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
const columns = params.Columns ?? 1
|
|
61
|
-
const colors = params.Colors ?? 1
|
|
62
|
-
const bpc = params.BitsPerComponent ?? 8
|
|
63
|
-
|
|
64
|
-
const bpp = Math.ceil((colors * bpc) / 8)
|
|
65
|
-
|
|
47
|
+
static encode(data, params = {}, PdfStreamFilterType = 0) {
|
|
48
|
+
const predictor = params.Predictor ?? 1;
|
|
49
|
+
const columns = params.Columns ?? 1;
|
|
50
|
+
const colors = params.Colors ?? 1;
|
|
51
|
+
const bpc = params.BitsPerComponent ?? 8;
|
|
52
|
+
const bpp = Math.ceil((colors * bpc) / 8);
|
|
66
53
|
if (predictor === 2) {
|
|
67
|
-
return this.tiffEncode(data, columns, bpp)
|
|
68
|
-
}
|
|
69
|
-
|
|
54
|
+
return this.tiffEncode(data, columns, bpp);
|
|
55
|
+
}
|
|
56
|
+
else if (predictor >= 10 && predictor <= 15) {
|
|
57
|
+
return this.pngEncode(data, columns, bpp, PdfStreamFilterType);
|
|
70
58
|
}
|
|
71
|
-
|
|
72
|
-
return data
|
|
59
|
+
return data;
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
/**
|
|
76
62
|
* Decodes TIFF predictor encoded data.
|
|
77
63
|
*
|
|
@@ -80,26 +66,19 @@ export class Predictor {
|
|
|
80
66
|
* @param bpp - Bytes per pixel.
|
|
81
67
|
* @returns The decoded byte array.
|
|
82
68
|
*/
|
|
83
|
-
static tiffDecode(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
bpp: number,
|
|
87
|
-
): ByteArray {
|
|
88
|
-
const rowLength = columns * bpp
|
|
89
|
-
const output = new Uint8Array(data.length)
|
|
90
|
-
|
|
69
|
+
static tiffDecode(data, columns, bpp) {
|
|
70
|
+
const rowLength = columns * bpp;
|
|
71
|
+
const output = new Uint8Array(data.length);
|
|
91
72
|
for (let i = 0; i < data.length; i += rowLength) {
|
|
92
73
|
for (let j = 0; j < rowLength; j++) {
|
|
93
74
|
output[i + j] =
|
|
94
75
|
j < bpp
|
|
95
76
|
? data[i + j]
|
|
96
|
-
: (data[i + j] + output[i + j - bpp]) & 0xff
|
|
77
|
+
: (data[i + j] + output[i + j - bpp]) & 0xff;
|
|
97
78
|
}
|
|
98
79
|
}
|
|
99
|
-
|
|
100
|
-
return output
|
|
80
|
+
return output;
|
|
101
81
|
}
|
|
102
|
-
|
|
103
82
|
/**
|
|
104
83
|
* Encodes data using TIFF predictor.
|
|
105
84
|
*
|
|
@@ -108,26 +87,19 @@ export class Predictor {
|
|
|
108
87
|
* @param bpp - Bytes per pixel.
|
|
109
88
|
* @returns The TIFF encoded byte array.
|
|
110
89
|
*/
|
|
111
|
-
static tiffEncode(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
bpp: number,
|
|
115
|
-
): ByteArray {
|
|
116
|
-
const rowLength = columns * bpp
|
|
117
|
-
const output = new Uint8Array(data.length)
|
|
118
|
-
|
|
90
|
+
static tiffEncode(data, columns, bpp) {
|
|
91
|
+
const rowLength = columns * bpp;
|
|
92
|
+
const output = new Uint8Array(data.length);
|
|
119
93
|
for (let i = 0; i < data.length; i += rowLength) {
|
|
120
94
|
for (let j = 0; j < rowLength; j++) {
|
|
121
95
|
output[i + j] =
|
|
122
96
|
j < bpp
|
|
123
97
|
? data[i + j]
|
|
124
|
-
: (data[i + j] - data[i + j - bpp] + 256) & 0xff
|
|
98
|
+
: (data[i + j] - data[i + j - bpp] + 256) & 0xff;
|
|
125
99
|
}
|
|
126
100
|
}
|
|
127
|
-
|
|
128
|
-
return output
|
|
101
|
+
return output;
|
|
129
102
|
}
|
|
130
|
-
|
|
131
103
|
/**
|
|
132
104
|
* Decodes PNG predictor encoded data.
|
|
133
105
|
*
|
|
@@ -137,53 +109,47 @@ export class Predictor {
|
|
|
137
109
|
* @returns The decoded byte array.
|
|
138
110
|
* @throws Error if an unsupported PNG filter type is encountered.
|
|
139
111
|
*/
|
|
140
|
-
static pngDecode(data
|
|
141
|
-
const rowLength = columns * bpp
|
|
142
|
-
const output
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
const
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
const decodedRow = new Uint8Array(rowLength)
|
|
112
|
+
static pngDecode(data, columns, bpp) {
|
|
113
|
+
const rowLength = columns * bpp;
|
|
114
|
+
const output = [];
|
|
115
|
+
for (let i = 0; i < data.length;) {
|
|
116
|
+
const filter = data[i];
|
|
117
|
+
const row = data.slice(i + 1, i + 1 + rowLength);
|
|
118
|
+
const prior = output.slice(output.length - rowLength, output.length);
|
|
119
|
+
const decodedRow = new Uint8Array(rowLength);
|
|
150
120
|
for (let j = 0; j < rowLength; j++) {
|
|
151
|
-
const left = j >= bpp ? decodedRow[j - bpp] : 0
|
|
152
|
-
const up = prior[j] ?? 0
|
|
153
|
-
const upperLeft = j >= bpp ? (prior[j - bpp] ?? 0) : 0
|
|
154
|
-
|
|
121
|
+
const left = j >= bpp ? decodedRow[j - bpp] : 0;
|
|
122
|
+
const up = prior[j] ?? 0;
|
|
123
|
+
const upperLeft = j >= bpp ? (prior[j - bpp] ?? 0) : 0;
|
|
155
124
|
switch (filter) {
|
|
156
125
|
case 0:
|
|
157
|
-
decodedRow[j] = row[j]
|
|
158
|
-
break
|
|
126
|
+
decodedRow[j] = row[j];
|
|
127
|
+
break;
|
|
159
128
|
case 1:
|
|
160
|
-
decodedRow[j] = (row[j] + left) & 0xff
|
|
161
|
-
break
|
|
129
|
+
decodedRow[j] = (row[j] + left) & 0xff;
|
|
130
|
+
break;
|
|
162
131
|
case 2:
|
|
163
|
-
decodedRow[j] = (row[j] + up) & 0xff
|
|
164
|
-
break
|
|
132
|
+
decodedRow[j] = (row[j] + up) & 0xff;
|
|
133
|
+
break;
|
|
165
134
|
case 3:
|
|
166
135
|
decodedRow[j] =
|
|
167
|
-
(row[j] + Math.floor((left + up) / 2)) & 0xff
|
|
168
|
-
break
|
|
136
|
+
(row[j] + Math.floor((left + up) / 2)) & 0xff;
|
|
137
|
+
break;
|
|
169
138
|
case 4:
|
|
170
139
|
decodedRow[j] =
|
|
171
140
|
(row[j] +
|
|
172
141
|
this.paethPredictor(left, up, upperLeft)) &
|
|
173
|
-
|
|
174
|
-
break
|
|
142
|
+
0xff;
|
|
143
|
+
break;
|
|
175
144
|
default:
|
|
176
|
-
throw new Error(`Unsupported PNG filter: ${filter}`)
|
|
145
|
+
throw new Error(`Unsupported PNG filter: ${filter}`);
|
|
177
146
|
}
|
|
178
147
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
i += 1 + rowLength
|
|
148
|
+
output.push(...decodedRow);
|
|
149
|
+
i += 1 + rowLength;
|
|
182
150
|
}
|
|
183
|
-
|
|
184
|
-
return new Uint8Array(output)
|
|
151
|
+
return new Uint8Array(output);
|
|
185
152
|
}
|
|
186
|
-
|
|
187
153
|
/**
|
|
188
154
|
* Encodes data using PNG predictor.
|
|
189
155
|
*
|
|
@@ -194,60 +160,47 @@ export class Predictor {
|
|
|
194
160
|
* @returns The PNG encoded byte array.
|
|
195
161
|
* @throws Error if an unsupported PNG filter type is specified.
|
|
196
162
|
*/
|
|
197
|
-
static pngEncode(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
PdfStreamFilterType: number,
|
|
202
|
-
): ByteArray {
|
|
203
|
-
const rowLength = columns * bpp
|
|
204
|
-
const output: number[] = []
|
|
205
|
-
let prior = new Uint8Array(rowLength)
|
|
206
|
-
|
|
163
|
+
static pngEncode(data, columns, bpp, PdfStreamFilterType) {
|
|
164
|
+
const rowLength = columns * bpp;
|
|
165
|
+
const output = [];
|
|
166
|
+
let prior = new Uint8Array(rowLength);
|
|
207
167
|
for (let i = 0; i < data.length; i += rowLength) {
|
|
208
|
-
const row = data.slice(i, i + rowLength)
|
|
209
|
-
const encodedRow = new Uint8Array(rowLength)
|
|
210
|
-
|
|
168
|
+
const row = data.slice(i, i + rowLength);
|
|
169
|
+
const encodedRow = new Uint8Array(rowLength);
|
|
211
170
|
for (let j = 0; j < rowLength; j++) {
|
|
212
|
-
const left = j >= bpp ? row[j - bpp] : 0
|
|
213
|
-
const up = prior[j] ?? 0
|
|
214
|
-
const upperLeft = j >= bpp ? (prior[j - bpp] ?? 0) : 0
|
|
215
|
-
|
|
171
|
+
const left = j >= bpp ? row[j - bpp] : 0;
|
|
172
|
+
const up = prior[j] ?? 0;
|
|
173
|
+
const upperLeft = j >= bpp ? (prior[j - bpp] ?? 0) : 0;
|
|
216
174
|
switch (PdfStreamFilterType) {
|
|
217
175
|
case 0:
|
|
218
|
-
encodedRow[j] = row[j]
|
|
219
|
-
break
|
|
176
|
+
encodedRow[j] = row[j];
|
|
177
|
+
break;
|
|
220
178
|
case 1:
|
|
221
|
-
encodedRow[j] = (row[j] - left + 256) & 0xff
|
|
222
|
-
break
|
|
179
|
+
encodedRow[j] = (row[j] - left + 256) & 0xff;
|
|
180
|
+
break;
|
|
223
181
|
case 2:
|
|
224
|
-
encodedRow[j] = (row[j] - up + 256) & 0xff
|
|
225
|
-
break
|
|
182
|
+
encodedRow[j] = (row[j] - up + 256) & 0xff;
|
|
183
|
+
break;
|
|
226
184
|
case 3:
|
|
227
185
|
encodedRow[j] =
|
|
228
|
-
(row[j] - Math.floor((left + up) / 2) + 256) & 0xff
|
|
229
|
-
break
|
|
186
|
+
(row[j] - Math.floor((left + up) / 2) + 256) & 0xff;
|
|
187
|
+
break;
|
|
230
188
|
case 4:
|
|
231
189
|
encodedRow[j] =
|
|
232
190
|
(row[j] -
|
|
233
191
|
this.paethPredictor(left, up, upperLeft) +
|
|
234
192
|
256) &
|
|
235
|
-
|
|
236
|
-
break
|
|
193
|
+
0xff;
|
|
194
|
+
break;
|
|
237
195
|
default:
|
|
238
|
-
throw new Error(
|
|
239
|
-
`Unsupported PNG filter: ${PdfStreamFilterType}`,
|
|
240
|
-
)
|
|
196
|
+
throw new Error(`Unsupported PNG filter: ${PdfStreamFilterType}`);
|
|
241
197
|
}
|
|
242
198
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
prior = row
|
|
199
|
+
output.push(PdfStreamFilterType, ...encodedRow);
|
|
200
|
+
prior = row;
|
|
246
201
|
}
|
|
247
|
-
|
|
248
|
-
return new Uint8Array(output)
|
|
202
|
+
return new Uint8Array(output);
|
|
249
203
|
}
|
|
250
|
-
|
|
251
204
|
/**
|
|
252
205
|
* Implements the Paeth predictor algorithm used in PNG filtering.
|
|
253
206
|
*
|
|
@@ -256,17 +209,17 @@ export class Predictor {
|
|
|
256
209
|
* @param c - The upper-left pixel value.
|
|
257
210
|
* @returns The predicted pixel value.
|
|
258
211
|
*/
|
|
259
|
-
|
|
260
|
-
const p = a + b - c
|
|
261
|
-
const pa = Math.abs(p - a)
|
|
262
|
-
const pb = Math.abs(p - b)
|
|
263
|
-
const pc = Math.abs(p - c)
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
if (pb <= pc)
|
|
267
|
-
|
|
212
|
+
static paethPredictor(a, b, c) {
|
|
213
|
+
const p = a + b - c;
|
|
214
|
+
const pa = Math.abs(p - a);
|
|
215
|
+
const pb = Math.abs(p - b);
|
|
216
|
+
const pc = Math.abs(p - c);
|
|
217
|
+
if (pa <= pb && pa <= pc)
|
|
218
|
+
return a;
|
|
219
|
+
if (pb <= pc)
|
|
220
|
+
return b;
|
|
221
|
+
return c;
|
|
268
222
|
}
|
|
269
|
-
|
|
270
223
|
/**
|
|
271
224
|
* Extracts decode parameters from a PDF dictionary.
|
|
272
225
|
*
|
|
@@ -281,35 +234,29 @@ export class Predictor {
|
|
|
281
234
|
* }
|
|
282
235
|
* ```
|
|
283
236
|
*/
|
|
284
|
-
static getDecodeParms(decodeParms
|
|
237
|
+
static getDecodeParms(decodeParms) {
|
|
285
238
|
if (!decodeParms) {
|
|
286
|
-
return null
|
|
239
|
+
return null;
|
|
287
240
|
}
|
|
288
|
-
|
|
289
|
-
const predictor = decodeParms.get('Predictor')?.as(PdfNumber)?.value
|
|
290
|
-
|
|
241
|
+
const predictor = decodeParms.get('Predictor')?.as(PdfNumber)?.value;
|
|
291
242
|
if (predictor === undefined) {
|
|
292
|
-
return null
|
|
243
|
+
return null;
|
|
293
244
|
}
|
|
294
|
-
|
|
295
245
|
if (predictor <= 1 || predictor > 15) {
|
|
296
|
-
return null
|
|
246
|
+
return null;
|
|
297
247
|
}
|
|
298
|
-
|
|
299
248
|
const BitsPerComponent = decodeParms
|
|
300
249
|
.get('BitsPerComponent')
|
|
301
|
-
?.as(PdfNumber)
|
|
302
|
-
const Columns = decodeParms.get('Columns')?.as(PdfNumber)
|
|
303
|
-
const Colors = decodeParms.get('Colors')?.as(PdfNumber)
|
|
304
|
-
|
|
250
|
+
?.as(PdfNumber);
|
|
251
|
+
const Columns = decodeParms.get('Columns')?.as(PdfNumber);
|
|
252
|
+
const Colors = decodeParms.get('Colors')?.as(PdfNumber);
|
|
305
253
|
return {
|
|
306
254
|
BitsPerComponent: BitsPerComponent?.value,
|
|
307
255
|
Columns: Columns?.value,
|
|
308
256
|
Predictor: predictor,
|
|
309
257
|
Colors: Colors?.value,
|
|
310
|
-
}
|
|
258
|
+
};
|
|
311
259
|
}
|
|
312
|
-
|
|
313
260
|
/**
|
|
314
261
|
* Checks if the decode parameters can be handled by this predictor.
|
|
315
262
|
*
|
|
@@ -323,10 +270,10 @@ export class Predictor {
|
|
|
323
270
|
* }
|
|
324
271
|
* ```
|
|
325
272
|
*/
|
|
326
|
-
static canHandleDecodeParms(decodeParms
|
|
273
|
+
static canHandleDecodeParms(decodeParms) {
|
|
327
274
|
if (Predictor.getDecodeParms(decodeParms) === null) {
|
|
328
|
-
return false
|
|
275
|
+
return false;
|
|
329
276
|
}
|
|
330
|
-
return true
|
|
277
|
+
return true;
|
|
331
278
|
}
|
|
332
279
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Replaces occurrences of a search buffer with a replacement buffer within a target buffer.
|
|
4
|
+
*
|
|
5
|
+
* @typeParam T - The type of the target buffer, extending ByteArray.
|
|
6
|
+
* @param searchBuffer - The byte pattern to search for.
|
|
7
|
+
* @param replaceBuffer - The byte pattern to replace with.
|
|
8
|
+
* @param targetBuffer - The buffer to search within.
|
|
9
|
+
* @param multiple - Whether to replace all occurrences or just the first. Defaults to false.
|
|
10
|
+
* @returns A new byte array with the replacements made.
|
|
11
|
+
* @throws Error if the search buffer is not found in the target buffer.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const result = replaceInBuffer(
|
|
16
|
+
* new Uint8Array([1, 2]),
|
|
17
|
+
* new Uint8Array([3, 4, 5]),
|
|
18
|
+
* new Uint8Array([0, 1, 2, 6])
|
|
19
|
+
* ) // Returns Uint8Array([0, 3, 4, 5, 6])
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function replaceInBuffer<T extends ByteArray>(searchBuffer: ByteArray, replaceBuffer: ByteArray, targetBuffer: T, multiple?: boolean): ByteArray;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from '../types'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Replaces occurrences of a search buffer with a replacement buffer within a target buffer.
|
|
5
3
|
*
|
|
@@ -20,37 +18,30 @@ import { ByteArray } from '../types'
|
|
|
20
18
|
* ) // Returns Uint8Array([0, 3, 4, 5, 6])
|
|
21
19
|
* ```
|
|
22
20
|
*/
|
|
23
|
-
export function replaceInBuffer
|
|
24
|
-
searchBuffer
|
|
25
|
-
replaceBuffer
|
|
26
|
-
targetBuffer
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const replaceLength = replaceBuffer.length
|
|
31
|
-
const targetLength = targetBuffer.length
|
|
32
|
-
const result = new Uint8Array(targetLength - searchLength + replaceLength)
|
|
33
|
-
let found = false
|
|
34
|
-
let offset = 0
|
|
21
|
+
export function replaceInBuffer(searchBuffer, replaceBuffer, targetBuffer, multiple = false) {
|
|
22
|
+
const searchLength = searchBuffer.length;
|
|
23
|
+
const replaceLength = replaceBuffer.length;
|
|
24
|
+
const targetLength = targetBuffer.length;
|
|
25
|
+
const result = new Uint8Array(targetLength - searchLength + replaceLength);
|
|
26
|
+
let found = false;
|
|
27
|
+
let offset = 0;
|
|
35
28
|
for (let i = 0; i < targetLength; i++) {
|
|
36
|
-
if (
|
|
37
|
-
(multiple || !found) &&
|
|
29
|
+
if ((multiple || !found) &&
|
|
38
30
|
i <= targetLength - searchLength &&
|
|
39
31
|
targetBuffer
|
|
40
32
|
.subarray(i, i + searchLength)
|
|
41
|
-
.every((value, index) => value === searchBuffer[index])
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
result[offset++] = targetBuffer[i]
|
|
33
|
+
.every((value, index) => value === searchBuffer[index])) {
|
|
34
|
+
result.set(replaceBuffer, offset);
|
|
35
|
+
offset += replaceLength;
|
|
36
|
+
i += searchLength - 1; // Skip the length of the search buffer
|
|
37
|
+
found = true;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
result[offset++] = targetBuffer[i];
|
|
49
41
|
}
|
|
50
42
|
}
|
|
51
|
-
|
|
52
43
|
if (!found) {
|
|
53
|
-
throw new Error(`Search buffer not found in target buffer`)
|
|
44
|
+
throw new Error(`Search buffer not found in target buffer`);
|
|
54
45
|
}
|
|
55
|
-
return result
|
|
46
|
+
return result;
|
|
56
47
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a string or byte array to a byte array using UTF-8 encoding.
|
|
4
|
+
* If the input is already a byte array, it is returned as-is.
|
|
5
|
+
*
|
|
6
|
+
* @param str - The string or byte array to convert.
|
|
7
|
+
* @returns The input as a byte array.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* stringToBytes('Hello') // Returns Uint8Array([72, 101, 108, 108, 111])
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function stringToBytes(str: string | ByteArray): ByteArray;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from '../types'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Converts a string or byte array to a byte array using UTF-8 encoding.
|
|
5
3
|
* If the input is already a byte array, it is returned as-is.
|
|
@@ -12,11 +10,12 @@ import { ByteArray } from '../types'
|
|
|
12
10
|
* stringToBytes('Hello') // Returns Uint8Array([72, 101, 108, 108, 111])
|
|
13
11
|
* ```
|
|
14
12
|
*/
|
|
15
|
-
export function stringToBytes(str
|
|
13
|
+
export function stringToBytes(str) {
|
|
16
14
|
if (typeof str === 'string') {
|
|
17
|
-
const encoder = new TextEncoder()
|
|
18
|
-
return encoder.encode(str)
|
|
19
|
-
}
|
|
20
|
-
|
|
15
|
+
const encoder = new TextEncoder();
|
|
16
|
+
return encoder.encode(str);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return str;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a hexadecimal string (optionally with angle brackets) to a byte array.
|
|
4
|
+
* Strips any surrounding angle brackets before conversion.
|
|
5
|
+
*
|
|
6
|
+
* @param str - The hexadecimal string to convert, optionally wrapped in angle brackets.
|
|
7
|
+
* @returns A byte array with the decoded values.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* stringToHexBytes('<FF00>') // Returns Uint8Array([255, 0])
|
|
12
|
+
* stringToHexBytes('FF00') // Also returns Uint8Array([255, 0])
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function stringToHexBytes(str: string): ByteArray;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from '../types'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Converts a hexadecimal string (optionally with angle brackets) to a byte array.
|
|
5
3
|
* Strips any surrounding angle brackets before conversion.
|
|
@@ -13,11 +11,11 @@ import { ByteArray } from '../types'
|
|
|
13
11
|
* stringToHexBytes('FF00') // Also returns Uint8Array([255, 0])
|
|
14
12
|
* ```
|
|
15
13
|
*/
|
|
16
|
-
export function stringToHexBytes(str
|
|
17
|
-
const hex = str.replace(/<|>/g, '')
|
|
18
|
-
const bytes = new Uint8Array(hex.length / 2)
|
|
14
|
+
export function stringToHexBytes(str) {
|
|
15
|
+
const hex = str.replace(/<|>/g, '');
|
|
16
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
19
17
|
for (let i = 0; i < hex.length; i += 2) {
|
|
20
|
-
bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16)
|
|
18
|
+
bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
|
|
21
19
|
}
|
|
22
|
-
return bytes
|
|
20
|
+
return bytes;
|
|
23
21
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Unescapes a PDF literal string by processing escape sequences.
|
|
4
|
+
* Handles escape sequences for special characters including newlines, tabs,
|
|
5
|
+
* backslashes, parentheses, and octal character codes.
|
|
6
|
+
*
|
|
7
|
+
* @param input - The escaped byte array to unescape.
|
|
8
|
+
* @returns A new byte array with escape sequences converted to their literal values.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // Unescapes '\n' to a literal newline
|
|
13
|
+
* unescapeString(new Uint8Array([0x5c, 0x6e])) // Returns Uint8Array([0x0a])
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function unescapeString(input: ByteArray): ByteArray;
|