@pdfme/pdf-lib 1.17.3 → 1.18.3
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 +43 -23
- package/cjs/api/PDFDocument.d.ts +11 -11
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +368 -539
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFDocumentOptions.d.ts +3 -2
- package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.d.ts +4 -4
- package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.js +48 -63
- 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 +34 -47
- package/cjs/api/PDFEmbeddedPage.js.map +1 -1
- package/cjs/api/PDFFont.d.ts +3 -3
- package/cjs/api/PDFFont.d.ts.map +1 -1
- package/cjs/api/PDFFont.js +46 -58
- package/cjs/api/PDFFont.js.map +1 -1
- package/cjs/api/PDFImage.d.ts +3 -3
- package/cjs/api/PDFImage.d.ts.map +1 -1
- package/cjs/api/PDFImage.js +49 -63
- 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 +37 -52
- package/cjs/api/PDFJavaScript.js.map +1 -1
- package/cjs/api/PDFPage.d.ts +21 -9
- package/cjs/api/PDFPage.d.ts.map +1 -1
- package/cjs/api/PDFPage.js +447 -426
- package/cjs/api/PDFPage.js.map +1 -1
- package/cjs/api/PDFPageOptions.d.ts +29 -12
- package/cjs/api/PDFPageOptions.d.ts.map +1 -1
- package/cjs/api/PDFPageOptions.js.map +1 -1
- package/cjs/api/colors.d.ts +4 -0
- package/cjs/api/colors.d.ts.map +1 -1
- package/cjs/api/colors.js +52 -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 +6 -6
- 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 +218 -217
- 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 +11 -11
- package/cjs/api/form/appearances.d.ts.map +1 -1
- package/cjs/api/form/appearances.js +297 -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 +12 -11
- 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 +2 -2
- package/cjs/api/image/index.js.map +1 -1
- package/cjs/api/index.d.ts +20 -20
- package/cjs/api/index.d.ts.map +1 -1
- package/cjs/api/index.js +21 -20
- 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 +20 -4
- package/cjs/api/operations.d.ts.map +1 -1
- package/cjs/api/operations.js +383 -347
- 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 +1 -1
- package/cjs/api/rotations.d.ts.map +1 -1
- package/cjs/api/rotations.js +31 -30
- package/cjs/api/rotations.js.map +1 -1
- package/cjs/api/svg.d.ts +71 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +654 -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 +3 -3
- 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 +17 -16
- package/cjs/core/PDFContext.d.ts.map +1 -1
- package/cjs/core/PDFContext.js +93 -101
- 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 +17 -16
- package/cjs/core/acroform/index.js.map +1 -1
- package/cjs/core/acroform/utils.d.ts +4 -4
- 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 +6 -5
- 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 +1619 -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.js +18 -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 +1 -1
- 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 +126 -183
- 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 +39 -52
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/cjs/core/embedders/FileEmbedder.d.ts +2 -2
- package/cjs/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/FileEmbedder.js +39 -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 +20 -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 +62 -74
- 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 +53 -63
- 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 +29 -42
- package/cjs/core/embedders/PngEmbedder.js.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.js +46 -50
- 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 +47 -47
- package/cjs/core/index.d.ts.map +1 -1
- package/cjs/core/index.js +48 -47
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
- 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 +12 -11
- package/cjs/core/objects/PDFDict.d.ts.map +1 -1
- package/cjs/core/objects/PDFDict.js +74 -86
- package/cjs/core/objects/PDFDict.js.map +1 -1
- package/cjs/core/objects/PDFHexString.d.ts +1 -1
- package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
- package/cjs/core/objects/PDFHexString.js +49 -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 +11 -14
- package/cjs/core/objects/PDFObject.js.map +1 -1
- package/cjs/core/objects/PDFRawStream.d.ts +6 -4
- package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFRawStream.js +21 -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 +3 -3
- package/cjs/core/objects/PDFStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFStream.js +32 -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 +7 -7
- 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 +22 -20
- 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 +2 -2
- package/cjs/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.js +41 -61
- package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/cjs/core/parser/PDFParser.d.ts +5 -4
- package/cjs/core/parser/PDFParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFParser.js +157 -219
- 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/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 +37 -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 +81 -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 +24 -21
- 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 +4 -4
- 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 +3 -3
- package/cjs/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFFlateStream.js +21 -24
- package/cjs/core/structures/PDFFlateStream.js.map +1 -1
- package/cjs/core/structures/PDFObjectStream.d.ts +4 -4
- 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 +6 -6
- 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 +6 -6
- package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +74 -107
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/cjs/core/writers/PDFWriter.d.ts +12 -9
- package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFWriter.js +87 -127
- 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 +2 -1
- package/cjs/utils/arrays.d.ts.map +1 -1
- package/cjs/utils/arrays.js +83 -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 +13 -12
- 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 +255 -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 +84 -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.js +84 -67
- package/cjs/utils/validators.js.map +1 -1
- package/dist/pdf-lib.esm.js +11480 -7021
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +1 -15
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +11481 -7019
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +1 -15
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/Embeddable.js +1 -0
- package/es/api/PDFDocument.d.ts +11 -11
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +346 -519
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFDocumentOptions.d.ts +3 -2
- package/es/api/PDFDocumentOptions.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.d.ts +4 -4
- package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.js +48 -64
- 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 +29 -44
- package/es/api/PDFEmbeddedPage.js.map +1 -1
- package/es/api/PDFFont.d.ts +3 -3
- package/es/api/PDFFont.d.ts.map +1 -1
- package/es/api/PDFFont.js +36 -50
- package/es/api/PDFFont.js.map +1 -1
- package/es/api/PDFImage.d.ts +3 -3
- package/es/api/PDFImage.d.ts.map +1 -1
- package/es/api/PDFImage.js +42 -58
- 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 +37 -53
- package/es/api/PDFJavaScript.js.map +1 -1
- package/es/api/PDFPage.d.ts +21 -9
- package/es/api/PDFPage.d.ts.map +1 -1
- package/es/api/PDFPage.js +279 -260
- package/es/api/PDFPage.js.map +1 -1
- package/es/api/PDFPageOptions.d.ts +29 -12
- package/es/api/PDFPageOptions.d.ts.map +1 -1
- package/es/api/PDFPageOptions.js.map +1 -1
- package/es/api/colors.d.ts +4 -0
- package/es/api/colors.d.ts.map +1 -1
- package/es/api/colors.js +34 -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 +6 -6
- 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 +195 -196
- 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 +11 -11
- package/es/api/form/appearances.d.ts.map +1 -1
- package/es/api/form/appearances.js +285 -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 +20 -20
- package/es/api/index.d.ts.map +1 -1
- package/es/api/index.js +19 -19
- 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 +20 -4
- package/es/api/operations.d.ts.map +1 -1
- package/es/api/operations.js +229 -210
- 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 +1 -1
- package/es/api/rotations.d.ts.map +1 -1
- package/es/api/rotations.js +20 -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/svg.d.ts +71 -0
- package/es/api/svg.d.ts.map +1 -0
- package/es/api/svg.js +650 -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 +17 -16
- package/es/core/PDFContext.d.ts.map +1 -1
- package/es/core/PDFContext.js +90 -99
- 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 +4 -4
- 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 +1605 -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.js +15 -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 +1 -1
- 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 +124 -182
- 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 -51
- package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/es/core/embedders/FileEmbedder.d.ts +2 -2
- package/es/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/es/core/embedders/FileEmbedder.js +38 -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 +19 -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 +62 -74
- 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 +51 -62
- 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 +29 -42
- package/es/core/embedders/PngEmbedder.js.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.js +43 -47
- 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 +47 -47
- package/es/core/index.d.ts.map +1 -1
- package/es/core/index.js +47 -47
- package/es/core/index.js.map +1 -1
- package/es/core/interactive/ViewerPreferences.d.ts +6 -6
- 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 +12 -11
- package/es/core/objects/PDFDict.d.ts.map +1 -1
- package/es/core/objects/PDFDict.js +73 -86
- package/es/core/objects/PDFDict.js.map +1 -1
- package/es/core/objects/PDFHexString.d.ts +1 -1
- package/es/core/objects/PDFHexString.d.ts.map +1 -1
- package/es/core/objects/PDFHexString.js +44 -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 +82 -91
- 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 +21 -25
- 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 +11 -14
- package/es/core/objects/PDFObject.js.map +1 -1
- package/es/core/objects/PDFRawStream.d.ts +6 -4
- package/es/core/objects/PDFRawStream.d.ts.map +1 -1
- package/es/core/objects/PDFRawStream.js +19 -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 +29 -35
- package/es/core/objects/PDFRef.js.map +1 -1
- package/es/core/objects/PDFStream.d.ts +3 -3
- package/es/core/objects/PDFStream.d.ts.map +1 -1
- package/es/core/objects/PDFStream.js +31 -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 +7 -7
- 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 +22 -20
- 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 +2 -2
- package/es/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.js +40 -61
- package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/es/core/parser/PDFParser.d.ts +5 -4
- package/es/core/parser/PDFParser.d.ts.map +1 -1
- package/es/core/parser/PDFParser.js +156 -219
- 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/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 +34 -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 +80 -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 +22 -20
- 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 +4 -4
- 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 +3 -3
- package/es/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/es/core/structures/PDFFlateStream.js +19 -23
- package/es/core/structures/PDFFlateStream.js.map +1 -1
- package/es/core/structures/PDFObjectStream.d.ts +4 -4
- 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 +6 -6
- 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 +6 -6
- package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +73 -107
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/es/core/writers/PDFWriter.d.ts +12 -9
- package/es/core/writers/PDFWriter.d.ts.map +1 -1
- package/es/core/writers/PDFWriter.js +86 -127
- 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 +2 -1
- package/es/utils/arrays.d.ts.map +1 -1
- package/es/utils/arrays.js +65 -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 +245 -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 +62 -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.js +38 -38
- package/es/utils/validators.js.map +1 -1
- package/package.json +29 -20
- package/src/api/PDFDocument.ts +48 -21
- package/src/api/PDFDocumentOptions.ts +3 -2
- package/src/api/PDFEmbeddedFile.ts +4 -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 +66 -19
- package/src/api/PDFPageOptions.ts +28 -12
- package/src/api/colors.ts +12 -2
- 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 +46 -38
- 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 +13 -13
- package/src/api/form/appearances.ts +40 -48
- package/src/api/form/index.ts +10 -10
- package/src/api/image/index.ts +1 -1
- package/src/api/index.ts +20 -20
- package/src/api/objects.ts +1 -1
- package/src/api/operations.ts +55 -12
- package/src/api/operators.ts +10 -3
- package/src/api/rotations.ts +1 -1
- package/src/api/svg.ts +937 -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 +20 -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 -11
- 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 +1989 -0
- package/src/core/document/PDFCrossRefSection.ts +3 -3
- package/src/core/document/PDFHeader.ts +2 -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 +11 -4
- package/src/core/embedders/FileEmbedder.ts +4 -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 +13 -13
- package/src/core/embedders/PngEmbedder.ts +3 -3
- package/src/core/embedders/StandardFontEmbedder.ts +4 -4
- package/src/core/errors.ts +2 -2
- package/src/core/index.ts +47 -47
- package/src/core/interactive/ViewerPreferences.ts +7 -7
- package/src/core/objects/PDFArray.ts +14 -14
- package/src/core/objects/PDFBool.ts +3 -3
- package/src/core/objects/PDFDict.ts +14 -12
- package/src/core/objects/PDFHexString.ts +4 -4
- package/src/core/objects/PDFInvalidObject.ts +1 -1
- package/src/core/objects/PDFName.ts +5 -5
- package/src/core/objects/PDFNull.ts +2 -2
- package/src/core/objects/PDFNumber.ts +2 -2
- package/src/core/objects/PDFObject.ts +2 -2
- package/src/core/objects/PDFRawStream.ts +17 -7
- package/src/core/objects/PDFRef.ts +3 -3
- package/src/core/objects/PDFStream.ts +7 -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 +37 -22
- package/src/core/parser/PDFXRefStreamParser.ts +9 -9
- 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 +2 -2
- package/src/core/streams/LZWStream.ts +3 -3
- package/src/core/streams/RunLengthStream.ts +2 -2
- package/src/core/streams/decode.ts +22 -17
- 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 +5 -5
- 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 +13 -13
- package/src/core/writers/PDFWriter.ts +13 -19
- package/src/index.ts +4 -4
- package/src/types/index.ts +38 -1
- package/src/utils/arrays.ts +14 -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 +282 -0
- package/src/utils/maths.ts +108 -0
- package/src/utils/pdfDocEncoding.ts +1 -1
- package/src/utils/strings.ts +8 -1
- package/src/utils/unicode.ts +1 -1
- package/src/utils/validators.ts +1 -1
- package/ts3.4/cjs/api/PDFDocument.d.ts +11 -11
- package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +3 -2
- package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +4 -4
- package/ts3.4/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFFont.d.ts +3 -3
- package/ts3.4/cjs/api/PDFImage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/cjs/api/PDFPage.d.ts +21 -9
- package/ts3.4/cjs/api/PDFPageOptions.d.ts +29 -12
- package/ts3.4/cjs/api/colors.d.ts +4 -0
- 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 +6 -6
- 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 +11 -11
- 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 +20 -20
- package/ts3.4/cjs/api/objects.d.ts +1 -1
- package/ts3.4/cjs/api/operations.d.ts +20 -4
- package/ts3.4/cjs/api/operators.d.ts +6 -1
- package/ts3.4/cjs/api/rotations.d.ts +1 -1
- package/ts3.4/cjs/api/svg.d.ts +71 -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 +17 -16
- 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 +5 -5
- 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 +4 -4
- 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/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/CMap.d.ts +1 -1
- 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 +2 -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 +3 -3
- package/ts3.4/cjs/core/errors.d.ts +1 -1
- package/ts3.4/cjs/core/index.d.ts +47 -47
- package/ts3.4/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
- 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 +12 -11
- package/ts3.4/cjs/core/objects/PDFHexString.d.ts +1 -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 +6 -4
- package/ts3.4/cjs/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFStream.d.ts +3 -3
- package/ts3.4/cjs/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/cjs/core/operators/PDFOperator.d.ts +7 -7
- 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 +22 -20
- package/ts3.4/cjs/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/ts3.4/cjs/core/parser/PDFParser.d.ts +5 -4
- package/ts3.4/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- 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 +4 -4
- package/ts3.4/cjs/core/structures/PDFFlateStream.d.ts +3 -3
- package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +6 -6
- package/ts3.4/cjs/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +6 -6
- package/ts3.4/cjs/core/writers/PDFWriter.d.ts +8 -8
- package/ts3.4/cjs/index.d.ts +4 -4
- package/ts3.4/cjs/types/index.d.ts +25 -1
- package/ts3.4/cjs/utils/arrays.d.ts +2 -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 +1 -0
- package/ts3.4/es/api/PDFDocument.d.ts +11 -11
- package/ts3.4/es/api/PDFDocumentOptions.d.ts +3 -2
- package/ts3.4/es/api/PDFEmbeddedFile.d.ts +4 -4
- package/ts3.4/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/es/api/PDFFont.d.ts +3 -3
- package/ts3.4/es/api/PDFImage.d.ts +3 -3
- package/ts3.4/es/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/es/api/PDFPage.d.ts +21 -9
- package/ts3.4/es/api/PDFPageOptions.d.ts +29 -12
- package/ts3.4/es/api/colors.d.ts +4 -0
- 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 +6 -6
- 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 +11 -11
- 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 +20 -20
- package/ts3.4/es/api/objects.d.ts +1 -1
- package/ts3.4/es/api/operations.d.ts +20 -4
- package/ts3.4/es/api/operators.d.ts +6 -1
- package/ts3.4/es/api/rotations.d.ts +1 -1
- package/ts3.4/es/api/svg.d.ts +71 -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 +17 -16
- 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 +5 -5
- 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 +4 -4
- 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/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/es/core/embedders/CMap.d.ts +1 -1
- 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 +2 -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 +3 -3
- package/ts3.4/es/core/errors.d.ts +1 -1
- package/ts3.4/es/core/index.d.ts +47 -47
- package/ts3.4/es/core/interactive/ViewerPreferences.d.ts +6 -6
- 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 +12 -11
- package/ts3.4/es/core/objects/PDFHexString.d.ts +1 -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 +6 -4
- package/ts3.4/es/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFStream.d.ts +3 -3
- package/ts3.4/es/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/es/core/operators/PDFOperator.d.ts +7 -7
- 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 +22 -20
- package/ts3.4/es/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/ts3.4/es/core/parser/PDFParser.d.ts +5 -4
- package/ts3.4/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- 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 +4 -4
- package/ts3.4/es/core/structures/PDFFlateStream.d.ts +3 -3
- package/ts3.4/es/core/structures/PDFObjectStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/es/core/structures/PDFPageTree.d.ts +6 -6
- package/ts3.4/es/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +6 -6
- package/ts3.4/es/core/writers/PDFWriter.d.ts +8 -8
- package/ts3.4/es/index.d.ts +4 -4
- package/ts3.4/es/types/index.d.ts +25 -1
- package/ts3.4/es/utils/arrays.d.ts +2 -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 +1 -0
- package/yarn.lock +0 -4408
package/es/api/PDFDocument.js
CHANGED
|
@@ -1,48 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
1
|
+
import { EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, } from './errors.js';
|
|
2
|
+
import PDFEmbeddedPage from './PDFEmbeddedPage.js';
|
|
3
|
+
import PDFFont from './PDFFont.js';
|
|
4
|
+
import PDFImage from './PDFImage.js';
|
|
5
|
+
import PDFPage from './PDFPage.js';
|
|
6
|
+
import PDFForm from './form/PDFForm.js';
|
|
7
|
+
import { PageSizes } from './sizes.js';
|
|
8
|
+
import { CustomFontEmbedder, CustomFontSubsetEmbedder, JpegEmbedder, PageEmbeddingMismatchedContextError, PDFArray, PDFCatalog, PDFContext, PDFDict, PDFHexString, PDFName, PDFObjectCopier, PDFPageEmbedder, PDFPageLeaf, PDFPageTree, PDFParser, PDFStreamWriter, PDFString, PDFWriter, PngEmbedder, StandardFontEmbedder, UnexpectedObjectTypeError, } from '../core/index.js';
|
|
9
|
+
import { ParseSpeeds, } from './PDFDocumentOptions.js';
|
|
10
|
+
import { assertIs, assertIsOneOfOrUndefined, assertOrUndefined, assertRange, Cache, canBeConvertedToUint8Array, encodeToBase64, isStandardFont, pluckIndices, range, toUint8Array, } from '../utils/index.js';
|
|
11
|
+
import FileEmbedder, { AFRelationship } from '../core/embedders/FileEmbedder.js';
|
|
12
|
+
import PDFEmbeddedFile from './PDFEmbeddedFile.js';
|
|
13
|
+
import PDFJavaScript from './PDFJavaScript.js';
|
|
14
|
+
import JavaScriptEmbedder from '../core/embedders/JavaScriptEmbedder.js';
|
|
15
|
+
import { CipherTransformFactory } from '../core/crypto.js';
|
|
16
16
|
/**
|
|
17
17
|
* Represents a PDF document.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var _this = this;
|
|
19
|
+
export default class PDFDocument {
|
|
20
|
+
constructor(context, ignoreEncryption, updateMetadata) {
|
|
22
21
|
/** The default word breaks used in PDFPage.drawText */
|
|
23
22
|
this.defaultWordBreaks = [' '];
|
|
24
|
-
this.computePages =
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
this.computePages = () => {
|
|
24
|
+
const pages = [];
|
|
25
|
+
this.catalog.Pages().traverse((node, ref) => {
|
|
27
26
|
if (node instanceof PDFPageLeaf) {
|
|
28
|
-
|
|
27
|
+
let page = this.pageMap.get(node);
|
|
29
28
|
if (!page) {
|
|
30
|
-
page = PDFPage.of(node, ref,
|
|
31
|
-
|
|
29
|
+
page = PDFPage.of(node, ref, this);
|
|
30
|
+
this.pageMap.set(node, page);
|
|
32
31
|
}
|
|
33
32
|
pages.push(page);
|
|
34
33
|
}
|
|
35
34
|
});
|
|
36
35
|
return pages;
|
|
37
36
|
};
|
|
38
|
-
this.getOrCreateForm =
|
|
39
|
-
|
|
40
|
-
return PDFForm.of(acroForm,
|
|
37
|
+
this.getOrCreateForm = () => {
|
|
38
|
+
const acroForm = this.catalog.getOrCreateAcroForm();
|
|
39
|
+
return PDFForm.of(acroForm, this);
|
|
41
40
|
};
|
|
42
41
|
assertIs(context, 'context', [[PDFContext, 'PDFContext']]);
|
|
43
42
|
assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
|
|
44
43
|
this.context = context;
|
|
45
44
|
this.catalog = context.lookup(context.trailerInfo.Root);
|
|
45
|
+
if (!!context.lookup(context.trailerInfo.Encrypt) && context.isDecrypted) {
|
|
46
|
+
// context.delete(context.trailerInfo.Encrypt);
|
|
47
|
+
delete context.trailerInfo.Encrypt;
|
|
48
|
+
}
|
|
46
49
|
this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);
|
|
47
50
|
this.pageCache = Cache.populatedBy(this.computePages);
|
|
48
51
|
this.pageMap = new Map();
|
|
@@ -109,46 +112,39 @@ var PDFDocument = /** @class */ (function () {
|
|
|
109
112
|
* @param options The options to be used when loading the document.
|
|
110
113
|
* @returns Resolves with a document loaded from the input.
|
|
111
114
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
};
|
|
115
|
+
static async load(pdf, options = {}) {
|
|
116
|
+
const { ignoreEncryption = false, parseSpeed = ParseSpeeds.Slow, throwOnInvalidObject = false, updateMetadata = true, capNumbers = false, password, } = options;
|
|
117
|
+
assertIs(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);
|
|
118
|
+
assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
|
|
119
|
+
assertIs(parseSpeed, 'parseSpeed', ['number']);
|
|
120
|
+
assertIs(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);
|
|
121
|
+
assertIs(password, 'password', ['string', 'undefined']);
|
|
122
|
+
const bytes = toUint8Array(pdf);
|
|
123
|
+
const context = await PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument();
|
|
124
|
+
if (!!context.lookup(context.trailerInfo.Encrypt) && password !== undefined) {
|
|
125
|
+
// Decrypt
|
|
126
|
+
const fileIds = context.lookup(context.trailerInfo.ID, PDFArray);
|
|
127
|
+
const encryptDict = context.lookup(context.trailerInfo.Encrypt, PDFDict);
|
|
128
|
+
const decryptedContext = await PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers, new CipherTransformFactory(encryptDict, fileIds.get(0).asBytes(), password)).parseDocument();
|
|
129
|
+
return new PDFDocument(decryptedContext, true, updateMetadata);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return new PDFDocument(context, ignoreEncryption, updateMetadata);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
133
135
|
/**
|
|
134
136
|
* Create a new [[PDFDocument]].
|
|
135
137
|
* @returns Resolves with the newly created document.
|
|
136
138
|
*/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
catalog = PDFCatalog.withContextAndPages(context, pageTreeRef);
|
|
147
|
-
context.trailerInfo.Root = context.register(catalog);
|
|
148
|
-
return [2 /*return*/, new PDFDocument(context, false, updateMetadata)];
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
};
|
|
139
|
+
static async create(options = {}) {
|
|
140
|
+
const { updateMetadata = true } = options;
|
|
141
|
+
const context = PDFContext.create();
|
|
142
|
+
const pageTree = PDFPageTree.withContext(context);
|
|
143
|
+
const pageTreeRef = context.register(pageTree);
|
|
144
|
+
const catalog = PDFCatalog.withContextAndPages(context, pageTreeRef);
|
|
145
|
+
context.trailerInfo.Root = context.register(catalog);
|
|
146
|
+
return new PDFDocument(context, false, updateMetadata);
|
|
147
|
+
}
|
|
152
148
|
/**
|
|
153
149
|
* Register a fontkit instance. This must be done before custom fonts can
|
|
154
150
|
* be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation)
|
|
@@ -167,9 +163,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
167
163
|
*
|
|
168
164
|
* @param fontkit The fontkit instance to be registered.
|
|
169
165
|
*/
|
|
170
|
-
|
|
166
|
+
registerFontkit(fontkit) {
|
|
171
167
|
this.fontkit = fontkit;
|
|
172
|
-
}
|
|
168
|
+
}
|
|
173
169
|
/**
|
|
174
170
|
* Get the [[PDFForm]] containing all interactive fields for this document.
|
|
175
171
|
* For example:
|
|
@@ -184,14 +180,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
184
180
|
* ```
|
|
185
181
|
* @returns The form for this document.
|
|
186
182
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
183
|
+
getForm() {
|
|
184
|
+
const form = this.formCache.access();
|
|
189
185
|
if (form.hasXFA()) {
|
|
190
186
|
console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA');
|
|
191
187
|
form.deleteXFA();
|
|
192
188
|
}
|
|
193
189
|
return form;
|
|
194
|
-
}
|
|
190
|
+
}
|
|
195
191
|
/**
|
|
196
192
|
* Get this document's title metadata. The title appears in the
|
|
197
193
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -200,13 +196,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
200
196
|
* ```
|
|
201
197
|
* @returns A string containing the title of this document, if it has one.
|
|
202
198
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
199
|
+
getTitle() {
|
|
200
|
+
const title = this.getInfoDict().lookup(PDFName.Title);
|
|
205
201
|
if (!title)
|
|
206
202
|
return undefined;
|
|
207
203
|
assertIsLiteralOrHexString(title);
|
|
208
204
|
return title.decodeText();
|
|
209
|
-
}
|
|
205
|
+
}
|
|
210
206
|
/**
|
|
211
207
|
* Get this document's author metadata. The author appears in the
|
|
212
208
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -215,13 +211,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
215
211
|
* ```
|
|
216
212
|
* @returns A string containing the author of this document, if it has one.
|
|
217
213
|
*/
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
getAuthor() {
|
|
215
|
+
const author = this.getInfoDict().lookup(PDFName.Author);
|
|
220
216
|
if (!author)
|
|
221
217
|
return undefined;
|
|
222
218
|
assertIsLiteralOrHexString(author);
|
|
223
219
|
return author.decodeText();
|
|
224
|
-
}
|
|
220
|
+
}
|
|
225
221
|
/**
|
|
226
222
|
* Get this document's subject metadata. The subject appears in the
|
|
227
223
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -230,13 +226,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
230
226
|
* ```
|
|
231
227
|
* @returns A string containing the subject of this document, if it has one.
|
|
232
228
|
*/
|
|
233
|
-
|
|
234
|
-
|
|
229
|
+
getSubject() {
|
|
230
|
+
const subject = this.getInfoDict().lookup(PDFName.Subject);
|
|
235
231
|
if (!subject)
|
|
236
232
|
return undefined;
|
|
237
233
|
assertIsLiteralOrHexString(subject);
|
|
238
234
|
return subject.decodeText();
|
|
239
|
-
}
|
|
235
|
+
}
|
|
240
236
|
/**
|
|
241
237
|
* Get this document's keywords metadata. The keywords appear in the
|
|
242
238
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -245,13 +241,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
245
241
|
* ```
|
|
246
242
|
* @returns A string containing the keywords of this document, if it has any.
|
|
247
243
|
*/
|
|
248
|
-
|
|
249
|
-
|
|
244
|
+
getKeywords() {
|
|
245
|
+
const keywords = this.getInfoDict().lookup(PDFName.Keywords);
|
|
250
246
|
if (!keywords)
|
|
251
247
|
return undefined;
|
|
252
248
|
assertIsLiteralOrHexString(keywords);
|
|
253
249
|
return keywords.decodeText();
|
|
254
|
-
}
|
|
250
|
+
}
|
|
255
251
|
/**
|
|
256
252
|
* Get this document's creator metadata. The creator appears in the
|
|
257
253
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -260,13 +256,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
260
256
|
* ```
|
|
261
257
|
* @returns A string containing the creator of this document, if it has one.
|
|
262
258
|
*/
|
|
263
|
-
|
|
264
|
-
|
|
259
|
+
getCreator() {
|
|
260
|
+
const creator = this.getInfoDict().lookup(PDFName.Creator);
|
|
265
261
|
if (!creator)
|
|
266
262
|
return undefined;
|
|
267
263
|
assertIsLiteralOrHexString(creator);
|
|
268
264
|
return creator.decodeText();
|
|
269
|
-
}
|
|
265
|
+
}
|
|
270
266
|
/**
|
|
271
267
|
* Get this document's producer metadata. The producer appears in the
|
|
272
268
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -275,13 +271,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
275
271
|
* ```
|
|
276
272
|
* @returns A string containing the producer of this document, if it has one.
|
|
277
273
|
*/
|
|
278
|
-
|
|
279
|
-
|
|
274
|
+
getProducer() {
|
|
275
|
+
const producer = this.getInfoDict().lookup(PDFName.Producer);
|
|
280
276
|
if (!producer)
|
|
281
277
|
return undefined;
|
|
282
278
|
assertIsLiteralOrHexString(producer);
|
|
283
279
|
return producer.decodeText();
|
|
284
|
-
}
|
|
280
|
+
}
|
|
285
281
|
/**
|
|
286
282
|
* Get this document's creation date metadata. The creation date appears in
|
|
287
283
|
* the "Document Properties" section of most PDF readers. For example:
|
|
@@ -291,13 +287,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
291
287
|
* @returns A Date containing the creation date of this document,
|
|
292
288
|
* if it has one.
|
|
293
289
|
*/
|
|
294
|
-
|
|
295
|
-
|
|
290
|
+
getCreationDate() {
|
|
291
|
+
const creationDate = this.getInfoDict().lookup(PDFName.CreationDate);
|
|
296
292
|
if (!creationDate)
|
|
297
293
|
return undefined;
|
|
298
294
|
assertIsLiteralOrHexString(creationDate);
|
|
299
295
|
return creationDate.decodeDate();
|
|
300
|
-
}
|
|
296
|
+
}
|
|
301
297
|
/**
|
|
302
298
|
* Get this document's modification date metadata. The modification date
|
|
303
299
|
* appears in the "Document Properties" section of most PDF readers.
|
|
@@ -308,13 +304,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
308
304
|
* @returns A Date containing the modification date of this document,
|
|
309
305
|
* if it has one.
|
|
310
306
|
*/
|
|
311
|
-
|
|
312
|
-
|
|
307
|
+
getModificationDate() {
|
|
308
|
+
const modificationDate = this.getInfoDict().lookup(PDFName.ModDate);
|
|
313
309
|
if (!modificationDate)
|
|
314
310
|
return undefined;
|
|
315
311
|
assertIsLiteralOrHexString(modificationDate);
|
|
316
312
|
return modificationDate.decodeDate();
|
|
317
|
-
}
|
|
313
|
+
}
|
|
318
314
|
/**
|
|
319
315
|
* Set this document's title metadata. The title will appear in the
|
|
320
316
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -332,16 +328,16 @@ var PDFDocument = /** @class */ (function () {
|
|
|
332
328
|
* @param title The title of this document.
|
|
333
329
|
* @param options The options to be used when setting the title.
|
|
334
330
|
*/
|
|
335
|
-
|
|
331
|
+
setTitle(title, options) {
|
|
336
332
|
assertIs(title, 'title', ['string']);
|
|
337
|
-
|
|
333
|
+
const key = PDFName.of('Title');
|
|
338
334
|
this.getInfoDict().set(key, PDFHexString.fromText(title));
|
|
339
335
|
// Indicate that readers should display the title rather than the filename
|
|
340
336
|
if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) {
|
|
341
|
-
|
|
337
|
+
const prefs = this.catalog.getOrCreateViewerPreferences();
|
|
342
338
|
prefs.setDisplayDocTitle(true);
|
|
343
339
|
}
|
|
344
|
-
}
|
|
340
|
+
}
|
|
345
341
|
/**
|
|
346
342
|
* Set this document's author metadata. The author will appear in the
|
|
347
343
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -350,11 +346,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
350
346
|
* ```
|
|
351
347
|
* @param author The author of this document.
|
|
352
348
|
*/
|
|
353
|
-
|
|
349
|
+
setAuthor(author) {
|
|
354
350
|
assertIs(author, 'author', ['string']);
|
|
355
|
-
|
|
351
|
+
const key = PDFName.of('Author');
|
|
356
352
|
this.getInfoDict().set(key, PDFHexString.fromText(author));
|
|
357
|
-
}
|
|
353
|
+
}
|
|
358
354
|
/**
|
|
359
355
|
* Set this document's subject metadata. The subject will appear in the
|
|
360
356
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -363,11 +359,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
363
359
|
* ```
|
|
364
360
|
* @param subject The subject of this document.
|
|
365
361
|
*/
|
|
366
|
-
|
|
362
|
+
setSubject(subject) {
|
|
367
363
|
assertIs(subject, 'author', ['string']);
|
|
368
|
-
|
|
364
|
+
const key = PDFName.of('Subject');
|
|
369
365
|
this.getInfoDict().set(key, PDFHexString.fromText(subject));
|
|
370
|
-
}
|
|
366
|
+
}
|
|
371
367
|
/**
|
|
372
368
|
* Set this document's keyword metadata. These keywords will appear in the
|
|
373
369
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -376,11 +372,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
376
372
|
* ```
|
|
377
373
|
* @param keywords An array of keywords associated with this document.
|
|
378
374
|
*/
|
|
379
|
-
|
|
375
|
+
setKeywords(keywords) {
|
|
380
376
|
assertIs(keywords, 'keywords', [Array]);
|
|
381
|
-
|
|
377
|
+
const key = PDFName.of('Keywords');
|
|
382
378
|
this.getInfoDict().set(key, PDFHexString.fromText(keywords.join(' ')));
|
|
383
|
-
}
|
|
379
|
+
}
|
|
384
380
|
/**
|
|
385
381
|
* Set this document's creator metadata. The creator will appear in the
|
|
386
382
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -389,11 +385,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
389
385
|
* ```
|
|
390
386
|
* @param creator The creator of this document.
|
|
391
387
|
*/
|
|
392
|
-
|
|
388
|
+
setCreator(creator) {
|
|
393
389
|
assertIs(creator, 'creator', ['string']);
|
|
394
|
-
|
|
390
|
+
const key = PDFName.of('Creator');
|
|
395
391
|
this.getInfoDict().set(key, PDFHexString.fromText(creator));
|
|
396
|
-
}
|
|
392
|
+
}
|
|
397
393
|
/**
|
|
398
394
|
* Set this document's producer metadata. The producer will appear in the
|
|
399
395
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -402,11 +398,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
402
398
|
* ```
|
|
403
399
|
* @param producer The producer of this document.
|
|
404
400
|
*/
|
|
405
|
-
|
|
401
|
+
setProducer(producer) {
|
|
406
402
|
assertIs(producer, 'creator', ['string']);
|
|
407
|
-
|
|
403
|
+
const key = PDFName.of('Producer');
|
|
408
404
|
this.getInfoDict().set(key, PDFHexString.fromText(producer));
|
|
409
|
-
}
|
|
405
|
+
}
|
|
410
406
|
/**
|
|
411
407
|
* Set this document's language metadata. The language will appear in the
|
|
412
408
|
* "Document Properties" section of some PDF readers. For example:
|
|
@@ -417,11 +413,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
417
413
|
* @param language An RFC 3066 _Language-Tag_ denoting the language of this
|
|
418
414
|
* document, or an empty string if the language is unknown.
|
|
419
415
|
*/
|
|
420
|
-
|
|
416
|
+
setLanguage(language) {
|
|
421
417
|
assertIs(language, 'language', ['string']);
|
|
422
|
-
|
|
418
|
+
const key = PDFName.of('Lang');
|
|
423
419
|
this.catalog.set(key, PDFString.of(language));
|
|
424
|
-
}
|
|
420
|
+
}
|
|
425
421
|
/**
|
|
426
422
|
* Set this document's creation date metadata. The creation date will appear
|
|
427
423
|
* in the "Document Properties" section of most PDF readers. For example:
|
|
@@ -430,11 +426,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
430
426
|
* ```
|
|
431
427
|
* @param creationDate The date this document was created.
|
|
432
428
|
*/
|
|
433
|
-
|
|
429
|
+
setCreationDate(creationDate) {
|
|
434
430
|
assertIs(creationDate, 'creationDate', [[Date, 'Date']]);
|
|
435
|
-
|
|
431
|
+
const key = PDFName.of('CreationDate');
|
|
436
432
|
this.getInfoDict().set(key, PDFString.fromDate(creationDate));
|
|
437
|
-
}
|
|
433
|
+
}
|
|
438
434
|
/**
|
|
439
435
|
* Set this document's modification date metadata. The modification date will
|
|
440
436
|
* appear in the "Document Properties" section of most PDF readers. For
|
|
@@ -444,11 +440,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
444
440
|
* ```
|
|
445
441
|
* @param modificationDate The date this document was last modified.
|
|
446
442
|
*/
|
|
447
|
-
|
|
443
|
+
setModificationDate(modificationDate) {
|
|
448
444
|
assertIs(modificationDate, 'modificationDate', [[Date, 'Date']]);
|
|
449
|
-
|
|
445
|
+
const key = PDFName.of('ModDate');
|
|
450
446
|
this.getInfoDict().set(key, PDFString.fromDate(modificationDate));
|
|
451
|
-
}
|
|
447
|
+
}
|
|
452
448
|
/**
|
|
453
449
|
* Get the number of pages contained in this document. For example:
|
|
454
450
|
* ```js
|
|
@@ -456,11 +452,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
456
452
|
* ```
|
|
457
453
|
* @returns The number of pages in this document.
|
|
458
454
|
*/
|
|
459
|
-
|
|
455
|
+
getPageCount() {
|
|
460
456
|
if (this.pageCount === undefined)
|
|
461
457
|
this.pageCount = this.getPages().length;
|
|
462
458
|
return this.pageCount;
|
|
463
|
-
}
|
|
459
|
+
}
|
|
464
460
|
/**
|
|
465
461
|
* Get an array of all the pages contained in this document. The pages are
|
|
466
462
|
* stored in the array in the same order that they are rendered in the
|
|
@@ -473,9 +469,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
473
469
|
* ```
|
|
474
470
|
* @returns An array of all the pages contained in this document.
|
|
475
471
|
*/
|
|
476
|
-
|
|
472
|
+
getPages() {
|
|
477
473
|
return this.pageCache.access();
|
|
478
|
-
}
|
|
474
|
+
}
|
|
479
475
|
/**
|
|
480
476
|
* Get the page rendered at a particular `index` of the document. For example:
|
|
481
477
|
* ```js
|
|
@@ -485,11 +481,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
485
481
|
* ```
|
|
486
482
|
* @returns The [[PDFPage]] rendered at the given `index` of the document.
|
|
487
483
|
*/
|
|
488
|
-
|
|
489
|
-
|
|
484
|
+
getPage(index) {
|
|
485
|
+
const pages = this.getPages();
|
|
490
486
|
assertRange(index, 'index', 0, pages.length - 1);
|
|
491
487
|
return pages[index];
|
|
492
|
-
}
|
|
488
|
+
}
|
|
493
489
|
/**
|
|
494
490
|
* Get an array of indices for all the pages contained in this document. The
|
|
495
491
|
* array will contain a range of integers from
|
|
@@ -505,9 +501,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
505
501
|
* ```
|
|
506
502
|
* @returns An array of indices for all pages contained in this document.
|
|
507
503
|
*/
|
|
508
|
-
|
|
504
|
+
getPageIndices() {
|
|
509
505
|
return range(0, this.getPageCount());
|
|
510
|
-
}
|
|
506
|
+
}
|
|
511
507
|
/**
|
|
512
508
|
* Remove the page at a given index from this document. For example:
|
|
513
509
|
* ```js
|
|
@@ -519,14 +515,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
519
515
|
* in the document.
|
|
520
516
|
* @param index The index of the page to be removed.
|
|
521
517
|
*/
|
|
522
|
-
|
|
523
|
-
|
|
518
|
+
removePage(index) {
|
|
519
|
+
const pageCount = this.getPageCount();
|
|
524
520
|
if (this.pageCount === 0)
|
|
525
521
|
throw new RemovePageFromEmptyDocumentError();
|
|
526
522
|
assertRange(index, 'index', 0, pageCount - 1);
|
|
527
523
|
this.catalog.removeLeafNode(index);
|
|
528
524
|
this.pageCount = pageCount - 1;
|
|
529
|
-
}
|
|
525
|
+
}
|
|
530
526
|
/**
|
|
531
527
|
* Add a page to the end of this document. This method accepts three
|
|
532
528
|
* different value types for the `page` parameter:
|
|
@@ -558,10 +554,10 @@ var PDFDocument = /** @class */ (function () {
|
|
|
558
554
|
* @param page Optionally, the desired dimensions or existing page.
|
|
559
555
|
* @returns The newly created (or existing) page.
|
|
560
556
|
*/
|
|
561
|
-
|
|
557
|
+
addPage(page) {
|
|
562
558
|
assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]);
|
|
563
559
|
return this.insertPage(this.getPageCount(), page);
|
|
564
|
-
}
|
|
560
|
+
}
|
|
565
561
|
/**
|
|
566
562
|
* Insert a page at a given index within this document. This method accepts
|
|
567
563
|
* three different value types for the `page` parameter:
|
|
@@ -594,25 +590,25 @@ var PDFDocument = /** @class */ (function () {
|
|
|
594
590
|
* @param page Optionally, the desired dimensions or existing page.
|
|
595
591
|
* @returns The newly created (or existing) page.
|
|
596
592
|
*/
|
|
597
|
-
|
|
598
|
-
|
|
593
|
+
insertPage(index, page) {
|
|
594
|
+
const pageCount = this.getPageCount();
|
|
599
595
|
assertRange(index, 'index', 0, pageCount);
|
|
600
596
|
assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]);
|
|
601
597
|
if (!page || Array.isArray(page)) {
|
|
602
|
-
|
|
598
|
+
const dims = Array.isArray(page) ? page : PageSizes.A4;
|
|
603
599
|
page = PDFPage.create(this);
|
|
604
|
-
page.setSize
|
|
600
|
+
page.setSize(...dims);
|
|
605
601
|
}
|
|
606
602
|
else if (page.doc !== this) {
|
|
607
603
|
throw new ForeignPageError();
|
|
608
604
|
}
|
|
609
|
-
|
|
605
|
+
const parentRef = this.catalog.insertLeafNode(page.ref, index);
|
|
610
606
|
page.node.setParent(parentRef);
|
|
611
607
|
this.pageMap.set(page.node, page);
|
|
612
608
|
this.pageCache.invalidate();
|
|
613
609
|
this.pageCount = pageCount + 1;
|
|
614
610
|
return page;
|
|
615
|
-
}
|
|
611
|
+
}
|
|
616
612
|
/**
|
|
617
613
|
* Copy pages from a source document into this document. Allows pages to be
|
|
618
614
|
* copied between different [[PDFDocument]] instances. For example:
|
|
@@ -631,31 +627,21 @@ var PDFDocument = /** @class */ (function () {
|
|
|
631
627
|
* @param indices The indices of the pages that should be copied.
|
|
632
628
|
* @returns Resolves with an array of pages copied into this document.
|
|
633
629
|
*/
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
srcPage = srcPages[indices[idx]];
|
|
650
|
-
copiedPage = copier.copy(srcPage.node);
|
|
651
|
-
ref = this.context.register(copiedPage);
|
|
652
|
-
copiedPages[idx] = PDFPage.of(copiedPage, ref, this);
|
|
653
|
-
}
|
|
654
|
-
return [2 /*return*/, copiedPages];
|
|
655
|
-
}
|
|
656
|
-
});
|
|
657
|
-
});
|
|
658
|
-
};
|
|
630
|
+
async copyPages(srcDoc, indices) {
|
|
631
|
+
assertIs(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);
|
|
632
|
+
assertIs(indices, 'indices', [Array]);
|
|
633
|
+
await srcDoc.flush();
|
|
634
|
+
const copier = PDFObjectCopier.for(srcDoc.context, this.context);
|
|
635
|
+
const srcPages = srcDoc.getPages();
|
|
636
|
+
const copiedPages = new Array(indices.length);
|
|
637
|
+
for (let idx = 0, len = indices.length; idx < len; idx++) {
|
|
638
|
+
const srcPage = srcPages[indices[idx]];
|
|
639
|
+
const copiedPage = copier.copy(srcPage.node);
|
|
640
|
+
const ref = this.context.register(copiedPage);
|
|
641
|
+
copiedPages[idx] = PDFPage.of(copiedPage, ref, this);
|
|
642
|
+
}
|
|
643
|
+
return copiedPages;
|
|
644
|
+
}
|
|
659
645
|
/**
|
|
660
646
|
* Get a copy of this document.
|
|
661
647
|
*
|
|
@@ -670,47 +656,36 @@ var PDFDocument = /** @class */ (function () {
|
|
|
670
656
|
*
|
|
671
657
|
* @returns Resolves with a copy this document.
|
|
672
658
|
*/
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
pdfCopy.setSubject(this.getSubject());
|
|
704
|
-
}
|
|
705
|
-
if (this.getTitle() !== undefined) {
|
|
706
|
-
pdfCopy.setTitle(this.getTitle());
|
|
707
|
-
}
|
|
708
|
-
pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
|
|
709
|
-
return [2 /*return*/, pdfCopy];
|
|
710
|
-
}
|
|
711
|
-
});
|
|
712
|
-
});
|
|
713
|
-
};
|
|
659
|
+
async copy() {
|
|
660
|
+
const pdfCopy = await PDFDocument.create();
|
|
661
|
+
const contentPages = await pdfCopy.copyPages(this, this.getPageIndices());
|
|
662
|
+
for (let idx = 0, len = contentPages.length; idx < len; idx++) {
|
|
663
|
+
pdfCopy.addPage(contentPages[idx]);
|
|
664
|
+
}
|
|
665
|
+
if (this.getAuthor() !== undefined) {
|
|
666
|
+
pdfCopy.setAuthor(this.getAuthor());
|
|
667
|
+
}
|
|
668
|
+
if (this.getCreationDate() !== undefined) {
|
|
669
|
+
pdfCopy.setCreationDate(this.getCreationDate());
|
|
670
|
+
}
|
|
671
|
+
if (this.getCreator() !== undefined) {
|
|
672
|
+
pdfCopy.setCreator(this.getCreator());
|
|
673
|
+
}
|
|
674
|
+
if (this.getModificationDate() !== undefined) {
|
|
675
|
+
pdfCopy.setModificationDate(this.getModificationDate());
|
|
676
|
+
}
|
|
677
|
+
if (this.getProducer() !== undefined) {
|
|
678
|
+
pdfCopy.setProducer(this.getProducer());
|
|
679
|
+
}
|
|
680
|
+
if (this.getSubject() !== undefined) {
|
|
681
|
+
pdfCopy.setSubject(this.getSubject());
|
|
682
|
+
}
|
|
683
|
+
if (this.getTitle() !== undefined) {
|
|
684
|
+
pdfCopy.setTitle(this.getTitle());
|
|
685
|
+
}
|
|
686
|
+
pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
|
|
687
|
+
return pdfCopy;
|
|
688
|
+
}
|
|
714
689
|
/**
|
|
715
690
|
* Add JavaScript to this document. The supplied `script` is executed when the
|
|
716
691
|
* document is opened. The `script` can be used to perform some operation
|
|
@@ -735,14 +710,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
735
710
|
* @param name The name of the script. Must be unique per document.
|
|
736
711
|
* @param script The JavaScript to execute.
|
|
737
712
|
*/
|
|
738
|
-
|
|
713
|
+
addJavaScript(name, script) {
|
|
739
714
|
assertIs(name, 'name', ['string']);
|
|
740
715
|
assertIs(script, 'script', ['string']);
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
716
|
+
const embedder = JavaScriptEmbedder.for(script, name);
|
|
717
|
+
const ref = this.context.nextRef();
|
|
718
|
+
const javaScript = PDFJavaScript.of(ref, this, embedder);
|
|
744
719
|
this.javaScripts.push(javaScript);
|
|
745
|
-
}
|
|
720
|
+
}
|
|
746
721
|
/**
|
|
747
722
|
* Add an attachment to this document. Attachments are visible in the
|
|
748
723
|
* "Attachments" panel of Adobe Acrobat and some other PDF readers. Any
|
|
@@ -798,29 +773,22 @@ var PDFDocument = /** @class */ (function () {
|
|
|
798
773
|
* @param name The name of the file to be attached.
|
|
799
774
|
* @returns Resolves when the attachment is complete.
|
|
800
775
|
*/
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
ref = this.context.nextRef();
|
|
818
|
-
embeddedFile = PDFEmbeddedFile.of(ref, this, embedder);
|
|
819
|
-
this.embeddedFiles.push(embeddedFile);
|
|
820
|
-
return [2 /*return*/];
|
|
821
|
-
});
|
|
822
|
-
});
|
|
823
|
-
};
|
|
776
|
+
async attach(attachment, name, options = {}) {
|
|
777
|
+
assertIs(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);
|
|
778
|
+
assertIs(name, 'name', ['string']);
|
|
779
|
+
assertOrUndefined(options.mimeType, 'mimeType', ['string']);
|
|
780
|
+
assertOrUndefined(options.description, 'description', ['string']);
|
|
781
|
+
assertOrUndefined(options.creationDate, 'options.creationDate', [Date]);
|
|
782
|
+
assertOrUndefined(options.modificationDate, 'options.modificationDate', [
|
|
783
|
+
Date,
|
|
784
|
+
]);
|
|
785
|
+
assertIsOneOfOrUndefined(options.afRelationship, 'options.afRelationship', AFRelationship);
|
|
786
|
+
const bytes = toUint8Array(attachment);
|
|
787
|
+
const embedder = FileEmbedder.for(bytes, name, options);
|
|
788
|
+
const ref = this.context.nextRef();
|
|
789
|
+
const embeddedFile = PDFEmbeddedFile.of(ref, this, embedder);
|
|
790
|
+
this.embeddedFiles.push(embeddedFile);
|
|
791
|
+
}
|
|
824
792
|
/**
|
|
825
793
|
* Embed a font into this document. The input data can be provided in multiple
|
|
826
794
|
* formats:
|
|
@@ -856,45 +824,29 @@ var PDFDocument = /** @class */ (function () {
|
|
|
856
824
|
* @param options The options to be used when embedding the font.
|
|
857
825
|
* @returns Resolves with the embedded font.
|
|
858
826
|
*/
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
case 4:
|
|
883
|
-
_b = _c.sent();
|
|
884
|
-
_c.label = 5;
|
|
885
|
-
case 5:
|
|
886
|
-
embedder = _b;
|
|
887
|
-
return [3 /*break*/, 7];
|
|
888
|
-
case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
|
|
889
|
-
case 7:
|
|
890
|
-
ref = this.context.nextRef();
|
|
891
|
-
pdfFont = PDFFont.of(ref, this, embedder);
|
|
892
|
-
this.fonts.push(pdfFont);
|
|
893
|
-
return [2 /*return*/, pdfFont];
|
|
894
|
-
}
|
|
895
|
-
});
|
|
896
|
-
});
|
|
897
|
-
};
|
|
827
|
+
async embedFont(font, options = {}) {
|
|
828
|
+
const { subset = false, customName, features } = options;
|
|
829
|
+
assertIs(font, 'font', ['string', Uint8Array, ArrayBuffer]);
|
|
830
|
+
assertIs(subset, 'subset', ['boolean']);
|
|
831
|
+
let embedder;
|
|
832
|
+
if (isStandardFont(font)) {
|
|
833
|
+
embedder = StandardFontEmbedder.for(font, customName);
|
|
834
|
+
}
|
|
835
|
+
else if (canBeConvertedToUint8Array(font)) {
|
|
836
|
+
const bytes = toUint8Array(font);
|
|
837
|
+
const fontkit = this.assertFontkit();
|
|
838
|
+
embedder = subset
|
|
839
|
+
? await CustomFontSubsetEmbedder.for(fontkit, bytes, customName, features)
|
|
840
|
+
: await CustomFontEmbedder.for(fontkit, bytes, customName, features);
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
|
|
844
|
+
}
|
|
845
|
+
const ref = this.context.nextRef();
|
|
846
|
+
const pdfFont = PDFFont.of(ref, this, embedder);
|
|
847
|
+
this.fonts.push(pdfFont);
|
|
848
|
+
return pdfFont;
|
|
849
|
+
}
|
|
898
850
|
/**
|
|
899
851
|
* Embed a standard font into this document.
|
|
900
852
|
* For example:
|
|
@@ -906,17 +858,17 @@ var PDFDocument = /** @class */ (function () {
|
|
|
906
858
|
* @param customName The name to be used when embedding the font.
|
|
907
859
|
* @returns The embedded font.
|
|
908
860
|
*/
|
|
909
|
-
|
|
861
|
+
embedStandardFont(font, customName) {
|
|
910
862
|
assertIs(font, 'font', ['string']);
|
|
911
863
|
if (!isStandardFont(font)) {
|
|
912
864
|
throw new TypeError('`font` must be one of type `StandardFonts`');
|
|
913
865
|
}
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
866
|
+
const embedder = StandardFontEmbedder.for(font, customName);
|
|
867
|
+
const ref = this.context.nextRef();
|
|
868
|
+
const pdfFont = PDFFont.of(ref, this, embedder);
|
|
917
869
|
this.fonts.push(pdfFont);
|
|
918
870
|
return pdfFont;
|
|
919
|
-
}
|
|
871
|
+
}
|
|
920
872
|
/**
|
|
921
873
|
* Embed a JPEG image into this document. The input data can be provided in
|
|
922
874
|
* multiple formats:
|
|
@@ -947,25 +899,15 @@ var PDFDocument = /** @class */ (function () {
|
|
|
947
899
|
* @param jpg The input data for a JPEG image.
|
|
948
900
|
* @returns Resolves with the embedded image.
|
|
949
901
|
*/
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
case 1:
|
|
960
|
-
embedder = _a.sent();
|
|
961
|
-
ref = this.context.nextRef();
|
|
962
|
-
pdfImage = PDFImage.of(ref, this, embedder);
|
|
963
|
-
this.images.push(pdfImage);
|
|
964
|
-
return [2 /*return*/, pdfImage];
|
|
965
|
-
}
|
|
966
|
-
});
|
|
967
|
-
});
|
|
968
|
-
};
|
|
902
|
+
async embedJpg(jpg) {
|
|
903
|
+
assertIs(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);
|
|
904
|
+
const bytes = toUint8Array(jpg);
|
|
905
|
+
const embedder = await JpegEmbedder.for(bytes);
|
|
906
|
+
const ref = this.context.nextRef();
|
|
907
|
+
const pdfImage = PDFImage.of(ref, this, embedder);
|
|
908
|
+
this.images.push(pdfImage);
|
|
909
|
+
return pdfImage;
|
|
910
|
+
}
|
|
969
911
|
/**
|
|
970
912
|
* Embed a PNG image into this document. The input data can be provided in
|
|
971
913
|
* multiple formats:
|
|
@@ -996,25 +938,15 @@ var PDFDocument = /** @class */ (function () {
|
|
|
996
938
|
* @param png The input data for a PNG image.
|
|
997
939
|
* @returns Resolves with the embedded image.
|
|
998
940
|
*/
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
case 1:
|
|
1009
|
-
embedder = _a.sent();
|
|
1010
|
-
ref = this.context.nextRef();
|
|
1011
|
-
pdfImage = PDFImage.of(ref, this, embedder);
|
|
1012
|
-
this.images.push(pdfImage);
|
|
1013
|
-
return [2 /*return*/, pdfImage];
|
|
1014
|
-
}
|
|
1015
|
-
});
|
|
1016
|
-
});
|
|
1017
|
-
};
|
|
941
|
+
async embedPng(png) {
|
|
942
|
+
assertIs(png, 'png', ['string', Uint8Array, ArrayBuffer]);
|
|
943
|
+
const bytes = toUint8Array(png);
|
|
944
|
+
const embedder = await PngEmbedder.for(bytes);
|
|
945
|
+
const ref = this.context.nextRef();
|
|
946
|
+
const pdfImage = PDFImage.of(ref, this, embedder);
|
|
947
|
+
this.images.push(pdfImage);
|
|
948
|
+
return pdfImage;
|
|
949
|
+
}
|
|
1018
950
|
/**
|
|
1019
951
|
* Embed one or more PDF pages into this document.
|
|
1020
952
|
*
|
|
@@ -1035,35 +967,18 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1035
967
|
* @param indices The indices of the pages that should be embedded.
|
|
1036
968
|
* @returns Resolves with an array of the embedded pages.
|
|
1037
969
|
*/
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
]);
|
|
1051
|
-
assertIs(indices, 'indices', [Array]);
|
|
1052
|
-
if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1];
|
|
1053
|
-
_a = pdf;
|
|
1054
|
-
return [3 /*break*/, 3];
|
|
1055
|
-
case 1: return [4 /*yield*/, PDFDocument.load(pdf)];
|
|
1056
|
-
case 2:
|
|
1057
|
-
_a = _b.sent();
|
|
1058
|
-
_b.label = 3;
|
|
1059
|
-
case 3:
|
|
1060
|
-
srcDoc = _a;
|
|
1061
|
-
srcPages = pluckIndices(srcDoc.getPages(), indices);
|
|
1062
|
-
return [2 /*return*/, this.embedPages(srcPages)];
|
|
1063
|
-
}
|
|
1064
|
-
});
|
|
1065
|
-
});
|
|
1066
|
-
};
|
|
970
|
+
async embedPdf(pdf, indices = [0]) {
|
|
971
|
+
assertIs(pdf, 'pdf', [
|
|
972
|
+
'string',
|
|
973
|
+
Uint8Array,
|
|
974
|
+
ArrayBuffer,
|
|
975
|
+
[PDFDocument, 'PDFDocument'],
|
|
976
|
+
]);
|
|
977
|
+
assertIs(indices, 'indices', [Array]);
|
|
978
|
+
const srcDoc = pdf instanceof PDFDocument ? pdf : await PDFDocument.load(pdf);
|
|
979
|
+
const srcPages = pluckIndices(srcDoc.getPages(), indices);
|
|
980
|
+
return this.embedPages(srcPages);
|
|
981
|
+
}
|
|
1067
982
|
/**
|
|
1068
983
|
* Embed a single PDF page into this document.
|
|
1069
984
|
*
|
|
@@ -1096,21 +1011,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1096
1011
|
* page anywhere it is drawn.
|
|
1097
1012
|
* @returns Resolves with the embedded pdf page.
|
|
1098
1013
|
*/
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
case 0:
|
|
1105
|
-
assertIs(page, 'page', [[PDFPage, 'PDFPage']]);
|
|
1106
|
-
return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])];
|
|
1107
|
-
case 1:
|
|
1108
|
-
embeddedPage = (_a.sent())[0];
|
|
1109
|
-
return [2 /*return*/, embeddedPage];
|
|
1110
|
-
}
|
|
1111
|
-
});
|
|
1112
|
-
});
|
|
1113
|
-
};
|
|
1014
|
+
async embedPage(page, boundingBox, transformationMatrix) {
|
|
1015
|
+
assertIs(page, 'page', [[PDFPage, 'PDFPage']]);
|
|
1016
|
+
const [embeddedPage] = await this.embedPages([page], [boundingBox], [transformationMatrix]);
|
|
1017
|
+
return embeddedPage;
|
|
1018
|
+
}
|
|
1114
1019
|
/**
|
|
1115
1020
|
* Embed one or more PDF pages into this document.
|
|
1116
1021
|
*
|
|
@@ -1139,53 +1044,33 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1139
1044
|
* (each page's transformation will apply anywhere it is drawn).
|
|
1140
1045
|
* @returns Resolves with an array of the embedded pdf pages.
|
|
1141
1046
|
*/
|
|
1142
|
-
|
|
1143
|
-
if (
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
if (!(idx < len)) return [3 /*break*/, 4];
|
|
1170
|
-
page = maybeCopyPage(pages[idx].node);
|
|
1171
|
-
box = boundingBoxes[idx];
|
|
1172
|
-
matrix = transformationMatrices[idx];
|
|
1173
|
-
return [4 /*yield*/, PDFPageEmbedder.for(page, box, matrix)];
|
|
1174
|
-
case 2:
|
|
1175
|
-
embedder = _b.sent();
|
|
1176
|
-
ref = this.context.nextRef();
|
|
1177
|
-
embeddedPages[idx] = PDFEmbeddedPage.of(ref, this, embedder);
|
|
1178
|
-
_b.label = 3;
|
|
1179
|
-
case 3:
|
|
1180
|
-
idx++;
|
|
1181
|
-
return [3 /*break*/, 1];
|
|
1182
|
-
case 4:
|
|
1183
|
-
(_a = this.embeddedPages).push.apply(_a, embeddedPages);
|
|
1184
|
-
return [2 /*return*/, embeddedPages];
|
|
1185
|
-
}
|
|
1186
|
-
});
|
|
1187
|
-
});
|
|
1188
|
-
};
|
|
1047
|
+
async embedPages(pages, boundingBoxes = [], transformationMatrices = []) {
|
|
1048
|
+
if (pages.length === 0)
|
|
1049
|
+
return [];
|
|
1050
|
+
// Assert all pages have the same context
|
|
1051
|
+
for (let idx = 0, len = pages.length - 1; idx < len; idx++) {
|
|
1052
|
+
const currPage = pages[idx];
|
|
1053
|
+
const nextPage = pages[idx + 1];
|
|
1054
|
+
if (currPage.node.context !== nextPage.node.context) {
|
|
1055
|
+
throw new PageEmbeddingMismatchedContextError();
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
const context = pages[0].node.context;
|
|
1059
|
+
const maybeCopyPage = context === this.context
|
|
1060
|
+
? (p) => p
|
|
1061
|
+
: PDFObjectCopier.for(context, this.context).copy;
|
|
1062
|
+
const embeddedPages = new Array(pages.length);
|
|
1063
|
+
for (let idx = 0, len = pages.length; idx < len; idx++) {
|
|
1064
|
+
const page = maybeCopyPage(pages[idx].node);
|
|
1065
|
+
const box = boundingBoxes[idx];
|
|
1066
|
+
const matrix = transformationMatrices[idx];
|
|
1067
|
+
const embedder = await PDFPageEmbedder.for(page, box, matrix);
|
|
1068
|
+
const ref = this.context.nextRef();
|
|
1069
|
+
embeddedPages[idx] = PDFEmbeddedPage.of(ref, this, embedder);
|
|
1070
|
+
}
|
|
1071
|
+
this.embeddedPages.push(...embeddedPages);
|
|
1072
|
+
return embeddedPages;
|
|
1073
|
+
}
|
|
1189
1074
|
/**
|
|
1190
1075
|
* > **NOTE:** You shouldn't need to call this method directly. The [[save]]
|
|
1191
1076
|
* > and [[saveAsBase64]] methods will automatically ensure that all embedded
|
|
@@ -1196,30 +1081,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1196
1081
|
*
|
|
1197
1082
|
* @returns Resolves when the flush is complete.
|
|
1198
1083
|
*/
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
return [4 /*yield*/, this.embedAll(this.images)];
|
|
1207
|
-
case 2:
|
|
1208
|
-
_a.sent();
|
|
1209
|
-
return [4 /*yield*/, this.embedAll(this.embeddedPages)];
|
|
1210
|
-
case 3:
|
|
1211
|
-
_a.sent();
|
|
1212
|
-
return [4 /*yield*/, this.embedAll(this.embeddedFiles)];
|
|
1213
|
-
case 4:
|
|
1214
|
-
_a.sent();
|
|
1215
|
-
return [4 /*yield*/, this.embedAll(this.javaScripts)];
|
|
1216
|
-
case 5:
|
|
1217
|
-
_a.sent();
|
|
1218
|
-
return [2 /*return*/];
|
|
1219
|
-
}
|
|
1220
|
-
});
|
|
1221
|
-
});
|
|
1222
|
-
};
|
|
1084
|
+
async flush() {
|
|
1085
|
+
await this.embedAll(this.fonts);
|
|
1086
|
+
await this.embedAll(this.images);
|
|
1087
|
+
await this.embedAll(this.embeddedPages);
|
|
1088
|
+
await this.embedAll(this.embeddedFiles);
|
|
1089
|
+
await this.embedAll(this.javaScripts);
|
|
1090
|
+
}
|
|
1223
1091
|
/**
|
|
1224
1092
|
* Serialize this document to an array of bytes making up a PDF file.
|
|
1225
1093
|
* For example:
|
|
@@ -1236,34 +1104,23 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1236
1104
|
* @param options The options to be used when saving the document.
|
|
1237
1105
|
* @returns Resolves with the bytes of the serialized document.
|
|
1238
1106
|
*/
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
form.updateFieldAppearances();
|
|
1257
|
-
}
|
|
1258
|
-
return [4 /*yield*/, this.flush()];
|
|
1259
|
-
case 1:
|
|
1260
|
-
_e.sent();
|
|
1261
|
-
Writer = useObjectStreams ? PDFStreamWriter : PDFWriter;
|
|
1262
|
-
return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()];
|
|
1263
|
-
}
|
|
1264
|
-
});
|
|
1265
|
-
});
|
|
1266
|
-
};
|
|
1107
|
+
async save(options = {}) {
|
|
1108
|
+
const { useObjectStreams = true, addDefaultPage = true, objectsPerTick = 50, updateFieldAppearances = true, } = options;
|
|
1109
|
+
assertIs(useObjectStreams, 'useObjectStreams', ['boolean']);
|
|
1110
|
+
assertIs(addDefaultPage, 'addDefaultPage', ['boolean']);
|
|
1111
|
+
assertIs(objectsPerTick, 'objectsPerTick', ['number']);
|
|
1112
|
+
assertIs(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);
|
|
1113
|
+
if (addDefaultPage && this.getPageCount() === 0)
|
|
1114
|
+
this.addPage();
|
|
1115
|
+
if (updateFieldAppearances) {
|
|
1116
|
+
const form = this.formCache.getValue();
|
|
1117
|
+
if (form)
|
|
1118
|
+
form.updateFieldAppearances();
|
|
1119
|
+
}
|
|
1120
|
+
await this.flush();
|
|
1121
|
+
const Writer = useObjectStreams ? PDFStreamWriter : PDFWriter;
|
|
1122
|
+
return Writer.forContext(this.context, objectsPerTick).serializeToBuffer();
|
|
1123
|
+
}
|
|
1267
1124
|
/**
|
|
1268
1125
|
* Serialize this document to a base64 encoded string or data URI making up a
|
|
1269
1126
|
* PDF file. For example:
|
|
@@ -1279,84 +1136,54 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1279
1136
|
* @returns Resolves with a base64 encoded string or data URI of the
|
|
1280
1137
|
* serialized document.
|
|
1281
1138
|
*/
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
base64 = encodeToBase64(bytes);
|
|
1295
|
-
return [2 /*return*/, dataUri ? "data:application/pdf;base64," + base64 : base64];
|
|
1296
|
-
}
|
|
1297
|
-
});
|
|
1298
|
-
});
|
|
1299
|
-
};
|
|
1300
|
-
PDFDocument.prototype.findPageForAnnotationRef = function (ref) {
|
|
1301
|
-
var pages = this.getPages();
|
|
1302
|
-
for (var idx = 0, len = pages.length; idx < len; idx++) {
|
|
1303
|
-
var page = pages[idx];
|
|
1304
|
-
var annotations = page.node.Annots();
|
|
1139
|
+
async saveAsBase64(options = {}) {
|
|
1140
|
+
const { dataUri = false, ...otherOptions } = options;
|
|
1141
|
+
assertIs(dataUri, 'dataUri', ['boolean']);
|
|
1142
|
+
const bytes = await this.save(otherOptions);
|
|
1143
|
+
const base64 = encodeToBase64(bytes);
|
|
1144
|
+
return dataUri ? `data:application/pdf;base64,${base64}` : base64;
|
|
1145
|
+
}
|
|
1146
|
+
findPageForAnnotationRef(ref) {
|
|
1147
|
+
const pages = this.getPages();
|
|
1148
|
+
for (let idx = 0, len = pages.length; idx < len; idx++) {
|
|
1149
|
+
const page = pages[idx];
|
|
1150
|
+
const annotations = page.node.Annots();
|
|
1305
1151
|
if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) {
|
|
1306
1152
|
return page;
|
|
1307
1153
|
}
|
|
1308
1154
|
}
|
|
1309
1155
|
return undefined;
|
|
1310
|
-
}
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
if (!(idx < len)) return [3 /*break*/, 4];
|
|
1321
|
-
return [4 /*yield*/, embeddables[idx].embed()];
|
|
1322
|
-
case 2:
|
|
1323
|
-
_a.sent();
|
|
1324
|
-
_a.label = 3;
|
|
1325
|
-
case 3:
|
|
1326
|
-
idx++;
|
|
1327
|
-
return [3 /*break*/, 1];
|
|
1328
|
-
case 4: return [2 /*return*/];
|
|
1329
|
-
}
|
|
1330
|
-
});
|
|
1331
|
-
});
|
|
1332
|
-
};
|
|
1333
|
-
PDFDocument.prototype.updateInfoDict = function () {
|
|
1334
|
-
var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)";
|
|
1335
|
-
var now = new Date();
|
|
1336
|
-
var info = this.getInfoDict();
|
|
1156
|
+
}
|
|
1157
|
+
async embedAll(embeddables) {
|
|
1158
|
+
for (let idx = 0, len = embeddables.length; idx < len; idx++) {
|
|
1159
|
+
await embeddables[idx].embed();
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
updateInfoDict() {
|
|
1163
|
+
const pdfLib = `pdf-lib (https://github.com/Hopding/pdf-lib)`;
|
|
1164
|
+
const now = new Date();
|
|
1165
|
+
const info = this.getInfoDict();
|
|
1337
1166
|
this.setProducer(pdfLib);
|
|
1338
1167
|
this.setModificationDate(now);
|
|
1339
1168
|
if (!info.get(PDFName.of('Creator')))
|
|
1340
1169
|
this.setCreator(pdfLib);
|
|
1341
1170
|
if (!info.get(PDFName.of('CreationDate')))
|
|
1342
1171
|
this.setCreationDate(now);
|
|
1343
|
-
}
|
|
1344
|
-
|
|
1345
|
-
|
|
1172
|
+
}
|
|
1173
|
+
getInfoDict() {
|
|
1174
|
+
const existingInfo = this.context.lookup(this.context.trailerInfo.Info);
|
|
1346
1175
|
if (existingInfo instanceof PDFDict)
|
|
1347
1176
|
return existingInfo;
|
|
1348
|
-
|
|
1177
|
+
const newInfo = this.context.obj({});
|
|
1349
1178
|
this.context.trailerInfo.Info = this.context.register(newInfo);
|
|
1350
1179
|
return newInfo;
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1180
|
+
}
|
|
1181
|
+
assertFontkit() {
|
|
1353
1182
|
if (!this.fontkit)
|
|
1354
1183
|
throw new FontkitNotRegisteredError();
|
|
1355
1184
|
return this.fontkit;
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
}());
|
|
1359
|
-
export default PDFDocument;
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1360
1187
|
/* tslint:disable-next-line only-arrow-functions */
|
|
1361
1188
|
function assertIsLiteralOrHexString(pdfObject) {
|
|
1362
1189
|
if (!(pdfObject instanceof PDFHexString) &&
|