@pdfme/pdf-lib 6.0.3 → 6.0.5-dev.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/{src/api/Embeddable.ts → dist/api/Embeddable.d.ts} +1 -1
- package/dist/api/PDFDocument.d.ts +778 -0
- package/dist/api/PDFDocumentOptions.d.ts +38 -0
- package/dist/api/PDFEmbeddedFile.d.ts +38 -0
- package/dist/api/PDFEmbeddedPage.d.ts +73 -0
- package/dist/api/PDFFont.d.ts +94 -0
- package/dist/api/PDFImage.d.ts +95 -0
- package/dist/api/PDFJavaScript.d.ts +38 -0
- package/dist/api/PDFPage.d.ts +910 -0
- package/dist/api/PDFPageOptions.d.ts +172 -0
- package/dist/api/StandardFonts.d.ts +16 -0
- package/dist/api/colors.d.ts +34 -0
- package/dist/api/errors.d.ts +42 -0
- package/dist/api/form/PDFButton.d.ts +137 -0
- package/dist/api/form/PDFCheckBox.d.ts +142 -0
- package/dist/api/form/PDFDropdown.d.ts +402 -0
- package/dist/api/form/PDFField.d.ts +203 -0
- package/dist/api/form/PDFForm.d.ts +411 -0
- package/dist/api/form/PDFOptionList.d.ts +335 -0
- package/dist/api/form/PDFRadioGroup.d.ts +252 -0
- package/dist/api/form/PDFSignature.d.ts +29 -0
- package/dist/api/form/PDFTextField.d.ts +537 -0
- package/dist/api/form/appearances.d.ts +41 -0
- package/dist/api/image/alignment.d.ts +5 -0
- package/dist/api/objects.d.ts +4 -0
- package/dist/api/operations.d.ts +226 -0
- package/dist/api/operators.d.ts +90 -0
- package/dist/api/rotations.d.ts +38 -0
- package/dist/api/sizes.d.ts +52 -0
- package/dist/api/svg.d.ts +70 -0
- package/dist/api/svgPath.d.ts +2 -0
- package/dist/api/text/alignment.d.ts +5 -0
- package/dist/api/text/layout.d.ts +54 -0
- package/dist/core/PDFContext.d.ts +84 -0
- package/dist/core/PDFObjectCopier.d.ts +37 -0
- package/dist/core/acroform/PDFAcroButton.d.ts +21 -0
- package/dist/core/acroform/PDFAcroCheckBox.d.ts +13 -0
- package/dist/core/acroform/PDFAcroChoice.d.ts +20 -0
- package/dist/core/acroform/PDFAcroComboBox.d.ts +9 -0
- package/dist/core/acroform/PDFAcroField.d.ts +36 -0
- package/dist/core/acroform/PDFAcroForm.d.ts +20 -0
- package/dist/core/acroform/PDFAcroListBox.d.ts +9 -0
- package/dist/core/acroform/PDFAcroNonTerminal.d.ts +13 -0
- package/dist/core/acroform/PDFAcroPushButton.d.ts +9 -0
- package/dist/core/acroform/PDFAcroRadioButton.d.ts +13 -0
- package/{src/core/acroform/PDFAcroSignature.ts → dist/core/acroform/PDFAcroSignature.d.ts} +2 -4
- package/dist/core/acroform/PDFAcroTerminal.d.ts +16 -0
- package/dist/core/acroform/PDFAcroText.d.ts +22 -0
- package/dist/core/acroform/flags.d.ts +141 -0
- package/dist/core/acroform/utils.d.ts +6 -0
- package/dist/core/annotation/AppearanceCharacteristics.d.ts +33 -0
- package/dist/core/annotation/BorderStyle.d.ts +11 -0
- package/dist/core/annotation/PDFAnnotation.d.ts +51 -0
- package/dist/core/annotation/PDFWidgetAnnotation.d.ts +26 -0
- package/dist/core/annotation/flags.d.ts +79 -0
- package/dist/core/crypto.d.ts +95 -0
- package/dist/core/document/PDFCrossRefSection.d.ts +27 -0
- package/dist/core/document/PDFHeader.d.ts +10 -0
- package/dist/core/document/PDFTrailer.d.ts +9 -0
- package/dist/core/document/PDFTrailerDict.d.ts +10 -0
- package/dist/core/embedders/CMap.d.ts +3 -0
- package/dist/core/embedders/CustomFontEmbedder.d.ts +44 -0
- package/dist/core/embedders/CustomFontSubsetEmbedder.d.ts +20 -0
- package/dist/core/embedders/FileEmbedder.d.ts +33 -0
- package/dist/core/embedders/FontFlags.d.ts +13 -0
- package/dist/core/embedders/JavaScriptEmbedder.d.ts +10 -0
- package/dist/core/embedders/JpegEmbedder.d.ts +23 -0
- package/dist/core/embedders/PDFPageEmbedder.d.ts +37 -0
- package/dist/core/embedders/PngEmbedder.d.ts +19 -0
- package/dist/core/embedders/StandardFontEmbedder.d.ts +36 -0
- package/dist/core/errors.d.ts +94 -0
- package/{src/core/index.ts → dist/core/index.d.ts} +1 -17
- package/dist/core/interactive/ViewerPreferences.d.ts +347 -0
- package/dist/core/objects/PDFArray.d.ts +63 -0
- package/dist/core/objects/PDFBool.d.ts +13 -0
- package/dist/core/objects/PDFDict.d.ts +62 -0
- package/dist/core/objects/PDFHexString.d.ts +16 -0
- package/dist/core/objects/PDFInvalidObject.d.ts +11 -0
- package/dist/core/objects/PDFName.d.ts +41 -0
- package/dist/core/objects/PDFNull.d.ts +10 -0
- package/dist/core/objects/PDFNumber.d.ts +15 -0
- package/dist/core/objects/PDFObject.d.ts +8 -0
- package/dist/core/objects/PDFRawStream.d.ts +16 -0
- package/dist/core/objects/PDFRef.d.ts +13 -0
- package/dist/core/objects/PDFStream.d.ts +16 -0
- package/dist/core/objects/PDFString.d.ts +16 -0
- package/dist/core/operators/PDFOperator.d.ts +19 -0
- package/dist/core/operators/PDFOperatorNames.d.ts +76 -0
- package/dist/core/parser/BaseParser.d.ts +14 -0
- package/dist/core/parser/ByteStream.d.ts +26 -0
- package/dist/core/parser/PDFObjectParser.d.ts +31 -0
- package/dist/core/parser/PDFObjectStreamParser.d.ts +13 -0
- package/dist/core/parser/PDFParser.d.ts +46 -0
- package/dist/core/parser/PDFXRefStreamParser.d.ts +21 -0
- package/dist/core/streams/Ascii85Stream.d.ts +9 -0
- package/dist/core/streams/AsciiHexStream.d.ts +9 -0
- package/dist/core/streams/DecodeStream.d.ts +26 -0
- package/dist/core/streams/DecryptStream.d.ts +12 -0
- package/dist/core/streams/FlateStream.d.ts +13 -0
- package/dist/core/streams/LZWStream.d.ts +12 -0
- package/dist/core/streams/RunLengthStream.d.ts +8 -0
- package/dist/core/streams/Stream.d.ts +34 -0
- package/dist/core/streams/decode.d.ts +3 -0
- package/dist/core/structures/PDFCatalog.d.ts +27 -0
- package/dist/core/structures/PDFContentStream.d.ts +15 -0
- package/dist/core/structures/PDFCrossRefStream.d.ts +53 -0
- package/dist/core/structures/PDFFlateStream.d.ts +13 -0
- package/dist/core/structures/PDFObjectStream.d.ts +20 -0
- package/dist/core/structures/PDFPageLeaf.d.ts +54 -0
- package/dist/core/structures/PDFPageTree.d.ts +41 -0
- package/dist/core/syntax/CharCodes.d.ts +61 -0
- package/dist/core/syntax/Delimiters.d.ts +1 -0
- package/dist/core/syntax/Irregular.d.ts +1 -0
- package/dist/core/syntax/Keywords.d.ts +22 -0
- package/dist/core/syntax/Numeric.d.ts +3 -0
- package/dist/core/syntax/Whitespace.d.ts +1 -0
- package/dist/core/writers/PDFStreamWriter.d.ts +19 -0
- package/dist/core/writers/PDFWriter.d.ts +29 -0
- package/dist/index.js +19124 -0
- package/dist/index.js.map +1 -0
- package/dist/types/fontkit.d.ts +597 -0
- package/{src/types/index.ts → dist/types/index.d.ts} +8 -13
- package/{src/types/matrix.ts → dist/types/matrix.d.ts} +1 -2
- package/dist/utils/Cache.d.ts +10 -0
- package/dist/utils/arrays.d.ts +16 -0
- package/dist/utils/async.d.ts +5 -0
- package/dist/utils/base64.d.ts +10 -0
- package/dist/utils/elements/Arc.d.ts +22 -0
- package/dist/utils/elements/Circle.d.ts +14 -0
- package/dist/utils/elements/Ellipse.d.ts +20 -0
- package/dist/utils/elements/GraphElement.d.ts +6 -0
- package/dist/utils/elements/Line.d.ts +23 -0
- package/dist/utils/elements/Plot.d.ts +11 -0
- package/dist/utils/elements/Point.d.ts +18 -0
- package/dist/utils/elements/Rectangle.d.ts +21 -0
- package/dist/utils/elements/Segment.d.ts +19 -0
- package/dist/utils/errors.d.ts +1 -0
- package/dist/utils/intersections.d.ts +9 -0
- package/dist/utils/maths.d.ts +45 -0
- package/dist/utils/numbers.d.ts +23 -0
- package/dist/utils/objects.d.ts +15 -0
- package/dist/utils/pdfDocEncoding.d.ts +7 -0
- package/dist/utils/png.d.ts +17 -0
- package/dist/utils/rng.d.ts +13 -0
- package/dist/utils/strings.d.ts +25 -0
- package/{src/utils/unicode.ts → dist/utils/unicode.d.ts} +8 -195
- package/dist/utils/validators.d.ts +26 -0
- package/package.json +6 -1
- package/__tests__/api/PDFDocument.spec.ts +0 -576
- package/__tests__/api/PDFImage.spec.ts +0 -60
- package/__tests__/api/PDFPage.spec.ts +0 -151
- package/__tests__/api/form/PDFCheckBox.spec.ts +0 -71
- package/__tests__/api/form/PDFDropdown.spec.ts +0 -118
- package/__tests__/api/form/PDFForm.spec.ts +0 -370
- package/__tests__/api/form/PDFOptionList.spec.ts +0 -104
- package/__tests__/api/form/PDFRadioGroup.spec.ts +0 -183
- package/__tests__/api/form/PDFTextField.spec.ts +0 -148
- package/__tests__/api/svgPath.spec.ts +0 -153
- package/__tests__/api/text/layout.spec.ts +0 -166
- package/__tests__/core/PDFContext.spec.ts +0 -194
- package/__tests__/core/PDFObjectCopier.spec.ts +0 -421
- package/__tests__/core/acroform/PDFAcroField.spec.ts +0 -98
- package/__tests__/core/acroform/PDFAcroTerminal.spec.ts +0 -39
- package/__tests__/core/annotation/PDFWidgetAnnotation.spec.ts +0 -40
- package/__tests__/core/document/PDFCrossRefSection.spec.ts +0 -88
- package/__tests__/core/document/PDFHeader.spec.ts +0 -22
- package/__tests__/core/document/PDFTrailer.spec.ts +0 -28
- package/__tests__/core/document/PDFTrailerDict.spec.ts +0 -24
- package/__tests__/core/embedders/CMap.spec.ts +0 -47
- package/__tests__/core/embedders/CustomFontEmbedder.spec.ts +0 -96
- package/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.ts +0 -62
- package/__tests__/core/embedders/FileEmbedder.spec.ts +0 -54
- package/__tests__/core/embedders/JpegEmbedder.spec.ts +0 -67
- package/__tests__/core/embedders/PDFPageEmbedder.spec.ts +0 -65
- package/__tests__/core/embedders/PngEmbedder.spec.ts +0 -87
- package/__tests__/core/embedders/StandardFontEmbedder.spec.ts +0 -79
- package/__tests__/core/embedders/data/SourceHanSerifJP-Regular.otf.cmap +0 -16096
- package/__tests__/core/embedders/data/Ubuntu-R.ttf.cmap +0 -1211
- package/__tests__/core/objects/PDFArray.spec.ts +0 -134
- package/__tests__/core/objects/PDFBool.spec.ts +0 -42
- package/__tests__/core/objects/PDFDict.spec.ts +0 -195
- package/__tests__/core/objects/PDFHexString.spec.ts +0 -168
- package/__tests__/core/objects/PDFInvalidObject.spec.ts +0 -32
- package/__tests__/core/objects/PDFName.spec.ts +0 -122
- package/__tests__/core/objects/PDFNull.spec.ts +0 -30
- package/__tests__/core/objects/PDFNumber.spec.ts +0 -50
- package/__tests__/core/objects/PDFObject.spec.ts +0 -29
- package/__tests__/core/objects/PDFRawStream.spec.ts +0 -45
- package/__tests__/core/objects/PDFRef.spec.ts +0 -60
- package/__tests__/core/objects/PDFString.spec.ts +0 -237
- package/__tests__/core/operators/PDFOperator.spec.ts +0 -77
- package/__tests__/core/parser/PDFObjectParser.spec.ts +0 -730
- package/__tests__/core/parser/PDFObjectStreamParser.spec.ts +0 -158
- package/__tests__/core/parser/PDFParser.spec.ts +0 -398
- package/__tests__/core/parser/PDFXRefStreamParser.spec.ts +0 -187
- package/__tests__/core/parser/data/object-stream-invalid +0 -2
- package/__tests__/core/parser/data/object-stream1 +0 -16
- package/__tests__/core/parser/data/object-stream2 +0 -10
- package/__tests__/core/parser/data/object-stream3 +0 -0
- package/__tests__/core/parser/data/object-stream4 +0 -0
- package/__tests__/core/parser/data/xref-stream1 +0 -0
- package/__tests__/core/parser/data/xref-stream2 +0 -0
- package/__tests__/core/parser/data/xref-stream3 +0 -0
- package/__tests__/core/parser/data/xref-stream4 +0 -0
- package/__tests__/core/streams/Ascii85Stream.spec.ts +0 -20
- package/__tests__/core/streams/AsciiHexStream.spec.ts +0 -20
- package/__tests__/core/streams/FlateStream.spec.ts +0 -20
- package/__tests__/core/streams/LZWStream.spec.ts +0 -20
- package/__tests__/core/streams/RunLengthStream.spec.ts +0 -20
- package/__tests__/core/streams/Stream.spec.ts +0 -128
- package/__tests__/core/streams/data/ascii85/1.decoded +0 -0
- package/__tests__/core/streams/data/ascii85/1.encoded +0 -43
- package/__tests__/core/streams/data/asciihex/1.decoded +0 -1
- package/__tests__/core/streams/data/asciihex/1.encoded +0 -1
- package/__tests__/core/streams/data/asciihex/2.decoded +0 -7
- package/__tests__/core/streams/data/asciihex/2.encoded +0 -1
- package/__tests__/core/streams/data/flate/1.corrupt.encoded +0 -1
- package/__tests__/core/streams/data/flate/1.decoded +0 -0
- package/__tests__/core/streams/data/flate/1.encoded +0 -2
- package/__tests__/core/streams/data/flate/2.decoded +0 -33
- package/__tests__/core/streams/data/flate/2.encoded +0 -0
- package/__tests__/core/streams/data/flate/3.decoded +0 -15
- package/__tests__/core/streams/data/flate/3.encoded +0 -0
- package/__tests__/core/streams/data/flate/4.decoded +0 -16
- package/__tests__/core/streams/data/flate/4.encoded +0 -0
- package/__tests__/core/streams/data/flate/5.decoded +0 -0
- package/__tests__/core/streams/data/flate/5.encoded +0 -0
- package/__tests__/core/streams/data/flate/6.decoded +0 -17
- package/__tests__/core/streams/data/flate/6.encoded +0 -0
- package/__tests__/core/streams/data/flate/7.decoded +0 -20
- package/__tests__/core/streams/data/flate/7.encoded +0 -1
- package/__tests__/core/streams/data/lzw/1.decoded +0 -0
- package/__tests__/core/streams/data/lzw/1.encoded +0 -0
- package/__tests__/core/streams/data/lzw/2.decoded +0 -0
- package/__tests__/core/streams/data/lzw/2.encoded +0 -0
- package/__tests__/core/streams/data/lzw/3.decoded +0 -14
- package/__tests__/core/streams/data/lzw/3.encoded +0 -2
- package/__tests__/core/streams/data/lzw/4.decoded +0 -14
- package/__tests__/core/streams/data/lzw/4.encoded +0 -2
- package/__tests__/core/streams/data/runlength/1.decoded +0 -1
- package/__tests__/core/streams/data/runlength/1.encoded +0 -1
- package/__tests__/core/streams/data/runlength/2.decoded +0 -1
- package/__tests__/core/streams/data/runlength/2.encoded +0 -1
- package/__tests__/core/streams/data/runlength/3.decoded +0 -0
- package/__tests__/core/streams/data/runlength/3.encoded +0 -0
- package/__tests__/core/streams/data/runlength/4.decoded +0 -1
- package/__tests__/core/streams/data/runlength/4.encoded +0 -1
- package/__tests__/core/streams/data/runlength/5.decoded +0 -1
- package/__tests__/core/streams/data/runlength/5.encoded +0 -1
- package/__tests__/core/streams/data/runlength/empty.encoded +0 -1
- package/__tests__/core/structures/PDFCatalog.spec.ts +0 -108
- package/__tests__/core/structures/PDFContentStream.spec.ts +0 -117
- package/__tests__/core/structures/PDFCrossRefStream.spec.ts +0 -145
- package/__tests__/core/structures/PDFObjectStream.spec.ts +0 -138
- package/__tests__/core/structures/PDFPageLeaf.spec.ts +0 -355
- package/__tests__/core/structures/PDFPageTree.spec.ts +0 -592
- package/__tests__/core/writers/PDFStreamWriter.spec.ts +0 -71
- package/__tests__/core/writers/PDFWriter.spec.ts +0 -144
- package/__tests__/core/writers/data/stream-writer-1.pdf +0 -0
- package/__tests__/index.test.ts +0 -12
- package/__tests__/utils/base64.spec.ts +0 -61
- package/__tests__/utils/data/simple.pdf +0 -201
- package/__tests__/utils/data/simple.pdf.base64 +0 -1
- package/__tests__/utils/pdfDocEncoding.spec.ts +0 -82
- package/__tests__/utils/png.spec.ts +0 -53
- package/__tests__/utils/rng.spec.ts +0 -14
- package/__tests__/utils/strings.spec.ts +0 -98
- package/__tests__/utils/unicode.spec.ts +0 -337
- package/assets/fonts/source_hans_jp/SourceHanSerifJP-Regular.otf +0 -0
- package/assets/fonts/ubuntu/Ubuntu-B.ttf +0 -0
- package/assets/fonts/ubuntu/Ubuntu-R.ttf +0 -0
- package/assets/images/cat_riding_unicorn.jpg +0 -0
- package/assets/images/cmyk_colorspace.jpg +0 -0
- package/assets/images/greyscale_bird.png +0 -0
- package/assets/images/minions_banana_alpha.png +0 -0
- package/assets/images/minions_banana_no_alpha.png +0 -0
- package/assets/images/minions_laughing.jpg +0 -0
- package/assets/pdfs/bixby_guide.pdf +0 -0
- package/assets/pdfs/encrypted_new.pdf +0 -0
- package/assets/pdfs/encrypted_old.pdf +0 -0
- package/assets/pdfs/fancy_fields.pdf +0 -0
- package/assets/pdfs/giraffe.pdf +0 -0
- package/assets/pdfs/invalid_root_ref.pdf +0 -0
- package/assets/pdfs/just_metadata.pdf +0 -49
- package/assets/pdfs/missing_endobj_keyword.pdf +0 -70
- package/assets/pdfs/missing_xref_trailer_dict.pdf +0 -141
- package/assets/pdfs/normal.pdf +0 -0
- package/assets/pdfs/pdf20examples/PDF 2.0 with offset start.pdf +0 -179
- package/assets/pdfs/stuff_following_header.pdf +0 -0
- package/assets/pdfs/us_constitution.pdf +0 -0
- package/assets/pdfs/with_comments.pdf +0 -0
- package/assets/pdfs/with_invalid_objects.pdf +0 -53
- package/assets/pdfs/with_invalid_stream_EOL.pdf +0 -0
- package/assets/pdfs/with_null_parent_entry.pdf +0 -0
- package/assets/pdfs/with_signature.pdf +0 -0
- package/assets/pdfs/with_update_sections.pdf +0 -0
- package/assets/pdfs/with_viewer_prefs.pdf +0 -0
- package/assets/pdfs/with_xfa_fields.pdf +0 -0
- package/src/api/PDFDocument.ts +0 -1389
- package/src/api/PDFDocumentOptions.ts +0 -45
- package/src/api/PDFEmbeddedFile.ts +0 -87
- package/src/api/PDFEmbeddedPage.ts +0 -100
- package/src/api/PDFFont.ts +0 -149
- package/src/api/PDFImage.ts +0 -143
- package/src/api/PDFJavaScript.ts +0 -75
- package/src/api/PDFPage.ts +0 -1604
- package/src/api/PDFPageOptions.ts +0 -175
- package/src/api/StandardFonts.ts +0 -16
- package/src/api/colors.ts +0 -109
- package/src/api/errors.ts +0 -110
- package/src/api/form/PDFButton.ts +0 -242
- package/src/api/form/PDFCheckBox.ts +0 -247
- package/src/api/form/PDFDropdown.ts +0 -637
- package/src/api/form/PDFField.ts +0 -491
- package/src/api/form/PDFForm.ts +0 -842
- package/src/api/form/PDFOptionList.ts +0 -555
- package/src/api/form/PDFRadioGroup.ts +0 -455
- package/src/api/form/PDFSignature.ts +0 -44
- package/src/api/form/PDFTextField.ts +0 -811
- package/src/api/form/appearances.ts +0 -655
- package/src/api/image/alignment.ts +0 -5
- package/src/api/objects.ts +0 -10
- package/src/api/operations.ts +0 -873
- package/src/api/operators.ts +0 -335
- package/src/api/rotations.ts +0 -84
- package/src/api/sizes.ts +0 -52
- package/src/api/svg.ts +0 -888
- package/src/api/svgPath.ts +0 -460
- package/src/api/text/alignment.ts +0 -5
- package/src/api/text/layout.ts +0 -328
- package/src/core/PDFContext.ts +0 -274
- package/src/core/PDFObjectCopier.ts +0 -142
- package/src/core/acroform/PDFAcroButton.ts +0 -104
- package/src/core/acroform/PDFAcroCheckBox.ts +0 -48
- package/src/core/acroform/PDFAcroChoice.ts +0 -143
- package/src/core/acroform/PDFAcroComboBox.ts +0 -21
- package/src/core/acroform/PDFAcroField.ts +0 -168
- package/src/core/acroform/PDFAcroForm.ts +0 -96
- package/src/core/acroform/PDFAcroListBox.ts +0 -19
- package/src/core/acroform/PDFAcroNonTerminal.ts +0 -33
- package/src/core/acroform/PDFAcroPushButton.ts +0 -21
- package/src/core/acroform/PDFAcroRadioButton.ts +0 -57
- package/src/core/acroform/PDFAcroTerminal.ts +0 -70
- package/src/core/acroform/PDFAcroText.ts +0 -76
- package/src/core/acroform/flags.ts +0 -162
- package/src/core/acroform/utils.ts +0 -129
- package/src/core/annotation/AppearanceCharacteristics.ts +0 -133
- package/src/core/annotation/BorderStyle.ts +0 -31
- package/src/core/annotation/PDFAnnotation.ts +0 -148
- package/src/core/annotation/PDFWidgetAnnotation.ts +0 -111
- package/src/core/annotation/flags.ts +0 -90
- package/src/core/crypto.ts +0 -1844
- package/src/core/document/PDFCrossRefSection.ts +0 -161
- package/src/core/document/PDFHeader.ts +0 -48
- package/src/core/document/PDFTrailer.ts +0 -48
- package/src/core/document/PDFTrailerDict.ts +0 -39
- package/src/core/embedders/CMap.ts +0 -65
- package/src/core/embedders/CustomFontEmbedder.ts +0 -237
- package/src/core/embedders/CustomFontSubsetEmbedder.ts +0 -89
- package/src/core/embedders/FileEmbedder.ts +0 -77
- package/src/core/embedders/FontFlags.ts +0 -45
- package/src/core/embedders/JavaScriptEmbedder.ts +0 -34
- package/src/core/embedders/JpegEmbedder.ts +0 -118
- package/src/core/embedders/PDFPageEmbedder.ts +0 -139
- package/src/core/embedders/PngEmbedder.ts +0 -69
- package/src/core/embedders/StandardFontEmbedder.ts +0 -121
- package/src/core/errors.ts +0 -226
- package/src/core/interactive/ViewerPreferences.ts +0 -565
- package/src/core/objects/PDFArray.ts +0 -179
- package/src/core/objects/PDFBool.ts +0 -53
- package/src/core/objects/PDFDict.ts +0 -220
- package/src/core/objects/PDFHexString.ts +0 -94
- package/src/core/objects/PDFInvalidObject.ts +0 -34
- package/src/core/objects/PDFName.ts +0 -152
- package/src/core/objects/PDFNull.ts +0 -30
- package/src/core/objects/PDFNumber.ts +0 -44
- package/src/core/objects/PDFObject.ts +0 -22
- package/src/core/objects/PDFRawStream.ts +0 -41
- package/src/core/objects/PDFRef.ts +0 -51
- package/src/core/objects/PDFStream.ts +0 -87
- package/src/core/objects/PDFString.ts +0 -118
- package/src/core/operators/PDFOperator.ts +0 -72
- package/src/core/operators/PDFOperatorNames.ts +0 -92
- package/src/core/parser/BaseParser.ts +0 -119
- package/src/core/parser/ByteStream.ts +0 -76
- package/src/core/parser/PDFObjectParser.ts +0 -302
- package/src/core/parser/PDFObjectStreamParser.ts +0 -65
- package/src/core/parser/PDFParser.ts +0 -363
- package/src/core/parser/PDFXRefStreamParser.ts +0 -129
- package/src/core/streams/Ascii85Stream.ts +0 -97
- package/src/core/streams/AsciiHexStream.ts +0 -77
- package/src/core/streams/DecodeStream.ts +0 -188
- package/src/core/streams/DecryptStream.ts +0 -49
- package/src/core/streams/FlateStream.ts +0 -397
- package/src/core/streams/LZWStream.ts +0 -157
- package/src/core/streams/RunLengthStream.ts +0 -55
- package/src/core/streams/Stream.ts +0 -126
- package/src/core/streams/decode.ts +0 -70
- package/src/core/structures/PDFCatalog.ts +0 -81
- package/src/core/structures/PDFContentStream.ts +0 -58
- package/src/core/structures/PDFCrossRefStream.ts +0 -238
- package/src/core/structures/PDFFlateStream.ts +0 -40
- package/src/core/structures/PDFObjectStream.ts +0 -91
- package/src/core/structures/PDFPageLeaf.ts +0 -244
- package/src/core/structures/PDFPageTree.ts +0 -192
- package/src/core/syntax/CharCodes.ts +0 -62
- package/src/core/syntax/Delimiters.ts +0 -14
- package/src/core/syntax/Irregular.ts +0 -10
- package/src/core/syntax/Keywords.ts +0 -57
- package/src/core/syntax/Numeric.ts +0 -26
- package/src/core/syntax/Whitespace.ts +0 -10
- package/src/core/writers/PDFStreamWriter.ts +0 -114
- package/src/core/writers/PDFWriter.ts +0 -146
- package/src/types/fontkit.ts +0 -643
- package/src/utils/Cache.ts +0 -26
- package/src/utils/arrays.ts +0 -153
- package/src/utils/async.ts +0 -8
- package/src/utils/base64.ts +0 -98
- package/src/utils/elements/Arc.ts +0 -97
- package/src/utils/elements/Circle.ts +0 -47
- package/src/utils/elements/Ellipse.ts +0 -117
- package/src/utils/elements/GraphElement.ts +0 -14
- package/src/utils/elements/Line.ts +0 -83
- package/src/utils/elements/Plot.ts +0 -50
- package/src/utils/elements/Point.ts +0 -37
- package/src/utils/elements/Rectangle.ts +0 -65
- package/src/utils/elements/Segment.ts +0 -81
- package/src/utils/errors.ts +0 -3
- package/src/utils/intersections.ts +0 -237
- package/src/utils/maths.ts +0 -96
- package/src/utils/numbers.ts +0 -55
- package/src/utils/objects.ts +0 -13
- package/src/utils/pdfDocEncoding.ts +0 -69
- package/src/utils/png.ts +0 -100
- package/src/utils/rng.ts +0 -21
- package/src/utils/strings.ts +0 -191
- package/src/utils/validators.ts +0 -192
- package/tsconfig.build.json +0 -14
- package/tsconfig.json +0 -15
- package/vite.config.mts +0 -39
- /package/{src/api/form/index.ts → dist/api/form/index.d.ts} +0 -0
- /package/{src/api/image/index.ts → dist/api/image/index.d.ts} +0 -0
- /package/{src/api/index.ts → dist/api/index.d.ts} +0 -0
- /package/{src/api/text/index.ts → dist/api/text/index.d.ts} +0 -0
- /package/{src/core/acroform/index.ts → dist/core/acroform/index.d.ts} +0 -0
- /package/{src/core/annotation/index.ts → dist/core/annotation/index.d.ts} +0 -0
- /package/{src/index.ts → dist/index.d.ts} +0 -0
- /package/{src/utils/elements/index.ts → dist/utils/elements/index.d.ts} +0 -0
- /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import PDFBool from './PDFBool';
|
|
2
|
-
import PDFDict from './PDFDict';
|
|
3
|
-
import PDFHexString from './PDFHexString';
|
|
4
|
-
import PDFName from './PDFName';
|
|
5
|
-
import PDFNull from './PDFNull';
|
|
6
|
-
import PDFNumber from './PDFNumber';
|
|
7
|
-
import PDFObject from './PDFObject';
|
|
8
|
-
import PDFRef from './PDFRef';
|
|
9
|
-
import PDFStream from './PDFStream';
|
|
10
|
-
import PDFString from './PDFString';
|
|
11
|
-
import PDFContext from '../PDFContext';
|
|
12
|
-
import CharCodes from '../syntax/CharCodes';
|
|
13
|
-
import { PDFArrayIsNotRectangleError } from '../errors';
|
|
14
|
-
import PDFRawStream from './PDFRawStream';
|
|
15
|
-
|
|
16
|
-
class PDFArray extends PDFObject {
|
|
17
|
-
static withContext = (context: PDFContext) => new PDFArray(context);
|
|
18
|
-
|
|
19
|
-
private readonly array: PDFObject[];
|
|
20
|
-
private readonly context: PDFContext;
|
|
21
|
-
|
|
22
|
-
private constructor(context: PDFContext) {
|
|
23
|
-
super();
|
|
24
|
-
this.array = [];
|
|
25
|
-
this.context = context;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
size(): number {
|
|
29
|
-
return this.array.length;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
push(object: PDFObject): void {
|
|
33
|
-
this.array.push(object);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
insert(index: number, object: PDFObject): void {
|
|
37
|
-
this.array.splice(index, 0, object);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
indexOf(object: PDFObject): number | undefined {
|
|
41
|
-
const index = this.array.indexOf(object);
|
|
42
|
-
return index === -1 ? undefined : index;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
remove(index: number): void {
|
|
46
|
-
this.array.splice(index, 1);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
set(idx: number, object: PDFObject): void {
|
|
50
|
-
this.array[idx] = object;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
get(index: number): PDFObject {
|
|
54
|
-
return this.array[index];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
lookupMaybe(index: number, type: typeof PDFArray): PDFArray | undefined;
|
|
58
|
-
lookupMaybe(index: number, type: typeof PDFBool): PDFBool | undefined;
|
|
59
|
-
lookupMaybe(index: number, type: typeof PDFDict): PDFDict | undefined;
|
|
60
|
-
lookupMaybe(index: number, type: typeof PDFHexString): PDFHexString | undefined;
|
|
61
|
-
lookupMaybe(index: number, type: typeof PDFName): PDFName | undefined;
|
|
62
|
-
lookupMaybe(index: number, type: typeof PDFNull): typeof PDFNull | undefined;
|
|
63
|
-
lookupMaybe(index: number, type: typeof PDFNumber): PDFNumber | undefined;
|
|
64
|
-
lookupMaybe(index: number, type: typeof PDFStream): PDFStream | undefined;
|
|
65
|
-
lookupMaybe(index: number, type: typeof PDFRawStream): PDFRawStream | undefined;
|
|
66
|
-
lookupMaybe(index: number, type: typeof PDFRef): PDFRef | undefined;
|
|
67
|
-
lookupMaybe(index: number, type: typeof PDFString): PDFString | undefined;
|
|
68
|
-
lookupMaybe(
|
|
69
|
-
index: number,
|
|
70
|
-
type1: typeof PDFString,
|
|
71
|
-
type2: typeof PDFHexString,
|
|
72
|
-
): PDFString | PDFHexString | undefined;
|
|
73
|
-
|
|
74
|
-
lookupMaybe(index: number, ...types: any[]) {
|
|
75
|
-
return this.context.lookupMaybe(
|
|
76
|
-
this.get(index),
|
|
77
|
-
// @ts-ignore
|
|
78
|
-
...types,
|
|
79
|
-
) as any;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
lookup(index: number): PDFObject | undefined;
|
|
83
|
-
lookup(index: number, type: typeof PDFArray): PDFArray;
|
|
84
|
-
lookup(index: number, type: typeof PDFBool): PDFBool;
|
|
85
|
-
lookup(index: number, type: typeof PDFDict): PDFDict;
|
|
86
|
-
lookup(index: number, type: typeof PDFHexString): PDFHexString;
|
|
87
|
-
lookup(index: number, type: typeof PDFName): PDFName;
|
|
88
|
-
lookup(index: number, type: typeof PDFNull): typeof PDFNull;
|
|
89
|
-
lookup(index: number, type: typeof PDFNumber): PDFNumber;
|
|
90
|
-
lookup(index: number, type: typeof PDFStream): PDFStream;
|
|
91
|
-
lookup(index: number, type: typeof PDFRawStream): PDFRawStream;
|
|
92
|
-
lookup(index: number, type: typeof PDFRef): PDFRef;
|
|
93
|
-
lookup(index: number, type: typeof PDFString): PDFString;
|
|
94
|
-
lookup(
|
|
95
|
-
index: number,
|
|
96
|
-
type1: typeof PDFString,
|
|
97
|
-
type2: typeof PDFHexString,
|
|
98
|
-
): PDFString | PDFHexString;
|
|
99
|
-
|
|
100
|
-
lookup(index: number, ...types: any[]) {
|
|
101
|
-
return this.context.lookup(
|
|
102
|
-
this.get(index),
|
|
103
|
-
// @ts-ignore
|
|
104
|
-
...types,
|
|
105
|
-
) as any;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
asRectangle(): { x: number; y: number; width: number; height: number } {
|
|
109
|
-
if (this.size() !== 4) throw new PDFArrayIsNotRectangleError(this.size());
|
|
110
|
-
|
|
111
|
-
const lowerLeftX = this.lookup(0, PDFNumber).asNumber();
|
|
112
|
-
const lowerLeftY = this.lookup(1, PDFNumber).asNumber();
|
|
113
|
-
const upperRightX = this.lookup(2, PDFNumber).asNumber();
|
|
114
|
-
const upperRightY = this.lookup(3, PDFNumber).asNumber();
|
|
115
|
-
|
|
116
|
-
const x = lowerLeftX;
|
|
117
|
-
const y = lowerLeftY;
|
|
118
|
-
const width = upperRightX - lowerLeftX;
|
|
119
|
-
const height = upperRightY - lowerLeftY;
|
|
120
|
-
|
|
121
|
-
return { x, y, width, height };
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
asArray(): PDFObject[] {
|
|
125
|
-
return this.array.slice();
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
clone(context?: PDFContext): PDFArray {
|
|
129
|
-
const clone = PDFArray.withContext(context || this.context);
|
|
130
|
-
for (let idx = 0, len = this.size(); idx < len; idx++) {
|
|
131
|
-
clone.push(this.array[idx]);
|
|
132
|
-
}
|
|
133
|
-
return clone;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
toString(): string {
|
|
137
|
-
let arrayString = '[ ';
|
|
138
|
-
for (let idx = 0, len = this.size(); idx < len; idx++) {
|
|
139
|
-
arrayString += this.get(idx).toString();
|
|
140
|
-
arrayString += ' ';
|
|
141
|
-
}
|
|
142
|
-
arrayString += ']';
|
|
143
|
-
return arrayString;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
sizeInBytes(): number {
|
|
147
|
-
let size = 3;
|
|
148
|
-
for (let idx = 0, len = this.size(); idx < len; idx++) {
|
|
149
|
-
size += this.get(idx).sizeInBytes() + 1;
|
|
150
|
-
}
|
|
151
|
-
return size;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
copyBytesInto(buffer: Uint8Array, offset: number): number {
|
|
155
|
-
const initialOffset = offset;
|
|
156
|
-
|
|
157
|
-
buffer[offset++] = CharCodes.LeftSquareBracket;
|
|
158
|
-
buffer[offset++] = CharCodes.Space;
|
|
159
|
-
for (let idx = 0, len = this.size(); idx < len; idx++) {
|
|
160
|
-
offset += this.get(idx).copyBytesInto(buffer, offset);
|
|
161
|
-
buffer[offset++] = CharCodes.Space;
|
|
162
|
-
}
|
|
163
|
-
buffer[offset++] = CharCodes.RightSquareBracket;
|
|
164
|
-
|
|
165
|
-
return offset - initialOffset;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
scalePDFNumbers(x: number, y: number): void {
|
|
169
|
-
for (let idx = 0, len = this.size(); idx < len; idx++) {
|
|
170
|
-
const el = this.lookup(idx);
|
|
171
|
-
if (el instanceof PDFNumber) {
|
|
172
|
-
const factor = idx % 2 === 0 ? x : y;
|
|
173
|
-
this.set(idx, PDFNumber.of(el.asNumber() * factor));
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export default PDFArray;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { PrivateConstructorError } from '../errors';
|
|
2
|
-
import PDFObject from './PDFObject';
|
|
3
|
-
import CharCodes from '../syntax/CharCodes';
|
|
4
|
-
|
|
5
|
-
const ENFORCER = {};
|
|
6
|
-
|
|
7
|
-
class PDFBool extends PDFObject {
|
|
8
|
-
static readonly True = new PDFBool(ENFORCER, true);
|
|
9
|
-
static readonly False = new PDFBool(ENFORCER, false);
|
|
10
|
-
|
|
11
|
-
private readonly value: boolean;
|
|
12
|
-
|
|
13
|
-
private constructor(enforcer: any, value: boolean) {
|
|
14
|
-
if (enforcer !== ENFORCER) throw new PrivateConstructorError('PDFBool');
|
|
15
|
-
super();
|
|
16
|
-
this.value = value;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
asBoolean(): boolean {
|
|
20
|
-
return this.value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
clone(): PDFBool {
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
toString(): string {
|
|
28
|
-
return String(this.value);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
sizeInBytes(): number {
|
|
32
|
-
return this.value ? 4 : 5;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
copyBytesInto(buffer: Uint8Array, offset: number): number {
|
|
36
|
-
if (this.value) {
|
|
37
|
-
buffer[offset++] = CharCodes.t;
|
|
38
|
-
buffer[offset++] = CharCodes.r;
|
|
39
|
-
buffer[offset++] = CharCodes.u;
|
|
40
|
-
buffer[offset++] = CharCodes.e;
|
|
41
|
-
return 4;
|
|
42
|
-
} else {
|
|
43
|
-
buffer[offset++] = CharCodes.f;
|
|
44
|
-
buffer[offset++] = CharCodes.a;
|
|
45
|
-
buffer[offset++] = CharCodes.l;
|
|
46
|
-
buffer[offset++] = CharCodes.s;
|
|
47
|
-
buffer[offset++] = CharCodes.e;
|
|
48
|
-
return 5;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export default PDFBool;
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import PDFArray from './PDFArray';
|
|
2
|
-
import PDFBool from './PDFBool';
|
|
3
|
-
import PDFHexString from './PDFHexString';
|
|
4
|
-
import PDFName from './PDFName';
|
|
5
|
-
import PDFNull from './PDFNull';
|
|
6
|
-
import PDFNumber from './PDFNumber';
|
|
7
|
-
import PDFObject from './PDFObject';
|
|
8
|
-
import PDFRef from './PDFRef';
|
|
9
|
-
import PDFStream from './PDFStream';
|
|
10
|
-
import PDFString from './PDFString';
|
|
11
|
-
import PDFContext from '../PDFContext';
|
|
12
|
-
import CharCodes from '../syntax/CharCodes';
|
|
13
|
-
|
|
14
|
-
export type DictMap = Map<PDFName, PDFObject>;
|
|
15
|
-
|
|
16
|
-
class PDFDict extends PDFObject {
|
|
17
|
-
static withContext = (context: PDFContext) => new PDFDict(new Map(), context);
|
|
18
|
-
|
|
19
|
-
static fromMapWithContext = (map: DictMap, context: PDFContext) => new PDFDict(map, context);
|
|
20
|
-
|
|
21
|
-
readonly context: PDFContext;
|
|
22
|
-
|
|
23
|
-
private readonly dict: DictMap;
|
|
24
|
-
|
|
25
|
-
suppressEncryption: boolean = false;
|
|
26
|
-
|
|
27
|
-
protected constructor(map: DictMap, context: PDFContext) {
|
|
28
|
-
super();
|
|
29
|
-
this.dict = map;
|
|
30
|
-
this.context = context;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
keys(): PDFName[] {
|
|
34
|
-
return Array.from(this.dict.keys());
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
values(): PDFObject[] {
|
|
38
|
-
return Array.from(this.dict.values());
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
entries(): [PDFName, PDFObject][] {
|
|
42
|
-
return Array.from(this.dict.entries());
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
set(key: PDFName, value: PDFObject): void {
|
|
46
|
-
this.dict.set(key, value);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
get(
|
|
50
|
-
key: PDFName,
|
|
51
|
-
// TODO: `preservePDFNull` is for backwards compatibility. Should be
|
|
52
|
-
// removed in next breaking API change.
|
|
53
|
-
preservePDFNull = false,
|
|
54
|
-
): PDFObject | undefined {
|
|
55
|
-
const value = this.dict.get(key);
|
|
56
|
-
if (value === PDFNull && !preservePDFNull) return undefined;
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
has(key: PDFName): boolean {
|
|
61
|
-
const value = this.dict.get(key);
|
|
62
|
-
return value !== undefined && value !== PDFNull;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
lookupMaybe(key: PDFName, type: typeof PDFArray): PDFArray | undefined;
|
|
66
|
-
lookupMaybe(key: PDFName, type: typeof PDFBool): PDFBool | undefined;
|
|
67
|
-
lookupMaybe(key: PDFName, type: typeof PDFDict): PDFDict | undefined;
|
|
68
|
-
lookupMaybe(key: PDFName, type: typeof PDFHexString): PDFHexString | undefined;
|
|
69
|
-
lookupMaybe(key: PDFName, type: typeof PDFName): PDFName | undefined;
|
|
70
|
-
lookupMaybe(key: PDFName, type: typeof PDFNull): typeof PDFNull | undefined;
|
|
71
|
-
lookupMaybe(key: PDFName, type: typeof PDFNumber): PDFNumber | undefined;
|
|
72
|
-
lookupMaybe(key: PDFName, type: typeof PDFStream): PDFStream | undefined;
|
|
73
|
-
lookupMaybe(key: PDFName, type: typeof PDFRef): PDFRef | undefined;
|
|
74
|
-
lookupMaybe(key: PDFName, type: typeof PDFString): PDFString | undefined;
|
|
75
|
-
lookupMaybe(
|
|
76
|
-
ref: PDFName,
|
|
77
|
-
type1: typeof PDFString,
|
|
78
|
-
type2: typeof PDFHexString,
|
|
79
|
-
): PDFString | PDFHexString | undefined;
|
|
80
|
-
lookupMaybe(
|
|
81
|
-
ref: PDFName,
|
|
82
|
-
type1: typeof PDFDict,
|
|
83
|
-
type2: typeof PDFStream,
|
|
84
|
-
): PDFDict | PDFStream | undefined;
|
|
85
|
-
lookupMaybe(
|
|
86
|
-
ref: PDFName,
|
|
87
|
-
type1: typeof PDFString,
|
|
88
|
-
type2: typeof PDFHexString,
|
|
89
|
-
type3: typeof PDFArray,
|
|
90
|
-
): PDFString | PDFHexString | PDFArray | undefined;
|
|
91
|
-
|
|
92
|
-
lookupMaybe(key: PDFName, ...types: any[]) {
|
|
93
|
-
// TODO: `preservePDFNull` is for backwards compatibility. Should be
|
|
94
|
-
// removed in next breaking API change.
|
|
95
|
-
const preservePDFNull = types.includes(PDFNull);
|
|
96
|
-
|
|
97
|
-
const value = this.context.lookupMaybe(
|
|
98
|
-
this.get(key, preservePDFNull),
|
|
99
|
-
// @ts-ignore
|
|
100
|
-
...types,
|
|
101
|
-
) as any;
|
|
102
|
-
|
|
103
|
-
if (value === PDFNull && !preservePDFNull) return undefined;
|
|
104
|
-
|
|
105
|
-
return value;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
lookup(key: PDFName): PDFObject | undefined;
|
|
109
|
-
lookup(key: PDFName, type: typeof PDFArray): PDFArray;
|
|
110
|
-
lookup(key: PDFName, type: typeof PDFBool): PDFBool;
|
|
111
|
-
lookup(key: PDFName, type: typeof PDFDict): PDFDict;
|
|
112
|
-
lookup(key: PDFName, type: typeof PDFHexString): PDFHexString;
|
|
113
|
-
lookup(key: PDFName, type: typeof PDFName): PDFName;
|
|
114
|
-
lookup(key: PDFName, type: typeof PDFNull): typeof PDFNull;
|
|
115
|
-
lookup(key: PDFName, type: typeof PDFNumber): PDFNumber;
|
|
116
|
-
lookup(key: PDFName, type: typeof PDFStream): PDFStream;
|
|
117
|
-
lookup(key: PDFName, type: typeof PDFRef): PDFRef;
|
|
118
|
-
lookup(key: PDFName, type: typeof PDFString): PDFString;
|
|
119
|
-
lookup(
|
|
120
|
-
ref: PDFName,
|
|
121
|
-
type1: typeof PDFString,
|
|
122
|
-
type2: typeof PDFHexString,
|
|
123
|
-
): PDFString | PDFHexString;
|
|
124
|
-
lookup(ref: PDFName, type1: typeof PDFDict, type2: typeof PDFStream): PDFDict | PDFStream;
|
|
125
|
-
lookup(
|
|
126
|
-
ref: PDFName,
|
|
127
|
-
type1: typeof PDFString,
|
|
128
|
-
type2: typeof PDFHexString,
|
|
129
|
-
type3: typeof PDFArray,
|
|
130
|
-
): PDFString | PDFHexString | PDFArray;
|
|
131
|
-
|
|
132
|
-
lookup(key: PDFName, ...types: any[]) {
|
|
133
|
-
// TODO: `preservePDFNull` is for backwards compatibility. Should be
|
|
134
|
-
// removed in next breaking API change.
|
|
135
|
-
const preservePDFNull = types.includes(PDFNull);
|
|
136
|
-
|
|
137
|
-
const value = this.context.lookup(
|
|
138
|
-
this.get(key, preservePDFNull),
|
|
139
|
-
// @ts-ignore
|
|
140
|
-
...types,
|
|
141
|
-
) as any;
|
|
142
|
-
|
|
143
|
-
if (value === PDFNull && !preservePDFNull) return undefined;
|
|
144
|
-
|
|
145
|
-
return value;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
delete(key: PDFName): boolean {
|
|
149
|
-
return this.dict.delete(key);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
asMap(): Map<PDFName, PDFObject> {
|
|
153
|
-
return new Map(this.dict);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/** Generate a random key that doesn't exist in current key set */
|
|
157
|
-
uniqueKey(tag = ''): PDFName {
|
|
158
|
-
const existingKeys = this.keys();
|
|
159
|
-
let key = PDFName.of(this.context.addRandomSuffix(tag, 10));
|
|
160
|
-
while (existingKeys.includes(key)) {
|
|
161
|
-
key = PDFName.of(this.context.addRandomSuffix(tag, 10));
|
|
162
|
-
}
|
|
163
|
-
return key;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
clone(context?: PDFContext): PDFDict {
|
|
167
|
-
const clone = PDFDict.withContext(context || this.context);
|
|
168
|
-
const entries = this.entries();
|
|
169
|
-
for (let idx = 0, len = entries.length; idx < len; idx++) {
|
|
170
|
-
const [key, value] = entries[idx];
|
|
171
|
-
clone.set(key, value);
|
|
172
|
-
}
|
|
173
|
-
return clone;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
toString(): string {
|
|
177
|
-
let dictString = '<<\n';
|
|
178
|
-
const entries = this.entries();
|
|
179
|
-
for (let idx = 0, len = entries.length; idx < len; idx++) {
|
|
180
|
-
const [key, value] = entries[idx];
|
|
181
|
-
dictString += key.toString() + ' ' + value.toString() + '\n';
|
|
182
|
-
}
|
|
183
|
-
dictString += '>>';
|
|
184
|
-
return dictString;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
sizeInBytes(): number {
|
|
188
|
-
let size = 5;
|
|
189
|
-
const entries = this.entries();
|
|
190
|
-
for (let idx = 0, len = entries.length; idx < len; idx++) {
|
|
191
|
-
const [key, value] = entries[idx];
|
|
192
|
-
size += key.sizeInBytes() + value.sizeInBytes() + 2;
|
|
193
|
-
}
|
|
194
|
-
return size;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
copyBytesInto(buffer: Uint8Array, offset: number): number {
|
|
198
|
-
const initialOffset = offset;
|
|
199
|
-
|
|
200
|
-
buffer[offset++] = CharCodes.LessThan;
|
|
201
|
-
buffer[offset++] = CharCodes.LessThan;
|
|
202
|
-
buffer[offset++] = CharCodes.Newline;
|
|
203
|
-
|
|
204
|
-
const entries = this.entries();
|
|
205
|
-
for (let idx = 0, len = entries.length; idx < len; idx++) {
|
|
206
|
-
const [key, value] = entries[idx];
|
|
207
|
-
offset += key.copyBytesInto(buffer, offset);
|
|
208
|
-
buffer[offset++] = CharCodes.Space;
|
|
209
|
-
offset += value.copyBytesInto(buffer, offset);
|
|
210
|
-
buffer[offset++] = CharCodes.Newline;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
buffer[offset++] = CharCodes.GreaterThan;
|
|
214
|
-
buffer[offset++] = CharCodes.GreaterThan;
|
|
215
|
-
|
|
216
|
-
return offset - initialOffset;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
export default PDFDict;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import PDFObject from './PDFObject';
|
|
2
|
-
import CharCodes from '../syntax/CharCodes';
|
|
3
|
-
import {
|
|
4
|
-
copyStringIntoBuffer,
|
|
5
|
-
toHexStringOfMinLength,
|
|
6
|
-
utf16Decode,
|
|
7
|
-
utf16Encode,
|
|
8
|
-
pdfDocEncodingDecode,
|
|
9
|
-
parseDate,
|
|
10
|
-
hasUtf16BOM,
|
|
11
|
-
} from '../../utils';
|
|
12
|
-
import { InvalidPDFDateStringError } from '../errors';
|
|
13
|
-
|
|
14
|
-
class PDFHexString extends PDFObject {
|
|
15
|
-
static of = (value: string) => new PDFHexString(value);
|
|
16
|
-
|
|
17
|
-
static fromText = (value: string) => {
|
|
18
|
-
const encoded = utf16Encode(value);
|
|
19
|
-
|
|
20
|
-
let hex = '';
|
|
21
|
-
for (let idx = 0, len = encoded.length; idx < len; idx++) {
|
|
22
|
-
hex += toHexStringOfMinLength(encoded[idx], 4);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return new PDFHexString(hex);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
private readonly value: string;
|
|
29
|
-
|
|
30
|
-
constructor(value: string) {
|
|
31
|
-
super();
|
|
32
|
-
this.value = value;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
asBytes(): Uint8Array {
|
|
36
|
-
// Append a zero if the number of digits is odd. See PDF spec 7.3.4.3
|
|
37
|
-
const hex = this.value + (this.value.length % 2 === 1 ? '0' : '');
|
|
38
|
-
const hexLength = hex.length;
|
|
39
|
-
|
|
40
|
-
const bytes = new Uint8Array(hex.length / 2);
|
|
41
|
-
|
|
42
|
-
let hexOffset = 0;
|
|
43
|
-
let bytesOffset = 0;
|
|
44
|
-
|
|
45
|
-
// Interpret each pair of hex digits as a single byte
|
|
46
|
-
while (hexOffset < hexLength) {
|
|
47
|
-
const byte = parseInt(hex.substring(hexOffset, hexOffset + 2), 16);
|
|
48
|
-
bytes[bytesOffset] = byte;
|
|
49
|
-
|
|
50
|
-
hexOffset += 2;
|
|
51
|
-
bytesOffset += 1;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return bytes;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
decodeText(): string {
|
|
58
|
-
const bytes = this.asBytes();
|
|
59
|
-
if (hasUtf16BOM(bytes)) return utf16Decode(bytes);
|
|
60
|
-
return pdfDocEncodingDecode(bytes);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
decodeDate(): Date {
|
|
64
|
-
const text = this.decodeText();
|
|
65
|
-
const date = parseDate(text);
|
|
66
|
-
if (!date) throw new InvalidPDFDateStringError(text);
|
|
67
|
-
return date;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
asString(): string {
|
|
71
|
-
return this.value;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
clone(): PDFHexString {
|
|
75
|
-
return PDFHexString.of(this.value);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
toString(): string {
|
|
79
|
-
return `<${this.value}>`;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
sizeInBytes(): number {
|
|
83
|
-
return this.value.length + 2;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
copyBytesInto(buffer: Uint8Array, offset: number): number {
|
|
87
|
-
buffer[offset++] = CharCodes.LessThan;
|
|
88
|
-
offset += copyStringIntoBuffer(this.value, buffer, offset);
|
|
89
|
-
buffer[offset++] = CharCodes.GreaterThan;
|
|
90
|
-
return this.value.length + 2;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export default PDFHexString;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import PDFObject from './PDFObject';
|
|
2
|
-
|
|
3
|
-
class PDFInvalidObject extends PDFObject {
|
|
4
|
-
static of = (data: Uint8Array) => new PDFInvalidObject(data);
|
|
5
|
-
|
|
6
|
-
private readonly data: Uint8Array;
|
|
7
|
-
|
|
8
|
-
private constructor(data: Uint8Array) {
|
|
9
|
-
super();
|
|
10
|
-
this.data = data;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
clone(): PDFInvalidObject {
|
|
14
|
-
return PDFInvalidObject.of(this.data.slice());
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
toString(): string {
|
|
18
|
-
return `PDFInvalidObject(${this.data.length} bytes)`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
sizeInBytes(): number {
|
|
22
|
-
return this.data.length;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
copyBytesInto(buffer: Uint8Array, offset: number): number {
|
|
26
|
-
const length = this.data.length;
|
|
27
|
-
for (let idx = 0; idx < length; idx++) {
|
|
28
|
-
buffer[offset++] = this.data[idx];
|
|
29
|
-
}
|
|
30
|
-
return length;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export default PDFInvalidObject;
|