@adnsistemas/pdf-lib 1.18.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -36
- package/cjs/api/PDFDocument.d.ts +44 -11
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +599 -609
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFDocumentOptions.d.ts +4 -2
- package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.d.ts +9 -4
- package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.js +54 -59
- package/cjs/api/PDFEmbeddedFile.js.map +1 -1
- package/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/cjs/api/PDFEmbeddedPage.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedPage.js +35 -46
- package/cjs/api/PDFEmbeddedPage.js.map +1 -1
- package/cjs/api/PDFFont.d.ts +4 -4
- package/cjs/api/PDFFont.d.ts.map +1 -1
- package/cjs/api/PDFFont.js +47 -57
- package/cjs/api/PDFFont.js.map +1 -1
- package/cjs/api/PDFImage.d.ts +4 -4
- package/cjs/api/PDFImage.d.ts.map +1 -1
- package/cjs/api/PDFImage.js +50 -62
- package/cjs/api/PDFImage.js.map +1 -1
- package/cjs/api/PDFJavaScript.d.ts +4 -4
- package/cjs/api/PDFJavaScript.d.ts.map +1 -1
- package/cjs/api/PDFJavaScript.js +38 -50
- package/cjs/api/PDFJavaScript.js.map +1 -1
- package/cjs/api/PDFPage.d.ts +33 -9
- package/cjs/api/PDFPage.d.ts.map +1 -1
- package/cjs/api/PDFPage.js +478 -431
- package/cjs/api/PDFPage.js.map +1 -1
- package/cjs/api/PDFPageOptions.d.ts +35 -12
- package/cjs/api/PDFPageOptions.d.ts.map +1 -1
- package/cjs/api/PDFPageOptions.js.map +1 -1
- package/cjs/api/PDFSvg.d.ts +7 -0
- package/cjs/api/PDFSvg.d.ts.map +1 -0
- package/cjs/api/PDFSvg.js +10 -0
- package/cjs/api/PDFSvg.js.map +1 -0
- package/cjs/api/colors.d.ts +6 -2
- package/cjs/api/colors.d.ts.map +1 -1
- package/cjs/api/colors.js +51 -43
- package/cjs/api/colors.js.map +1 -1
- package/cjs/api/errors.js +73 -130
- package/cjs/api/errors.js.map +1 -1
- package/cjs/api/form/PDFButton.d.ts +8 -8
- package/cjs/api/form/PDFButton.d.ts.map +1 -1
- package/cjs/api/form/PDFButton.js +68 -72
- package/cjs/api/form/PDFButton.js.map +1 -1
- package/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/cjs/api/form/PDFCheckBox.d.ts.map +1 -1
- package/cjs/api/form/PDFCheckBox.js +64 -69
- package/cjs/api/form/PDFCheckBox.js.map +1 -1
- package/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/cjs/api/form/PDFDropdown.d.ts.map +1 -1
- package/cjs/api/form/PDFDropdown.js +126 -132
- package/cjs/api/form/PDFDropdown.js.map +1 -1
- package/cjs/api/form/PDFField.d.ts +7 -7
- package/cjs/api/form/PDFField.d.ts.map +1 -1
- package/cjs/api/form/PDFField.js +118 -123
- package/cjs/api/form/PDFField.js.map +1 -1
- package/cjs/api/form/PDFForm.d.ts +11 -11
- package/cjs/api/form/PDFForm.d.ts.map +1 -1
- package/cjs/api/form/PDFForm.js +226 -221
- package/cjs/api/form/PDFForm.js.map +1 -1
- package/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/cjs/api/form/PDFOptionList.d.ts.map +1 -1
- package/cjs/api/form/PDFOptionList.js +115 -121
- package/cjs/api/form/PDFOptionList.js.map +1 -1
- package/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/cjs/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/cjs/api/form/PDFRadioGroup.js +98 -101
- package/cjs/api/form/PDFRadioGroup.js.map +1 -1
- package/cjs/api/form/PDFSignature.d.ts +3 -3
- package/cjs/api/form/PDFSignature.d.ts.map +1 -1
- package/cjs/api/form/PDFSignature.js +25 -28
- package/cjs/api/form/PDFSignature.js.map +1 -1
- package/cjs/api/form/PDFTextField.d.ts +8 -8
- package/cjs/api/form/PDFTextField.d.ts.map +1 -1
- package/cjs/api/form/PDFTextField.js +136 -141
- package/cjs/api/form/PDFTextField.js.map +1 -1
- package/cjs/api/form/appearances.d.ts +21 -21
- package/cjs/api/form/appearances.d.ts.map +1 -1
- package/cjs/api/form/appearances.js +257 -219
- package/cjs/api/form/appearances.js.map +1 -1
- package/cjs/api/form/index.d.ts +10 -10
- package/cjs/api/form/index.d.ts.map +1 -1
- package/cjs/api/form/index.js +11 -10
- package/cjs/api/form/index.js.map +1 -1
- package/cjs/api/image/index.d.ts +1 -1
- package/cjs/api/image/index.d.ts.map +1 -1
- package/cjs/api/image/index.js +1 -1
- package/cjs/api/image/index.js.map +1 -1
- package/cjs/api/index.d.ts +22 -21
- package/cjs/api/index.d.ts.map +1 -1
- package/cjs/api/index.js +30 -27
- package/cjs/api/index.js.map +1 -1
- package/cjs/api/objects.d.ts +1 -1
- package/cjs/api/objects.d.ts.map +1 -1
- package/cjs/api/objects.js +7 -10
- package/cjs/api/objects.js.map +1 -1
- package/cjs/api/operations.d.ts +27 -13
- package/cjs/api/operations.d.ts.map +1 -1
- package/cjs/api/operations.js +373 -363
- package/cjs/api/operations.js.map +1 -1
- package/cjs/api/operators.d.ts +6 -1
- package/cjs/api/operators.d.ts.map +1 -1
- package/cjs/api/operators.js +169 -183
- package/cjs/api/operators.js.map +1 -1
- package/cjs/api/rotations.d.ts +2 -2
- package/cjs/api/rotations.d.ts.map +1 -1
- package/cjs/api/rotations.js +30 -30
- package/cjs/api/rotations.js.map +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.js +13 -14
- package/cjs/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
- package/cjs/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.js +17 -22
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
- package/cjs/api/snapshot/index.js +1 -1
- package/cjs/api/svg.d.ts +76 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +749 -0
- package/cjs/api/svg.js.map +1 -0
- package/cjs/api/svgPath.d.ts +1 -1
- package/cjs/api/svgPath.d.ts.map +1 -1
- package/cjs/api/svgPath.js +115 -118
- package/cjs/api/svgPath.js.map +1 -1
- package/cjs/api/text/index.d.ts +2 -2
- package/cjs/api/text/index.d.ts.map +1 -1
- package/cjs/api/text/index.js +1 -1
- package/cjs/api/text/index.js.map +1 -1
- package/cjs/api/text/layout.d.ts +3 -3
- package/cjs/api/text/layout.d.ts.map +1 -1
- package/cjs/api/text/layout.js +87 -88
- package/cjs/api/text/layout.js.map +1 -1
- package/cjs/core/PDFContext.d.ts +39 -19
- package/cjs/core/PDFContext.d.ts.map +1 -1
- package/cjs/core/PDFContext.js +131 -103
- package/cjs/core/PDFContext.js.map +1 -1
- package/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/cjs/core/PDFObjectCopier.d.ts.map +1 -1
- package/cjs/core/PDFObjectCopier.js +58 -62
- package/cjs/core/PDFObjectCopier.js.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.js +42 -47
- package/cjs/core/acroform/PDFAcroButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.js +28 -35
- package/cjs/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.js +47 -60
- package/cjs/core/acroform/PDFAcroChoice.js.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.js +15 -22
- package/cjs/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/cjs/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroField.js +80 -81
- package/cjs/core/acroform/PDFAcroField.js.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.js +46 -47
- package/cjs/core/acroform/PDFAcroForm.js.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.js +13 -20
- package/cjs/core/acroform/PDFAcroListBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.js +18 -25
- package/cjs/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.js +15 -22
- package/cjs/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.js +33 -40
- package/cjs/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/cjs/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.js +5 -12
- package/cjs/core/acroform/PDFAcroSignature.js.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.js +28 -35
- package/cjs/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroText.js +40 -45
- package/cjs/core/acroform/PDFAcroText.js.map +1 -1
- package/cjs/core/acroform/flags.js +1 -1
- package/cjs/core/acroform/flags.js.map +1 -1
- package/cjs/core/acroform/index.d.ts +15 -15
- package/cjs/core/acroform/index.d.ts.map +1 -1
- package/cjs/core/acroform/index.js +15 -14
- package/cjs/core/acroform/index.js.map +1 -1
- package/cjs/core/acroform/utils.d.ts +5 -5
- package/cjs/core/acroform/utils.d.ts.map +1 -1
- package/cjs/core/acroform/utils.js +48 -48
- package/cjs/core/acroform/utils.js.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.js +61 -64
- package/cjs/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/cjs/core/annotation/BorderStyle.d.ts.map +1 -1
- package/cjs/core/annotation/BorderStyle.js +15 -16
- package/cjs/core/annotation/BorderStyle.js.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/cjs/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.js +76 -77
- package/cjs/core/annotation/PDFAnnotation.js.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.js +60 -67
- package/cjs/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/cjs/core/annotation/flags.js +1 -1
- package/cjs/core/annotation/flags.js.map +1 -1
- package/cjs/core/annotation/index.d.ts +4 -4
- package/cjs/core/annotation/index.d.ts.map +1 -1
- package/cjs/core/annotation/index.js +5 -4
- package/cjs/core/annotation/index.js.map +1 -1
- package/cjs/core/crypto.d.ts +96 -0
- package/cjs/core/crypto.d.ts.map +1 -0
- package/cjs/core/crypto.js +1623 -0
- package/cjs/core/crypto.js.map +1 -0
- package/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/cjs/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/cjs/core/document/PDFCrossRefSection.js +62 -65
- package/cjs/core/document/PDFCrossRefSection.js.map +1 -1
- package/cjs/core/document/PDFHeader.d.ts +1 -0
- package/cjs/core/document/PDFHeader.d.ts.map +1 -1
- package/cjs/core/document/PDFHeader.js +21 -21
- package/cjs/core/document/PDFHeader.js.map +1 -1
- package/cjs/core/document/PDFTrailer.js +16 -19
- package/cjs/core/document/PDFTrailer.js.map +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/cjs/core/document/PDFTrailerDict.js +14 -15
- package/cjs/core/document/PDFTrailerDict.js.map +1 -1
- package/cjs/core/embedders/CMap.d.ts +2 -2
- package/cjs/core/embedders/CMap.d.ts.map +1 -1
- package/cjs/core/embedders/CMap.js +41 -28
- package/cjs/core/embedders/CMap.js.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/cjs/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.js +133 -178
- package/cjs/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js +38 -49
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/cjs/core/embedders/FileEmbedder.d.ts +3 -2
- package/cjs/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/FileEmbedder.js +44 -48
- package/cjs/core/embedders/FileEmbedder.js.map +1 -1
- package/cjs/core/embedders/FontFlags.d.ts +1 -1
- package/cjs/core/embedders/FontFlags.d.ts.map +1 -1
- package/cjs/core/embedders/FontFlags.js +7 -6
- package/cjs/core/embedders/FontFlags.js.map +1 -1
- package/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/cjs/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/JavaScriptEmbedder.js +22 -27
- package/cjs/core/embedders/JavaScriptEmbedder.js.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
- package/cjs/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.js +66 -73
- package/cjs/core/embedders/JpegEmbedder.js.map +1 -1
- package/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/cjs/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/PDFPageEmbedder.js +64 -65
- package/cjs/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/cjs/core/embedders/PngEmbedder.d.ts +2 -2
- package/cjs/core/embedders/PngEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/PngEmbedder.js +33 -41
- package/cjs/core/embedders/PngEmbedder.js.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.js +53 -51
- package/cjs/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/cjs/core/errors.d.ts +1 -1
- package/cjs/core/errors.d.ts.map +1 -1
- package/cjs/core/errors.js +147 -260
- package/cjs/core/errors.js.map +1 -1
- package/cjs/core/index.d.ts +48 -47
- package/cjs/core/index.d.ts.map +1 -1
- package/cjs/core/index.js +47 -44
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.d.ts +8 -8
- package/cjs/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.js +135 -138
- package/cjs/core/interactive/ViewerPreferences.js.map +1 -1
- package/cjs/core/objects/PDFArray.d.ts +12 -12
- package/cjs/core/objects/PDFArray.d.ts.map +1 -1
- package/cjs/core/objects/PDFArray.js +72 -81
- package/cjs/core/objects/PDFArray.js.map +1 -1
- package/cjs/core/objects/PDFBool.d.ts +1 -1
- package/cjs/core/objects/PDFBool.d.ts.map +1 -1
- package/cjs/core/objects/PDFBool.js +22 -26
- package/cjs/core/objects/PDFBool.js.map +1 -1
- package/cjs/core/objects/PDFDict.d.ts +13 -12
- package/cjs/core/objects/PDFDict.d.ts.map +1 -1
- package/cjs/core/objects/PDFDict.js +76 -88
- package/cjs/core/objects/PDFDict.js.map +1 -1
- package/cjs/core/objects/PDFHexString.d.ts +2 -1
- package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
- package/cjs/core/objects/PDFHexString.js +50 -52
- package/cjs/core/objects/PDFHexString.js.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.js +19 -22
- package/cjs/core/objects/PDFInvalidObject.js.map +1 -1
- package/cjs/core/objects/PDFName.d.ts +1 -1
- package/cjs/core/objects/PDFName.d.ts.map +1 -1
- package/cjs/core/objects/PDFName.js +84 -92
- package/cjs/core/objects/PDFName.js.map +1 -1
- package/cjs/core/objects/PDFNull.d.ts +1 -1
- package/cjs/core/objects/PDFNull.d.ts.map +1 -1
- package/cjs/core/objects/PDFNull.js +15 -20
- package/cjs/core/objects/PDFNull.js.map +1 -1
- package/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/cjs/core/objects/PDFNumber.d.ts.map +1 -1
- package/cjs/core/objects/PDFNumber.js +23 -26
- package/cjs/core/objects/PDFNumber.js.map +1 -1
- package/cjs/core/objects/PDFObject.d.ts +1 -1
- package/cjs/core/objects/PDFObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFObject.js +13 -16
- package/cjs/core/objects/PDFObject.js.map +1 -1
- package/cjs/core/objects/PDFRawStream.d.ts +8 -5
- package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFRawStream.js +24 -25
- package/cjs/core/objects/PDFRawStream.js.map +1 -1
- package/cjs/core/objects/PDFRef.d.ts +1 -1
- package/cjs/core/objects/PDFRef.d.ts.map +1 -1
- package/cjs/core/objects/PDFRef.js +31 -36
- package/cjs/core/objects/PDFRef.js.map +1 -1
- package/cjs/core/objects/PDFStream.d.ts +4 -3
- package/cjs/core/objects/PDFStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFStream.js +35 -35
- package/cjs/core/objects/PDFStream.js.map +1 -1
- package/cjs/core/objects/PDFString.d.ts +1 -1
- package/cjs/core/objects/PDFString.d.ts.map +1 -1
- package/cjs/core/objects/PDFString.js +55 -58
- package/cjs/core/objects/PDFString.js.map +1 -1
- package/cjs/core/operators/PDFOperator.d.ts +9 -9
- package/cjs/core/operators/PDFOperator.d.ts.map +1 -1
- package/cjs/core/operators/PDFOperator.js +29 -32
- package/cjs/core/operators/PDFOperator.js.map +1 -1
- package/cjs/core/parser/BaseParser.d.ts +1 -1
- package/cjs/core/parser/BaseParser.d.ts.map +1 -1
- package/cjs/core/parser/BaseParser.js +40 -42
- package/cjs/core/parser/BaseParser.js.map +1 -1
- package/cjs/core/parser/ByteStream.d.ts +1 -1
- package/cjs/core/parser/ByteStream.d.ts.map +1 -1
- package/cjs/core/parser/ByteStream.js +30 -33
- package/cjs/core/parser/ByteStream.js.map +1 -1
- package/cjs/core/parser/PDFObjectParser.d.ts +23 -21
- package/cjs/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectParser.js +96 -88
- package/cjs/core/parser/PDFObjectParser.js.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/cjs/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.js +42 -60
- package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/cjs/core/parser/PDFParser.d.ts +6 -4
- package/cjs/core/parser/PDFParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFParser.js +169 -217
- package/cjs/core/parser/PDFParser.js.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.js +38 -41
- package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/cjs/core/security/PDFSecurity.d.ts +75 -0
- package/cjs/core/security/PDFSecurity.d.ts.map +1 -0
- package/cjs/core/security/PDFSecurity.js +406 -0
- package/cjs/core/security/PDFSecurity.js.map +1 -0
- package/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/cjs/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/cjs/core/streams/Ascii85Stream.js +21 -26
- package/cjs/core/streams/Ascii85Stream.js.map +1 -1
- package/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/cjs/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/cjs/core/streams/AsciiHexStream.js +19 -22
- package/cjs/core/streams/AsciiHexStream.js.map +1 -1
- package/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/cjs/core/streams/DecodeStream.d.ts.map +1 -1
- package/cjs/core/streams/DecodeStream.js +54 -61
- package/cjs/core/streams/DecodeStream.js.map +1 -1
- package/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/cjs/core/streams/DecryptStream.d.ts.map +1 -0
- package/cjs/core/streams/DecryptStream.js +39 -0
- package/cjs/core/streams/DecryptStream.js.map +1 -0
- package/cjs/core/streams/FlateStream.d.ts +2 -2
- package/cjs/core/streams/FlateStream.d.ts.map +1 -1
- package/cjs/core/streams/FlateStream.js +82 -84
- package/cjs/core/streams/FlateStream.js.map +1 -1
- package/cjs/core/streams/LZWStream.d.ts +3 -3
- package/cjs/core/streams/LZWStream.d.ts.map +1 -1
- package/cjs/core/streams/LZWStream.js +42 -45
- package/cjs/core/streams/LZWStream.js.map +1 -1
- package/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/cjs/core/streams/RunLengthStream.d.ts.map +1 -1
- package/cjs/core/streams/RunLengthStream.js +16 -19
- package/cjs/core/streams/RunLengthStream.js.map +1 -1
- package/cjs/core/streams/Stream.js +45 -56
- package/cjs/core/streams/Stream.js.map +1 -1
- package/cjs/core/streams/decode.d.ts +3 -3
- package/cjs/core/streams/decode.d.ts.map +1 -1
- package/cjs/core/streams/decode.js +25 -22
- package/cjs/core/streams/decode.js.map +1 -1
- package/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
- package/cjs/core/structures/PDFCatalog.js +40 -47
- package/cjs/core/structures/PDFCatalog.js.map +1 -1
- package/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/cjs/core/structures/PDFContentStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFContentStream.js +31 -43
- package/cjs/core/structures/PDFContentStream.js.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.d.ts +6 -6
- package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.js +92 -100
- package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
- package/cjs/core/structures/PDFFlateStream.d.ts +5 -4
- package/cjs/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFFlateStream.js +24 -24
- package/cjs/core/structures/PDFFlateStream.js.map +1 -1
- package/cjs/core/structures/PDFObjectStream.d.ts +5 -5
- package/cjs/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFObjectStream.js +49 -56
- package/cjs/core/structures/PDFObjectStream.js.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/cjs/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.js +126 -133
- package/cjs/core/structures/PDFPageLeaf.js.map +1 -1
- package/cjs/core/structures/PDFPageTree.d.ts +8 -8
- package/cjs/core/structures/PDFPageTree.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageTree.js +67 -75
- package/cjs/core/structures/PDFPageTree.js.map +1 -1
- package/cjs/core/syntax/Delimiters.js +2 -2
- package/cjs/core/syntax/Delimiters.js.map +1 -1
- package/cjs/core/syntax/Irregular.js +5 -5
- package/cjs/core/syntax/Irregular.js.map +1 -1
- package/cjs/core/syntax/Keywords.d.ts +1 -1
- package/cjs/core/syntax/Keywords.d.ts.map +1 -1
- package/cjs/core/syntax/Keywords.js +14 -14
- package/cjs/core/syntax/Keywords.js.map +1 -1
- package/cjs/core/syntax/Numeric.js +3 -3
- package/cjs/core/syntax/Numeric.js.map +1 -1
- package/cjs/core/syntax/Whitespace.js +2 -2
- package/cjs/core/syntax/Whitespace.js.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.d.ts +7 -7
- package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +102 -126
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/cjs/core/writers/PDFWriter.d.ts +15 -10
- package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFWriter.js +116 -142
- package/cjs/core/writers/PDFWriter.js.map +1 -1
- package/cjs/index.d.ts +4 -4
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +5 -5
- package/cjs/index.js.map +1 -1
- package/cjs/types/index.d.ts +25 -1
- package/cjs/types/index.d.ts.map +1 -1
- package/cjs/types/matrix.d.ts +8 -1
- package/cjs/types/matrix.d.ts.map +1 -1
- package/cjs/utils/Cache.js +10 -11
- package/cjs/utils/Cache.js.map +1 -1
- package/cjs/utils/arrays.d.ts +3 -1
- package/cjs/utils/arrays.d.ts.map +1 -1
- package/cjs/utils/arrays.js +97 -64
- package/cjs/utils/arrays.js.map +1 -1
- package/cjs/utils/async.d.ts.map +1 -1
- package/cjs/utils/async.js +4 -5
- package/cjs/utils/async.js.map +1 -1
- package/cjs/utils/base64.d.ts.map +1 -1
- package/cjs/utils/base64.js +29 -26
- package/cjs/utils/base64.js.map +1 -1
- package/cjs/utils/elements/Arc.d.ts +23 -0
- package/cjs/utils/elements/Arc.d.ts.map +1 -0
- package/cjs/utils/elements/Arc.js +78 -0
- package/cjs/utils/elements/Arc.js.map +1 -0
- package/cjs/utils/elements/Circle.d.ts +15 -0
- package/cjs/utils/elements/Circle.d.ts.map +1 -0
- package/cjs/utils/elements/Circle.js +41 -0
- package/cjs/utils/elements/Circle.js.map +1 -0
- package/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/cjs/utils/elements/Ellipse.d.ts.map +1 -0
- package/cjs/utils/elements/Ellipse.js +91 -0
- package/cjs/utils/elements/Ellipse.js.map +1 -0
- package/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/cjs/utils/elements/GraphElement.d.ts.map +1 -0
- package/cjs/utils/elements/GraphElement.js +11 -0
- package/cjs/utils/elements/GraphElement.js.map +1 -0
- package/cjs/utils/elements/Line.d.ts +24 -0
- package/cjs/utils/elements/Line.d.ts.map +1 -0
- package/cjs/utils/elements/Line.js +72 -0
- package/cjs/utils/elements/Line.js.map +1 -0
- package/cjs/utils/elements/Plot.d.ts +12 -0
- package/cjs/utils/elements/Plot.d.ts.map +1 -0
- package/cjs/utils/elements/Plot.js +46 -0
- package/cjs/utils/elements/Plot.js.map +1 -0
- package/cjs/utils/elements/Point.d.ts +19 -0
- package/cjs/utils/elements/Point.d.ts.map +1 -0
- package/cjs/utils/elements/Point.js +32 -0
- package/cjs/utils/elements/Point.js.map +1 -0
- package/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/cjs/utils/elements/Rectangle.d.ts.map +1 -0
- package/cjs/utils/elements/Rectangle.js +58 -0
- package/cjs/utils/elements/Rectangle.js.map +1 -0
- package/cjs/utils/elements/Segment.d.ts +20 -0
- package/cjs/utils/elements/Segment.d.ts.map +1 -0
- package/cjs/utils/elements/Segment.js +80 -0
- package/cjs/utils/elements/Segment.js.map +1 -0
- package/cjs/utils/elements/index.d.ts +10 -0
- package/cjs/utils/elements/index.d.ts.map +1 -0
- package/cjs/utils/elements/index.js +25 -0
- package/cjs/utils/elements/index.js.map +1 -0
- package/cjs/utils/errors.js +2 -1
- package/cjs/utils/errors.js.map +1 -1
- package/cjs/utils/index.d.ts +11 -11
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +3 -2
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/intersections.d.ts +10 -0
- package/cjs/utils/intersections.d.ts.map +1 -0
- package/cjs/utils/intersections.js +253 -0
- package/cjs/utils/intersections.js.map +1 -0
- package/cjs/utils/maths.d.ts +46 -0
- package/cjs/utils/maths.d.ts.map +1 -0
- package/cjs/utils/maths.js +89 -0
- package/cjs/utils/maths.js.map +1 -0
- package/cjs/utils/numbers.js +12 -9
- package/cjs/utils/numbers.js.map +1 -1
- package/cjs/utils/objects.js +8 -7
- package/cjs/utils/objects.js.map +1 -1
- package/cjs/utils/pdfDocEncoding.js +52 -51
- package/cjs/utils/pdfDocEncoding.js.map +1 -1
- package/cjs/utils/png.js +22 -23
- package/cjs/utils/png.js.map +1 -1
- package/cjs/utils/rng.js +7 -8
- package/cjs/utils/rng.js.map +1 -1
- package/cjs/utils/strings.d.ts +1 -0
- package/cjs/utils/strings.d.ts.map +1 -1
- package/cjs/utils/strings.js +88 -70
- package/cjs/utils/strings.js.map +1 -1
- package/cjs/utils/unicode.js +51 -64
- package/cjs/utils/unicode.js.map +1 -1
- package/cjs/utils/validators.d.ts +2 -2
- package/cjs/utils/validators.d.ts.map +1 -1
- package/cjs/utils/validators.js +84 -67
- package/cjs/utils/validators.js.map +1 -1
- package/dist/pdf-lib.esm.js +16231 -31855
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +16 -13
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +16370 -32042
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +16 -13
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/Embeddable.js +1 -0
- package/es/api/PDFDocument.d.ts +44 -11
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +580 -591
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFDocumentOptions.d.ts +4 -2
- package/es/api/PDFDocumentOptions.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.d.ts +9 -4
- package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.js +54 -60
- package/es/api/PDFEmbeddedFile.js.map +1 -1
- package/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/es/api/PDFEmbeddedPage.d.ts.map +1 -1
- package/es/api/PDFEmbeddedPage.js +31 -43
- package/es/api/PDFEmbeddedPage.js.map +1 -1
- package/es/api/PDFFont.d.ts +4 -4
- package/es/api/PDFFont.d.ts.map +1 -1
- package/es/api/PDFFont.js +38 -49
- package/es/api/PDFFont.js.map +1 -1
- package/es/api/PDFImage.d.ts +4 -4
- package/es/api/PDFImage.d.ts.map +1 -1
- package/es/api/PDFImage.js +44 -57
- package/es/api/PDFImage.js.map +1 -1
- package/es/api/PDFJavaScript.d.ts +4 -4
- package/es/api/PDFJavaScript.d.ts.map +1 -1
- package/es/api/PDFJavaScript.js +38 -51
- package/es/api/PDFJavaScript.js.map +1 -1
- package/es/api/PDFPage.d.ts +33 -9
- package/es/api/PDFPage.d.ts.map +1 -1
- package/es/api/PDFPage.js +311 -266
- package/es/api/PDFPage.js.map +1 -1
- package/es/api/PDFPageOptions.d.ts +35 -12
- package/es/api/PDFPageOptions.d.ts.map +1 -1
- package/es/api/PDFPageOptions.js.map +1 -1
- package/es/api/PDFSvg.d.ts +7 -0
- package/es/api/PDFSvg.d.ts.map +1 -0
- package/es/api/PDFSvg.js +7 -0
- package/es/api/PDFSvg.js.map +1 -0
- package/es/api/colors.d.ts +6 -2
- package/es/api/colors.d.ts.map +1 -1
- package/es/api/colors.js +33 -34
- package/es/api/colors.js.map +1 -1
- package/es/api/errors.js +73 -144
- package/es/api/errors.js.map +1 -1
- package/es/api/form/PDFButton.d.ts +8 -8
- package/es/api/form/PDFButton.d.ts.map +1 -1
- package/es/api/form/PDFButton.js +56 -62
- package/es/api/form/PDFButton.js.map +1 -1
- package/es/api/form/PDFCheckBox.d.ts +5 -5
- package/es/api/form/PDFCheckBox.d.ts.map +1 -1
- package/es/api/form/PDFCheckBox.js +55 -62
- package/es/api/form/PDFCheckBox.js.map +1 -1
- package/es/api/form/PDFDropdown.d.ts +6 -6
- package/es/api/form/PDFDropdown.d.ts.map +1 -1
- package/es/api/form/PDFDropdown.js +110 -118
- package/es/api/form/PDFDropdown.js.map +1 -1
- package/es/api/form/PDFField.d.ts +7 -7
- package/es/api/form/PDFField.d.ts.map +1 -1
- package/es/api/form/PDFField.js +98 -106
- package/es/api/form/PDFField.js.map +1 -1
- package/es/api/form/PDFForm.d.ts +11 -11
- package/es/api/form/PDFForm.d.ts.map +1 -1
- package/es/api/form/PDFForm.js +203 -200
- package/es/api/form/PDFForm.js.map +1 -1
- package/es/api/form/PDFOptionList.d.ts +6 -6
- package/es/api/form/PDFOptionList.d.ts.map +1 -1
- package/es/api/form/PDFOptionList.js +98 -106
- package/es/api/form/PDFOptionList.js.map +1 -1
- package/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/es/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/es/api/form/PDFRadioGroup.js +86 -91
- package/es/api/form/PDFRadioGroup.js.map +1 -1
- package/es/api/form/PDFSignature.d.ts +3 -3
- package/es/api/form/PDFSignature.d.ts.map +1 -1
- package/es/api/form/PDFSignature.js +23 -28
- package/es/api/form/PDFSignature.js.map +1 -1
- package/es/api/form/PDFTextField.d.ts +8 -8
- package/es/api/form/PDFTextField.d.ts.map +1 -1
- package/es/api/form/PDFTextField.js +121 -128
- package/es/api/form/PDFTextField.js.map +1 -1
- package/es/api/form/appearances.d.ts +21 -21
- package/es/api/form/appearances.d.ts.map +1 -1
- package/es/api/form/appearances.js +245 -214
- package/es/api/form/appearances.js.map +1 -1
- package/es/api/form/index.d.ts +10 -10
- package/es/api/form/index.d.ts.map +1 -1
- package/es/api/form/index.js +10 -10
- package/es/api/form/index.js.map +1 -1
- package/es/api/image/index.d.ts +1 -1
- package/es/api/image/index.d.ts.map +1 -1
- package/es/api/image/index.js +1 -1
- package/es/api/image/index.js.map +1 -1
- package/es/api/index.d.ts +22 -21
- package/es/api/index.d.ts.map +1 -1
- package/es/api/index.js +21 -20
- package/es/api/index.js.map +1 -1
- package/es/api/objects.d.ts +1 -1
- package/es/api/objects.d.ts.map +1 -1
- package/es/api/objects.js +4 -10
- package/es/api/objects.js.map +1 -1
- package/es/api/operations.d.ts +27 -13
- package/es/api/operations.d.ts.map +1 -1
- package/es/api/operations.js +266 -272
- package/es/api/operations.js.map +1 -1
- package/es/api/operators.d.ts +6 -1
- package/es/api/operators.d.ts.map +1 -1
- package/es/api/operators.js +114 -182
- package/es/api/operators.js.map +1 -1
- package/es/api/rotations.d.ts +2 -2
- package/es/api/rotations.d.ts.map +1 -1
- package/es/api/rotations.js +19 -28
- package/es/api/rotations.js.map +1 -1
- package/es/api/sizes.js +1 -1
- package/es/api/sizes.js.map +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.js +14 -16
- package/es/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
- package/es/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/DocumentSnapshot.js +1 -0
- package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/IncrementalDocumentSnapshot.js +17 -23
- package/es/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
- package/es/api/snapshot/index.js +3 -3
- package/es/api/svg.d.ts +76 -0
- package/es/api/svg.d.ts.map +1 -0
- package/es/api/svg.js +742 -0
- package/es/api/svg.js.map +1 -0
- package/es/api/svgPath.d.ts +1 -1
- package/es/api/svgPath.d.ts.map +1 -1
- package/es/api/svgPath.js +104 -108
- package/es/api/svgPath.js.map +1 -1
- package/es/api/text/index.d.ts +2 -2
- package/es/api/text/index.d.ts.map +1 -1
- package/es/api/text/index.js +2 -2
- package/es/api/text/index.js.map +1 -1
- package/es/api/text/layout.d.ts +3 -3
- package/es/api/text/layout.d.ts.map +1 -1
- package/es/api/text/layout.js +84 -88
- package/es/api/text/layout.js.map +1 -1
- package/es/core/PDFContext.d.ts +39 -19
- package/es/core/PDFContext.d.ts.map +1 -1
- package/es/core/PDFContext.js +128 -101
- package/es/core/PDFContext.js.map +1 -1
- package/es/core/PDFObjectCopier.d.ts +2 -2
- package/es/core/PDFObjectCopier.d.ts.map +1 -1
- package/es/core/PDFObjectCopier.js +57 -61
- package/es/core/PDFObjectCopier.js.map +1 -1
- package/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/es/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroButton.js +41 -47
- package/es/core/acroform/PDFAcroButton.js.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/es/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.js +27 -35
- package/es/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/es/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroChoice.js +46 -60
- package/es/core/acroform/PDFAcroChoice.js.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.js +14 -22
- package/es/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/es/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroField.js +79 -80
- package/es/core/acroform/PDFAcroField.js.map +1 -1
- package/es/core/acroform/PDFAcroForm.d.ts +5 -5
- package/es/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroForm.js +43 -44
- package/es/core/acroform/PDFAcroForm.js.map +1 -1
- package/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroListBox.js +12 -20
- package/es/core/acroform/PDFAcroListBox.js.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/es/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.js +17 -25
- package/es/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/es/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.js +14 -22
- package/es/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/es/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.js +32 -40
- package/es/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/es/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroSignature.js +4 -12
- package/es/core/acroform/PDFAcroSignature.js.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/es/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.js +27 -35
- package/es/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/es/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroText.js +39 -45
- package/es/core/acroform/PDFAcroText.js.map +1 -1
- package/es/core/acroform/flags.js +1 -1
- package/es/core/acroform/flags.js.map +1 -1
- package/es/core/acroform/index.d.ts +15 -15
- package/es/core/acroform/index.d.ts.map +1 -1
- package/es/core/acroform/index.js +15 -15
- package/es/core/acroform/index.js.map +1 -1
- package/es/core/acroform/utils.d.ts +5 -5
- package/es/core/acroform/utils.d.ts.map +1 -1
- package/es/core/acroform/utils.js +44 -46
- package/es/core/acroform/utils.js.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/es/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.js +60 -63
- package/es/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/es/core/annotation/BorderStyle.d.ts +2 -2
- package/es/core/annotation/BorderStyle.d.ts.map +1 -1
- package/es/core/annotation/BorderStyle.js +14 -15
- package/es/core/annotation/BorderStyle.js.map +1 -1
- package/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/es/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFAnnotation.js +75 -76
- package/es/core/annotation/PDFAnnotation.js.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/es/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.js +59 -67
- package/es/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/es/core/annotation/flags.js +1 -1
- package/es/core/annotation/flags.js.map +1 -1
- package/es/core/annotation/index.d.ts +4 -4
- package/es/core/annotation/index.d.ts.map +1 -1
- package/es/core/annotation/index.js +4 -4
- package/es/core/annotation/index.js.map +1 -1
- package/es/core/crypto.d.ts +96 -0
- package/es/core/crypto.d.ts.map +1 -0
- package/es/core/crypto.js +1609 -0
- package/es/core/crypto.js.map +1 -0
- package/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/es/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/es/core/document/PDFCrossRefSection.js +55 -58
- package/es/core/document/PDFCrossRefSection.js.map +1 -1
- package/es/core/document/PDFHeader.d.ts +1 -0
- package/es/core/document/PDFHeader.d.ts.map +1 -1
- package/es/core/document/PDFHeader.js +18 -18
- package/es/core/document/PDFHeader.js.map +1 -1
- package/es/core/document/PDFTrailer.js +14 -17
- package/es/core/document/PDFTrailer.js.map +1 -1
- package/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/es/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/es/core/document/PDFTrailerDict.js +13 -14
- package/es/core/document/PDFTrailerDict.js.map +1 -1
- package/es/core/embedders/CMap.d.ts +2 -2
- package/es/core/embedders/CMap.d.ts.map +1 -1
- package/es/core/embedders/CMap.js +38 -26
- package/es/core/embedders/CMap.js.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/es/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.js +132 -177
- package/es/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/es/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
- package/es/core/embedders/CustomFontSubsetEmbedder.js +37 -48
- package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/es/core/embedders/FileEmbedder.d.ts +3 -2
- package/es/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/es/core/embedders/FileEmbedder.js +44 -48
- package/es/core/embedders/FileEmbedder.js.map +1 -1
- package/es/core/embedders/FontFlags.d.ts +1 -1
- package/es/core/embedders/FontFlags.d.ts.map +1 -1
- package/es/core/embedders/FontFlags.js +6 -6
- package/es/core/embedders/FontFlags.js.map +1 -1
- package/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/es/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
- package/es/core/embedders/JavaScriptEmbedder.js +22 -27
- package/es/core/embedders/JavaScriptEmbedder.js.map +1 -1
- package/es/core/embedders/JpegEmbedder.d.ts +2 -2
- package/es/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/es/core/embedders/JpegEmbedder.js +66 -73
- package/es/core/embedders/JpegEmbedder.js.map +1 -1
- package/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/es/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
- package/es/core/embedders/PDFPageEmbedder.js +63 -64
- package/es/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/es/core/embedders/PngEmbedder.d.ts +2 -2
- package/es/core/embedders/PngEmbedder.d.ts.map +1 -1
- package/es/core/embedders/PngEmbedder.js +33 -41
- package/es/core/embedders/PngEmbedder.js.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.js +50 -48
- package/es/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/es/core/errors.d.ts +1 -1
- package/es/core/errors.d.ts.map +1 -1
- package/es/core/errors.js +175 -316
- package/es/core/errors.js.map +1 -1
- package/es/core/index.d.ts +48 -47
- package/es/core/index.d.ts.map +1 -1
- package/es/core/index.js +48 -47
- package/es/core/index.js.map +1 -1
- package/es/core/interactive/ViewerPreferences.d.ts +8 -8
- package/es/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/es/core/interactive/ViewerPreferences.js +127 -130
- package/es/core/interactive/ViewerPreferences.js.map +1 -1
- package/es/core/objects/PDFArray.d.ts +12 -12
- package/es/core/objects/PDFArray.d.ts.map +1 -1
- package/es/core/objects/PDFArray.js +71 -81
- package/es/core/objects/PDFArray.js.map +1 -1
- package/es/core/objects/PDFBool.d.ts +1 -1
- package/es/core/objects/PDFBool.d.ts.map +1 -1
- package/es/core/objects/PDFBool.js +21 -26
- package/es/core/objects/PDFBool.js.map +1 -1
- package/es/core/objects/PDFDict.d.ts +13 -12
- package/es/core/objects/PDFDict.d.ts.map +1 -1
- package/es/core/objects/PDFDict.js +75 -88
- package/es/core/objects/PDFDict.js.map +1 -1
- package/es/core/objects/PDFHexString.d.ts +2 -1
- package/es/core/objects/PDFHexString.d.ts.map +1 -1
- package/es/core/objects/PDFHexString.js +45 -48
- package/es/core/objects/PDFHexString.js.map +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/es/core/objects/PDFInvalidObject.js +18 -22
- package/es/core/objects/PDFInvalidObject.js.map +1 -1
- package/es/core/objects/PDFName.d.ts +1 -1
- package/es/core/objects/PDFName.d.ts.map +1 -1
- package/es/core/objects/PDFName.js +83 -92
- package/es/core/objects/PDFName.js.map +1 -1
- package/es/core/objects/PDFNull.d.ts +1 -1
- package/es/core/objects/PDFNull.d.ts.map +1 -1
- package/es/core/objects/PDFNull.js +14 -20
- package/es/core/objects/PDFNull.js.map +1 -1
- package/es/core/objects/PDFNumber.d.ts +1 -1
- package/es/core/objects/PDFNumber.d.ts.map +1 -1
- package/es/core/objects/PDFNumber.js +22 -26
- package/es/core/objects/PDFNumber.js.map +1 -1
- package/es/core/objects/PDFObject.d.ts +1 -1
- package/es/core/objects/PDFObject.d.ts.map +1 -1
- package/es/core/objects/PDFObject.js +13 -16
- package/es/core/objects/PDFObject.js.map +1 -1
- package/es/core/objects/PDFRawStream.d.ts +8 -5
- package/es/core/objects/PDFRawStream.d.ts.map +1 -1
- package/es/core/objects/PDFRawStream.js +22 -24
- package/es/core/objects/PDFRawStream.js.map +1 -1
- package/es/core/objects/PDFRef.d.ts +1 -1
- package/es/core/objects/PDFRef.d.ts.map +1 -1
- package/es/core/objects/PDFRef.js +30 -36
- package/es/core/objects/PDFRef.js.map +1 -1
- package/es/core/objects/PDFStream.d.ts +4 -3
- package/es/core/objects/PDFStream.d.ts.map +1 -1
- package/es/core/objects/PDFStream.js +34 -35
- package/es/core/objects/PDFStream.js.map +1 -1
- package/es/core/objects/PDFString.d.ts +1 -1
- package/es/core/objects/PDFString.d.ts.map +1 -1
- package/es/core/objects/PDFString.js +50 -54
- package/es/core/objects/PDFString.js.map +1 -1
- package/es/core/operators/PDFOperator.d.ts +9 -9
- package/es/core/operators/PDFOperator.d.ts.map +1 -1
- package/es/core/operators/PDFOperator.js +26 -29
- package/es/core/operators/PDFOperator.js.map +1 -1
- package/es/core/parser/BaseParser.d.ts +1 -1
- package/es/core/parser/BaseParser.d.ts.map +1 -1
- package/es/core/parser/BaseParser.js +36 -38
- package/es/core/parser/BaseParser.js.map +1 -1
- package/es/core/parser/ByteStream.d.ts +1 -1
- package/es/core/parser/ByteStream.d.ts.map +1 -1
- package/es/core/parser/ByteStream.js +29 -32
- package/es/core/parser/ByteStream.js.map +1 -1
- package/es/core/parser/PDFObjectParser.d.ts +23 -21
- package/es/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectParser.js +92 -85
- package/es/core/parser/PDFObjectParser.js.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/es/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.js +42 -60
- package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/es/core/parser/PDFParser.d.ts +6 -4
- package/es/core/parser/PDFParser.d.ts.map +1 -1
- package/es/core/parser/PDFParser.js +169 -217
- package/es/core/parser/PDFParser.js.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.js +37 -40
- package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/es/core/security/PDFSecurity.d.ts +75 -0
- package/es/core/security/PDFSecurity.d.ts.map +1 -0
- package/es/core/security/PDFSecurity.js +403 -0
- package/es/core/security/PDFSecurity.js.map +1 -0
- package/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/es/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/es/core/streams/Ascii85Stream.js +20 -26
- package/es/core/streams/Ascii85Stream.js.map +1 -1
- package/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/es/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/es/core/streams/AsciiHexStream.js +18 -22
- package/es/core/streams/AsciiHexStream.js.map +1 -1
- package/es/core/streams/DecodeStream.d.ts +1 -1
- package/es/core/streams/DecodeStream.d.ts.map +1 -1
- package/es/core/streams/DecodeStream.js +53 -60
- package/es/core/streams/DecodeStream.js.map +1 -1
- package/es/core/streams/DecryptStream.d.ts +13 -0
- package/es/core/streams/DecryptStream.d.ts.map +1 -0
- package/es/core/streams/DecryptStream.js +36 -0
- package/es/core/streams/DecryptStream.js.map +1 -0
- package/es/core/streams/FlateStream.d.ts +2 -2
- package/es/core/streams/FlateStream.d.ts.map +1 -1
- package/es/core/streams/FlateStream.js +81 -84
- package/es/core/streams/FlateStream.js.map +1 -1
- package/es/core/streams/LZWStream.d.ts +3 -3
- package/es/core/streams/LZWStream.d.ts.map +1 -1
- package/es/core/streams/LZWStream.js +41 -45
- package/es/core/streams/LZWStream.js.map +1 -1
- package/es/core/streams/RunLengthStream.d.ts +2 -2
- package/es/core/streams/RunLengthStream.d.ts.map +1 -1
- package/es/core/streams/RunLengthStream.js +15 -19
- package/es/core/streams/RunLengthStream.js.map +1 -1
- package/es/core/streams/Stream.js +45 -56
- package/es/core/streams/Stream.js.map +1 -1
- package/es/core/streams/decode.d.ts +3 -3
- package/es/core/streams/decode.d.ts.map +1 -1
- package/es/core/streams/decode.js +23 -21
- package/es/core/streams/decode.js.map +1 -1
- package/es/core/structures/PDFCatalog.d.ts +5 -5
- package/es/core/structures/PDFCatalog.d.ts.map +1 -1
- package/es/core/structures/PDFCatalog.js +39 -47
- package/es/core/structures/PDFCatalog.js.map +1 -1
- package/es/core/structures/PDFContentStream.d.ts +4 -4
- package/es/core/structures/PDFContentStream.d.ts.map +1 -1
- package/es/core/structures/PDFContentStream.js +30 -43
- package/es/core/structures/PDFContentStream.js.map +1 -1
- package/es/core/structures/PDFCrossRefStream.d.ts +6 -6
- package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/es/core/structures/PDFCrossRefStream.js +91 -100
- package/es/core/structures/PDFCrossRefStream.js.map +1 -1
- package/es/core/structures/PDFFlateStream.d.ts +5 -4
- package/es/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/es/core/structures/PDFFlateStream.js +22 -23
- package/es/core/structures/PDFFlateStream.js.map +1 -1
- package/es/core/structures/PDFObjectStream.d.ts +5 -5
- package/es/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/es/core/structures/PDFObjectStream.js +46 -54
- package/es/core/structures/PDFObjectStream.js.map +1 -1
- package/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/es/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/es/core/structures/PDFPageLeaf.js +125 -133
- package/es/core/structures/PDFPageLeaf.js.map +1 -1
- package/es/core/structures/PDFPageTree.d.ts +8 -8
- package/es/core/structures/PDFPageTree.d.ts.map +1 -1
- package/es/core/structures/PDFPageTree.js +66 -75
- package/es/core/structures/PDFPageTree.js.map +1 -1
- package/es/core/syntax/Delimiters.js +2 -2
- package/es/core/syntax/Delimiters.js.map +1 -1
- package/es/core/syntax/Irregular.js +5 -5
- package/es/core/syntax/Irregular.js.map +1 -1
- package/es/core/syntax/Keywords.d.ts +1 -1
- package/es/core/syntax/Keywords.d.ts.map +1 -1
- package/es/core/syntax/Keywords.js +14 -15
- package/es/core/syntax/Keywords.js.map +1 -1
- package/es/core/syntax/Numeric.js +5 -5
- package/es/core/syntax/Numeric.js.map +1 -1
- package/es/core/syntax/Whitespace.js +2 -2
- package/es/core/syntax/Whitespace.js.map +1 -1
- package/es/core/writers/PDFStreamWriter.d.ts +7 -7
- package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +102 -126
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/es/core/writers/PDFWriter.d.ts +15 -10
- package/es/core/writers/PDFWriter.d.ts.map +1 -1
- package/es/core/writers/PDFWriter.js +116 -142
- package/es/core/writers/PDFWriter.js.map +1 -1
- package/es/index.d.ts +4 -4
- package/es/index.d.ts.map +1 -1
- package/es/index.js +4 -4
- package/es/index.js.map +1 -1
- package/es/package.json +3 -0
- package/es/types/fontkit.js +1 -0
- package/es/types/index.d.ts +25 -1
- package/es/types/index.d.ts.map +1 -1
- package/es/types/index.js +1 -0
- package/es/types/matrix.d.ts +8 -1
- package/es/types/matrix.d.ts.map +1 -1
- package/es/types/matrix.js +1 -1
- package/es/types/matrix.js.map +1 -1
- package/es/utils/Cache.js +10 -11
- package/es/utils/Cache.js.map +1 -1
- package/es/utils/arrays.d.ts +3 -1
- package/es/utils/arrays.d.ts.map +1 -1
- package/es/utils/arrays.js +78 -60
- package/es/utils/arrays.js.map +1 -1
- package/es/utils/async.d.ts.map +1 -1
- package/es/utils/async.js +3 -5
- package/es/utils/async.js.map +1 -1
- package/es/utils/base64.d.ts.map +1 -1
- package/es/utils/base64.js +24 -24
- package/es/utils/base64.js.map +1 -1
- package/es/utils/elements/Arc.d.ts +23 -0
- package/es/utils/elements/Arc.d.ts.map +1 -0
- package/es/utils/elements/Arc.js +74 -0
- package/es/utils/elements/Arc.js.map +1 -0
- package/es/utils/elements/Circle.d.ts +15 -0
- package/es/utils/elements/Circle.d.ts.map +1 -0
- package/es/utils/elements/Circle.js +37 -0
- package/es/utils/elements/Circle.js.map +1 -0
- package/es/utils/elements/Ellipse.d.ts +21 -0
- package/es/utils/elements/Ellipse.d.ts.map +1 -0
- package/es/utils/elements/Ellipse.js +87 -0
- package/es/utils/elements/Ellipse.js.map +1 -0
- package/es/utils/elements/GraphElement.d.ts +7 -0
- package/es/utils/elements/GraphElement.d.ts.map +1 -0
- package/es/utils/elements/GraphElement.js +8 -0
- package/es/utils/elements/GraphElement.js.map +1 -0
- package/es/utils/elements/Line.d.ts +24 -0
- package/es/utils/elements/Line.d.ts.map +1 -0
- package/es/utils/elements/Line.js +68 -0
- package/es/utils/elements/Line.js.map +1 -0
- package/es/utils/elements/Plot.d.ts +12 -0
- package/es/utils/elements/Plot.d.ts.map +1 -0
- package/es/utils/elements/Plot.js +42 -0
- package/es/utils/elements/Plot.js.map +1 -0
- package/es/utils/elements/Point.d.ts +19 -0
- package/es/utils/elements/Point.d.ts.map +1 -0
- package/es/utils/elements/Point.js +28 -0
- package/es/utils/elements/Point.js.map +1 -0
- package/es/utils/elements/Rectangle.d.ts +22 -0
- package/es/utils/elements/Rectangle.d.ts.map +1 -0
- package/es/utils/elements/Rectangle.js +54 -0
- package/es/utils/elements/Rectangle.js.map +1 -0
- package/es/utils/elements/Segment.d.ts +20 -0
- package/es/utils/elements/Segment.d.ts.map +1 -0
- package/es/utils/elements/Segment.js +76 -0
- package/es/utils/elements/Segment.js.map +1 -0
- package/es/utils/elements/index.d.ts +10 -0
- package/es/utils/elements/index.d.ts.map +1 -0
- package/es/utils/elements/index.js +10 -0
- package/es/utils/elements/index.js.map +1 -0
- package/es/utils/errors.js +1 -1
- package/es/utils/errors.js.map +1 -1
- package/es/utils/index.d.ts +11 -11
- package/es/utils/index.d.ts.map +1 -1
- package/es/utils/index.js +11 -11
- package/es/utils/index.js.map +1 -1
- package/es/utils/intersections.d.ts +10 -0
- package/es/utils/intersections.d.ts.map +1 -0
- package/es/utils/intersections.js +243 -0
- package/es/utils/intersections.js.map +1 -0
- package/es/utils/maths.d.ts +46 -0
- package/es/utils/maths.d.ts.map +1 -0
- package/es/utils/maths.js +69 -0
- package/es/utils/maths.js.map +1 -0
- package/es/utils/numbers.js +9 -9
- package/es/utils/numbers.js.map +1 -1
- package/es/utils/objects.js +4 -6
- package/es/utils/objects.js.map +1 -1
- package/es/utils/pdfDocEncoding.js +7 -7
- package/es/utils/pdfDocEncoding.js.map +1 -1
- package/es/utils/png.js +20 -22
- package/es/utils/png.js.map +1 -1
- package/es/utils/rng.js +7 -9
- package/es/utils/rng.js.map +1 -1
- package/es/utils/strings.d.ts +1 -0
- package/es/utils/strings.d.ts.map +1 -1
- package/es/utils/strings.js +66 -68
- package/es/utils/strings.js.map +1 -1
- package/es/utils/unicode.js +42 -63
- package/es/utils/unicode.js.map +1 -1
- package/es/utils/validators.d.ts +2 -2
- package/es/utils/validators.d.ts.map +1 -1
- package/es/utils/validators.js +38 -38
- package/es/utils/validators.js.map +1 -1
- package/package.json +70 -39
- package/src/api/PDFDocument.ts +248 -22
- package/src/api/PDFDocumentOptions.ts +4 -2
- package/src/api/PDFEmbeddedFile.ts +12 -4
- package/src/api/PDFEmbeddedPage.ts +4 -4
- package/src/api/PDFFont.ts +4 -4
- package/src/api/PDFImage.ts +4 -4
- package/src/api/PDFJavaScript.ts +4 -4
- package/src/api/PDFPage.ts +93 -20
- package/src/api/PDFPageOptions.ts +34 -12
- package/src/api/PDFSvg.ts +10 -0
- package/src/api/colors.ts +27 -19
- package/src/api/form/PDFButton.ts +11 -11
- package/src/api/form/PDFCheckBox.ts +8 -8
- package/src/api/form/PDFDropdown.ts +9 -9
- package/src/api/form/PDFField.ts +7 -7
- package/src/api/form/PDFForm.ts +56 -46
- package/src/api/form/PDFOptionList.ts +9 -9
- package/src/api/form/PDFRadioGroup.ts +8 -8
- package/src/api/form/PDFSignature.ts +4 -4
- package/src/api/form/PDFTextField.ts +15 -15
- package/src/api/form/appearances.ts +41 -49
- package/src/api/form/index.ts +10 -10
- package/src/api/image/index.ts +1 -1
- package/src/api/index.ts +1 -0
- package/src/api/objects.ts +1 -1
- package/src/api/operations.ts +198 -142
- package/src/api/operators.ts +10 -3
- package/src/api/rotations.ts +7 -9
- package/src/api/svg.ts +1074 -0
- package/src/api/svgPath.ts +2 -4
- package/src/api/text/index.ts +2 -2
- package/src/api/text/layout.ts +5 -5
- package/src/core/PDFContext.ts +94 -19
- package/src/core/PDFObjectCopier.ts +8 -8
- package/src/core/acroform/PDFAcroButton.ts +8 -8
- package/src/core/acroform/PDFAcroCheckBox.ts +6 -6
- package/src/core/acroform/PDFAcroChoice.ts +7 -10
- package/src/core/acroform/PDFAcroComboBox.ts +5 -5
- package/src/core/acroform/PDFAcroField.ts +12 -12
- package/src/core/acroform/PDFAcroForm.ts +8 -11
- package/src/core/acroform/PDFAcroListBox.ts +4 -4
- package/src/core/acroform/PDFAcroNonTerminal.ts +5 -5
- package/src/core/acroform/PDFAcroPushButton.ts +5 -5
- package/src/core/acroform/PDFAcroRadioButton.ts +7 -7
- package/src/core/acroform/PDFAcroSignature.ts +3 -3
- package/src/core/acroform/PDFAcroTerminal.ts +6 -6
- package/src/core/acroform/PDFAcroText.ts +8 -8
- package/src/core/acroform/index.ts +15 -15
- package/src/core/acroform/utils.ts +20 -20
- package/src/core/annotation/AppearanceCharacteristics.ts +6 -6
- package/src/core/annotation/BorderStyle.ts +3 -3
- package/src/core/annotation/PDFAnnotation.ts +6 -6
- package/src/core/annotation/PDFWidgetAnnotation.ts +9 -9
- package/src/core/annotation/index.ts +4 -4
- package/src/core/crypto.ts +1997 -0
- package/src/core/document/PDFCrossRefSection.ts +4 -4
- package/src/core/document/PDFHeader.ts +6 -2
- package/src/core/document/PDFTrailer.ts +2 -2
- package/src/core/document/PDFTrailerDict.ts +2 -2
- package/src/core/embedders/CMap.ts +3 -3
- package/src/core/embedders/CustomFontEmbedder.ts +9 -9
- package/src/core/embedders/CustomFontSubsetEmbedder.ts +10 -4
- package/src/core/embedders/FileEmbedder.ts +8 -4
- package/src/core/embedders/FontFlags.ts +1 -1
- package/src/core/embedders/JavaScriptEmbedder.ts +3 -3
- package/src/core/embedders/JpegEmbedder.ts +2 -2
- package/src/core/embedders/PDFPageEmbedder.ts +24 -22
- package/src/core/embedders/PngEmbedder.ts +3 -3
- package/src/core/embedders/StandardFontEmbedder.ts +10 -5
- package/src/core/errors.ts +15 -13
- package/src/core/index.ts +52 -47
- package/src/core/interactive/ViewerPreferences.ts +7 -7
- package/src/core/objects/PDFArray.ts +22 -22
- package/src/core/objects/PDFBool.ts +3 -3
- package/src/core/objects/PDFDict.ts +14 -12
- package/src/core/objects/PDFHexString.ts +8 -4
- package/src/core/objects/PDFInvalidObject.ts +1 -1
- package/src/core/objects/PDFName.ts +6 -6
- package/src/core/objects/PDFNull.ts +2 -2
- package/src/core/objects/PDFNumber.ts +3 -3
- package/src/core/objects/PDFObject.ts +2 -2
- package/src/core/objects/PDFRawStream.ts +24 -10
- package/src/core/objects/PDFRef.ts +4 -4
- package/src/core/objects/PDFStream.ts +14 -7
- package/src/core/objects/PDFString.ts +4 -4
- package/src/core/operators/PDFOperator.ts +10 -10
- package/src/core/parser/BaseParser.ts +6 -6
- package/src/core/parser/ByteStream.ts +4 -4
- package/src/core/parser/PDFObjectParser.ts +78 -41
- package/src/core/parser/PDFObjectStreamParser.ts +9 -9
- package/src/core/parser/PDFParser.ts +43 -23
- package/src/core/parser/PDFXRefStreamParser.ts +9 -9
- package/src/core/security/PDFSecurity.ts +685 -0
- package/src/core/streams/Ascii85Stream.ts +2 -2
- package/src/core/streams/AsciiHexStream.ts +2 -2
- package/src/core/streams/DecodeStream.ts +2 -2
- package/src/core/streams/DecryptStream.ts +56 -0
- package/src/core/streams/FlateStream.ts +3 -2
- package/src/core/streams/LZWStream.ts +3 -3
- package/src/core/streams/RunLengthStream.ts +2 -2
- package/src/core/streams/decode.ts +23 -18
- package/src/core/structures/PDFCatalog.ts +6 -6
- package/src/core/structures/PDFContentStream.ts +5 -5
- package/src/core/structures/PDFCrossRefStream.ts +6 -6
- package/src/core/structures/PDFFlateStream.ts +10 -6
- package/src/core/structures/PDFObjectStream.ts +8 -8
- package/src/core/structures/PDFPageLeaf.ts +9 -9
- package/src/core/structures/PDFPageTree.ts +8 -8
- package/src/core/syntax/Delimiters.ts +1 -1
- package/src/core/syntax/Irregular.ts +3 -3
- package/src/core/syntax/Keywords.ts +1 -1
- package/src/core/syntax/Numeric.ts +1 -1
- package/src/core/syntax/Whitespace.ts +1 -1
- package/src/core/writers/PDFStreamWriter.ts +12 -1
- package/src/core/writers/PDFWriter.ts +22 -13
- package/src/index.ts +4 -4
- package/src/types/index.ts +38 -1
- package/src/utils/arrays.ts +33 -2
- package/src/utils/base64.ts +2 -1
- package/src/utils/elements/Arc.ts +107 -0
- package/src/utils/elements/Circle.ts +55 -0
- package/src/utils/elements/Ellipse.ts +135 -0
- package/src/utils/elements/GraphElement.ts +14 -0
- package/src/utils/elements/Line.ts +85 -0
- package/src/utils/elements/Plot.ts +50 -0
- package/src/utils/elements/Point.ts +37 -0
- package/src/utils/elements/Rectangle.ts +65 -0
- package/src/utils/elements/Segment.ts +92 -0
- package/src/utils/elements/index.ts +9 -0
- package/src/utils/index.ts +11 -11
- package/src/utils/intersections.ts +280 -0
- package/src/utils/maths.ts +108 -0
- package/src/utils/pdfDocEncoding.ts +1 -1
- package/src/utils/png.ts +1 -1
- package/src/utils/strings.ts +11 -1
- package/src/utils/unicode.ts +1 -1
- package/src/utils/validators.ts +1 -1
- package/ts3.4/cjs/api/PDFDocument.d.ts +52 -13
- package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +4 -2
- package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +9 -4
- package/ts3.4/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFFont.d.ts +4 -4
- package/ts3.4/cjs/api/PDFImage.d.ts +4 -4
- package/ts3.4/cjs/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/cjs/api/PDFPage.d.ts +36 -9
- package/ts3.4/cjs/api/PDFPageOptions.d.ts +35 -12
- package/ts3.4/cjs/api/PDFSvg.d.ts +7 -0
- package/ts3.4/cjs/api/colors.d.ts +6 -2
- package/ts3.4/cjs/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFField.d.ts +7 -7
- package/ts3.4/cjs/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/cjs/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/cjs/api/form/appearances.d.ts +21 -21
- package/ts3.4/cjs/api/form/index.d.ts +10 -10
- package/ts3.4/cjs/api/image/index.d.ts +1 -1
- package/ts3.4/cjs/api/index.d.ts +22 -21
- package/ts3.4/cjs/api/objects.d.ts +1 -1
- package/ts3.4/cjs/api/operations.d.ts +27 -13
- package/ts3.4/cjs/api/operators.d.ts +6 -1
- package/ts3.4/cjs/api/rotations.d.ts +2 -2
- package/ts3.4/cjs/api/sizes.d.ts +200 -50
- package/ts3.4/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/svg.d.ts +76 -0
- package/ts3.4/cjs/api/svgPath.d.ts +1 -1
- package/ts3.4/cjs/api/text/index.d.ts +2 -2
- package/ts3.4/cjs/api/text/layout.d.ts +3 -3
- package/ts3.4/cjs/core/PDFContext.d.ts +43 -20
- package/ts3.4/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/cjs/core/acroform/PDFAcroForm.d.ts +13 -7
- package/ts3.4/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/index.d.ts +15 -15
- package/ts3.4/cjs/core/acroform/utils.d.ts +8 -5
- package/ts3.4/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/cjs/core/annotation/index.d.ts +4 -4
- package/ts3.4/cjs/core/crypto.d.ts +96 -0
- package/ts3.4/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/cjs/core/document/PDFHeader.d.ts +1 -0
- package/ts3.4/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/CMap.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/cjs/core/embedders/FileEmbedder.d.ts +3 -2
- package/ts3.4/cjs/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/cjs/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/ts3.4/cjs/core/errors.d.ts +1 -1
- package/ts3.4/cjs/core/index.d.ts +48 -47
- package/ts3.4/cjs/core/interactive/ViewerPreferences.d.ts +8 -8
- package/ts3.4/cjs/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/cjs/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFDict.d.ts +17 -13
- package/ts3.4/cjs/core/objects/PDFHexString.d.ts +2 -1
- package/ts3.4/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFRawStream.d.ts +8 -5
- package/ts3.4/cjs/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFStream.d.ts +4 -3
- package/ts3.4/cjs/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/cjs/core/operators/PDFOperator.d.ts +9 -9
- package/ts3.4/cjs/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/cjs/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/cjs/core/parser/PDFObjectParser.d.ts +23 -21
- package/ts3.4/cjs/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/ts3.4/cjs/core/parser/PDFParser.d.ts +6 -4
- package/ts3.4/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/cjs/core/security/PDFSecurity.d.ts +75 -0
- package/ts3.4/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/cjs/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/decode.d.ts +3 -3
- package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +10 -6
- package/ts3.4/cjs/core/structures/PDFFlateStream.d.ts +5 -4
- package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +8 -5
- package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +8 -8
- package/ts3.4/cjs/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +11 -8
- package/ts3.4/cjs/core/writers/PDFWriter.d.ts +19 -11
- package/ts3.4/cjs/index.d.ts +4 -4
- package/ts3.4/cjs/types/index.d.ts +25 -1
- package/ts3.4/cjs/types/matrix.d.ts +8 -1
- package/ts3.4/cjs/utils/arrays.d.ts +3 -1
- package/ts3.4/cjs/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/cjs/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/cjs/utils/elements/Line.d.ts +24 -0
- package/ts3.4/cjs/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/cjs/utils/elements/Point.d.ts +19 -0
- package/ts3.4/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/cjs/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/cjs/utils/elements/index.d.ts +10 -0
- package/ts3.4/cjs/utils/index.d.ts +11 -11
- package/ts3.4/cjs/utils/intersections.d.ts +10 -0
- package/ts3.4/cjs/utils/maths.d.ts +46 -0
- package/ts3.4/cjs/utils/strings.d.ts +5 -1
- package/ts3.4/cjs/utils/validators.d.ts +5 -2
- package/ts3.4/es/api/PDFDocument.d.ts +52 -13
- package/ts3.4/es/api/PDFDocumentOptions.d.ts +4 -2
- package/ts3.4/es/api/PDFEmbeddedFile.d.ts +9 -4
- package/ts3.4/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/es/api/PDFFont.d.ts +4 -4
- package/ts3.4/es/api/PDFImage.d.ts +4 -4
- package/ts3.4/es/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/es/api/PDFPage.d.ts +36 -9
- package/ts3.4/es/api/PDFPageOptions.d.ts +35 -12
- package/ts3.4/es/api/PDFSvg.d.ts +7 -0
- package/ts3.4/es/api/colors.d.ts +6 -2
- package/ts3.4/es/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/es/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/es/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/es/api/form/PDFField.d.ts +7 -7
- package/ts3.4/es/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/es/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/es/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/es/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/es/api/form/appearances.d.ts +21 -21
- package/ts3.4/es/api/form/index.d.ts +10 -10
- package/ts3.4/es/api/image/index.d.ts +1 -1
- package/ts3.4/es/api/index.d.ts +22 -21
- package/ts3.4/es/api/objects.d.ts +1 -1
- package/ts3.4/es/api/operations.d.ts +27 -13
- package/ts3.4/es/api/operators.d.ts +6 -1
- package/ts3.4/es/api/rotations.d.ts +2 -2
- package/ts3.4/es/api/sizes.d.ts +200 -50
- package/ts3.4/es/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/svg.d.ts +76 -0
- package/ts3.4/es/api/svgPath.d.ts +1 -1
- package/ts3.4/es/api/text/index.d.ts +2 -2
- package/ts3.4/es/api/text/layout.d.ts +3 -3
- package/ts3.4/es/core/PDFContext.d.ts +43 -20
- package/ts3.4/es/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/es/core/acroform/PDFAcroForm.d.ts +13 -7
- package/ts3.4/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/es/core/acroform/index.d.ts +15 -15
- package/ts3.4/es/core/acroform/utils.d.ts +8 -5
- package/ts3.4/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/es/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/es/core/annotation/index.d.ts +4 -4
- package/ts3.4/es/core/crypto.d.ts +96 -0
- package/ts3.4/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/es/core/document/PDFHeader.d.ts +1 -0
- package/ts3.4/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/es/core/embedders/CMap.d.ts +2 -2
- package/ts3.4/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/es/core/embedders/FileEmbedder.d.ts +3 -2
- package/ts3.4/es/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/es/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/ts3.4/es/core/errors.d.ts +1 -1
- package/ts3.4/es/core/index.d.ts +48 -47
- package/ts3.4/es/core/interactive/ViewerPreferences.d.ts +8 -8
- package/ts3.4/es/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/es/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFDict.d.ts +17 -13
- package/ts3.4/es/core/objects/PDFHexString.d.ts +2 -1
- package/ts3.4/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFRawStream.d.ts +8 -5
- package/ts3.4/es/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFStream.d.ts +4 -3
- package/ts3.4/es/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/es/core/operators/PDFOperator.d.ts +9 -9
- package/ts3.4/es/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/es/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/es/core/parser/PDFObjectParser.d.ts +23 -21
- package/ts3.4/es/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/ts3.4/es/core/parser/PDFParser.d.ts +6 -4
- package/ts3.4/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/es/core/security/PDFSecurity.d.ts +75 -0
- package/ts3.4/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/es/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/es/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/es/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/es/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/es/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/es/core/streams/decode.d.ts +3 -3
- package/ts3.4/es/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/es/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +10 -6
- package/ts3.4/es/core/structures/PDFFlateStream.d.ts +5 -4
- package/ts3.4/es/core/structures/PDFObjectStream.d.ts +8 -5
- package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/es/core/structures/PDFPageTree.d.ts +8 -8
- package/ts3.4/es/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +11 -8
- package/ts3.4/es/core/writers/PDFWriter.d.ts +19 -11
- package/ts3.4/es/index.d.ts +4 -4
- package/ts3.4/es/types/index.d.ts +25 -1
- package/ts3.4/es/types/matrix.d.ts +8 -1
- package/ts3.4/es/utils/arrays.d.ts +3 -1
- package/ts3.4/es/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/es/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/es/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/es/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/es/utils/elements/Line.d.ts +24 -0
- package/ts3.4/es/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/es/utils/elements/Point.d.ts +19 -0
- package/ts3.4/es/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/es/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/es/utils/elements/index.d.ts +10 -0
- package/ts3.4/es/utils/index.d.ts +11 -11
- package/ts3.4/es/utils/intersections.d.ts +10 -0
- package/ts3.4/es/utils/maths.d.ts +46 -0
- package/ts3.4/es/utils/strings.d.ts +5 -1
- package/ts3.4/es/utils/validators.d.ts +5 -2
- package/yarn.lock +0 -4446
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ReparseError } from '
|
|
2
|
-
import PDFArray from '
|
|
3
|
-
import PDFDict from '
|
|
4
|
-
import PDFName from '
|
|
5
|
-
import PDFNumber from '
|
|
6
|
-
import PDFRawStream from '
|
|
7
|
-
import PDFRef from '
|
|
8
|
-
import ByteStream from '
|
|
9
|
-
import PDFContext from '
|
|
1
|
+
import { ReparseError } from '../errors';
|
|
2
|
+
import PDFArray from '../objects/PDFArray';
|
|
3
|
+
import PDFDict from '../objects/PDFDict';
|
|
4
|
+
import PDFName from '../objects/PDFName';
|
|
5
|
+
import PDFNumber from '../objects/PDFNumber';
|
|
6
|
+
import PDFRawStream from '../objects/PDFRawStream';
|
|
7
|
+
import PDFRef from '../objects/PDFRef';
|
|
8
|
+
import ByteStream from './ByteStream';
|
|
9
|
+
import PDFContext from '../PDFContext';
|
|
10
10
|
|
|
11
11
|
export interface Entry {
|
|
12
12
|
ref: PDFRef;
|
|
@@ -0,0 +1,685 @@
|
|
|
1
|
+
import CryptoJS from 'crypto-js';
|
|
2
|
+
import PDFContext from '../PDFContext';
|
|
3
|
+
|
|
4
|
+
type WordArray = CryptoJS.lib.WordArray;
|
|
5
|
+
type RandomWordArrayGenerator = (bytes: number) => WordArray;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Interface representing user permissions.
|
|
9
|
+
*
|
|
10
|
+
* @interface UserPermissions
|
|
11
|
+
*/
|
|
12
|
+
interface UserPermissions {
|
|
13
|
+
/**
|
|
14
|
+
* Printing Permission
|
|
15
|
+
* For Security handlers of revision <= 2 : Boolean
|
|
16
|
+
* For Security handlers of revision >= 3 : 'lowResolution' or 'highResolution'
|
|
17
|
+
*/
|
|
18
|
+
printing?: boolean | 'lowResolution' | 'highResolution';
|
|
19
|
+
/**
|
|
20
|
+
* Modify Content Permission (Other than 'annotating', 'fillingForms' and 'documentAssembly')
|
|
21
|
+
*/
|
|
22
|
+
modifying?: boolean;
|
|
23
|
+
/** Copy or otherwise extract text and graphics from document */
|
|
24
|
+
copying?: boolean;
|
|
25
|
+
/** Permission to add or modify text annotations */
|
|
26
|
+
annotating?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Security handlers of revision >= 3
|
|
29
|
+
* Fill in existing interactive form fields (including signature fields)
|
|
30
|
+
*/
|
|
31
|
+
fillingForms?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Security handlers of revision >= 3
|
|
34
|
+
* Extract text and graphics (in support of accessibility to users with disabilities or for other purposes)
|
|
35
|
+
*/
|
|
36
|
+
contentAccessibility?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Security handlers of revision >= 3
|
|
39
|
+
* Assemble the document (insert, rotate or delete pages and create bookmarks or thumbnail images)
|
|
40
|
+
*/
|
|
41
|
+
documentAssembly?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type EncryptFn = (buffer: Uint8Array) => Uint8Array;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Interface options for security
|
|
48
|
+
* @interface SecurityOptions
|
|
49
|
+
*/
|
|
50
|
+
export interface SecurityOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Password that provides unlimited access to the encrypted document.
|
|
53
|
+
*
|
|
54
|
+
* Opening encrypted document with owner password allows full (owner) access to the document
|
|
55
|
+
*/
|
|
56
|
+
ownerPassword?: string;
|
|
57
|
+
|
|
58
|
+
/** Password that restricts reader according to the defined permissions.
|
|
59
|
+
*
|
|
60
|
+
* Opening encrypted document with user password will have limitations in accordance to the permission defined.
|
|
61
|
+
*/
|
|
62
|
+
userPassword?: string;
|
|
63
|
+
|
|
64
|
+
/** Object representing type of user permission enforced on the document
|
|
65
|
+
* @link {@link UserPermissions}
|
|
66
|
+
*/
|
|
67
|
+
permissions?: UserPermissions;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
type Algorithm = 1 | 2 | 4 | 5;
|
|
71
|
+
type Revision = 2 | 3 | 4 | 5;
|
|
72
|
+
type KeyBits = 40 | 128 | 256;
|
|
73
|
+
|
|
74
|
+
type Encryption = {
|
|
75
|
+
V: number;
|
|
76
|
+
R: number;
|
|
77
|
+
O: Uint8Array;
|
|
78
|
+
U: Uint8Array;
|
|
79
|
+
P: number;
|
|
80
|
+
Filter: string;
|
|
81
|
+
Length?: number;
|
|
82
|
+
CF?: {
|
|
83
|
+
StdCF: {
|
|
84
|
+
AuthEvent: 'DocOpen';
|
|
85
|
+
CFM: 'AESV2' | 'AESV3';
|
|
86
|
+
Length: number;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
StmF?: string;
|
|
90
|
+
StrF?: string;
|
|
91
|
+
OE?: Uint8Array;
|
|
92
|
+
UE?: Uint8Array;
|
|
93
|
+
Perms?: Uint8Array;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
class PDFSecurity {
|
|
97
|
+
context: PDFContext;
|
|
98
|
+
|
|
99
|
+
// These are required values which are set by the `initalize` function.
|
|
100
|
+
private id!: Uint8Array;
|
|
101
|
+
private encryption!: Encryption;
|
|
102
|
+
private keyBits!: KeyBits;
|
|
103
|
+
private encryptionKey!: WordArray;
|
|
104
|
+
|
|
105
|
+
static create(context: PDFContext, options: SecurityOptions) {
|
|
106
|
+
return new PDFSecurity(context, options);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
constructor(context: PDFContext, options: SecurityOptions) {
|
|
110
|
+
if (!options.ownerPassword && !options.userPassword) {
|
|
111
|
+
throw new Error(
|
|
112
|
+
'Either an owner password or a user password must be specified.',
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
this.context = context;
|
|
117
|
+
|
|
118
|
+
this.initialize(options);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private initialize(options: SecurityOptions) {
|
|
122
|
+
this.id = generateFileID();
|
|
123
|
+
|
|
124
|
+
let v: Algorithm;
|
|
125
|
+
switch (this.context.header.getVersionString()) {
|
|
126
|
+
case '1.4':
|
|
127
|
+
case '1.5':
|
|
128
|
+
v = 2;
|
|
129
|
+
break;
|
|
130
|
+
case '1.6':
|
|
131
|
+
case '1.7':
|
|
132
|
+
v = 4;
|
|
133
|
+
break;
|
|
134
|
+
case '1.7ext3':
|
|
135
|
+
v = 5;
|
|
136
|
+
break;
|
|
137
|
+
default:
|
|
138
|
+
v = 1;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
switch (v) {
|
|
143
|
+
case 1:
|
|
144
|
+
case 2:
|
|
145
|
+
case 4:
|
|
146
|
+
this.encryption = this.initializeV1V2V4(v, options);
|
|
147
|
+
break;
|
|
148
|
+
case 5:
|
|
149
|
+
this.encryption = this.initializeV5(options);
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private initializeV1V2V4(v: Algorithm, options: SecurityOptions): Encryption {
|
|
155
|
+
const encryption = {
|
|
156
|
+
Filter: 'Standard',
|
|
157
|
+
} as Encryption;
|
|
158
|
+
|
|
159
|
+
let r: Revision;
|
|
160
|
+
let permissions: number;
|
|
161
|
+
|
|
162
|
+
switch (v) {
|
|
163
|
+
case 1:
|
|
164
|
+
r = 2;
|
|
165
|
+
this.keyBits = 40;
|
|
166
|
+
permissions = getPermissionsR2(options.permissions);
|
|
167
|
+
break;
|
|
168
|
+
case 2:
|
|
169
|
+
r = 3;
|
|
170
|
+
this.keyBits = 128;
|
|
171
|
+
permissions = getPermissionsR3(options.permissions);
|
|
172
|
+
break;
|
|
173
|
+
case 4:
|
|
174
|
+
r = 4;
|
|
175
|
+
this.keyBits = 128;
|
|
176
|
+
permissions = getPermissionsR3(options.permissions);
|
|
177
|
+
break;
|
|
178
|
+
default:
|
|
179
|
+
throw new Error(`Unsupported algorithm '${v}'.`);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const paddedUserPassword: WordArray = processPasswordR2R3R4(
|
|
183
|
+
options.userPassword,
|
|
184
|
+
);
|
|
185
|
+
|
|
186
|
+
const paddedOwnerPassword: WordArray = options.ownerPassword
|
|
187
|
+
? processPasswordR2R3R4(options.ownerPassword)
|
|
188
|
+
: paddedUserPassword;
|
|
189
|
+
|
|
190
|
+
const ownerPasswordEntry: WordArray = getOwnerPasswordR2R3R4(
|
|
191
|
+
r,
|
|
192
|
+
this.keyBits,
|
|
193
|
+
paddedUserPassword,
|
|
194
|
+
paddedOwnerPassword,
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
this.encryptionKey = getEncryptionKeyR2R3R4(
|
|
198
|
+
r,
|
|
199
|
+
this.keyBits,
|
|
200
|
+
this.id,
|
|
201
|
+
paddedUserPassword,
|
|
202
|
+
ownerPasswordEntry,
|
|
203
|
+
permissions,
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
let userPasswordEntry;
|
|
207
|
+
if (r === 2) {
|
|
208
|
+
userPasswordEntry = getUserPasswordR2(this.encryptionKey);
|
|
209
|
+
} else {
|
|
210
|
+
userPasswordEntry = getUserPasswordR3R4(this.id, this.encryptionKey);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
encryption.V = v;
|
|
214
|
+
if (v >= 2) {
|
|
215
|
+
encryption.Length = this.keyBits;
|
|
216
|
+
}
|
|
217
|
+
if (v === 4) {
|
|
218
|
+
encryption.CF = {
|
|
219
|
+
StdCF: {
|
|
220
|
+
AuthEvent: 'DocOpen',
|
|
221
|
+
CFM: 'AESV2',
|
|
222
|
+
Length: this.keyBits / 8,
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
encryption.StmF = 'StdCF';
|
|
226
|
+
encryption.StrF = 'StdCF';
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
encryption.R = r;
|
|
230
|
+
|
|
231
|
+
encryption.O = wordArrayToBuffer(ownerPasswordEntry);
|
|
232
|
+
encryption.U = wordArrayToBuffer(userPasswordEntry);
|
|
233
|
+
encryption.P = permissions;
|
|
234
|
+
|
|
235
|
+
return encryption;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
private initializeV5(options: SecurityOptions): Encryption {
|
|
239
|
+
const encryption = {
|
|
240
|
+
Filter: 'Standard',
|
|
241
|
+
} as Encryption;
|
|
242
|
+
|
|
243
|
+
this.keyBits = 256;
|
|
244
|
+
|
|
245
|
+
this.encryptionKey = getEncryptionKeyR5(generateRandomWordArray);
|
|
246
|
+
|
|
247
|
+
const processedUserPassword = processPasswordR5(options.userPassword);
|
|
248
|
+
const userPasswordEntry = getUserPasswordR5(
|
|
249
|
+
processedUserPassword,
|
|
250
|
+
generateRandomWordArray,
|
|
251
|
+
);
|
|
252
|
+
const userKeySalt = CryptoJS.lib.WordArray.create(
|
|
253
|
+
userPasswordEntry.words.slice(10, 12),
|
|
254
|
+
8,
|
|
255
|
+
);
|
|
256
|
+
const userEncryptionKeyEntry = getUserEncryptionKeyR5(
|
|
257
|
+
processedUserPassword,
|
|
258
|
+
userKeySalt,
|
|
259
|
+
this.encryptionKey,
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
const processedOwnerPassword = options.ownerPassword
|
|
263
|
+
? processPasswordR5(options.ownerPassword)
|
|
264
|
+
: processedUserPassword;
|
|
265
|
+
const ownerPasswordEntry = getOwnerPasswordR5(
|
|
266
|
+
processedOwnerPassword,
|
|
267
|
+
userPasswordEntry,
|
|
268
|
+
generateRandomWordArray,
|
|
269
|
+
);
|
|
270
|
+
const ownerKeySalt = CryptoJS.lib.WordArray.create(
|
|
271
|
+
ownerPasswordEntry.words.slice(10, 12),
|
|
272
|
+
8,
|
|
273
|
+
);
|
|
274
|
+
const ownerEncryptionKeyEntry = getOwnerEncryptionKeyR5(
|
|
275
|
+
processedOwnerPassword,
|
|
276
|
+
ownerKeySalt,
|
|
277
|
+
userPasswordEntry,
|
|
278
|
+
this.encryptionKey,
|
|
279
|
+
);
|
|
280
|
+
|
|
281
|
+
const permissions = getPermissionsR3(options.permissions);
|
|
282
|
+
const permissionsEntry = getEncryptedPermissionsR5(
|
|
283
|
+
permissions,
|
|
284
|
+
this.encryptionKey,
|
|
285
|
+
generateRandomWordArray,
|
|
286
|
+
);
|
|
287
|
+
|
|
288
|
+
encryption.V = 5;
|
|
289
|
+
encryption.Length = this.keyBits;
|
|
290
|
+
encryption.CF = {
|
|
291
|
+
StdCF: {
|
|
292
|
+
AuthEvent: 'DocOpen',
|
|
293
|
+
CFM: 'AESV3',
|
|
294
|
+
Length: this.keyBits / 8,
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
encryption.StmF = 'StdCF';
|
|
298
|
+
encryption.StrF = 'StdCF';
|
|
299
|
+
|
|
300
|
+
encryption.R = 5;
|
|
301
|
+
|
|
302
|
+
encryption.O = wordArrayToBuffer(ownerPasswordEntry);
|
|
303
|
+
encryption.OE = wordArrayToBuffer(ownerEncryptionKeyEntry);
|
|
304
|
+
encryption.U = wordArrayToBuffer(userPasswordEntry);
|
|
305
|
+
encryption.UE = wordArrayToBuffer(userEncryptionKeyEntry);
|
|
306
|
+
encryption.P = permissions;
|
|
307
|
+
encryption.Perms = wordArrayToBuffer(permissionsEntry);
|
|
308
|
+
|
|
309
|
+
return encryption;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
getEncryptFn(obj: number, gen: number) {
|
|
313
|
+
const v = this.encryption.V;
|
|
314
|
+
|
|
315
|
+
let digest: WordArray;
|
|
316
|
+
let key: WordArray;
|
|
317
|
+
if (v < 5) {
|
|
318
|
+
digest = this.encryptionKey
|
|
319
|
+
.clone()
|
|
320
|
+
.concat(
|
|
321
|
+
CryptoJS.lib.WordArray.create(
|
|
322
|
+
[
|
|
323
|
+
((obj & 0xff) << 24) |
|
|
324
|
+
((obj & 0xff00) << 8) |
|
|
325
|
+
((obj >> 8) & 0xff00) |
|
|
326
|
+
(gen & 0xff),
|
|
327
|
+
(gen & 0xff00) << 16,
|
|
328
|
+
],
|
|
329
|
+
5,
|
|
330
|
+
),
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
if (v === 1 || v === 2) {
|
|
334
|
+
key = CryptoJS.MD5(digest);
|
|
335
|
+
key.sigBytes = Math.min(16, this.keyBits / 8 + 5);
|
|
336
|
+
return (buffer: Uint8Array) =>
|
|
337
|
+
wordArrayToBuffer(
|
|
338
|
+
CryptoJS.RC4.encrypt(
|
|
339
|
+
CryptoJS.lib.WordArray.create(buffer as unknown as number[]),
|
|
340
|
+
key,
|
|
341
|
+
).ciphertext,
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
if (v === 4) {
|
|
346
|
+
key = CryptoJS.MD5(
|
|
347
|
+
digest.concat(CryptoJS.lib.WordArray.create([0x73416c54], 4)),
|
|
348
|
+
);
|
|
349
|
+
}
|
|
350
|
+
} else if (v === 5) {
|
|
351
|
+
key = this.encryptionKey;
|
|
352
|
+
} else {
|
|
353
|
+
throw new Error(`Unsupported algorithm '${v}'.`);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
const iv = generateRandomWordArray(16);
|
|
357
|
+
const options = {
|
|
358
|
+
mode: CryptoJS.mode.CBC,
|
|
359
|
+
padding: CryptoJS.pad.Pkcs7,
|
|
360
|
+
iv,
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
return (buffer: Uint8Array) =>
|
|
364
|
+
wordArrayToBuffer(
|
|
365
|
+
iv
|
|
366
|
+
.clone()
|
|
367
|
+
.concat(
|
|
368
|
+
CryptoJS.AES.encrypt(
|
|
369
|
+
CryptoJS.lib.WordArray.create(buffer as unknown as number[]),
|
|
370
|
+
key,
|
|
371
|
+
options,
|
|
372
|
+
).ciphertext,
|
|
373
|
+
),
|
|
374
|
+
);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
encrypt() {
|
|
378
|
+
const ID = this.context.obj([this.id, this.id]);
|
|
379
|
+
this.context.trailerInfo.ID = ID;
|
|
380
|
+
|
|
381
|
+
const Encrypt = this.context.obj(this.encryption);
|
|
382
|
+
this.context.trailerInfo.Encrypt = this.context.register(Encrypt);
|
|
383
|
+
|
|
384
|
+
return this;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* A file ID is required if Encrypt entry is present in Trailer
|
|
390
|
+
* Doesn't really matter what it is as long as it is consistently
|
|
391
|
+
* used.
|
|
392
|
+
*
|
|
393
|
+
* @returns Uint8Array
|
|
394
|
+
*/
|
|
395
|
+
const generateFileID = (): Uint8Array =>
|
|
396
|
+
wordArrayToBuffer(CryptoJS.MD5(Date.now().toString()));
|
|
397
|
+
|
|
398
|
+
const generateRandomWordArray = (bytes: number): WordArray =>
|
|
399
|
+
CryptoJS.lib.WordArray.random(bytes);
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Get Permission Flag for use Encryption Dictionary (Key: P)
|
|
403
|
+
* For Security Handler revision 2
|
|
404
|
+
*
|
|
405
|
+
* Only bit position 3,4,5,6,9,10,11 and 12 is meaningful
|
|
406
|
+
* Refer Table 22 - User access permission
|
|
407
|
+
* @param {permissions} {@link UserPermissions}
|
|
408
|
+
* @returns number - Representing unsigned 32-bit integer
|
|
409
|
+
*/
|
|
410
|
+
const getPermissionsR2 = (permissions: UserPermissions = {}) => {
|
|
411
|
+
let flags = 0xffffffc0 >> 0;
|
|
412
|
+
if (permissions.printing) {
|
|
413
|
+
flags |= 0b000000000100;
|
|
414
|
+
}
|
|
415
|
+
if (permissions.modifying) {
|
|
416
|
+
flags |= 0b000000001000;
|
|
417
|
+
}
|
|
418
|
+
if (permissions.copying) {
|
|
419
|
+
flags |= 0b000000010000;
|
|
420
|
+
}
|
|
421
|
+
if (permissions.annotating) {
|
|
422
|
+
flags |= 0b000000100000;
|
|
423
|
+
}
|
|
424
|
+
return flags;
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Get Permission Flag for use Encryption Dictionary (Key: P)
|
|
429
|
+
* For Security Handler revision 2
|
|
430
|
+
*
|
|
431
|
+
* Only bit position 3,4,5,6,9,10,11 and 12 is meaningful
|
|
432
|
+
* Refer Table 22 - User access permission
|
|
433
|
+
* @param {permissions} {@link UserPermissions}
|
|
434
|
+
* @returns number - Representing unsigned 32-bit integer
|
|
435
|
+
*/
|
|
436
|
+
const getPermissionsR3 = (permissions: UserPermissions = {}) => {
|
|
437
|
+
let flags = 0xfffff0c0 >> 0;
|
|
438
|
+
if (permissions.printing === 'lowResolution' || permissions.printing) {
|
|
439
|
+
flags |= 0b000000000100;
|
|
440
|
+
}
|
|
441
|
+
if (permissions.printing === 'highResolution') {
|
|
442
|
+
flags |= 0b100000000100;
|
|
443
|
+
}
|
|
444
|
+
if (permissions.modifying) {
|
|
445
|
+
flags |= 0b000000001000;
|
|
446
|
+
}
|
|
447
|
+
if (permissions.copying) {
|
|
448
|
+
flags |= 0b000000010000;
|
|
449
|
+
}
|
|
450
|
+
if (permissions.annotating) {
|
|
451
|
+
flags |= 0b000000100000;
|
|
452
|
+
}
|
|
453
|
+
if (permissions.fillingForms) {
|
|
454
|
+
flags |= 0b000100000000;
|
|
455
|
+
}
|
|
456
|
+
if (permissions.contentAccessibility) {
|
|
457
|
+
flags |= 0b001000000000;
|
|
458
|
+
}
|
|
459
|
+
if (permissions.documentAssembly) {
|
|
460
|
+
flags |= 0b010000000000;
|
|
461
|
+
}
|
|
462
|
+
return flags;
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
const getUserPasswordR2 = (encryptionKey: CryptoJS.lib.WordArray) =>
|
|
466
|
+
CryptoJS.RC4.encrypt(processPasswordR2R3R4(), encryptionKey).ciphertext;
|
|
467
|
+
|
|
468
|
+
const getUserPasswordR3R4 = (
|
|
469
|
+
documentId: Uint8Array,
|
|
470
|
+
encryptionKey: WordArray,
|
|
471
|
+
) => {
|
|
472
|
+
const key = encryptionKey.clone();
|
|
473
|
+
let cipher = CryptoJS.MD5(
|
|
474
|
+
processPasswordR2R3R4().concat(
|
|
475
|
+
CryptoJS.lib.WordArray.create(documentId as unknown as number[]),
|
|
476
|
+
),
|
|
477
|
+
);
|
|
478
|
+
for (let i = 0; i < 20; i++) {
|
|
479
|
+
const xorRound = Math.ceil(key.sigBytes / 4);
|
|
480
|
+
for (let j = 0; j < xorRound; j++) {
|
|
481
|
+
key.words[j] =
|
|
482
|
+
encryptionKey.words[j] ^ (i | (i << 8) | (i << 16) | (i << 24));
|
|
483
|
+
}
|
|
484
|
+
cipher = CryptoJS.RC4.encrypt(cipher, key).ciphertext;
|
|
485
|
+
}
|
|
486
|
+
return cipher.concat(
|
|
487
|
+
CryptoJS.lib.WordArray.create(null as unknown as undefined, 16),
|
|
488
|
+
);
|
|
489
|
+
};
|
|
490
|
+
|
|
491
|
+
const getOwnerPasswordR2R3R4 = (
|
|
492
|
+
r: Revision,
|
|
493
|
+
keyBits: KeyBits,
|
|
494
|
+
paddedUserPassword: WordArray,
|
|
495
|
+
paddedOwnerPassword: WordArray,
|
|
496
|
+
): CryptoJS.lib.WordArray => {
|
|
497
|
+
let digest = paddedOwnerPassword;
|
|
498
|
+
let round = r >= 3 ? 51 : 1;
|
|
499
|
+
for (let i = 0; i < round; i++) {
|
|
500
|
+
digest = CryptoJS.MD5(digest);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
const key = digest.clone();
|
|
504
|
+
key.sigBytes = keyBits / 8;
|
|
505
|
+
let cipher = paddedUserPassword;
|
|
506
|
+
round = r >= 3 ? 20 : 1;
|
|
507
|
+
for (let i = 0; i < round; i++) {
|
|
508
|
+
const xorRound = Math.ceil(key.sigBytes / 4);
|
|
509
|
+
for (let j = 0; j < xorRound; j++) {
|
|
510
|
+
key.words[j] = digest.words[j] ^ (i | (i << 8) | (i << 16) | (i << 24));
|
|
511
|
+
}
|
|
512
|
+
cipher = CryptoJS.RC4.encrypt(cipher, key).ciphertext;
|
|
513
|
+
}
|
|
514
|
+
return cipher;
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
const getEncryptionKeyR2R3R4 = (
|
|
518
|
+
r: Revision,
|
|
519
|
+
keyBits: KeyBits,
|
|
520
|
+
documentId: Uint8Array,
|
|
521
|
+
paddedUserPassword: WordArray,
|
|
522
|
+
ownerPasswordEntry: WordArray,
|
|
523
|
+
permissions: number,
|
|
524
|
+
): WordArray => {
|
|
525
|
+
let key = paddedUserPassword
|
|
526
|
+
.clone()
|
|
527
|
+
.concat(ownerPasswordEntry)
|
|
528
|
+
.concat(CryptoJS.lib.WordArray.create([lsbFirstWord(permissions)], 4))
|
|
529
|
+
.concat(CryptoJS.lib.WordArray.create(documentId as unknown as number[]));
|
|
530
|
+
const round = r >= 3 ? 51 : 1;
|
|
531
|
+
for (let i = 0; i < round; i++) {
|
|
532
|
+
key = CryptoJS.MD5(key);
|
|
533
|
+
key.sigBytes = keyBits / 8;
|
|
534
|
+
}
|
|
535
|
+
return key;
|
|
536
|
+
};
|
|
537
|
+
|
|
538
|
+
const getUserPasswordR5 = (
|
|
539
|
+
processedUserPassword: WordArray,
|
|
540
|
+
randomWordArrayGenerator: RandomWordArrayGenerator,
|
|
541
|
+
) => {
|
|
542
|
+
const validationSalt = randomWordArrayGenerator(8);
|
|
543
|
+
const keySalt = randomWordArrayGenerator(8);
|
|
544
|
+
return CryptoJS.SHA256(processedUserPassword.clone().concat(validationSalt))
|
|
545
|
+
.concat(validationSalt)
|
|
546
|
+
.concat(keySalt);
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
const getUserEncryptionKeyR5 = (
|
|
550
|
+
processedUserPassword: WordArray,
|
|
551
|
+
userKeySalt: WordArray,
|
|
552
|
+
encryptionKey: WordArray,
|
|
553
|
+
) => {
|
|
554
|
+
const key = CryptoJS.SHA256(
|
|
555
|
+
processedUserPassword.clone().concat(userKeySalt),
|
|
556
|
+
);
|
|
557
|
+
const options = {
|
|
558
|
+
mode: CryptoJS.mode.CBC,
|
|
559
|
+
padding: CryptoJS.pad.NoPadding,
|
|
560
|
+
iv: CryptoJS.lib.WordArray.create(null as unknown as undefined, 16),
|
|
561
|
+
};
|
|
562
|
+
return CryptoJS.AES.encrypt(encryptionKey, key, options).ciphertext;
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
const getOwnerPasswordR5 = (
|
|
566
|
+
processedOwnerPassword: WordArray,
|
|
567
|
+
userPasswordEntry: WordArray,
|
|
568
|
+
randomWordArrayGenerator: RandomWordArrayGenerator,
|
|
569
|
+
) => {
|
|
570
|
+
const validationSalt = randomWordArrayGenerator(8);
|
|
571
|
+
const keySalt = randomWordArrayGenerator(8);
|
|
572
|
+
return CryptoJS.SHA256(
|
|
573
|
+
processedOwnerPassword
|
|
574
|
+
.clone()
|
|
575
|
+
.concat(validationSalt)
|
|
576
|
+
.concat(userPasswordEntry),
|
|
577
|
+
)
|
|
578
|
+
.concat(validationSalt)
|
|
579
|
+
.concat(keySalt);
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
const getOwnerEncryptionKeyR5 = (
|
|
583
|
+
processedOwnerPassword: WordArray,
|
|
584
|
+
ownerKeySalt: WordArray,
|
|
585
|
+
userPasswordEntry: WordArray,
|
|
586
|
+
encryptionKey: WordArray,
|
|
587
|
+
) => {
|
|
588
|
+
const key = CryptoJS.SHA256(
|
|
589
|
+
processedOwnerPassword
|
|
590
|
+
.clone()
|
|
591
|
+
.concat(ownerKeySalt)
|
|
592
|
+
.concat(userPasswordEntry),
|
|
593
|
+
);
|
|
594
|
+
const options = {
|
|
595
|
+
mode: CryptoJS.mode.CBC,
|
|
596
|
+
padding: CryptoJS.pad.NoPadding,
|
|
597
|
+
iv: CryptoJS.lib.WordArray.create(null as unknown as undefined, 16),
|
|
598
|
+
};
|
|
599
|
+
return CryptoJS.AES.encrypt(encryptionKey, key, options).ciphertext;
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
const getEncryptionKeyR5 = (
|
|
603
|
+
randomWordArrayGenerator: RandomWordArrayGenerator,
|
|
604
|
+
) => randomWordArrayGenerator(32);
|
|
605
|
+
|
|
606
|
+
const getEncryptedPermissionsR5 = (
|
|
607
|
+
permissions: number,
|
|
608
|
+
encryptionKey: WordArray,
|
|
609
|
+
randomWordArrayGenerator: RandomWordArrayGenerator,
|
|
610
|
+
) => {
|
|
611
|
+
const cipher = CryptoJS.lib.WordArray.create(
|
|
612
|
+
[lsbFirstWord(permissions), 0xffffffff, 0x54616462],
|
|
613
|
+
12,
|
|
614
|
+
).concat(randomWordArrayGenerator(4));
|
|
615
|
+
const options = {
|
|
616
|
+
mode: CryptoJS.mode.ECB,
|
|
617
|
+
padding: CryptoJS.pad.NoPadding,
|
|
618
|
+
};
|
|
619
|
+
return CryptoJS.AES.encrypt(cipher, encryptionKey, options).ciphertext;
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
const processPasswordR2R3R4 = (password = '') => {
|
|
623
|
+
const out = new Uint8Array(32);
|
|
624
|
+
const length = password.length;
|
|
625
|
+
let index = 0;
|
|
626
|
+
while (index < length && index < 32) {
|
|
627
|
+
const code = password.charCodeAt(index);
|
|
628
|
+
if (code > 0xff) {
|
|
629
|
+
throw new Error('Password contains one or more invalid characters.');
|
|
630
|
+
}
|
|
631
|
+
out[index] = code;
|
|
632
|
+
index++;
|
|
633
|
+
}
|
|
634
|
+
while (index < 32) {
|
|
635
|
+
out[index] = PASSWORD_PADDING[index - length];
|
|
636
|
+
index++;
|
|
637
|
+
}
|
|
638
|
+
return CryptoJS.lib.WordArray.create(out as unknown as number[]);
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
const processPasswordR5 = (password = '') => {
|
|
642
|
+
// NOTE: Removed this line to eliminate need for the saslprep dependency.
|
|
643
|
+
// Probably worth investigating the cases that would be impacted by this.
|
|
644
|
+
// password = unescape(encodeURIComponent(saslprep(password)));
|
|
645
|
+
|
|
646
|
+
const length = Math.min(127, password.length);
|
|
647
|
+
const out = new Uint8Array(length);
|
|
648
|
+
|
|
649
|
+
for (let i = 0; i < length; i++) {
|
|
650
|
+
out[i] = password.charCodeAt(i);
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
return CryptoJS.lib.WordArray.create(out as unknown as number[]);
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
const lsbFirstWord = (data: number): number =>
|
|
657
|
+
((data & 0xff) << 24) |
|
|
658
|
+
((data & 0xff00) << 8) |
|
|
659
|
+
((data >> 8) & 0xff00) |
|
|
660
|
+
((data >> 24) & 0xff);
|
|
661
|
+
|
|
662
|
+
const wordArrayToBuffer = (wordArray: WordArray): Uint8Array => {
|
|
663
|
+
const byteArray = [];
|
|
664
|
+
for (let i = 0; i < wordArray.sigBytes; i++) {
|
|
665
|
+
byteArray.push(
|
|
666
|
+
(wordArray.words[Math.floor(i / 4)] >> (8 * (3 - (i % 4)))) & 0xff,
|
|
667
|
+
);
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
return Uint8Array.from(byteArray);
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
/*
|
|
674
|
+
7.6.3.3 Encryption Key Algorithm
|
|
675
|
+
Algorithm 2
|
|
676
|
+
Password Padding to pad or truncate
|
|
677
|
+
the password to exactly 32 bytes
|
|
678
|
+
*/
|
|
679
|
+
const PASSWORD_PADDING = [
|
|
680
|
+
0x28, 0xbf, 0x4e, 0x5e, 0x4e, 0x75, 0x8a, 0x41, 0x64, 0x00, 0x4e, 0x56, 0xff,
|
|
681
|
+
0xfa, 0x01, 0x08, 0x2e, 0x2e, 0x00, 0xb6, 0xd0, 0x68, 0x3e, 0x80, 0x2f, 0x0c,
|
|
682
|
+
0xa9, 0xfe, 0x64, 0x53, 0x69, 0x7a,
|
|
683
|
+
];
|
|
684
|
+
|
|
685
|
+
export default PDFSecurity;
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* under the Apache 2.0 open source license.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import DecodeStream from '
|
|
10
|
-
import { StreamType } from '
|
|
9
|
+
import DecodeStream from './DecodeStream';
|
|
10
|
+
import { StreamType } from './Stream';
|
|
11
11
|
|
|
12
12
|
const isSpace = (ch: number) =>
|
|
13
13
|
ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;
|