@adnsistemas/pdf-lib 1.18.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -36
- package/cjs/api/PDFDocument.d.ts +44 -11
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +599 -609
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFDocumentOptions.d.ts +4 -2
- package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.d.ts +9 -4
- package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.js +54 -59
- package/cjs/api/PDFEmbeddedFile.js.map +1 -1
- package/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/cjs/api/PDFEmbeddedPage.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedPage.js +35 -46
- package/cjs/api/PDFEmbeddedPage.js.map +1 -1
- package/cjs/api/PDFFont.d.ts +4 -4
- package/cjs/api/PDFFont.d.ts.map +1 -1
- package/cjs/api/PDFFont.js +47 -57
- package/cjs/api/PDFFont.js.map +1 -1
- package/cjs/api/PDFImage.d.ts +4 -4
- package/cjs/api/PDFImage.d.ts.map +1 -1
- package/cjs/api/PDFImage.js +50 -62
- package/cjs/api/PDFImage.js.map +1 -1
- package/cjs/api/PDFJavaScript.d.ts +4 -4
- package/cjs/api/PDFJavaScript.d.ts.map +1 -1
- package/cjs/api/PDFJavaScript.js +38 -50
- package/cjs/api/PDFJavaScript.js.map +1 -1
- package/cjs/api/PDFPage.d.ts +33 -9
- package/cjs/api/PDFPage.d.ts.map +1 -1
- package/cjs/api/PDFPage.js +478 -431
- package/cjs/api/PDFPage.js.map +1 -1
- package/cjs/api/PDFPageOptions.d.ts +35 -12
- package/cjs/api/PDFPageOptions.d.ts.map +1 -1
- package/cjs/api/PDFPageOptions.js.map +1 -1
- package/cjs/api/PDFSvg.d.ts +7 -0
- package/cjs/api/PDFSvg.d.ts.map +1 -0
- package/cjs/api/PDFSvg.js +10 -0
- package/cjs/api/PDFSvg.js.map +1 -0
- package/cjs/api/colors.d.ts +6 -2
- package/cjs/api/colors.d.ts.map +1 -1
- package/cjs/api/colors.js +51 -43
- package/cjs/api/colors.js.map +1 -1
- package/cjs/api/errors.js +73 -130
- package/cjs/api/errors.js.map +1 -1
- package/cjs/api/form/PDFButton.d.ts +8 -8
- package/cjs/api/form/PDFButton.d.ts.map +1 -1
- package/cjs/api/form/PDFButton.js +68 -72
- package/cjs/api/form/PDFButton.js.map +1 -1
- package/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/cjs/api/form/PDFCheckBox.d.ts.map +1 -1
- package/cjs/api/form/PDFCheckBox.js +64 -69
- package/cjs/api/form/PDFCheckBox.js.map +1 -1
- package/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/cjs/api/form/PDFDropdown.d.ts.map +1 -1
- package/cjs/api/form/PDFDropdown.js +126 -132
- package/cjs/api/form/PDFDropdown.js.map +1 -1
- package/cjs/api/form/PDFField.d.ts +7 -7
- package/cjs/api/form/PDFField.d.ts.map +1 -1
- package/cjs/api/form/PDFField.js +118 -123
- package/cjs/api/form/PDFField.js.map +1 -1
- package/cjs/api/form/PDFForm.d.ts +11 -11
- package/cjs/api/form/PDFForm.d.ts.map +1 -1
- package/cjs/api/form/PDFForm.js +226 -221
- package/cjs/api/form/PDFForm.js.map +1 -1
- package/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/cjs/api/form/PDFOptionList.d.ts.map +1 -1
- package/cjs/api/form/PDFOptionList.js +115 -121
- package/cjs/api/form/PDFOptionList.js.map +1 -1
- package/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/cjs/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/cjs/api/form/PDFRadioGroup.js +98 -101
- package/cjs/api/form/PDFRadioGroup.js.map +1 -1
- package/cjs/api/form/PDFSignature.d.ts +3 -3
- package/cjs/api/form/PDFSignature.d.ts.map +1 -1
- package/cjs/api/form/PDFSignature.js +25 -28
- package/cjs/api/form/PDFSignature.js.map +1 -1
- package/cjs/api/form/PDFTextField.d.ts +8 -8
- package/cjs/api/form/PDFTextField.d.ts.map +1 -1
- package/cjs/api/form/PDFTextField.js +136 -141
- package/cjs/api/form/PDFTextField.js.map +1 -1
- package/cjs/api/form/appearances.d.ts +21 -21
- package/cjs/api/form/appearances.d.ts.map +1 -1
- package/cjs/api/form/appearances.js +257 -219
- package/cjs/api/form/appearances.js.map +1 -1
- package/cjs/api/form/index.d.ts +10 -10
- package/cjs/api/form/index.d.ts.map +1 -1
- package/cjs/api/form/index.js +11 -10
- package/cjs/api/form/index.js.map +1 -1
- package/cjs/api/image/index.d.ts +1 -1
- package/cjs/api/image/index.d.ts.map +1 -1
- package/cjs/api/image/index.js +1 -1
- package/cjs/api/image/index.js.map +1 -1
- package/cjs/api/index.d.ts +22 -21
- package/cjs/api/index.d.ts.map +1 -1
- package/cjs/api/index.js +30 -27
- package/cjs/api/index.js.map +1 -1
- package/cjs/api/objects.d.ts +1 -1
- package/cjs/api/objects.d.ts.map +1 -1
- package/cjs/api/objects.js +7 -10
- package/cjs/api/objects.js.map +1 -1
- package/cjs/api/operations.d.ts +27 -13
- package/cjs/api/operations.d.ts.map +1 -1
- package/cjs/api/operations.js +373 -363
- package/cjs/api/operations.js.map +1 -1
- package/cjs/api/operators.d.ts +6 -1
- package/cjs/api/operators.d.ts.map +1 -1
- package/cjs/api/operators.js +169 -183
- package/cjs/api/operators.js.map +1 -1
- package/cjs/api/rotations.d.ts +2 -2
- package/cjs/api/rotations.d.ts.map +1 -1
- package/cjs/api/rotations.js +30 -30
- package/cjs/api/rotations.js.map +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/DefaultDocumentSnapshot.js +13 -14
- package/cjs/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
- package/cjs/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.js +17 -22
- package/cjs/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
- package/cjs/api/snapshot/index.js +1 -1
- package/cjs/api/svg.d.ts +76 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +749 -0
- package/cjs/api/svg.js.map +1 -0
- package/cjs/api/svgPath.d.ts +1 -1
- package/cjs/api/svgPath.d.ts.map +1 -1
- package/cjs/api/svgPath.js +115 -118
- package/cjs/api/svgPath.js.map +1 -1
- package/cjs/api/text/index.d.ts +2 -2
- package/cjs/api/text/index.d.ts.map +1 -1
- package/cjs/api/text/index.js +1 -1
- package/cjs/api/text/index.js.map +1 -1
- package/cjs/api/text/layout.d.ts +3 -3
- package/cjs/api/text/layout.d.ts.map +1 -1
- package/cjs/api/text/layout.js +87 -88
- package/cjs/api/text/layout.js.map +1 -1
- package/cjs/core/PDFContext.d.ts +39 -19
- package/cjs/core/PDFContext.d.ts.map +1 -1
- package/cjs/core/PDFContext.js +131 -103
- package/cjs/core/PDFContext.js.map +1 -1
- package/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/cjs/core/PDFObjectCopier.d.ts.map +1 -1
- package/cjs/core/PDFObjectCopier.js +58 -62
- package/cjs/core/PDFObjectCopier.js.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.js +42 -47
- package/cjs/core/acroform/PDFAcroButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.js +28 -35
- package/cjs/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.js +47 -60
- package/cjs/core/acroform/PDFAcroChoice.js.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.js +15 -22
- package/cjs/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/cjs/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroField.js +80 -81
- package/cjs/core/acroform/PDFAcroField.js.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.js +46 -47
- package/cjs/core/acroform/PDFAcroForm.js.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.js +13 -20
- package/cjs/core/acroform/PDFAcroListBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.js +18 -25
- package/cjs/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.js +15 -22
- package/cjs/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.js +33 -40
- package/cjs/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/cjs/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.js +5 -12
- package/cjs/core/acroform/PDFAcroSignature.js.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.js +28 -35
- package/cjs/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroText.js +40 -45
- package/cjs/core/acroform/PDFAcroText.js.map +1 -1
- package/cjs/core/acroform/flags.js +1 -1
- package/cjs/core/acroform/flags.js.map +1 -1
- package/cjs/core/acroform/index.d.ts +15 -15
- package/cjs/core/acroform/index.d.ts.map +1 -1
- package/cjs/core/acroform/index.js +15 -14
- package/cjs/core/acroform/index.js.map +1 -1
- package/cjs/core/acroform/utils.d.ts +5 -5
- package/cjs/core/acroform/utils.d.ts.map +1 -1
- package/cjs/core/acroform/utils.js +48 -48
- package/cjs/core/acroform/utils.js.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.js +61 -64
- package/cjs/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/cjs/core/annotation/BorderStyle.d.ts.map +1 -1
- package/cjs/core/annotation/BorderStyle.js +15 -16
- package/cjs/core/annotation/BorderStyle.js.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/cjs/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.js +76 -77
- package/cjs/core/annotation/PDFAnnotation.js.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.js +60 -67
- package/cjs/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/cjs/core/annotation/flags.js +1 -1
- package/cjs/core/annotation/flags.js.map +1 -1
- package/cjs/core/annotation/index.d.ts +4 -4
- package/cjs/core/annotation/index.d.ts.map +1 -1
- package/cjs/core/annotation/index.js +5 -4
- package/cjs/core/annotation/index.js.map +1 -1
- package/cjs/core/crypto.d.ts +96 -0
- package/cjs/core/crypto.d.ts.map +1 -0
- package/cjs/core/crypto.js +1623 -0
- package/cjs/core/crypto.js.map +1 -0
- package/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/cjs/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/cjs/core/document/PDFCrossRefSection.js +62 -65
- package/cjs/core/document/PDFCrossRefSection.js.map +1 -1
- package/cjs/core/document/PDFHeader.d.ts +1 -0
- package/cjs/core/document/PDFHeader.d.ts.map +1 -1
- package/cjs/core/document/PDFHeader.js +21 -21
- package/cjs/core/document/PDFHeader.js.map +1 -1
- package/cjs/core/document/PDFTrailer.js +16 -19
- package/cjs/core/document/PDFTrailer.js.map +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/cjs/core/document/PDFTrailerDict.js +14 -15
- package/cjs/core/document/PDFTrailerDict.js.map +1 -1
- package/cjs/core/embedders/CMap.d.ts +2 -2
- package/cjs/core/embedders/CMap.d.ts.map +1 -1
- package/cjs/core/embedders/CMap.js +41 -28
- package/cjs/core/embedders/CMap.js.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/cjs/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.js +133 -178
- package/cjs/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js +38 -49
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/cjs/core/embedders/FileEmbedder.d.ts +3 -2
- package/cjs/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/FileEmbedder.js +44 -48
- package/cjs/core/embedders/FileEmbedder.js.map +1 -1
- package/cjs/core/embedders/FontFlags.d.ts +1 -1
- package/cjs/core/embedders/FontFlags.d.ts.map +1 -1
- package/cjs/core/embedders/FontFlags.js +7 -6
- package/cjs/core/embedders/FontFlags.js.map +1 -1
- package/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/cjs/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/JavaScriptEmbedder.js +22 -27
- package/cjs/core/embedders/JavaScriptEmbedder.js.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
- package/cjs/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.js +66 -73
- package/cjs/core/embedders/JpegEmbedder.js.map +1 -1
- package/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/cjs/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/PDFPageEmbedder.js +64 -65
- package/cjs/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/cjs/core/embedders/PngEmbedder.d.ts +2 -2
- package/cjs/core/embedders/PngEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/PngEmbedder.js +33 -41
- package/cjs/core/embedders/PngEmbedder.js.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.js +53 -51
- package/cjs/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/cjs/core/errors.d.ts +1 -1
- package/cjs/core/errors.d.ts.map +1 -1
- package/cjs/core/errors.js +147 -260
- package/cjs/core/errors.js.map +1 -1
- package/cjs/core/index.d.ts +48 -47
- package/cjs/core/index.d.ts.map +1 -1
- package/cjs/core/index.js +47 -44
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.d.ts +8 -8
- package/cjs/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.js +135 -138
- package/cjs/core/interactive/ViewerPreferences.js.map +1 -1
- package/cjs/core/objects/PDFArray.d.ts +12 -12
- package/cjs/core/objects/PDFArray.d.ts.map +1 -1
- package/cjs/core/objects/PDFArray.js +72 -81
- package/cjs/core/objects/PDFArray.js.map +1 -1
- package/cjs/core/objects/PDFBool.d.ts +1 -1
- package/cjs/core/objects/PDFBool.d.ts.map +1 -1
- package/cjs/core/objects/PDFBool.js +22 -26
- package/cjs/core/objects/PDFBool.js.map +1 -1
- package/cjs/core/objects/PDFDict.d.ts +13 -12
- package/cjs/core/objects/PDFDict.d.ts.map +1 -1
- package/cjs/core/objects/PDFDict.js +76 -88
- package/cjs/core/objects/PDFDict.js.map +1 -1
- package/cjs/core/objects/PDFHexString.d.ts +2 -1
- package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
- package/cjs/core/objects/PDFHexString.js +50 -52
- package/cjs/core/objects/PDFHexString.js.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.js +19 -22
- package/cjs/core/objects/PDFInvalidObject.js.map +1 -1
- package/cjs/core/objects/PDFName.d.ts +1 -1
- package/cjs/core/objects/PDFName.d.ts.map +1 -1
- package/cjs/core/objects/PDFName.js +84 -92
- package/cjs/core/objects/PDFName.js.map +1 -1
- package/cjs/core/objects/PDFNull.d.ts +1 -1
- package/cjs/core/objects/PDFNull.d.ts.map +1 -1
- package/cjs/core/objects/PDFNull.js +15 -20
- package/cjs/core/objects/PDFNull.js.map +1 -1
- package/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/cjs/core/objects/PDFNumber.d.ts.map +1 -1
- package/cjs/core/objects/PDFNumber.js +23 -26
- package/cjs/core/objects/PDFNumber.js.map +1 -1
- package/cjs/core/objects/PDFObject.d.ts +1 -1
- package/cjs/core/objects/PDFObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFObject.js +13 -16
- package/cjs/core/objects/PDFObject.js.map +1 -1
- package/cjs/core/objects/PDFRawStream.d.ts +8 -5
- package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFRawStream.js +24 -25
- package/cjs/core/objects/PDFRawStream.js.map +1 -1
- package/cjs/core/objects/PDFRef.d.ts +1 -1
- package/cjs/core/objects/PDFRef.d.ts.map +1 -1
- package/cjs/core/objects/PDFRef.js +31 -36
- package/cjs/core/objects/PDFRef.js.map +1 -1
- package/cjs/core/objects/PDFStream.d.ts +4 -3
- package/cjs/core/objects/PDFStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFStream.js +35 -35
- package/cjs/core/objects/PDFStream.js.map +1 -1
- package/cjs/core/objects/PDFString.d.ts +1 -1
- package/cjs/core/objects/PDFString.d.ts.map +1 -1
- package/cjs/core/objects/PDFString.js +55 -58
- package/cjs/core/objects/PDFString.js.map +1 -1
- package/cjs/core/operators/PDFOperator.d.ts +9 -9
- package/cjs/core/operators/PDFOperator.d.ts.map +1 -1
- package/cjs/core/operators/PDFOperator.js +29 -32
- package/cjs/core/operators/PDFOperator.js.map +1 -1
- package/cjs/core/parser/BaseParser.d.ts +1 -1
- package/cjs/core/parser/BaseParser.d.ts.map +1 -1
- package/cjs/core/parser/BaseParser.js +40 -42
- package/cjs/core/parser/BaseParser.js.map +1 -1
- package/cjs/core/parser/ByteStream.d.ts +1 -1
- package/cjs/core/parser/ByteStream.d.ts.map +1 -1
- package/cjs/core/parser/ByteStream.js +30 -33
- package/cjs/core/parser/ByteStream.js.map +1 -1
- package/cjs/core/parser/PDFObjectParser.d.ts +23 -21
- package/cjs/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectParser.js +96 -88
- package/cjs/core/parser/PDFObjectParser.js.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/cjs/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.js +42 -60
- package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/cjs/core/parser/PDFParser.d.ts +6 -4
- package/cjs/core/parser/PDFParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFParser.js +169 -217
- package/cjs/core/parser/PDFParser.js.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.js +38 -41
- package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/cjs/core/security/PDFSecurity.d.ts +75 -0
- package/cjs/core/security/PDFSecurity.d.ts.map +1 -0
- package/cjs/core/security/PDFSecurity.js +406 -0
- package/cjs/core/security/PDFSecurity.js.map +1 -0
- package/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/cjs/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/cjs/core/streams/Ascii85Stream.js +21 -26
- package/cjs/core/streams/Ascii85Stream.js.map +1 -1
- package/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/cjs/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/cjs/core/streams/AsciiHexStream.js +19 -22
- package/cjs/core/streams/AsciiHexStream.js.map +1 -1
- package/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/cjs/core/streams/DecodeStream.d.ts.map +1 -1
- package/cjs/core/streams/DecodeStream.js +54 -61
- package/cjs/core/streams/DecodeStream.js.map +1 -1
- package/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/cjs/core/streams/DecryptStream.d.ts.map +1 -0
- package/cjs/core/streams/DecryptStream.js +39 -0
- package/cjs/core/streams/DecryptStream.js.map +1 -0
- package/cjs/core/streams/FlateStream.d.ts +2 -2
- package/cjs/core/streams/FlateStream.d.ts.map +1 -1
- package/cjs/core/streams/FlateStream.js +82 -84
- package/cjs/core/streams/FlateStream.js.map +1 -1
- package/cjs/core/streams/LZWStream.d.ts +3 -3
- package/cjs/core/streams/LZWStream.d.ts.map +1 -1
- package/cjs/core/streams/LZWStream.js +42 -45
- package/cjs/core/streams/LZWStream.js.map +1 -1
- package/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/cjs/core/streams/RunLengthStream.d.ts.map +1 -1
- package/cjs/core/streams/RunLengthStream.js +16 -19
- package/cjs/core/streams/RunLengthStream.js.map +1 -1
- package/cjs/core/streams/Stream.js +45 -56
- package/cjs/core/streams/Stream.js.map +1 -1
- package/cjs/core/streams/decode.d.ts +3 -3
- package/cjs/core/streams/decode.d.ts.map +1 -1
- package/cjs/core/streams/decode.js +25 -22
- package/cjs/core/streams/decode.js.map +1 -1
- package/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
- package/cjs/core/structures/PDFCatalog.js +40 -47
- package/cjs/core/structures/PDFCatalog.js.map +1 -1
- package/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/cjs/core/structures/PDFContentStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFContentStream.js +31 -43
- package/cjs/core/structures/PDFContentStream.js.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.d.ts +6 -6
- package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.js +92 -100
- package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
- package/cjs/core/structures/PDFFlateStream.d.ts +5 -4
- package/cjs/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFFlateStream.js +24 -24
- package/cjs/core/structures/PDFFlateStream.js.map +1 -1
- package/cjs/core/structures/PDFObjectStream.d.ts +5 -5
- package/cjs/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFObjectStream.js +49 -56
- package/cjs/core/structures/PDFObjectStream.js.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/cjs/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.js +126 -133
- package/cjs/core/structures/PDFPageLeaf.js.map +1 -1
- package/cjs/core/structures/PDFPageTree.d.ts +8 -8
- package/cjs/core/structures/PDFPageTree.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageTree.js +67 -75
- package/cjs/core/structures/PDFPageTree.js.map +1 -1
- package/cjs/core/syntax/Delimiters.js +2 -2
- package/cjs/core/syntax/Delimiters.js.map +1 -1
- package/cjs/core/syntax/Irregular.js +5 -5
- package/cjs/core/syntax/Irregular.js.map +1 -1
- package/cjs/core/syntax/Keywords.d.ts +1 -1
- package/cjs/core/syntax/Keywords.d.ts.map +1 -1
- package/cjs/core/syntax/Keywords.js +14 -14
- package/cjs/core/syntax/Keywords.js.map +1 -1
- package/cjs/core/syntax/Numeric.js +3 -3
- package/cjs/core/syntax/Numeric.js.map +1 -1
- package/cjs/core/syntax/Whitespace.js +2 -2
- package/cjs/core/syntax/Whitespace.js.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.d.ts +7 -7
- package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +102 -126
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/cjs/core/writers/PDFWriter.d.ts +15 -10
- package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFWriter.js +116 -142
- package/cjs/core/writers/PDFWriter.js.map +1 -1
- package/cjs/index.d.ts +4 -4
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +5 -5
- package/cjs/index.js.map +1 -1
- package/cjs/types/index.d.ts +25 -1
- package/cjs/types/index.d.ts.map +1 -1
- package/cjs/types/matrix.d.ts +8 -1
- package/cjs/types/matrix.d.ts.map +1 -1
- package/cjs/utils/Cache.js +10 -11
- package/cjs/utils/Cache.js.map +1 -1
- package/cjs/utils/arrays.d.ts +3 -1
- package/cjs/utils/arrays.d.ts.map +1 -1
- package/cjs/utils/arrays.js +97 -64
- package/cjs/utils/arrays.js.map +1 -1
- package/cjs/utils/async.d.ts.map +1 -1
- package/cjs/utils/async.js +4 -5
- package/cjs/utils/async.js.map +1 -1
- package/cjs/utils/base64.d.ts.map +1 -1
- package/cjs/utils/base64.js +29 -26
- package/cjs/utils/base64.js.map +1 -1
- package/cjs/utils/elements/Arc.d.ts +23 -0
- package/cjs/utils/elements/Arc.d.ts.map +1 -0
- package/cjs/utils/elements/Arc.js +78 -0
- package/cjs/utils/elements/Arc.js.map +1 -0
- package/cjs/utils/elements/Circle.d.ts +15 -0
- package/cjs/utils/elements/Circle.d.ts.map +1 -0
- package/cjs/utils/elements/Circle.js +41 -0
- package/cjs/utils/elements/Circle.js.map +1 -0
- package/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/cjs/utils/elements/Ellipse.d.ts.map +1 -0
- package/cjs/utils/elements/Ellipse.js +91 -0
- package/cjs/utils/elements/Ellipse.js.map +1 -0
- package/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/cjs/utils/elements/GraphElement.d.ts.map +1 -0
- package/cjs/utils/elements/GraphElement.js +11 -0
- package/cjs/utils/elements/GraphElement.js.map +1 -0
- package/cjs/utils/elements/Line.d.ts +24 -0
- package/cjs/utils/elements/Line.d.ts.map +1 -0
- package/cjs/utils/elements/Line.js +72 -0
- package/cjs/utils/elements/Line.js.map +1 -0
- package/cjs/utils/elements/Plot.d.ts +12 -0
- package/cjs/utils/elements/Plot.d.ts.map +1 -0
- package/cjs/utils/elements/Plot.js +46 -0
- package/cjs/utils/elements/Plot.js.map +1 -0
- package/cjs/utils/elements/Point.d.ts +19 -0
- package/cjs/utils/elements/Point.d.ts.map +1 -0
- package/cjs/utils/elements/Point.js +32 -0
- package/cjs/utils/elements/Point.js.map +1 -0
- package/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/cjs/utils/elements/Rectangle.d.ts.map +1 -0
- package/cjs/utils/elements/Rectangle.js +58 -0
- package/cjs/utils/elements/Rectangle.js.map +1 -0
- package/cjs/utils/elements/Segment.d.ts +20 -0
- package/cjs/utils/elements/Segment.d.ts.map +1 -0
- package/cjs/utils/elements/Segment.js +80 -0
- package/cjs/utils/elements/Segment.js.map +1 -0
- package/cjs/utils/elements/index.d.ts +10 -0
- package/cjs/utils/elements/index.d.ts.map +1 -0
- package/cjs/utils/elements/index.js +25 -0
- package/cjs/utils/elements/index.js.map +1 -0
- package/cjs/utils/errors.js +2 -1
- package/cjs/utils/errors.js.map +1 -1
- package/cjs/utils/index.d.ts +11 -11
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +3 -2
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/intersections.d.ts +10 -0
- package/cjs/utils/intersections.d.ts.map +1 -0
- package/cjs/utils/intersections.js +253 -0
- package/cjs/utils/intersections.js.map +1 -0
- package/cjs/utils/maths.d.ts +46 -0
- package/cjs/utils/maths.d.ts.map +1 -0
- package/cjs/utils/maths.js +89 -0
- package/cjs/utils/maths.js.map +1 -0
- package/cjs/utils/numbers.js +12 -9
- package/cjs/utils/numbers.js.map +1 -1
- package/cjs/utils/objects.js +8 -7
- package/cjs/utils/objects.js.map +1 -1
- package/cjs/utils/pdfDocEncoding.js +52 -51
- package/cjs/utils/pdfDocEncoding.js.map +1 -1
- package/cjs/utils/png.js +22 -23
- package/cjs/utils/png.js.map +1 -1
- package/cjs/utils/rng.js +7 -8
- package/cjs/utils/rng.js.map +1 -1
- package/cjs/utils/strings.d.ts +1 -0
- package/cjs/utils/strings.d.ts.map +1 -1
- package/cjs/utils/strings.js +88 -70
- package/cjs/utils/strings.js.map +1 -1
- package/cjs/utils/unicode.js +51 -64
- package/cjs/utils/unicode.js.map +1 -1
- package/cjs/utils/validators.d.ts +2 -2
- package/cjs/utils/validators.d.ts.map +1 -1
- package/cjs/utils/validators.js +84 -67
- package/cjs/utils/validators.js.map +1 -1
- package/dist/pdf-lib.esm.js +16231 -31855
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +16 -13
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +16370 -32042
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +16 -13
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/Embeddable.js +1 -0
- package/es/api/PDFDocument.d.ts +44 -11
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +580 -591
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFDocumentOptions.d.ts +4 -2
- package/es/api/PDFDocumentOptions.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.d.ts +9 -4
- package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.js +54 -60
- package/es/api/PDFEmbeddedFile.js.map +1 -1
- package/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/es/api/PDFEmbeddedPage.d.ts.map +1 -1
- package/es/api/PDFEmbeddedPage.js +31 -43
- package/es/api/PDFEmbeddedPage.js.map +1 -1
- package/es/api/PDFFont.d.ts +4 -4
- package/es/api/PDFFont.d.ts.map +1 -1
- package/es/api/PDFFont.js +38 -49
- package/es/api/PDFFont.js.map +1 -1
- package/es/api/PDFImage.d.ts +4 -4
- package/es/api/PDFImage.d.ts.map +1 -1
- package/es/api/PDFImage.js +44 -57
- package/es/api/PDFImage.js.map +1 -1
- package/es/api/PDFJavaScript.d.ts +4 -4
- package/es/api/PDFJavaScript.d.ts.map +1 -1
- package/es/api/PDFJavaScript.js +38 -51
- package/es/api/PDFJavaScript.js.map +1 -1
- package/es/api/PDFPage.d.ts +33 -9
- package/es/api/PDFPage.d.ts.map +1 -1
- package/es/api/PDFPage.js +311 -266
- package/es/api/PDFPage.js.map +1 -1
- package/es/api/PDFPageOptions.d.ts +35 -12
- package/es/api/PDFPageOptions.d.ts.map +1 -1
- package/es/api/PDFPageOptions.js.map +1 -1
- package/es/api/PDFSvg.d.ts +7 -0
- package/es/api/PDFSvg.d.ts.map +1 -0
- package/es/api/PDFSvg.js +7 -0
- package/es/api/PDFSvg.js.map +1 -0
- package/es/api/colors.d.ts +6 -2
- package/es/api/colors.d.ts.map +1 -1
- package/es/api/colors.js +33 -34
- package/es/api/colors.js.map +1 -1
- package/es/api/errors.js +73 -144
- package/es/api/errors.js.map +1 -1
- package/es/api/form/PDFButton.d.ts +8 -8
- package/es/api/form/PDFButton.d.ts.map +1 -1
- package/es/api/form/PDFButton.js +56 -62
- package/es/api/form/PDFButton.js.map +1 -1
- package/es/api/form/PDFCheckBox.d.ts +5 -5
- package/es/api/form/PDFCheckBox.d.ts.map +1 -1
- package/es/api/form/PDFCheckBox.js +55 -62
- package/es/api/form/PDFCheckBox.js.map +1 -1
- package/es/api/form/PDFDropdown.d.ts +6 -6
- package/es/api/form/PDFDropdown.d.ts.map +1 -1
- package/es/api/form/PDFDropdown.js +110 -118
- package/es/api/form/PDFDropdown.js.map +1 -1
- package/es/api/form/PDFField.d.ts +7 -7
- package/es/api/form/PDFField.d.ts.map +1 -1
- package/es/api/form/PDFField.js +98 -106
- package/es/api/form/PDFField.js.map +1 -1
- package/es/api/form/PDFForm.d.ts +11 -11
- package/es/api/form/PDFForm.d.ts.map +1 -1
- package/es/api/form/PDFForm.js +203 -200
- package/es/api/form/PDFForm.js.map +1 -1
- package/es/api/form/PDFOptionList.d.ts +6 -6
- package/es/api/form/PDFOptionList.d.ts.map +1 -1
- package/es/api/form/PDFOptionList.js +98 -106
- package/es/api/form/PDFOptionList.js.map +1 -1
- package/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/es/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/es/api/form/PDFRadioGroup.js +86 -91
- package/es/api/form/PDFRadioGroup.js.map +1 -1
- package/es/api/form/PDFSignature.d.ts +3 -3
- package/es/api/form/PDFSignature.d.ts.map +1 -1
- package/es/api/form/PDFSignature.js +23 -28
- package/es/api/form/PDFSignature.js.map +1 -1
- package/es/api/form/PDFTextField.d.ts +8 -8
- package/es/api/form/PDFTextField.d.ts.map +1 -1
- package/es/api/form/PDFTextField.js +121 -128
- package/es/api/form/PDFTextField.js.map +1 -1
- package/es/api/form/appearances.d.ts +21 -21
- package/es/api/form/appearances.d.ts.map +1 -1
- package/es/api/form/appearances.js +245 -214
- package/es/api/form/appearances.js.map +1 -1
- package/es/api/form/index.d.ts +10 -10
- package/es/api/form/index.d.ts.map +1 -1
- package/es/api/form/index.js +10 -10
- package/es/api/form/index.js.map +1 -1
- package/es/api/image/index.d.ts +1 -1
- package/es/api/image/index.d.ts.map +1 -1
- package/es/api/image/index.js +1 -1
- package/es/api/image/index.js.map +1 -1
- package/es/api/index.d.ts +22 -21
- package/es/api/index.d.ts.map +1 -1
- package/es/api/index.js +21 -20
- package/es/api/index.js.map +1 -1
- package/es/api/objects.d.ts +1 -1
- package/es/api/objects.d.ts.map +1 -1
- package/es/api/objects.js +4 -10
- package/es/api/objects.js.map +1 -1
- package/es/api/operations.d.ts +27 -13
- package/es/api/operations.d.ts.map +1 -1
- package/es/api/operations.js +266 -272
- package/es/api/operations.js.map +1 -1
- package/es/api/operators.d.ts +6 -1
- package/es/api/operators.d.ts.map +1 -1
- package/es/api/operators.js +114 -182
- package/es/api/operators.js.map +1 -1
- package/es/api/rotations.d.ts +2 -2
- package/es/api/rotations.d.ts.map +1 -1
- package/es/api/rotations.js +19 -28
- package/es/api/rotations.js.map +1 -1
- package/es/api/sizes.js +1 -1
- package/es/api/sizes.js.map +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/DefaultDocumentSnapshot.js +14 -16
- package/es/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
- package/es/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/DocumentSnapshot.js +1 -0
- package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
- package/es/api/snapshot/IncrementalDocumentSnapshot.js +17 -23
- package/es/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
- package/es/api/snapshot/index.js +3 -3
- package/es/api/svg.d.ts +76 -0
- package/es/api/svg.d.ts.map +1 -0
- package/es/api/svg.js +742 -0
- package/es/api/svg.js.map +1 -0
- package/es/api/svgPath.d.ts +1 -1
- package/es/api/svgPath.d.ts.map +1 -1
- package/es/api/svgPath.js +104 -108
- package/es/api/svgPath.js.map +1 -1
- package/es/api/text/index.d.ts +2 -2
- package/es/api/text/index.d.ts.map +1 -1
- package/es/api/text/index.js +2 -2
- package/es/api/text/index.js.map +1 -1
- package/es/api/text/layout.d.ts +3 -3
- package/es/api/text/layout.d.ts.map +1 -1
- package/es/api/text/layout.js +84 -88
- package/es/api/text/layout.js.map +1 -1
- package/es/core/PDFContext.d.ts +39 -19
- package/es/core/PDFContext.d.ts.map +1 -1
- package/es/core/PDFContext.js +128 -101
- package/es/core/PDFContext.js.map +1 -1
- package/es/core/PDFObjectCopier.d.ts +2 -2
- package/es/core/PDFObjectCopier.d.ts.map +1 -1
- package/es/core/PDFObjectCopier.js +57 -61
- package/es/core/PDFObjectCopier.js.map +1 -1
- package/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/es/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroButton.js +41 -47
- package/es/core/acroform/PDFAcroButton.js.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/es/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.js +27 -35
- package/es/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/es/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroChoice.js +46 -60
- package/es/core/acroform/PDFAcroChoice.js.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.js +14 -22
- package/es/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/es/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroField.js +79 -80
- package/es/core/acroform/PDFAcroField.js.map +1 -1
- package/es/core/acroform/PDFAcroForm.d.ts +5 -5
- package/es/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroForm.js +43 -44
- package/es/core/acroform/PDFAcroForm.js.map +1 -1
- package/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroListBox.js +12 -20
- package/es/core/acroform/PDFAcroListBox.js.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/es/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.js +17 -25
- package/es/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/es/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.js +14 -22
- package/es/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/es/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.js +32 -40
- package/es/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/es/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroSignature.js +4 -12
- package/es/core/acroform/PDFAcroSignature.js.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/es/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.js +27 -35
- package/es/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/es/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroText.js +39 -45
- package/es/core/acroform/PDFAcroText.js.map +1 -1
- package/es/core/acroform/flags.js +1 -1
- package/es/core/acroform/flags.js.map +1 -1
- package/es/core/acroform/index.d.ts +15 -15
- package/es/core/acroform/index.d.ts.map +1 -1
- package/es/core/acroform/index.js +15 -15
- package/es/core/acroform/index.js.map +1 -1
- package/es/core/acroform/utils.d.ts +5 -5
- package/es/core/acroform/utils.d.ts.map +1 -1
- package/es/core/acroform/utils.js +44 -46
- package/es/core/acroform/utils.js.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/es/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.js +60 -63
- package/es/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/es/core/annotation/BorderStyle.d.ts +2 -2
- package/es/core/annotation/BorderStyle.d.ts.map +1 -1
- package/es/core/annotation/BorderStyle.js +14 -15
- package/es/core/annotation/BorderStyle.js.map +1 -1
- package/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/es/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFAnnotation.js +75 -76
- package/es/core/annotation/PDFAnnotation.js.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/es/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.js +59 -67
- package/es/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/es/core/annotation/flags.js +1 -1
- package/es/core/annotation/flags.js.map +1 -1
- package/es/core/annotation/index.d.ts +4 -4
- package/es/core/annotation/index.d.ts.map +1 -1
- package/es/core/annotation/index.js +4 -4
- package/es/core/annotation/index.js.map +1 -1
- package/es/core/crypto.d.ts +96 -0
- package/es/core/crypto.d.ts.map +1 -0
- package/es/core/crypto.js +1609 -0
- package/es/core/crypto.js.map +1 -0
- package/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/es/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/es/core/document/PDFCrossRefSection.js +55 -58
- package/es/core/document/PDFCrossRefSection.js.map +1 -1
- package/es/core/document/PDFHeader.d.ts +1 -0
- package/es/core/document/PDFHeader.d.ts.map +1 -1
- package/es/core/document/PDFHeader.js +18 -18
- package/es/core/document/PDFHeader.js.map +1 -1
- package/es/core/document/PDFTrailer.js +14 -17
- package/es/core/document/PDFTrailer.js.map +1 -1
- package/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/es/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/es/core/document/PDFTrailerDict.js +13 -14
- package/es/core/document/PDFTrailerDict.js.map +1 -1
- package/es/core/embedders/CMap.d.ts +2 -2
- package/es/core/embedders/CMap.d.ts.map +1 -1
- package/es/core/embedders/CMap.js +38 -26
- package/es/core/embedders/CMap.js.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/es/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.js +132 -177
- package/es/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/es/core/embedders/CustomFontSubsetEmbedder.d.ts.map +1 -1
- package/es/core/embedders/CustomFontSubsetEmbedder.js +37 -48
- package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/es/core/embedders/FileEmbedder.d.ts +3 -2
- package/es/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/es/core/embedders/FileEmbedder.js +44 -48
- package/es/core/embedders/FileEmbedder.js.map +1 -1
- package/es/core/embedders/FontFlags.d.ts +1 -1
- package/es/core/embedders/FontFlags.d.ts.map +1 -1
- package/es/core/embedders/FontFlags.js +6 -6
- package/es/core/embedders/FontFlags.js.map +1 -1
- package/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/es/core/embedders/JavaScriptEmbedder.d.ts.map +1 -1
- package/es/core/embedders/JavaScriptEmbedder.js +22 -27
- package/es/core/embedders/JavaScriptEmbedder.js.map +1 -1
- package/es/core/embedders/JpegEmbedder.d.ts +2 -2
- package/es/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/es/core/embedders/JpegEmbedder.js +66 -73
- package/es/core/embedders/JpegEmbedder.js.map +1 -1
- package/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/es/core/embedders/PDFPageEmbedder.d.ts.map +1 -1
- package/es/core/embedders/PDFPageEmbedder.js +63 -64
- package/es/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/es/core/embedders/PngEmbedder.d.ts +2 -2
- package/es/core/embedders/PngEmbedder.d.ts.map +1 -1
- package/es/core/embedders/PngEmbedder.js +33 -41
- package/es/core/embedders/PngEmbedder.js.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.js +50 -48
- package/es/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/es/core/errors.d.ts +1 -1
- package/es/core/errors.d.ts.map +1 -1
- package/es/core/errors.js +175 -316
- package/es/core/errors.js.map +1 -1
- package/es/core/index.d.ts +48 -47
- package/es/core/index.d.ts.map +1 -1
- package/es/core/index.js +48 -47
- package/es/core/index.js.map +1 -1
- package/es/core/interactive/ViewerPreferences.d.ts +8 -8
- package/es/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/es/core/interactive/ViewerPreferences.js +127 -130
- package/es/core/interactive/ViewerPreferences.js.map +1 -1
- package/es/core/objects/PDFArray.d.ts +12 -12
- package/es/core/objects/PDFArray.d.ts.map +1 -1
- package/es/core/objects/PDFArray.js +71 -81
- package/es/core/objects/PDFArray.js.map +1 -1
- package/es/core/objects/PDFBool.d.ts +1 -1
- package/es/core/objects/PDFBool.d.ts.map +1 -1
- package/es/core/objects/PDFBool.js +21 -26
- package/es/core/objects/PDFBool.js.map +1 -1
- package/es/core/objects/PDFDict.d.ts +13 -12
- package/es/core/objects/PDFDict.d.ts.map +1 -1
- package/es/core/objects/PDFDict.js +75 -88
- package/es/core/objects/PDFDict.js.map +1 -1
- package/es/core/objects/PDFHexString.d.ts +2 -1
- package/es/core/objects/PDFHexString.d.ts.map +1 -1
- package/es/core/objects/PDFHexString.js +45 -48
- package/es/core/objects/PDFHexString.js.map +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/es/core/objects/PDFInvalidObject.js +18 -22
- package/es/core/objects/PDFInvalidObject.js.map +1 -1
- package/es/core/objects/PDFName.d.ts +1 -1
- package/es/core/objects/PDFName.d.ts.map +1 -1
- package/es/core/objects/PDFName.js +83 -92
- package/es/core/objects/PDFName.js.map +1 -1
- package/es/core/objects/PDFNull.d.ts +1 -1
- package/es/core/objects/PDFNull.d.ts.map +1 -1
- package/es/core/objects/PDFNull.js +14 -20
- package/es/core/objects/PDFNull.js.map +1 -1
- package/es/core/objects/PDFNumber.d.ts +1 -1
- package/es/core/objects/PDFNumber.d.ts.map +1 -1
- package/es/core/objects/PDFNumber.js +22 -26
- package/es/core/objects/PDFNumber.js.map +1 -1
- package/es/core/objects/PDFObject.d.ts +1 -1
- package/es/core/objects/PDFObject.d.ts.map +1 -1
- package/es/core/objects/PDFObject.js +13 -16
- package/es/core/objects/PDFObject.js.map +1 -1
- package/es/core/objects/PDFRawStream.d.ts +8 -5
- package/es/core/objects/PDFRawStream.d.ts.map +1 -1
- package/es/core/objects/PDFRawStream.js +22 -24
- package/es/core/objects/PDFRawStream.js.map +1 -1
- package/es/core/objects/PDFRef.d.ts +1 -1
- package/es/core/objects/PDFRef.d.ts.map +1 -1
- package/es/core/objects/PDFRef.js +30 -36
- package/es/core/objects/PDFRef.js.map +1 -1
- package/es/core/objects/PDFStream.d.ts +4 -3
- package/es/core/objects/PDFStream.d.ts.map +1 -1
- package/es/core/objects/PDFStream.js +34 -35
- package/es/core/objects/PDFStream.js.map +1 -1
- package/es/core/objects/PDFString.d.ts +1 -1
- package/es/core/objects/PDFString.d.ts.map +1 -1
- package/es/core/objects/PDFString.js +50 -54
- package/es/core/objects/PDFString.js.map +1 -1
- package/es/core/operators/PDFOperator.d.ts +9 -9
- package/es/core/operators/PDFOperator.d.ts.map +1 -1
- package/es/core/operators/PDFOperator.js +26 -29
- package/es/core/operators/PDFOperator.js.map +1 -1
- package/es/core/parser/BaseParser.d.ts +1 -1
- package/es/core/parser/BaseParser.d.ts.map +1 -1
- package/es/core/parser/BaseParser.js +36 -38
- package/es/core/parser/BaseParser.js.map +1 -1
- package/es/core/parser/ByteStream.d.ts +1 -1
- package/es/core/parser/ByteStream.d.ts.map +1 -1
- package/es/core/parser/ByteStream.js +29 -32
- package/es/core/parser/ByteStream.js.map +1 -1
- package/es/core/parser/PDFObjectParser.d.ts +23 -21
- package/es/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectParser.js +92 -85
- package/es/core/parser/PDFObjectParser.js.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/es/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.js +42 -60
- package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/es/core/parser/PDFParser.d.ts +6 -4
- package/es/core/parser/PDFParser.d.ts.map +1 -1
- package/es/core/parser/PDFParser.js +169 -217
- package/es/core/parser/PDFParser.js.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.js +37 -40
- package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/es/core/security/PDFSecurity.d.ts +75 -0
- package/es/core/security/PDFSecurity.d.ts.map +1 -0
- package/es/core/security/PDFSecurity.js +403 -0
- package/es/core/security/PDFSecurity.js.map +1 -0
- package/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/es/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/es/core/streams/Ascii85Stream.js +20 -26
- package/es/core/streams/Ascii85Stream.js.map +1 -1
- package/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/es/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/es/core/streams/AsciiHexStream.js +18 -22
- package/es/core/streams/AsciiHexStream.js.map +1 -1
- package/es/core/streams/DecodeStream.d.ts +1 -1
- package/es/core/streams/DecodeStream.d.ts.map +1 -1
- package/es/core/streams/DecodeStream.js +53 -60
- package/es/core/streams/DecodeStream.js.map +1 -1
- package/es/core/streams/DecryptStream.d.ts +13 -0
- package/es/core/streams/DecryptStream.d.ts.map +1 -0
- package/es/core/streams/DecryptStream.js +36 -0
- package/es/core/streams/DecryptStream.js.map +1 -0
- package/es/core/streams/FlateStream.d.ts +2 -2
- package/es/core/streams/FlateStream.d.ts.map +1 -1
- package/es/core/streams/FlateStream.js +81 -84
- package/es/core/streams/FlateStream.js.map +1 -1
- package/es/core/streams/LZWStream.d.ts +3 -3
- package/es/core/streams/LZWStream.d.ts.map +1 -1
- package/es/core/streams/LZWStream.js +41 -45
- package/es/core/streams/LZWStream.js.map +1 -1
- package/es/core/streams/RunLengthStream.d.ts +2 -2
- package/es/core/streams/RunLengthStream.d.ts.map +1 -1
- package/es/core/streams/RunLengthStream.js +15 -19
- package/es/core/streams/RunLengthStream.js.map +1 -1
- package/es/core/streams/Stream.js +45 -56
- package/es/core/streams/Stream.js.map +1 -1
- package/es/core/streams/decode.d.ts +3 -3
- package/es/core/streams/decode.d.ts.map +1 -1
- package/es/core/streams/decode.js +23 -21
- package/es/core/streams/decode.js.map +1 -1
- package/es/core/structures/PDFCatalog.d.ts +5 -5
- package/es/core/structures/PDFCatalog.d.ts.map +1 -1
- package/es/core/structures/PDFCatalog.js +39 -47
- package/es/core/structures/PDFCatalog.js.map +1 -1
- package/es/core/structures/PDFContentStream.d.ts +4 -4
- package/es/core/structures/PDFContentStream.d.ts.map +1 -1
- package/es/core/structures/PDFContentStream.js +30 -43
- package/es/core/structures/PDFContentStream.js.map +1 -1
- package/es/core/structures/PDFCrossRefStream.d.ts +6 -6
- package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/es/core/structures/PDFCrossRefStream.js +91 -100
- package/es/core/structures/PDFCrossRefStream.js.map +1 -1
- package/es/core/structures/PDFFlateStream.d.ts +5 -4
- package/es/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/es/core/structures/PDFFlateStream.js +22 -23
- package/es/core/structures/PDFFlateStream.js.map +1 -1
- package/es/core/structures/PDFObjectStream.d.ts +5 -5
- package/es/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/es/core/structures/PDFObjectStream.js +46 -54
- package/es/core/structures/PDFObjectStream.js.map +1 -1
- package/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/es/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/es/core/structures/PDFPageLeaf.js +125 -133
- package/es/core/structures/PDFPageLeaf.js.map +1 -1
- package/es/core/structures/PDFPageTree.d.ts +8 -8
- package/es/core/structures/PDFPageTree.d.ts.map +1 -1
- package/es/core/structures/PDFPageTree.js +66 -75
- package/es/core/structures/PDFPageTree.js.map +1 -1
- package/es/core/syntax/Delimiters.js +2 -2
- package/es/core/syntax/Delimiters.js.map +1 -1
- package/es/core/syntax/Irregular.js +5 -5
- package/es/core/syntax/Irregular.js.map +1 -1
- package/es/core/syntax/Keywords.d.ts +1 -1
- package/es/core/syntax/Keywords.d.ts.map +1 -1
- package/es/core/syntax/Keywords.js +14 -15
- package/es/core/syntax/Keywords.js.map +1 -1
- package/es/core/syntax/Numeric.js +5 -5
- package/es/core/syntax/Numeric.js.map +1 -1
- package/es/core/syntax/Whitespace.js +2 -2
- package/es/core/syntax/Whitespace.js.map +1 -1
- package/es/core/writers/PDFStreamWriter.d.ts +7 -7
- package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +102 -126
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/es/core/writers/PDFWriter.d.ts +15 -10
- package/es/core/writers/PDFWriter.d.ts.map +1 -1
- package/es/core/writers/PDFWriter.js +116 -142
- package/es/core/writers/PDFWriter.js.map +1 -1
- package/es/index.d.ts +4 -4
- package/es/index.d.ts.map +1 -1
- package/es/index.js +4 -4
- package/es/index.js.map +1 -1
- package/es/package.json +3 -0
- package/es/types/fontkit.js +1 -0
- package/es/types/index.d.ts +25 -1
- package/es/types/index.d.ts.map +1 -1
- package/es/types/index.js +1 -0
- package/es/types/matrix.d.ts +8 -1
- package/es/types/matrix.d.ts.map +1 -1
- package/es/types/matrix.js +1 -1
- package/es/types/matrix.js.map +1 -1
- package/es/utils/Cache.js +10 -11
- package/es/utils/Cache.js.map +1 -1
- package/es/utils/arrays.d.ts +3 -1
- package/es/utils/arrays.d.ts.map +1 -1
- package/es/utils/arrays.js +78 -60
- package/es/utils/arrays.js.map +1 -1
- package/es/utils/async.d.ts.map +1 -1
- package/es/utils/async.js +3 -5
- package/es/utils/async.js.map +1 -1
- package/es/utils/base64.d.ts.map +1 -1
- package/es/utils/base64.js +24 -24
- package/es/utils/base64.js.map +1 -1
- package/es/utils/elements/Arc.d.ts +23 -0
- package/es/utils/elements/Arc.d.ts.map +1 -0
- package/es/utils/elements/Arc.js +74 -0
- package/es/utils/elements/Arc.js.map +1 -0
- package/es/utils/elements/Circle.d.ts +15 -0
- package/es/utils/elements/Circle.d.ts.map +1 -0
- package/es/utils/elements/Circle.js +37 -0
- package/es/utils/elements/Circle.js.map +1 -0
- package/es/utils/elements/Ellipse.d.ts +21 -0
- package/es/utils/elements/Ellipse.d.ts.map +1 -0
- package/es/utils/elements/Ellipse.js +87 -0
- package/es/utils/elements/Ellipse.js.map +1 -0
- package/es/utils/elements/GraphElement.d.ts +7 -0
- package/es/utils/elements/GraphElement.d.ts.map +1 -0
- package/es/utils/elements/GraphElement.js +8 -0
- package/es/utils/elements/GraphElement.js.map +1 -0
- package/es/utils/elements/Line.d.ts +24 -0
- package/es/utils/elements/Line.d.ts.map +1 -0
- package/es/utils/elements/Line.js +68 -0
- package/es/utils/elements/Line.js.map +1 -0
- package/es/utils/elements/Plot.d.ts +12 -0
- package/es/utils/elements/Plot.d.ts.map +1 -0
- package/es/utils/elements/Plot.js +42 -0
- package/es/utils/elements/Plot.js.map +1 -0
- package/es/utils/elements/Point.d.ts +19 -0
- package/es/utils/elements/Point.d.ts.map +1 -0
- package/es/utils/elements/Point.js +28 -0
- package/es/utils/elements/Point.js.map +1 -0
- package/es/utils/elements/Rectangle.d.ts +22 -0
- package/es/utils/elements/Rectangle.d.ts.map +1 -0
- package/es/utils/elements/Rectangle.js +54 -0
- package/es/utils/elements/Rectangle.js.map +1 -0
- package/es/utils/elements/Segment.d.ts +20 -0
- package/es/utils/elements/Segment.d.ts.map +1 -0
- package/es/utils/elements/Segment.js +76 -0
- package/es/utils/elements/Segment.js.map +1 -0
- package/es/utils/elements/index.d.ts +10 -0
- package/es/utils/elements/index.d.ts.map +1 -0
- package/es/utils/elements/index.js +10 -0
- package/es/utils/elements/index.js.map +1 -0
- package/es/utils/errors.js +1 -1
- package/es/utils/errors.js.map +1 -1
- package/es/utils/index.d.ts +11 -11
- package/es/utils/index.d.ts.map +1 -1
- package/es/utils/index.js +11 -11
- package/es/utils/index.js.map +1 -1
- package/es/utils/intersections.d.ts +10 -0
- package/es/utils/intersections.d.ts.map +1 -0
- package/es/utils/intersections.js +243 -0
- package/es/utils/intersections.js.map +1 -0
- package/es/utils/maths.d.ts +46 -0
- package/es/utils/maths.d.ts.map +1 -0
- package/es/utils/maths.js +69 -0
- package/es/utils/maths.js.map +1 -0
- package/es/utils/numbers.js +9 -9
- package/es/utils/numbers.js.map +1 -1
- package/es/utils/objects.js +4 -6
- package/es/utils/objects.js.map +1 -1
- package/es/utils/pdfDocEncoding.js +7 -7
- package/es/utils/pdfDocEncoding.js.map +1 -1
- package/es/utils/png.js +20 -22
- package/es/utils/png.js.map +1 -1
- package/es/utils/rng.js +7 -9
- package/es/utils/rng.js.map +1 -1
- package/es/utils/strings.d.ts +1 -0
- package/es/utils/strings.d.ts.map +1 -1
- package/es/utils/strings.js +66 -68
- package/es/utils/strings.js.map +1 -1
- package/es/utils/unicode.js +42 -63
- package/es/utils/unicode.js.map +1 -1
- package/es/utils/validators.d.ts +2 -2
- package/es/utils/validators.d.ts.map +1 -1
- package/es/utils/validators.js +38 -38
- package/es/utils/validators.js.map +1 -1
- package/package.json +70 -39
- package/src/api/PDFDocument.ts +248 -22
- package/src/api/PDFDocumentOptions.ts +4 -2
- package/src/api/PDFEmbeddedFile.ts +12 -4
- package/src/api/PDFEmbeddedPage.ts +4 -4
- package/src/api/PDFFont.ts +4 -4
- package/src/api/PDFImage.ts +4 -4
- package/src/api/PDFJavaScript.ts +4 -4
- package/src/api/PDFPage.ts +93 -20
- package/src/api/PDFPageOptions.ts +34 -12
- package/src/api/PDFSvg.ts +10 -0
- package/src/api/colors.ts +27 -19
- package/src/api/form/PDFButton.ts +11 -11
- package/src/api/form/PDFCheckBox.ts +8 -8
- package/src/api/form/PDFDropdown.ts +9 -9
- package/src/api/form/PDFField.ts +7 -7
- package/src/api/form/PDFForm.ts +56 -46
- package/src/api/form/PDFOptionList.ts +9 -9
- package/src/api/form/PDFRadioGroup.ts +8 -8
- package/src/api/form/PDFSignature.ts +4 -4
- package/src/api/form/PDFTextField.ts +15 -15
- package/src/api/form/appearances.ts +41 -49
- package/src/api/form/index.ts +10 -10
- package/src/api/image/index.ts +1 -1
- package/src/api/index.ts +1 -0
- package/src/api/objects.ts +1 -1
- package/src/api/operations.ts +198 -142
- package/src/api/operators.ts +10 -3
- package/src/api/rotations.ts +7 -9
- package/src/api/svg.ts +1074 -0
- package/src/api/svgPath.ts +2 -4
- package/src/api/text/index.ts +2 -2
- package/src/api/text/layout.ts +5 -5
- package/src/core/PDFContext.ts +94 -19
- package/src/core/PDFObjectCopier.ts +8 -8
- package/src/core/acroform/PDFAcroButton.ts +8 -8
- package/src/core/acroform/PDFAcroCheckBox.ts +6 -6
- package/src/core/acroform/PDFAcroChoice.ts +7 -10
- package/src/core/acroform/PDFAcroComboBox.ts +5 -5
- package/src/core/acroform/PDFAcroField.ts +12 -12
- package/src/core/acroform/PDFAcroForm.ts +8 -11
- package/src/core/acroform/PDFAcroListBox.ts +4 -4
- package/src/core/acroform/PDFAcroNonTerminal.ts +5 -5
- package/src/core/acroform/PDFAcroPushButton.ts +5 -5
- package/src/core/acroform/PDFAcroRadioButton.ts +7 -7
- package/src/core/acroform/PDFAcroSignature.ts +3 -3
- package/src/core/acroform/PDFAcroTerminal.ts +6 -6
- package/src/core/acroform/PDFAcroText.ts +8 -8
- package/src/core/acroform/index.ts +15 -15
- package/src/core/acroform/utils.ts +20 -20
- package/src/core/annotation/AppearanceCharacteristics.ts +6 -6
- package/src/core/annotation/BorderStyle.ts +3 -3
- package/src/core/annotation/PDFAnnotation.ts +6 -6
- package/src/core/annotation/PDFWidgetAnnotation.ts +9 -9
- package/src/core/annotation/index.ts +4 -4
- package/src/core/crypto.ts +1997 -0
- package/src/core/document/PDFCrossRefSection.ts +4 -4
- package/src/core/document/PDFHeader.ts +6 -2
- package/src/core/document/PDFTrailer.ts +2 -2
- package/src/core/document/PDFTrailerDict.ts +2 -2
- package/src/core/embedders/CMap.ts +3 -3
- package/src/core/embedders/CustomFontEmbedder.ts +9 -9
- package/src/core/embedders/CustomFontSubsetEmbedder.ts +10 -4
- package/src/core/embedders/FileEmbedder.ts +8 -4
- package/src/core/embedders/FontFlags.ts +1 -1
- package/src/core/embedders/JavaScriptEmbedder.ts +3 -3
- package/src/core/embedders/JpegEmbedder.ts +2 -2
- package/src/core/embedders/PDFPageEmbedder.ts +24 -22
- package/src/core/embedders/PngEmbedder.ts +3 -3
- package/src/core/embedders/StandardFontEmbedder.ts +10 -5
- package/src/core/errors.ts +15 -13
- package/src/core/index.ts +52 -47
- package/src/core/interactive/ViewerPreferences.ts +7 -7
- package/src/core/objects/PDFArray.ts +22 -22
- package/src/core/objects/PDFBool.ts +3 -3
- package/src/core/objects/PDFDict.ts +14 -12
- package/src/core/objects/PDFHexString.ts +8 -4
- package/src/core/objects/PDFInvalidObject.ts +1 -1
- package/src/core/objects/PDFName.ts +6 -6
- package/src/core/objects/PDFNull.ts +2 -2
- package/src/core/objects/PDFNumber.ts +3 -3
- package/src/core/objects/PDFObject.ts +2 -2
- package/src/core/objects/PDFRawStream.ts +24 -10
- package/src/core/objects/PDFRef.ts +4 -4
- package/src/core/objects/PDFStream.ts +14 -7
- package/src/core/objects/PDFString.ts +4 -4
- package/src/core/operators/PDFOperator.ts +10 -10
- package/src/core/parser/BaseParser.ts +6 -6
- package/src/core/parser/ByteStream.ts +4 -4
- package/src/core/parser/PDFObjectParser.ts +78 -41
- package/src/core/parser/PDFObjectStreamParser.ts +9 -9
- package/src/core/parser/PDFParser.ts +43 -23
- package/src/core/parser/PDFXRefStreamParser.ts +9 -9
- package/src/core/security/PDFSecurity.ts +685 -0
- package/src/core/streams/Ascii85Stream.ts +2 -2
- package/src/core/streams/AsciiHexStream.ts +2 -2
- package/src/core/streams/DecodeStream.ts +2 -2
- package/src/core/streams/DecryptStream.ts +56 -0
- package/src/core/streams/FlateStream.ts +3 -2
- package/src/core/streams/LZWStream.ts +3 -3
- package/src/core/streams/RunLengthStream.ts +2 -2
- package/src/core/streams/decode.ts +23 -18
- package/src/core/structures/PDFCatalog.ts +6 -6
- package/src/core/structures/PDFContentStream.ts +5 -5
- package/src/core/structures/PDFCrossRefStream.ts +6 -6
- package/src/core/structures/PDFFlateStream.ts +10 -6
- package/src/core/structures/PDFObjectStream.ts +8 -8
- package/src/core/structures/PDFPageLeaf.ts +9 -9
- package/src/core/structures/PDFPageTree.ts +8 -8
- package/src/core/syntax/Delimiters.ts +1 -1
- package/src/core/syntax/Irregular.ts +3 -3
- package/src/core/syntax/Keywords.ts +1 -1
- package/src/core/syntax/Numeric.ts +1 -1
- package/src/core/syntax/Whitespace.ts +1 -1
- package/src/core/writers/PDFStreamWriter.ts +12 -1
- package/src/core/writers/PDFWriter.ts +22 -13
- package/src/index.ts +4 -4
- package/src/types/index.ts +38 -1
- package/src/utils/arrays.ts +33 -2
- package/src/utils/base64.ts +2 -1
- package/src/utils/elements/Arc.ts +107 -0
- package/src/utils/elements/Circle.ts +55 -0
- package/src/utils/elements/Ellipse.ts +135 -0
- package/src/utils/elements/GraphElement.ts +14 -0
- package/src/utils/elements/Line.ts +85 -0
- package/src/utils/elements/Plot.ts +50 -0
- package/src/utils/elements/Point.ts +37 -0
- package/src/utils/elements/Rectangle.ts +65 -0
- package/src/utils/elements/Segment.ts +92 -0
- package/src/utils/elements/index.ts +9 -0
- package/src/utils/index.ts +11 -11
- package/src/utils/intersections.ts +280 -0
- package/src/utils/maths.ts +108 -0
- package/src/utils/pdfDocEncoding.ts +1 -1
- package/src/utils/png.ts +1 -1
- package/src/utils/strings.ts +11 -1
- package/src/utils/unicode.ts +1 -1
- package/src/utils/validators.ts +1 -1
- package/ts3.4/cjs/api/PDFDocument.d.ts +52 -13
- package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +4 -2
- package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +9 -4
- package/ts3.4/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFFont.d.ts +4 -4
- package/ts3.4/cjs/api/PDFImage.d.ts +4 -4
- package/ts3.4/cjs/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/cjs/api/PDFPage.d.ts +36 -9
- package/ts3.4/cjs/api/PDFPageOptions.d.ts +35 -12
- package/ts3.4/cjs/api/PDFSvg.d.ts +7 -0
- package/ts3.4/cjs/api/colors.d.ts +6 -2
- package/ts3.4/cjs/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFField.d.ts +7 -7
- package/ts3.4/cjs/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/cjs/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/cjs/api/form/appearances.d.ts +21 -21
- package/ts3.4/cjs/api/form/index.d.ts +10 -10
- package/ts3.4/cjs/api/image/index.d.ts +1 -1
- package/ts3.4/cjs/api/index.d.ts +22 -21
- package/ts3.4/cjs/api/objects.d.ts +1 -1
- package/ts3.4/cjs/api/operations.d.ts +27 -13
- package/ts3.4/cjs/api/operators.d.ts +6 -1
- package/ts3.4/cjs/api/rotations.d.ts +2 -2
- package/ts3.4/cjs/api/sizes.d.ts +200 -50
- package/ts3.4/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/ts3.4/cjs/api/svg.d.ts +76 -0
- package/ts3.4/cjs/api/svgPath.d.ts +1 -1
- package/ts3.4/cjs/api/text/index.d.ts +2 -2
- package/ts3.4/cjs/api/text/layout.d.ts +3 -3
- package/ts3.4/cjs/core/PDFContext.d.ts +43 -20
- package/ts3.4/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/cjs/core/acroform/PDFAcroForm.d.ts +13 -7
- package/ts3.4/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/index.d.ts +15 -15
- package/ts3.4/cjs/core/acroform/utils.d.ts +8 -5
- package/ts3.4/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/cjs/core/annotation/index.d.ts +4 -4
- package/ts3.4/cjs/core/crypto.d.ts +96 -0
- package/ts3.4/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/cjs/core/document/PDFHeader.d.ts +1 -0
- package/ts3.4/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/CMap.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/cjs/core/embedders/FileEmbedder.d.ts +3 -2
- package/ts3.4/cjs/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/cjs/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/ts3.4/cjs/core/errors.d.ts +1 -1
- package/ts3.4/cjs/core/index.d.ts +48 -47
- package/ts3.4/cjs/core/interactive/ViewerPreferences.d.ts +8 -8
- package/ts3.4/cjs/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/cjs/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFDict.d.ts +17 -13
- package/ts3.4/cjs/core/objects/PDFHexString.d.ts +2 -1
- package/ts3.4/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFRawStream.d.ts +8 -5
- package/ts3.4/cjs/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFStream.d.ts +4 -3
- package/ts3.4/cjs/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/cjs/core/operators/PDFOperator.d.ts +9 -9
- package/ts3.4/cjs/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/cjs/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/cjs/core/parser/PDFObjectParser.d.ts +23 -21
- package/ts3.4/cjs/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/ts3.4/cjs/core/parser/PDFParser.d.ts +6 -4
- package/ts3.4/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/cjs/core/security/PDFSecurity.d.ts +75 -0
- package/ts3.4/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/cjs/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/decode.d.ts +3 -3
- package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +10 -6
- package/ts3.4/cjs/core/structures/PDFFlateStream.d.ts +5 -4
- package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +8 -5
- package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +8 -8
- package/ts3.4/cjs/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +11 -8
- package/ts3.4/cjs/core/writers/PDFWriter.d.ts +19 -11
- package/ts3.4/cjs/index.d.ts +4 -4
- package/ts3.4/cjs/types/index.d.ts +25 -1
- package/ts3.4/cjs/types/matrix.d.ts +8 -1
- package/ts3.4/cjs/utils/arrays.d.ts +3 -1
- package/ts3.4/cjs/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/cjs/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/cjs/utils/elements/Line.d.ts +24 -0
- package/ts3.4/cjs/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/cjs/utils/elements/Point.d.ts +19 -0
- package/ts3.4/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/cjs/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/cjs/utils/elements/index.d.ts +10 -0
- package/ts3.4/cjs/utils/index.d.ts +11 -11
- package/ts3.4/cjs/utils/intersections.d.ts +10 -0
- package/ts3.4/cjs/utils/maths.d.ts +46 -0
- package/ts3.4/cjs/utils/strings.d.ts +5 -1
- package/ts3.4/cjs/utils/validators.d.ts +5 -2
- package/ts3.4/es/api/PDFDocument.d.ts +52 -13
- package/ts3.4/es/api/PDFDocumentOptions.d.ts +4 -2
- package/ts3.4/es/api/PDFEmbeddedFile.d.ts +9 -4
- package/ts3.4/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/es/api/PDFFont.d.ts +4 -4
- package/ts3.4/es/api/PDFImage.d.ts +4 -4
- package/ts3.4/es/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/es/api/PDFPage.d.ts +36 -9
- package/ts3.4/es/api/PDFPageOptions.d.ts +35 -12
- package/ts3.4/es/api/PDFSvg.d.ts +7 -0
- package/ts3.4/es/api/colors.d.ts +6 -2
- package/ts3.4/es/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/es/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/es/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/es/api/form/PDFField.d.ts +7 -7
- package/ts3.4/es/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/es/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/es/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/es/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/es/api/form/appearances.d.ts +21 -21
- package/ts3.4/es/api/form/index.d.ts +10 -10
- package/ts3.4/es/api/image/index.d.ts +1 -1
- package/ts3.4/es/api/index.d.ts +22 -21
- package/ts3.4/es/api/objects.d.ts +1 -1
- package/ts3.4/es/api/operations.d.ts +27 -13
- package/ts3.4/es/api/operators.d.ts +6 -1
- package/ts3.4/es/api/rotations.d.ts +2 -2
- package/ts3.4/es/api/sizes.d.ts +200 -50
- package/ts3.4/es/api/snapshot/DefaultDocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/snapshot/DocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +1 -1
- package/ts3.4/es/api/svg.d.ts +76 -0
- package/ts3.4/es/api/svgPath.d.ts +1 -1
- package/ts3.4/es/api/text/index.d.ts +2 -2
- package/ts3.4/es/api/text/layout.d.ts +3 -3
- package/ts3.4/es/core/PDFContext.d.ts +43 -20
- package/ts3.4/es/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/es/core/acroform/PDFAcroForm.d.ts +13 -7
- package/ts3.4/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/es/core/acroform/index.d.ts +15 -15
- package/ts3.4/es/core/acroform/utils.d.ts +8 -5
- package/ts3.4/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/es/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/es/core/annotation/index.d.ts +4 -4
- package/ts3.4/es/core/crypto.d.ts +96 -0
- package/ts3.4/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/es/core/document/PDFHeader.d.ts +1 -0
- package/ts3.4/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/es/core/embedders/CMap.d.ts +2 -2
- package/ts3.4/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/es/core/embedders/FileEmbedder.d.ts +3 -2
- package/ts3.4/es/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/es/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/StandardFontEmbedder.d.ts +4 -4
- package/ts3.4/es/core/errors.d.ts +1 -1
- package/ts3.4/es/core/index.d.ts +48 -47
- package/ts3.4/es/core/interactive/ViewerPreferences.d.ts +8 -8
- package/ts3.4/es/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/es/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFDict.d.ts +17 -13
- package/ts3.4/es/core/objects/PDFHexString.d.ts +2 -1
- package/ts3.4/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFRawStream.d.ts +8 -5
- package/ts3.4/es/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFStream.d.ts +4 -3
- package/ts3.4/es/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/es/core/operators/PDFOperator.d.ts +9 -9
- package/ts3.4/es/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/es/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/es/core/parser/PDFObjectParser.d.ts +23 -21
- package/ts3.4/es/core/parser/PDFObjectStreamParser.d.ts +3 -3
- package/ts3.4/es/core/parser/PDFParser.d.ts +6 -4
- package/ts3.4/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/es/core/security/PDFSecurity.d.ts +75 -0
- package/ts3.4/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/es/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/es/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/es/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/es/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/es/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/es/core/streams/decode.d.ts +3 -3
- package/ts3.4/es/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/es/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +10 -6
- package/ts3.4/es/core/structures/PDFFlateStream.d.ts +5 -4
- package/ts3.4/es/core/structures/PDFObjectStream.d.ts +8 -5
- package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/es/core/structures/PDFPageTree.d.ts +8 -8
- package/ts3.4/es/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +11 -8
- package/ts3.4/es/core/writers/PDFWriter.d.ts +19 -11
- package/ts3.4/es/index.d.ts +4 -4
- package/ts3.4/es/types/index.d.ts +25 -1
- package/ts3.4/es/types/matrix.d.ts +8 -1
- package/ts3.4/es/utils/arrays.d.ts +3 -1
- package/ts3.4/es/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/es/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/es/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/es/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/es/utils/elements/Line.d.ts +24 -0
- package/ts3.4/es/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/es/utils/elements/Point.d.ts +19 -0
- package/ts3.4/es/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/es/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/es/utils/elements/index.d.ts +10 -0
- package/ts3.4/es/utils/index.d.ts +11 -11
- package/ts3.4/es/utils/intersections.d.ts +10 -0
- package/ts3.4/es/utils/maths.d.ts +46 -0
- package/ts3.4/es/utils/strings.d.ts +5 -1
- package/ts3.4/es/utils/validators.d.ts +5 -2
- package/yarn.lock +0 -4446
package/cjs/api/PDFDocument.js
CHANGED
|
@@ -1,65 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const node_html_better_parser_1 = require("node-html-better-parser");
|
|
5
|
+
const errors_1 = require("./errors");
|
|
6
|
+
const PDFEmbeddedPage_1 = tslib_1.__importDefault(require("./PDFEmbeddedPage"));
|
|
7
|
+
const PDFFont_1 = tslib_1.__importDefault(require("./PDFFont"));
|
|
8
|
+
const PDFImage_1 = tslib_1.__importDefault(require("./PDFImage"));
|
|
9
|
+
const PDFPage_1 = tslib_1.__importDefault(require("./PDFPage"));
|
|
10
|
+
const PDFForm_1 = tslib_1.__importDefault(require("./form/PDFForm"));
|
|
11
|
+
const sizes_1 = require("./sizes");
|
|
12
|
+
const core_1 = require("../core");
|
|
13
|
+
const PDFDocumentOptions_1 = require("src/api/PDFDocumentOptions");
|
|
14
|
+
const utils_1 = require("src/utils");
|
|
15
|
+
const FileEmbedder_1 = tslib_1.__importStar(require("src/core/embedders/FileEmbedder"));
|
|
16
|
+
const PDFEmbeddedFile_1 = tslib_1.__importDefault(require("src/api/PDFEmbeddedFile"));
|
|
17
|
+
const PDFJavaScript_1 = tslib_1.__importDefault(require("src/api/PDFJavaScript"));
|
|
18
|
+
const JavaScriptEmbedder_1 = tslib_1.__importDefault(require("src/core/embedders/JavaScriptEmbedder"));
|
|
19
|
+
const crypto_1 = require("../core/crypto");
|
|
20
|
+
const PDFSvg_1 = tslib_1.__importDefault(require("./PDFSvg"));
|
|
21
|
+
const PDFSecurity_1 = tslib_1.__importDefault(require("../core/security/PDFSecurity"));
|
|
22
|
+
const snapshot_1 = require("./snapshot");
|
|
19
23
|
/**
|
|
20
24
|
* Represents a PDF document.
|
|
21
25
|
*/
|
|
22
|
-
|
|
23
|
-
function PDFDocument(context, ignoreEncryption, updateMetadata) {
|
|
24
|
-
var _this = this;
|
|
25
|
-
/** The default word breaks used in PDFPage.drawText */
|
|
26
|
-
this.defaultWordBreaks = [' '];
|
|
27
|
-
this.computePages = function () {
|
|
28
|
-
var pages = [];
|
|
29
|
-
_this.catalog.Pages().traverse(function (node, ref) {
|
|
30
|
-
if (node instanceof core_1.PDFPageLeaf) {
|
|
31
|
-
var page = _this.pageMap.get(node);
|
|
32
|
-
if (!page) {
|
|
33
|
-
page = PDFPage_1.default.of(node, ref, _this);
|
|
34
|
-
_this.pageMap.set(node, page);
|
|
35
|
-
}
|
|
36
|
-
pages.push(page);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
return pages;
|
|
40
|
-
};
|
|
41
|
-
this.getOrCreateForm = function () {
|
|
42
|
-
var acroForm = _this.catalog.getOrCreateAcroForm();
|
|
43
|
-
return PDFForm_1.default.of(acroForm, _this);
|
|
44
|
-
};
|
|
45
|
-
utils_1.assertIs(context, 'context', [[core_1.PDFContext, 'PDFContext']]);
|
|
46
|
-
utils_1.assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']);
|
|
47
|
-
this.context = context;
|
|
48
|
-
this.catalog = context.lookup(context.trailerInfo.Root);
|
|
49
|
-
this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);
|
|
50
|
-
this.pageCache = utils_1.Cache.populatedBy(this.computePages);
|
|
51
|
-
this.pageMap = new Map();
|
|
52
|
-
this.formCache = utils_1.Cache.populatedBy(this.getOrCreateForm);
|
|
53
|
-
this.fonts = [];
|
|
54
|
-
this.images = [];
|
|
55
|
-
this.embeddedPages = [];
|
|
56
|
-
this.embeddedFiles = [];
|
|
57
|
-
this.javaScripts = [];
|
|
58
|
-
if (!ignoreEncryption && this.isEncrypted)
|
|
59
|
-
throw new errors_1.EncryptedPDFError();
|
|
60
|
-
if (updateMetadata)
|
|
61
|
-
this.updateInfoDict();
|
|
62
|
-
}
|
|
26
|
+
class PDFDocument {
|
|
63
27
|
/**
|
|
64
28
|
* Load an existing [[PDFDocument]]. The input data can be provided in
|
|
65
29
|
* multiple formats:
|
|
@@ -112,50 +76,95 @@ var PDFDocument = /** @class */ (function () {
|
|
|
112
76
|
* @param options The options to be used when loading the document.
|
|
113
77
|
* @returns Resolves with a document loaded from the input.
|
|
114
78
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
79
|
+
static load(pdf, options = {}) {
|
|
80
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const { ignoreEncryption = false, parseSpeed = PDFDocumentOptions_1.ParseSpeeds.Slow, throwOnInvalidObject = false, warnOnInvalidObjects = false, updateMetadata = true, capNumbers = false, password, forIncrementalUpdate = false, } = options;
|
|
82
|
+
(0, utils_1.assertIs)(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);
|
|
83
|
+
(0, utils_1.assertIs)(ignoreEncryption, 'ignoreEncryption', ['boolean']);
|
|
84
|
+
(0, utils_1.assertIs)(parseSpeed, 'parseSpeed', ['number']);
|
|
85
|
+
(0, utils_1.assertIs)(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);
|
|
86
|
+
(0, utils_1.assertIs)(warnOnInvalidObjects, 'warnOnInvalidObjects', ['boolean']);
|
|
87
|
+
(0, utils_1.assertIs)(password, 'password', ['string', 'undefined']);
|
|
88
|
+
(0, utils_1.assertIs)(forIncrementalUpdate, 'forIncrementalUpdate', ['boolean']);
|
|
89
|
+
const bytes = (0, utils_1.toUint8Array)(pdf);
|
|
90
|
+
const context = yield core_1.PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, undefined, capNumbers, undefined, forIncrementalUpdate).parseDocument();
|
|
91
|
+
if (!!context.lookup(context.trailerInfo.Encrypt) &&
|
|
92
|
+
password !== undefined) {
|
|
93
|
+
// Decrypt
|
|
94
|
+
const fileIds = context.lookup(context.trailerInfo.ID, core_1.PDFArray);
|
|
95
|
+
const encryptDict = context.lookup(context.trailerInfo.Encrypt, core_1.PDFDict);
|
|
96
|
+
const decryptedContext = yield core_1.PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, warnOnInvalidObjects, capNumbers, new crypto_1.CipherTransformFactory(encryptDict, fileIds.get(0).asBytes(), password), forIncrementalUpdate).parseDocument();
|
|
97
|
+
const pdfDoc = new PDFDocument(decryptedContext, true, updateMetadata);
|
|
98
|
+
if (forIncrementalUpdate)
|
|
99
|
+
pdfDoc.takeSnapshot();
|
|
100
|
+
return pdfDoc;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const pdfDoc = new PDFDocument(context, ignoreEncryption, updateMetadata);
|
|
104
|
+
if (forIncrementalUpdate)
|
|
105
|
+
pdfDoc.takeSnapshot();
|
|
106
|
+
return pdfDoc;
|
|
107
|
+
}
|
|
138
108
|
});
|
|
139
|
-
}
|
|
109
|
+
}
|
|
140
110
|
/**
|
|
141
111
|
* Create a new [[PDFDocument]].
|
|
142
112
|
* @returns Resolves with the newly created document.
|
|
143
113
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
catalog = core_1.PDFCatalog.withContextAndPages(context, pageTreeRef);
|
|
154
|
-
context.trailerInfo.Root = context.register(catalog);
|
|
155
|
-
return [2 /*return*/, new PDFDocument(context, false, updateMetadata)];
|
|
156
|
-
});
|
|
114
|
+
static create(options = {}) {
|
|
115
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
const { updateMetadata = true } = options;
|
|
117
|
+
const context = core_1.PDFContext.create();
|
|
118
|
+
const pageTree = core_1.PDFPageTree.withContext(context);
|
|
119
|
+
const pageTreeRef = context.register(pageTree);
|
|
120
|
+
const catalog = core_1.PDFCatalog.withContextAndPages(context, pageTreeRef);
|
|
121
|
+
context.trailerInfo.Root = context.register(catalog);
|
|
122
|
+
return new PDFDocument(context, false, updateMetadata);
|
|
157
123
|
});
|
|
158
|
-
}
|
|
124
|
+
}
|
|
125
|
+
constructor(context, ignoreEncryption, updateMetadata) {
|
|
126
|
+
/** The default word breaks used in PDFPage.drawText */
|
|
127
|
+
this.defaultWordBreaks = [' '];
|
|
128
|
+
this.computePages = () => {
|
|
129
|
+
const pages = [];
|
|
130
|
+
this.catalog.Pages().traverse((node, ref) => {
|
|
131
|
+
if (node instanceof core_1.PDFPageLeaf) {
|
|
132
|
+
let page = this.pageMap.get(node);
|
|
133
|
+
if (!page) {
|
|
134
|
+
page = PDFPage_1.default.of(node, ref, this);
|
|
135
|
+
this.pageMap.set(node, page);
|
|
136
|
+
}
|
|
137
|
+
pages.push(page);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
return pages;
|
|
141
|
+
};
|
|
142
|
+
this.getOrCreateForm = () => {
|
|
143
|
+
const acroForm = this.catalog.getOrCreateAcroForm();
|
|
144
|
+
return PDFForm_1.default.of(acroForm, this);
|
|
145
|
+
};
|
|
146
|
+
(0, utils_1.assertIs)(context, 'context', [[core_1.PDFContext, 'PDFContext']]);
|
|
147
|
+
(0, utils_1.assertIs)(ignoreEncryption, 'ignoreEncryption', ['boolean']);
|
|
148
|
+
this.context = context;
|
|
149
|
+
this.catalog = context.lookup(context.trailerInfo.Root);
|
|
150
|
+
if (!!context.lookup(context.trailerInfo.Encrypt) && context.isDecrypted) {
|
|
151
|
+
// context.delete(context.trailerInfo.Encrypt);
|
|
152
|
+
delete context.trailerInfo.Encrypt;
|
|
153
|
+
}
|
|
154
|
+
this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);
|
|
155
|
+
this.pageCache = utils_1.Cache.populatedBy(this.computePages);
|
|
156
|
+
this.pageMap = new Map();
|
|
157
|
+
this.formCache = utils_1.Cache.populatedBy(this.getOrCreateForm);
|
|
158
|
+
this.fonts = [];
|
|
159
|
+
this.images = [];
|
|
160
|
+
this.embeddedPages = [];
|
|
161
|
+
this.embeddedFiles = [];
|
|
162
|
+
this.javaScripts = [];
|
|
163
|
+
if (!ignoreEncryption && this.isEncrypted)
|
|
164
|
+
throw new errors_1.EncryptedPDFError();
|
|
165
|
+
if (updateMetadata)
|
|
166
|
+
this.updateInfoDict();
|
|
167
|
+
}
|
|
159
168
|
/**
|
|
160
169
|
* Register a fontkit instance. This must be done before custom fonts can
|
|
161
170
|
* be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation)
|
|
@@ -174,9 +183,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
174
183
|
*
|
|
175
184
|
* @param fontkit The fontkit instance to be registered.
|
|
176
185
|
*/
|
|
177
|
-
|
|
186
|
+
registerFontkit(fontkit) {
|
|
178
187
|
this.fontkit = fontkit;
|
|
179
|
-
}
|
|
188
|
+
}
|
|
180
189
|
/**
|
|
181
190
|
* Get the [[PDFForm]] containing all interactive fields for this document.
|
|
182
191
|
* For example:
|
|
@@ -191,14 +200,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
191
200
|
* ```
|
|
192
201
|
* @returns The form for this document.
|
|
193
202
|
*/
|
|
194
|
-
|
|
195
|
-
|
|
203
|
+
getForm() {
|
|
204
|
+
const form = this.formCache.access();
|
|
196
205
|
if (form.hasXFA()) {
|
|
197
206
|
console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA');
|
|
198
207
|
form.deleteXFA();
|
|
199
208
|
}
|
|
200
209
|
return form;
|
|
201
|
-
}
|
|
210
|
+
}
|
|
202
211
|
/**
|
|
203
212
|
* Get this document's title metadata. The title appears in the
|
|
204
213
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -207,13 +216,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
207
216
|
* ```
|
|
208
217
|
* @returns A string containing the title of this document, if it has one.
|
|
209
218
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
219
|
+
getTitle() {
|
|
220
|
+
const title = this.getInfoDict().lookup(core_1.PDFName.Title);
|
|
212
221
|
if (!title)
|
|
213
222
|
return undefined;
|
|
214
223
|
assertIsLiteralOrHexString(title);
|
|
215
224
|
return title.decodeText();
|
|
216
|
-
}
|
|
225
|
+
}
|
|
217
226
|
/**
|
|
218
227
|
* Get this document's author metadata. The author appears in the
|
|
219
228
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -222,13 +231,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
222
231
|
* ```
|
|
223
232
|
* @returns A string containing the author of this document, if it has one.
|
|
224
233
|
*/
|
|
225
|
-
|
|
226
|
-
|
|
234
|
+
getAuthor() {
|
|
235
|
+
const author = this.getInfoDict().lookup(core_1.PDFName.Author);
|
|
227
236
|
if (!author)
|
|
228
237
|
return undefined;
|
|
229
238
|
assertIsLiteralOrHexString(author);
|
|
230
239
|
return author.decodeText();
|
|
231
|
-
}
|
|
240
|
+
}
|
|
232
241
|
/**
|
|
233
242
|
* Get this document's subject metadata. The subject appears in the
|
|
234
243
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -237,13 +246,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
237
246
|
* ```
|
|
238
247
|
* @returns A string containing the subject of this document, if it has one.
|
|
239
248
|
*/
|
|
240
|
-
|
|
241
|
-
|
|
249
|
+
getSubject() {
|
|
250
|
+
const subject = this.getInfoDict().lookup(core_1.PDFName.Subject);
|
|
242
251
|
if (!subject)
|
|
243
252
|
return undefined;
|
|
244
253
|
assertIsLiteralOrHexString(subject);
|
|
245
254
|
return subject.decodeText();
|
|
246
|
-
}
|
|
255
|
+
}
|
|
247
256
|
/**
|
|
248
257
|
* Get this document's keywords metadata. The keywords appear in the
|
|
249
258
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -252,13 +261,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
252
261
|
* ```
|
|
253
262
|
* @returns A string containing the keywords of this document, if it has any.
|
|
254
263
|
*/
|
|
255
|
-
|
|
256
|
-
|
|
264
|
+
getKeywords() {
|
|
265
|
+
const keywords = this.getInfoDict().lookup(core_1.PDFName.Keywords);
|
|
257
266
|
if (!keywords)
|
|
258
267
|
return undefined;
|
|
259
268
|
assertIsLiteralOrHexString(keywords);
|
|
260
269
|
return keywords.decodeText();
|
|
261
|
-
}
|
|
270
|
+
}
|
|
262
271
|
/**
|
|
263
272
|
* Get this document's creator metadata. The creator appears in the
|
|
264
273
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -267,13 +276,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
267
276
|
* ```
|
|
268
277
|
* @returns A string containing the creator of this document, if it has one.
|
|
269
278
|
*/
|
|
270
|
-
|
|
271
|
-
|
|
279
|
+
getCreator() {
|
|
280
|
+
const creator = this.getInfoDict().lookup(core_1.PDFName.Creator);
|
|
272
281
|
if (!creator)
|
|
273
282
|
return undefined;
|
|
274
283
|
assertIsLiteralOrHexString(creator);
|
|
275
284
|
return creator.decodeText();
|
|
276
|
-
}
|
|
285
|
+
}
|
|
277
286
|
/**
|
|
278
287
|
* Get this document's producer metadata. The producer appears in the
|
|
279
288
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -282,13 +291,29 @@ var PDFDocument = /** @class */ (function () {
|
|
|
282
291
|
* ```
|
|
283
292
|
* @returns A string containing the producer of this document, if it has one.
|
|
284
293
|
*/
|
|
285
|
-
|
|
286
|
-
|
|
294
|
+
getProducer() {
|
|
295
|
+
const producer = this.getInfoDict().lookup(core_1.PDFName.Producer);
|
|
287
296
|
if (!producer)
|
|
288
297
|
return undefined;
|
|
289
298
|
assertIsLiteralOrHexString(producer);
|
|
290
299
|
return producer.decodeText();
|
|
291
|
-
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Get this document's language metadata. The language appears in the
|
|
303
|
+
* "Document Properties" section of most PDF readers. For example:
|
|
304
|
+
* ```js
|
|
305
|
+
* const language = pdfDoc.getLanguage()
|
|
306
|
+
* ```
|
|
307
|
+
* @returns A string containing the RFC 3066 _Language-Tag_ of this document,
|
|
308
|
+
* if it has one.
|
|
309
|
+
*/
|
|
310
|
+
getLanguage() {
|
|
311
|
+
const language = this.catalog.get(core_1.PDFName.of('Lang'));
|
|
312
|
+
if (!language)
|
|
313
|
+
return undefined;
|
|
314
|
+
assertIsLiteralOrHexString(language);
|
|
315
|
+
return language.decodeText();
|
|
316
|
+
}
|
|
292
317
|
/**
|
|
293
318
|
* Get this document's creation date metadata. The creation date appears in
|
|
294
319
|
* the "Document Properties" section of most PDF readers. For example:
|
|
@@ -298,13 +323,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
298
323
|
* @returns A Date containing the creation date of this document,
|
|
299
324
|
* if it has one.
|
|
300
325
|
*/
|
|
301
|
-
|
|
302
|
-
|
|
326
|
+
getCreationDate() {
|
|
327
|
+
const creationDate = this.getInfoDict().lookup(core_1.PDFName.CreationDate);
|
|
303
328
|
if (!creationDate)
|
|
304
329
|
return undefined;
|
|
305
330
|
assertIsLiteralOrHexString(creationDate);
|
|
306
331
|
return creationDate.decodeDate();
|
|
307
|
-
}
|
|
332
|
+
}
|
|
308
333
|
/**
|
|
309
334
|
* Get this document's modification date metadata. The modification date
|
|
310
335
|
* appears in the "Document Properties" section of most PDF readers.
|
|
@@ -315,13 +340,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
315
340
|
* @returns A Date containing the modification date of this document,
|
|
316
341
|
* if it has one.
|
|
317
342
|
*/
|
|
318
|
-
|
|
319
|
-
|
|
343
|
+
getModificationDate() {
|
|
344
|
+
const modificationDate = this.getInfoDict().lookup(core_1.PDFName.ModDate);
|
|
320
345
|
if (!modificationDate)
|
|
321
346
|
return undefined;
|
|
322
347
|
assertIsLiteralOrHexString(modificationDate);
|
|
323
348
|
return modificationDate.decodeDate();
|
|
324
|
-
}
|
|
349
|
+
}
|
|
325
350
|
/**
|
|
326
351
|
* Set this document's title metadata. The title will appear in the
|
|
327
352
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -339,16 +364,16 @@ var PDFDocument = /** @class */ (function () {
|
|
|
339
364
|
* @param title The title of this document.
|
|
340
365
|
* @param options The options to be used when setting the title.
|
|
341
366
|
*/
|
|
342
|
-
|
|
343
|
-
utils_1.assertIs(title, 'title', ['string']);
|
|
344
|
-
|
|
367
|
+
setTitle(title, options) {
|
|
368
|
+
(0, utils_1.assertIs)(title, 'title', ['string']);
|
|
369
|
+
const key = core_1.PDFName.of('Title');
|
|
345
370
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(title));
|
|
346
371
|
// Indicate that readers should display the title rather than the filename
|
|
347
372
|
if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) {
|
|
348
|
-
|
|
373
|
+
const prefs = this.catalog.getOrCreateViewerPreferences();
|
|
349
374
|
prefs.setDisplayDocTitle(true);
|
|
350
375
|
}
|
|
351
|
-
}
|
|
376
|
+
}
|
|
352
377
|
/**
|
|
353
378
|
* Set this document's author metadata. The author will appear in the
|
|
354
379
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -357,11 +382,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
357
382
|
* ```
|
|
358
383
|
* @param author The author of this document.
|
|
359
384
|
*/
|
|
360
|
-
|
|
361
|
-
utils_1.assertIs(author, 'author', ['string']);
|
|
362
|
-
|
|
385
|
+
setAuthor(author) {
|
|
386
|
+
(0, utils_1.assertIs)(author, 'author', ['string']);
|
|
387
|
+
const key = core_1.PDFName.of('Author');
|
|
363
388
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(author));
|
|
364
|
-
}
|
|
389
|
+
}
|
|
365
390
|
/**
|
|
366
391
|
* Set this document's subject metadata. The subject will appear in the
|
|
367
392
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -370,11 +395,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
370
395
|
* ```
|
|
371
396
|
* @param subject The subject of this document.
|
|
372
397
|
*/
|
|
373
|
-
|
|
374
|
-
utils_1.assertIs(subject, 'author', ['string']);
|
|
375
|
-
|
|
398
|
+
setSubject(subject) {
|
|
399
|
+
(0, utils_1.assertIs)(subject, 'author', ['string']);
|
|
400
|
+
const key = core_1.PDFName.of('Subject');
|
|
376
401
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(subject));
|
|
377
|
-
}
|
|
402
|
+
}
|
|
378
403
|
/**
|
|
379
404
|
* Set this document's keyword metadata. These keywords will appear in the
|
|
380
405
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -383,11 +408,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
383
408
|
* ```
|
|
384
409
|
* @param keywords An array of keywords associated with this document.
|
|
385
410
|
*/
|
|
386
|
-
|
|
387
|
-
utils_1.assertIs(keywords, 'keywords', [Array]);
|
|
388
|
-
|
|
411
|
+
setKeywords(keywords) {
|
|
412
|
+
(0, utils_1.assertIs)(keywords, 'keywords', [Array]);
|
|
413
|
+
const key = core_1.PDFName.of('Keywords');
|
|
389
414
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(keywords.join(' ')));
|
|
390
|
-
}
|
|
415
|
+
}
|
|
391
416
|
/**
|
|
392
417
|
* Set this document's creator metadata. The creator will appear in the
|
|
393
418
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -396,11 +421,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
396
421
|
* ```
|
|
397
422
|
* @param creator The creator of this document.
|
|
398
423
|
*/
|
|
399
|
-
|
|
400
|
-
utils_1.assertIs(creator, 'creator', ['string']);
|
|
401
|
-
|
|
424
|
+
setCreator(creator) {
|
|
425
|
+
(0, utils_1.assertIs)(creator, 'creator', ['string']);
|
|
426
|
+
const key = core_1.PDFName.of('Creator');
|
|
402
427
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(creator));
|
|
403
|
-
}
|
|
428
|
+
}
|
|
404
429
|
/**
|
|
405
430
|
* Set this document's producer metadata. The producer will appear in the
|
|
406
431
|
* "Document Properties" section of most PDF readers. For example:
|
|
@@ -409,11 +434,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
409
434
|
* ```
|
|
410
435
|
* @param producer The producer of this document.
|
|
411
436
|
*/
|
|
412
|
-
|
|
413
|
-
utils_1.assertIs(producer, 'creator', ['string']);
|
|
414
|
-
|
|
437
|
+
setProducer(producer) {
|
|
438
|
+
(0, utils_1.assertIs)(producer, 'creator', ['string']);
|
|
439
|
+
const key = core_1.PDFName.of('Producer');
|
|
415
440
|
this.getInfoDict().set(key, core_1.PDFHexString.fromText(producer));
|
|
416
|
-
}
|
|
441
|
+
}
|
|
417
442
|
/**
|
|
418
443
|
* Set this document's language metadata. The language will appear in the
|
|
419
444
|
* "Document Properties" section of some PDF readers. For example:
|
|
@@ -424,11 +449,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
424
449
|
* @param language An RFC 3066 _Language-Tag_ denoting the language of this
|
|
425
450
|
* document, or an empty string if the language is unknown.
|
|
426
451
|
*/
|
|
427
|
-
|
|
428
|
-
utils_1.assertIs(language, 'language', ['string']);
|
|
429
|
-
|
|
452
|
+
setLanguage(language) {
|
|
453
|
+
(0, utils_1.assertIs)(language, 'language', ['string']);
|
|
454
|
+
const key = core_1.PDFName.of('Lang');
|
|
430
455
|
this.catalog.set(key, core_1.PDFString.of(language));
|
|
431
|
-
}
|
|
456
|
+
}
|
|
432
457
|
/**
|
|
433
458
|
* Set this document's creation date metadata. The creation date will appear
|
|
434
459
|
* in the "Document Properties" section of most PDF readers. For example:
|
|
@@ -437,11 +462,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
437
462
|
* ```
|
|
438
463
|
* @param creationDate The date this document was created.
|
|
439
464
|
*/
|
|
440
|
-
|
|
441
|
-
utils_1.assertIs(creationDate, 'creationDate', [[Date, 'Date']]);
|
|
442
|
-
|
|
465
|
+
setCreationDate(creationDate) {
|
|
466
|
+
(0, utils_1.assertIs)(creationDate, 'creationDate', [[Date, 'Date']]);
|
|
467
|
+
const key = core_1.PDFName.of('CreationDate');
|
|
443
468
|
this.getInfoDict().set(key, core_1.PDFString.fromDate(creationDate));
|
|
444
|
-
}
|
|
469
|
+
}
|
|
445
470
|
/**
|
|
446
471
|
* Set this document's modification date metadata. The modification date will
|
|
447
472
|
* appear in the "Document Properties" section of most PDF readers. For
|
|
@@ -451,11 +476,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
451
476
|
* ```
|
|
452
477
|
* @param modificationDate The date this document was last modified.
|
|
453
478
|
*/
|
|
454
|
-
|
|
455
|
-
utils_1.assertIs(modificationDate, 'modificationDate', [[Date, 'Date']]);
|
|
456
|
-
|
|
479
|
+
setModificationDate(modificationDate) {
|
|
480
|
+
(0, utils_1.assertIs)(modificationDate, 'modificationDate', [[Date, 'Date']]);
|
|
481
|
+
const key = core_1.PDFName.of('ModDate');
|
|
457
482
|
this.getInfoDict().set(key, core_1.PDFString.fromDate(modificationDate));
|
|
458
|
-
}
|
|
483
|
+
}
|
|
459
484
|
/**
|
|
460
485
|
* Get the number of pages contained in this document. For example:
|
|
461
486
|
* ```js
|
|
@@ -463,11 +488,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
463
488
|
* ```
|
|
464
489
|
* @returns The number of pages in this document.
|
|
465
490
|
*/
|
|
466
|
-
|
|
491
|
+
getPageCount() {
|
|
467
492
|
if (this.pageCount === undefined)
|
|
468
493
|
this.pageCount = this.getPages().length;
|
|
469
494
|
return this.pageCount;
|
|
470
|
-
}
|
|
495
|
+
}
|
|
471
496
|
/**
|
|
472
497
|
* Get an array of all the pages contained in this document. The pages are
|
|
473
498
|
* stored in the array in the same order that they are rendered in the
|
|
@@ -480,9 +505,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
480
505
|
* ```
|
|
481
506
|
* @returns An array of all the pages contained in this document.
|
|
482
507
|
*/
|
|
483
|
-
|
|
508
|
+
getPages() {
|
|
484
509
|
return this.pageCache.access();
|
|
485
|
-
}
|
|
510
|
+
}
|
|
486
511
|
/**
|
|
487
512
|
* Get the page rendered at a particular `index` of the document. For example:
|
|
488
513
|
* ```js
|
|
@@ -492,11 +517,11 @@ var PDFDocument = /** @class */ (function () {
|
|
|
492
517
|
* ```
|
|
493
518
|
* @returns The [[PDFPage]] rendered at the given `index` of the document.
|
|
494
519
|
*/
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
utils_1.assertRange(index, 'index', 0, pages.length - 1);
|
|
520
|
+
getPage(index) {
|
|
521
|
+
const pages = this.getPages();
|
|
522
|
+
(0, utils_1.assertRange)(index, 'index', 0, pages.length - 1);
|
|
498
523
|
return pages[index];
|
|
499
|
-
}
|
|
524
|
+
}
|
|
500
525
|
/**
|
|
501
526
|
* Get an array of indices for all the pages contained in this document. The
|
|
502
527
|
* array will contain a range of integers from
|
|
@@ -512,9 +537,9 @@ var PDFDocument = /** @class */ (function () {
|
|
|
512
537
|
* ```
|
|
513
538
|
* @returns An array of indices for all pages contained in this document.
|
|
514
539
|
*/
|
|
515
|
-
|
|
516
|
-
return utils_1.range(0, this.getPageCount());
|
|
517
|
-
}
|
|
540
|
+
getPageIndices() {
|
|
541
|
+
return (0, utils_1.range)(0, this.getPageCount());
|
|
542
|
+
}
|
|
518
543
|
/**
|
|
519
544
|
* Remove the page at a given index from this document. For example:
|
|
520
545
|
* ```js
|
|
@@ -526,14 +551,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
526
551
|
* in the document.
|
|
527
552
|
* @param index The index of the page to be removed.
|
|
528
553
|
*/
|
|
529
|
-
|
|
530
|
-
|
|
554
|
+
removePage(index) {
|
|
555
|
+
const pageCount = this.getPageCount();
|
|
531
556
|
if (this.pageCount === 0)
|
|
532
557
|
throw new errors_1.RemovePageFromEmptyDocumentError();
|
|
533
|
-
utils_1.assertRange(index, 'index', 0, pageCount - 1);
|
|
558
|
+
(0, utils_1.assertRange)(index, 'index', 0, pageCount - 1);
|
|
534
559
|
this.catalog.removeLeafNode(index);
|
|
535
560
|
this.pageCount = pageCount - 1;
|
|
536
|
-
}
|
|
561
|
+
}
|
|
537
562
|
/**
|
|
538
563
|
* Add a page to the end of this document. This method accepts three
|
|
539
564
|
* different value types for the `page` parameter:
|
|
@@ -565,10 +590,10 @@ var PDFDocument = /** @class */ (function () {
|
|
|
565
590
|
* @param page Optionally, the desired dimensions or existing page.
|
|
566
591
|
* @returns The newly created (or existing) page.
|
|
567
592
|
*/
|
|
568
|
-
|
|
569
|
-
utils_1.assertIs(page, 'page', ['undefined', [PDFPage_1.default, 'PDFPage'], Array]);
|
|
593
|
+
addPage(page) {
|
|
594
|
+
(0, utils_1.assertIs)(page, 'page', ['undefined', [PDFPage_1.default, 'PDFPage'], Array]);
|
|
570
595
|
return this.insertPage(this.getPageCount(), page);
|
|
571
|
-
}
|
|
596
|
+
}
|
|
572
597
|
/**
|
|
573
598
|
* Insert a page at a given index within this document. This method accepts
|
|
574
599
|
* three different value types for the `page` parameter:
|
|
@@ -601,25 +626,25 @@ var PDFDocument = /** @class */ (function () {
|
|
|
601
626
|
* @param page Optionally, the desired dimensions or existing page.
|
|
602
627
|
* @returns The newly created (or existing) page.
|
|
603
628
|
*/
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
utils_1.assertRange(index, 'index', 0, pageCount);
|
|
607
|
-
utils_1.assertIs(page, 'page', ['undefined', [PDFPage_1.default, 'PDFPage'], Array]);
|
|
629
|
+
insertPage(index, page) {
|
|
630
|
+
const pageCount = this.getPageCount();
|
|
631
|
+
(0, utils_1.assertRange)(index, 'index', 0, pageCount);
|
|
632
|
+
(0, utils_1.assertIs)(page, 'page', ['undefined', [PDFPage_1.default, 'PDFPage'], Array]);
|
|
608
633
|
if (!page || Array.isArray(page)) {
|
|
609
|
-
|
|
634
|
+
const dims = Array.isArray(page) ? page : sizes_1.PageSizes.A4;
|
|
610
635
|
page = PDFPage_1.default.create(this);
|
|
611
|
-
page.setSize
|
|
636
|
+
page.setSize(...dims);
|
|
612
637
|
}
|
|
613
638
|
else if (page.doc !== this) {
|
|
614
639
|
throw new errors_1.ForeignPageError();
|
|
615
640
|
}
|
|
616
|
-
|
|
641
|
+
const parentRef = this.catalog.insertLeafNode(page.ref, index);
|
|
617
642
|
page.node.setParent(parentRef);
|
|
618
643
|
this.pageMap.set(page.node, page);
|
|
619
644
|
this.pageCache.invalidate();
|
|
620
645
|
this.pageCount = pageCount + 1;
|
|
621
646
|
return page;
|
|
622
|
-
}
|
|
647
|
+
}
|
|
623
648
|
/**
|
|
624
649
|
* Copy pages from a source document into this document. Allows pages to be
|
|
625
650
|
* copied between different [[PDFDocument]] instances. For example:
|
|
@@ -638,31 +663,21 @@ var PDFDocument = /** @class */ (function () {
|
|
|
638
663
|
* @param indices The indices of the pages that should be copied.
|
|
639
664
|
* @returns Resolves with an array of pages copied into this document.
|
|
640
665
|
*/
|
|
641
|
-
|
|
642
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
copiedPages = new Array(indices.length);
|
|
655
|
-
for (idx = 0, len = indices.length; idx < len; idx++) {
|
|
656
|
-
srcPage = srcPages[indices[idx]];
|
|
657
|
-
copiedPage = copier.copy(srcPage.node);
|
|
658
|
-
ref = this.context.register(copiedPage);
|
|
659
|
-
copiedPages[idx] = PDFPage_1.default.of(copiedPage, ref, this);
|
|
660
|
-
}
|
|
661
|
-
return [2 /*return*/, copiedPages];
|
|
662
|
-
}
|
|
663
|
-
});
|
|
666
|
+
copyPages(srcDoc, indices) {
|
|
667
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
668
|
+
(0, utils_1.assertIs)(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);
|
|
669
|
+
(0, utils_1.assertIs)(indices, 'indices', [Array]);
|
|
670
|
+
yield srcDoc.flush();
|
|
671
|
+
const copier = core_1.PDFObjectCopier.for(srcDoc.context, this.context);
|
|
672
|
+
const srcPages = srcDoc.getPages();
|
|
673
|
+
// Copy each page in a separate thread
|
|
674
|
+
const copiedPages = indices
|
|
675
|
+
.map((i) => srcPages[i])
|
|
676
|
+
.map((page) => tslib_1.__awaiter(this, void 0, void 0, function* () { return copier.copy(page.node); }))
|
|
677
|
+
.map((p) => p.then((copy) => PDFPage_1.default.of(copy, this.context.register(copy), this)));
|
|
678
|
+
return Promise.all(copiedPages);
|
|
664
679
|
});
|
|
665
|
-
}
|
|
680
|
+
}
|
|
666
681
|
/**
|
|
667
682
|
* Get a copy of this document.
|
|
668
683
|
*
|
|
@@ -677,47 +692,41 @@ var PDFDocument = /** @class */ (function () {
|
|
|
677
692
|
*
|
|
678
693
|
* @returns Resolves with a copy this document.
|
|
679
694
|
*/
|
|
680
|
-
|
|
681
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
pdfCopy.setTitle(this.getTitle());
|
|
714
|
-
}
|
|
715
|
-
pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
|
|
716
|
-
return [2 /*return*/, pdfCopy];
|
|
717
|
-
}
|
|
718
|
-
});
|
|
695
|
+
copy() {
|
|
696
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
697
|
+
const pdfCopy = yield PDFDocument.create();
|
|
698
|
+
const contentPages = yield pdfCopy.copyPages(this, this.getPageIndices());
|
|
699
|
+
for (let idx = 0, len = contentPages.length; idx < len; idx++) {
|
|
700
|
+
pdfCopy.addPage(contentPages[idx]);
|
|
701
|
+
}
|
|
702
|
+
if (this.getAuthor() !== undefined) {
|
|
703
|
+
pdfCopy.setAuthor(this.getAuthor());
|
|
704
|
+
}
|
|
705
|
+
if (this.getCreationDate() !== undefined) {
|
|
706
|
+
pdfCopy.setCreationDate(this.getCreationDate());
|
|
707
|
+
}
|
|
708
|
+
if (this.getCreator() !== undefined) {
|
|
709
|
+
pdfCopy.setCreator(this.getCreator());
|
|
710
|
+
}
|
|
711
|
+
if (this.getLanguage() !== undefined) {
|
|
712
|
+
pdfCopy.setLanguage(this.getLanguage());
|
|
713
|
+
}
|
|
714
|
+
if (this.getModificationDate() !== undefined) {
|
|
715
|
+
pdfCopy.setModificationDate(this.getModificationDate());
|
|
716
|
+
}
|
|
717
|
+
if (this.getProducer() !== undefined) {
|
|
718
|
+
pdfCopy.setProducer(this.getProducer());
|
|
719
|
+
}
|
|
720
|
+
if (this.getSubject() !== undefined) {
|
|
721
|
+
pdfCopy.setSubject(this.getSubject());
|
|
722
|
+
}
|
|
723
|
+
if (this.getTitle() !== undefined) {
|
|
724
|
+
pdfCopy.setTitle(this.getTitle());
|
|
725
|
+
}
|
|
726
|
+
pdfCopy.defaultWordBreaks = this.defaultWordBreaks;
|
|
727
|
+
return pdfCopy;
|
|
719
728
|
});
|
|
720
|
-
}
|
|
729
|
+
}
|
|
721
730
|
/**
|
|
722
731
|
* Add JavaScript to this document. The supplied `script` is executed when the
|
|
723
732
|
* document is opened. The `script` can be used to perform some operation
|
|
@@ -742,14 +751,14 @@ var PDFDocument = /** @class */ (function () {
|
|
|
742
751
|
* @param name The name of the script. Must be unique per document.
|
|
743
752
|
* @param script The JavaScript to execute.
|
|
744
753
|
*/
|
|
745
|
-
|
|
746
|
-
utils_1.assertIs(name, 'name', ['string']);
|
|
747
|
-
utils_1.assertIs(script, 'script', ['string']);
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
754
|
+
addJavaScript(name, script) {
|
|
755
|
+
(0, utils_1.assertIs)(name, 'name', ['string']);
|
|
756
|
+
(0, utils_1.assertIs)(script, 'script', ['string']);
|
|
757
|
+
const embedder = JavaScriptEmbedder_1.default.for(script, name);
|
|
758
|
+
const ref = this.context.nextRef();
|
|
759
|
+
const javaScript = PDFJavaScript_1.default.of(ref, this, embedder);
|
|
751
760
|
this.javaScripts.push(javaScript);
|
|
752
|
-
}
|
|
761
|
+
}
|
|
753
762
|
/**
|
|
754
763
|
* Add an attachment to this document. Attachments are visible in the
|
|
755
764
|
* "Attachments" panel of Adobe Acrobat and some other PDF readers. Any
|
|
@@ -805,29 +814,116 @@ var PDFDocument = /** @class */ (function () {
|
|
|
805
814
|
* @param name The name of the file to be attached.
|
|
806
815
|
* @returns Resolves when the attachment is complete.
|
|
807
816
|
*/
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
ref = this.context.nextRef();
|
|
825
|
-
embeddedFile = PDFEmbeddedFile_1.default.of(ref, this, embedder);
|
|
826
|
-
this.embeddedFiles.push(embeddedFile);
|
|
827
|
-
return [2 /*return*/];
|
|
828
|
-
});
|
|
817
|
+
attach(attachment, name, options = {}) {
|
|
818
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
819
|
+
(0, utils_1.assertIs)(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);
|
|
820
|
+
(0, utils_1.assertIs)(name, 'name', ['string']);
|
|
821
|
+
(0, utils_1.assertOrUndefined)(options.mimeType, 'mimeType', ['string']);
|
|
822
|
+
(0, utils_1.assertOrUndefined)(options.description, 'description', ['string']);
|
|
823
|
+
(0, utils_1.assertOrUndefined)(options.creationDate, 'options.creationDate', [Date]);
|
|
824
|
+
(0, utils_1.assertOrUndefined)(options.modificationDate, 'options.modificationDate', [
|
|
825
|
+
Date,
|
|
826
|
+
]);
|
|
827
|
+
(0, utils_1.assertIsOneOfOrUndefined)(options.afRelationship, 'options.afRelationship', FileEmbedder_1.AFRelationship);
|
|
828
|
+
const bytes = (0, utils_1.toUint8Array)(attachment);
|
|
829
|
+
const embedder = FileEmbedder_1.default.for(bytes, name, options);
|
|
830
|
+
const ref = this.context.nextRef();
|
|
831
|
+
const embeddedFile = PDFEmbeddedFile_1.default.of(ref, this, embedder);
|
|
832
|
+
this.embeddedFiles.push(embeddedFile);
|
|
829
833
|
});
|
|
830
|
-
}
|
|
834
|
+
}
|
|
835
|
+
getRawAttachments() {
|
|
836
|
+
if (!this.catalog.has(core_1.PDFName.of('Names')))
|
|
837
|
+
return [];
|
|
838
|
+
const Names = this.catalog.lookup(core_1.PDFName.of('Names'), core_1.PDFDict);
|
|
839
|
+
if (!Names.has(core_1.PDFName.of('EmbeddedFiles')))
|
|
840
|
+
return [];
|
|
841
|
+
const EmbeddedFiles = Names.lookup(core_1.PDFName.of('EmbeddedFiles'), core_1.PDFDict);
|
|
842
|
+
if (!EmbeddedFiles.has(core_1.PDFName.of('Names')))
|
|
843
|
+
return [];
|
|
844
|
+
const EFNames = EmbeddedFiles.lookup(core_1.PDFName.of('Names'), core_1.PDFArray);
|
|
845
|
+
const rawAttachments = [];
|
|
846
|
+
for (let idx = 0, len = EFNames.size(); idx < len; idx += 2) {
|
|
847
|
+
const fileName = EFNames.lookup(idx);
|
|
848
|
+
const fileSpec = EFNames.lookup(idx + 1, core_1.PDFDict);
|
|
849
|
+
rawAttachments.push({ fileName, fileSpec });
|
|
850
|
+
}
|
|
851
|
+
return rawAttachments;
|
|
852
|
+
}
|
|
853
|
+
getSavedAttachments() {
|
|
854
|
+
const rawAttachments = this.getRawAttachments();
|
|
855
|
+
return rawAttachments.flatMap(({ fileName, fileSpec }) => {
|
|
856
|
+
const efDict = fileSpec.lookup(core_1.PDFName.of('EF'));
|
|
857
|
+
if (!(efDict instanceof core_1.PDFDict))
|
|
858
|
+
return [];
|
|
859
|
+
const stream = efDict.lookup(core_1.PDFName.of('F'));
|
|
860
|
+
if (!(stream instanceof core_1.PDFStream))
|
|
861
|
+
return [];
|
|
862
|
+
const afr = fileSpec.lookup(core_1.PDFName.of('AFRelationship'));
|
|
863
|
+
const afRelationship = afr instanceof core_1.PDFName
|
|
864
|
+
? afr.toString().slice(1) // Remove leading slash
|
|
865
|
+
: afr instanceof core_1.PDFString
|
|
866
|
+
? afr.decodeText()
|
|
867
|
+
: undefined;
|
|
868
|
+
const embeddedFileDict = stream.dict;
|
|
869
|
+
const subtype = embeddedFileDict.lookup(core_1.PDFName.of('Subtype'));
|
|
870
|
+
const mimeType = subtype instanceof core_1.PDFName
|
|
871
|
+
? subtype.toString().slice(1)
|
|
872
|
+
: subtype instanceof core_1.PDFString
|
|
873
|
+
? subtype.decodeText()
|
|
874
|
+
: undefined;
|
|
875
|
+
const paramsDict = embeddedFileDict.lookup(core_1.PDFName.of('Params'), core_1.PDFDict);
|
|
876
|
+
let creationDate;
|
|
877
|
+
let modificationDate;
|
|
878
|
+
if (paramsDict instanceof core_1.PDFDict) {
|
|
879
|
+
const creationDateRaw = paramsDict.lookup(core_1.PDFName.of('CreationDate'));
|
|
880
|
+
const modDateRaw = paramsDict.lookup(core_1.PDFName.of('ModDate'));
|
|
881
|
+
if (creationDateRaw instanceof core_1.PDFString) {
|
|
882
|
+
creationDate = creationDateRaw.decodeDate();
|
|
883
|
+
}
|
|
884
|
+
if (modDateRaw instanceof core_1.PDFString) {
|
|
885
|
+
modificationDate = modDateRaw.decodeDate();
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
const description = fileSpec.lookup(core_1.PDFName.of('Desc')).decodeText();
|
|
889
|
+
return [
|
|
890
|
+
{
|
|
891
|
+
name: fileName.decodeText(),
|
|
892
|
+
data: (0, core_1.decodePDFRawStream)(stream).decode(),
|
|
893
|
+
mimeType: mimeType === null || mimeType === void 0 ? void 0 : mimeType.replace(/#([0-9A-Fa-f]{2})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16))),
|
|
894
|
+
afRelationship: afRelationship,
|
|
895
|
+
description,
|
|
896
|
+
creationDate,
|
|
897
|
+
modificationDate,
|
|
898
|
+
},
|
|
899
|
+
];
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
getUnsavedAttachments() {
|
|
903
|
+
const attachments = this.embeddedFiles.map((file) => {
|
|
904
|
+
const embedder = file.getEmbedder();
|
|
905
|
+
return {
|
|
906
|
+
name: embedder.fileName,
|
|
907
|
+
data: embedder.getFileData(),
|
|
908
|
+
description: embedder.options.description,
|
|
909
|
+
mimeType: embedder.options.mimeType,
|
|
910
|
+
afRelationship: embedder.options.afRelationship,
|
|
911
|
+
creationDate: embedder.options.creationDate,
|
|
912
|
+
modificationDate: embedder.options.modificationDate,
|
|
913
|
+
};
|
|
914
|
+
});
|
|
915
|
+
return attachments;
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* Get all attachments that are embedded in this document.
|
|
919
|
+
*
|
|
920
|
+
* @returns Array of attachments with name and data
|
|
921
|
+
*/
|
|
922
|
+
getAttachments() {
|
|
923
|
+
const savedAttachments = this.getSavedAttachments();
|
|
924
|
+
const unsavedAttachments = this.getUnsavedAttachments();
|
|
925
|
+
return [...savedAttachments, ...unsavedAttachments];
|
|
926
|
+
}
|
|
831
927
|
/**
|
|
832
928
|
* Embed a font into this document. The input data can be provided in multiple
|
|
833
929
|
* formats:
|
|
@@ -863,45 +959,31 @@ var PDFDocument = /** @class */ (function () {
|
|
|
863
959
|
* @param options The options to be used when embedding the font.
|
|
864
960
|
* @returns Resolves with the embedded font.
|
|
865
961
|
*/
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
case 4:
|
|
890
|
-
_b = _c.sent();
|
|
891
|
-
_c.label = 5;
|
|
892
|
-
case 5:
|
|
893
|
-
embedder = _b;
|
|
894
|
-
return [3 /*break*/, 7];
|
|
895
|
-
case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
|
|
896
|
-
case 7:
|
|
897
|
-
ref = this.context.nextRef();
|
|
898
|
-
pdfFont = PDFFont_1.default.of(ref, this, embedder);
|
|
899
|
-
this.fonts.push(pdfFont);
|
|
900
|
-
return [2 /*return*/, pdfFont];
|
|
901
|
-
}
|
|
902
|
-
});
|
|
962
|
+
embedFont(font, options = {}) {
|
|
963
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
964
|
+
const { subset = false, customName, features } = options;
|
|
965
|
+
(0, utils_1.assertIs)(font, 'font', ['string', Uint8Array, ArrayBuffer]);
|
|
966
|
+
(0, utils_1.assertIs)(subset, 'subset', ['boolean']);
|
|
967
|
+
let embedder;
|
|
968
|
+
if ((0, utils_1.isStandardFont)(font)) {
|
|
969
|
+
embedder = core_1.StandardFontEmbedder.for(font, customName);
|
|
970
|
+
}
|
|
971
|
+
else if ((0, utils_1.canBeConvertedToUint8Array)(font)) {
|
|
972
|
+
const bytes = (0, utils_1.toUint8Array)(font);
|
|
973
|
+
const fontkit = this.assertFontkit();
|
|
974
|
+
embedder = subset
|
|
975
|
+
? yield core_1.CustomFontSubsetEmbedder.for(fontkit, bytes, customName, features)
|
|
976
|
+
: yield core_1.CustomFontEmbedder.for(fontkit, bytes, customName, features);
|
|
977
|
+
}
|
|
978
|
+
else {
|
|
979
|
+
throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');
|
|
980
|
+
}
|
|
981
|
+
const ref = this.context.nextRef();
|
|
982
|
+
const pdfFont = PDFFont_1.default.of(ref, this, embedder);
|
|
983
|
+
this.fonts.push(pdfFont);
|
|
984
|
+
return pdfFont;
|
|
903
985
|
});
|
|
904
|
-
}
|
|
986
|
+
}
|
|
905
987
|
/**
|
|
906
988
|
* Embed a standard font into this document.
|
|
907
989
|
* For example:
|
|
@@ -913,17 +995,17 @@ var PDFDocument = /** @class */ (function () {
|
|
|
913
995
|
* @param customName The name to be used when embedding the font.
|
|
914
996
|
* @returns The embedded font.
|
|
915
997
|
*/
|
|
916
|
-
|
|
917
|
-
utils_1.assertIs(font, 'font', ['string']);
|
|
918
|
-
if (!utils_1.isStandardFont(font)) {
|
|
998
|
+
embedStandardFont(font, customName) {
|
|
999
|
+
(0, utils_1.assertIs)(font, 'font', ['string']);
|
|
1000
|
+
if (!(0, utils_1.isStandardFont)(font)) {
|
|
919
1001
|
throw new TypeError('`font` must be one of type `StandardFonts`');
|
|
920
1002
|
}
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
1003
|
+
const embedder = core_1.StandardFontEmbedder.for(font, customName);
|
|
1004
|
+
const ref = this.context.nextRef();
|
|
1005
|
+
const pdfFont = PDFFont_1.default.of(ref, this, embedder);
|
|
924
1006
|
this.fonts.push(pdfFont);
|
|
925
1007
|
return pdfFont;
|
|
926
|
-
}
|
|
1008
|
+
}
|
|
927
1009
|
/**
|
|
928
1010
|
* Embed a JPEG image into this document. The input data can be provided in
|
|
929
1011
|
* multiple formats:
|
|
@@ -954,25 +1036,17 @@ var PDFDocument = /** @class */ (function () {
|
|
|
954
1036
|
* @param jpg The input data for a JPEG image.
|
|
955
1037
|
* @returns Resolves with the embedded image.
|
|
956
1038
|
*/
|
|
957
|
-
|
|
958
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
case 1:
|
|
967
|
-
embedder = _a.sent();
|
|
968
|
-
ref = this.context.nextRef();
|
|
969
|
-
pdfImage = PDFImage_1.default.of(ref, this, embedder);
|
|
970
|
-
this.images.push(pdfImage);
|
|
971
|
-
return [2 /*return*/, pdfImage];
|
|
972
|
-
}
|
|
973
|
-
});
|
|
1039
|
+
embedJpg(jpg) {
|
|
1040
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1041
|
+
(0, utils_1.assertIs)(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);
|
|
1042
|
+
const bytes = (0, utils_1.toUint8Array)(jpg);
|
|
1043
|
+
const embedder = yield core_1.JpegEmbedder.for(bytes);
|
|
1044
|
+
const ref = this.context.nextRef();
|
|
1045
|
+
const pdfImage = PDFImage_1.default.of(ref, this, embedder);
|
|
1046
|
+
this.images.push(pdfImage);
|
|
1047
|
+
return pdfImage;
|
|
974
1048
|
});
|
|
975
|
-
}
|
|
1049
|
+
}
|
|
976
1050
|
/**
|
|
977
1051
|
* Embed a PNG image into this document. The input data can be provided in
|
|
978
1052
|
* multiple formats:
|
|
@@ -1003,25 +1077,47 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1003
1077
|
* @param png The input data for a PNG image.
|
|
1004
1078
|
* @returns Resolves with the embedded image.
|
|
1005
1079
|
*/
|
|
1006
|
-
|
|
1007
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1080
|
+
embedPng(png) {
|
|
1081
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1082
|
+
(0, utils_1.assertIs)(png, 'png', ['string', Uint8Array, ArrayBuffer]);
|
|
1083
|
+
const bytes = (0, utils_1.toUint8Array)(png);
|
|
1084
|
+
const embedder = yield core_1.PngEmbedder.for(bytes);
|
|
1085
|
+
const ref = this.context.nextRef();
|
|
1086
|
+
const pdfImage = PDFImage_1.default.of(ref, this, embedder);
|
|
1087
|
+
this.images.push(pdfImage);
|
|
1088
|
+
return pdfImage;
|
|
1089
|
+
});
|
|
1090
|
+
}
|
|
1091
|
+
embedSvg(svg) {
|
|
1092
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1093
|
+
if (!svg)
|
|
1094
|
+
return new PDFSvg_1.default(svg);
|
|
1095
|
+
const parsedSvg = (0, node_html_better_parser_1.parse)(svg);
|
|
1096
|
+
const findImages = (element) => {
|
|
1097
|
+
if (element.tagName === 'image')
|
|
1098
|
+
return [element];
|
|
1099
|
+
else {
|
|
1100
|
+
return element.childNodes
|
|
1101
|
+
.map((child) => child.nodeType === node_html_better_parser_1.NodeType.ELEMENT_NODE ? findImages(child) : [])
|
|
1102
|
+
.flat();
|
|
1021
1103
|
}
|
|
1022
|
-
}
|
|
1104
|
+
};
|
|
1105
|
+
const images = findImages(parsedSvg);
|
|
1106
|
+
const imagesDict = {};
|
|
1107
|
+
yield Promise.all(images.map((image) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1108
|
+
var _a;
|
|
1109
|
+
const href = (_a = image.attributes.href) !== null && _a !== void 0 ? _a : image.attributes['xlink:href'];
|
|
1110
|
+
if (!href || imagesDict[href])
|
|
1111
|
+
return;
|
|
1112
|
+
const isPng = href.match(/\.png(\?|$)|^data:image\/png;base64/gim);
|
|
1113
|
+
const pdfImage = isPng
|
|
1114
|
+
? yield this.embedPng(href)
|
|
1115
|
+
: yield this.embedJpg(href);
|
|
1116
|
+
imagesDict[href] = pdfImage;
|
|
1117
|
+
})));
|
|
1118
|
+
return new PDFSvg_1.default(svg, imagesDict);
|
|
1023
1119
|
});
|
|
1024
|
-
}
|
|
1120
|
+
}
|
|
1025
1121
|
/**
|
|
1026
1122
|
* Embed one or more PDF pages into this document.
|
|
1027
1123
|
*
|
|
@@ -1042,35 +1138,20 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1042
1138
|
* @param indices The indices of the pages that should be embedded.
|
|
1043
1139
|
* @returns Resolves with an array of the embedded pages.
|
|
1044
1140
|
*/
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
]);
|
|
1058
|
-
utils_1.assertIs(indices, 'indices', [Array]);
|
|
1059
|
-
if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1];
|
|
1060
|
-
_a = pdf;
|
|
1061
|
-
return [3 /*break*/, 3];
|
|
1062
|
-
case 1: return [4 /*yield*/, PDFDocument.load(pdf)];
|
|
1063
|
-
case 2:
|
|
1064
|
-
_a = _b.sent();
|
|
1065
|
-
_b.label = 3;
|
|
1066
|
-
case 3:
|
|
1067
|
-
srcDoc = _a;
|
|
1068
|
-
srcPages = utils_1.pluckIndices(srcDoc.getPages(), indices);
|
|
1069
|
-
return [2 /*return*/, this.embedPages(srcPages)];
|
|
1070
|
-
}
|
|
1071
|
-
});
|
|
1141
|
+
embedPdf(pdf, indices = [0]) {
|
|
1142
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1143
|
+
(0, utils_1.assertIs)(pdf, 'pdf', [
|
|
1144
|
+
'string',
|
|
1145
|
+
Uint8Array,
|
|
1146
|
+
ArrayBuffer,
|
|
1147
|
+
[PDFDocument, 'PDFDocument'],
|
|
1148
|
+
]);
|
|
1149
|
+
(0, utils_1.assertIs)(indices, 'indices', [Array]);
|
|
1150
|
+
const srcDoc = pdf instanceof PDFDocument ? pdf : yield PDFDocument.load(pdf);
|
|
1151
|
+
const srcPages = (0, utils_1.pluckIndices)(srcDoc.getPages(), indices);
|
|
1152
|
+
return this.embedPages(srcPages);
|
|
1072
1153
|
});
|
|
1073
|
-
}
|
|
1154
|
+
}
|
|
1074
1155
|
/**
|
|
1075
1156
|
* Embed a single PDF page into this document.
|
|
1076
1157
|
*
|
|
@@ -1103,21 +1184,13 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1103
1184
|
* page anywhere it is drawn.
|
|
1104
1185
|
* @returns Resolves with the embedded pdf page.
|
|
1105
1186
|
*/
|
|
1106
|
-
|
|
1107
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
case 0:
|
|
1112
|
-
utils_1.assertIs(page, 'page', [[PDFPage_1.default, 'PDFPage']]);
|
|
1113
|
-
return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])];
|
|
1114
|
-
case 1:
|
|
1115
|
-
embeddedPage = (_a.sent())[0];
|
|
1116
|
-
return [2 /*return*/, embeddedPage];
|
|
1117
|
-
}
|
|
1118
|
-
});
|
|
1187
|
+
embedPage(page, boundingBox, transformationMatrix) {
|
|
1188
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1189
|
+
(0, utils_1.assertIs)(page, 'page', [[PDFPage_1.default, 'PDFPage']]);
|
|
1190
|
+
const [embeddedPage] = yield this.embedPages([page], [boundingBox], [transformationMatrix]);
|
|
1191
|
+
return embeddedPage;
|
|
1119
1192
|
});
|
|
1120
|
-
}
|
|
1193
|
+
}
|
|
1121
1194
|
/**
|
|
1122
1195
|
* Embed one or more PDF pages into this document.
|
|
1123
1196
|
*
|
|
@@ -1146,53 +1219,38 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1146
1219
|
* (each page's transformation will apply anywhere it is drawn).
|
|
1147
1220
|
* @returns Resolves with an array of the embedded pdf pages.
|
|
1148
1221
|
*/
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
return [2 /*return*/, []];
|
|
1160
|
-
// Assert all pages have the same context
|
|
1161
|
-
for (idx = 0, len = pages.length - 1; idx < len; idx++) {
|
|
1162
|
-
currPage = pages[idx];
|
|
1163
|
-
nextPage = pages[idx + 1];
|
|
1164
|
-
if (currPage.node.context !== nextPage.node.context) {
|
|
1165
|
-
throw new core_1.PageEmbeddingMismatchedContextError();
|
|
1166
|
-
}
|
|
1167
|
-
}
|
|
1168
|
-
context = pages[0].node.context;
|
|
1169
|
-
maybeCopyPage = context === this.context
|
|
1170
|
-
? function (p) { return p; }
|
|
1171
|
-
: core_1.PDFObjectCopier.for(context, this.context).copy;
|
|
1172
|
-
embeddedPages = new Array(pages.length);
|
|
1173
|
-
idx = 0, len = pages.length;
|
|
1174
|
-
_b.label = 1;
|
|
1175
|
-
case 1:
|
|
1176
|
-
if (!(idx < len)) return [3 /*break*/, 4];
|
|
1177
|
-
page = maybeCopyPage(pages[idx].node);
|
|
1178
|
-
box = boundingBoxes[idx];
|
|
1179
|
-
matrix = transformationMatrices[idx];
|
|
1180
|
-
return [4 /*yield*/, core_1.PDFPageEmbedder.for(page, box, matrix)];
|
|
1181
|
-
case 2:
|
|
1182
|
-
embedder = _b.sent();
|
|
1183
|
-
ref = this.context.nextRef();
|
|
1184
|
-
embeddedPages[idx] = PDFEmbeddedPage_1.default.of(ref, this, embedder);
|
|
1185
|
-
_b.label = 3;
|
|
1186
|
-
case 3:
|
|
1187
|
-
idx++;
|
|
1188
|
-
return [3 /*break*/, 1];
|
|
1189
|
-
case 4:
|
|
1190
|
-
(_a = this.embeddedPages).push.apply(_a, embeddedPages);
|
|
1191
|
-
return [2 /*return*/, embeddedPages];
|
|
1222
|
+
embedPages(pages, boundingBoxes = [], transformationMatrices = []) {
|
|
1223
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1224
|
+
if (pages.length === 0)
|
|
1225
|
+
return [];
|
|
1226
|
+
// Assert all pages have the same context
|
|
1227
|
+
for (let idx = 0, len = pages.length - 1; idx < len; idx++) {
|
|
1228
|
+
const currPage = pages[idx];
|
|
1229
|
+
const nextPage = pages[idx + 1];
|
|
1230
|
+
if (currPage.node.context !== nextPage.node.context) {
|
|
1231
|
+
throw new core_1.PageEmbeddingMismatchedContextError();
|
|
1192
1232
|
}
|
|
1193
|
-
}
|
|
1233
|
+
}
|
|
1234
|
+
const context = pages[0].node.context;
|
|
1235
|
+
const maybeCopyPage = context === this.context
|
|
1236
|
+
? (p) => p
|
|
1237
|
+
: core_1.PDFObjectCopier.for(context, this.context).copy;
|
|
1238
|
+
const embeddedPages = new Array(pages.length);
|
|
1239
|
+
for (let idx = 0, len = pages.length; idx < len; idx++) {
|
|
1240
|
+
const page = maybeCopyPage(pages[idx].node);
|
|
1241
|
+
const box = boundingBoxes[idx];
|
|
1242
|
+
const matrix = transformationMatrices[idx];
|
|
1243
|
+
const embedder = yield core_1.PDFPageEmbedder.for(page, box, matrix);
|
|
1244
|
+
const ref = this.context.nextRef();
|
|
1245
|
+
embeddedPages[idx] = PDFEmbeddedPage_1.default.of(ref, this, embedder);
|
|
1246
|
+
}
|
|
1247
|
+
this.embeddedPages.push(...embeddedPages);
|
|
1248
|
+
return embeddedPages;
|
|
1194
1249
|
});
|
|
1195
|
-
}
|
|
1250
|
+
}
|
|
1251
|
+
encrypt(options) {
|
|
1252
|
+
this.context.security = PDFSecurity_1.default.create(this.context, options).encrypt();
|
|
1253
|
+
}
|
|
1196
1254
|
/**
|
|
1197
1255
|
* > **NOTE:** You shouldn't need to call this method directly. The [[save]]
|
|
1198
1256
|
* > and [[saveAsBase64]] methods will automatically ensure that all embedded
|
|
@@ -1203,30 +1261,15 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1203
1261
|
*
|
|
1204
1262
|
* @returns Resolves when the flush is complete.
|
|
1205
1263
|
*/
|
|
1206
|
-
|
|
1207
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
return [4 /*yield*/, this.embedAll(this.images)];
|
|
1214
|
-
case 2:
|
|
1215
|
-
_a.sent();
|
|
1216
|
-
return [4 /*yield*/, this.embedAll(this.embeddedPages)];
|
|
1217
|
-
case 3:
|
|
1218
|
-
_a.sent();
|
|
1219
|
-
return [4 /*yield*/, this.embedAll(this.embeddedFiles)];
|
|
1220
|
-
case 4:
|
|
1221
|
-
_a.sent();
|
|
1222
|
-
return [4 /*yield*/, this.embedAll(this.javaScripts)];
|
|
1223
|
-
case 5:
|
|
1224
|
-
_a.sent();
|
|
1225
|
-
return [2 /*return*/];
|
|
1226
|
-
}
|
|
1227
|
-
});
|
|
1264
|
+
flush() {
|
|
1265
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1266
|
+
yield this.embedAll(this.fonts);
|
|
1267
|
+
yield this.embedAll(this.images);
|
|
1268
|
+
yield this.embedAll(this.embeddedPages);
|
|
1269
|
+
yield this.embedAll(this.embeddedFiles);
|
|
1270
|
+
yield this.embedAll(this.javaScripts);
|
|
1228
1271
|
});
|
|
1229
|
-
}
|
|
1272
|
+
}
|
|
1230
1273
|
/**
|
|
1231
1274
|
* Serialize this document to an array of bytes making up a PDF file.
|
|
1232
1275
|
* For example:
|
|
@@ -1243,42 +1286,32 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1243
1286
|
* @param options The options to be used when saving the document.
|
|
1244
1287
|
* @returns Resolves with the bytes of the serialized document.
|
|
1245
1288
|
*/
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
case 2:
|
|
1271
|
-
increment = _d.sent();
|
|
1272
|
-
result = new Uint8Array(this.context.pdfFileDetails.originalBytes.byteLength +
|
|
1273
|
-
increment.byteLength);
|
|
1274
|
-
result.set(this.context.pdfFileDetails.originalBytes);
|
|
1275
|
-
result.set(increment, this.context.pdfFileDetails.originalBytes.byteLength);
|
|
1276
|
-
return [2 /*return*/, result];
|
|
1277
|
-
case 3: return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()];
|
|
1278
|
-
}
|
|
1279
|
-
});
|
|
1289
|
+
save(options = {}) {
|
|
1290
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1291
|
+
const { useObjectStreams = true, objectsPerTick = 50, rewrite = false, } = options;
|
|
1292
|
+
(0, utils_1.assertIs)(useObjectStreams, 'useObjectStreams', ['boolean']);
|
|
1293
|
+
(0, utils_1.assertIs)(objectsPerTick, 'objectsPerTick', ['number']);
|
|
1294
|
+
(0, utils_1.assertIs)(rewrite, 'rewrite', ['boolean']);
|
|
1295
|
+
const incrementalUpdate = !rewrite &&
|
|
1296
|
+
this.context.pdfFileDetails.originalBytes &&
|
|
1297
|
+
this.context.snapshot;
|
|
1298
|
+
if (incrementalUpdate) {
|
|
1299
|
+
options.addDefaultPage = false;
|
|
1300
|
+
options.updateFieldAppearances = false;
|
|
1301
|
+
}
|
|
1302
|
+
yield this.prepareForSave(options);
|
|
1303
|
+
const Writer = useObjectStreams ? core_1.PDFStreamWriter : core_1.PDFWriter;
|
|
1304
|
+
if (incrementalUpdate) {
|
|
1305
|
+
const increment = yield Writer.forContextWithSnapshot(this.context, objectsPerTick, this.context.snapshot).serializeToBuffer();
|
|
1306
|
+
const result = new Uint8Array(this.context.pdfFileDetails.originalBytes.byteLength +
|
|
1307
|
+
increment.byteLength);
|
|
1308
|
+
result.set(this.context.pdfFileDetails.originalBytes);
|
|
1309
|
+
result.set(increment, this.context.pdfFileDetails.originalBytes.byteLength);
|
|
1310
|
+
return result;
|
|
1311
|
+
}
|
|
1312
|
+
return Writer.forContext(this.context, objectsPerTick).serializeToBuffer();
|
|
1280
1313
|
});
|
|
1281
|
-
}
|
|
1314
|
+
}
|
|
1282
1315
|
/**
|
|
1283
1316
|
* Serialize only the changes to this document to an array of bytes making up a PDF file.
|
|
1284
1317
|
* For example:
|
|
@@ -1296,27 +1329,18 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1296
1329
|
* @param options The options to be used when saving the document.
|
|
1297
1330
|
* @returns Resolves with the bytes of the serialized document.
|
|
1298
1331
|
*/
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
return [4 /*yield*/, this.prepareForSave(saveOptions)];
|
|
1310
|
-
case 1:
|
|
1311
|
-
_b.sent();
|
|
1312
|
-
Writer = this.context.pdfFileDetails.useObjectStreams
|
|
1313
|
-
? core_1.PDFStreamWriter
|
|
1314
|
-
: core_1.PDFWriter;
|
|
1315
|
-
return [2 /*return*/, Writer.forContextWithSnapshot(this.context, objectsPerTick, snapshot).serializeToBuffer()];
|
|
1316
|
-
}
|
|
1317
|
-
});
|
|
1332
|
+
saveIncremental(snapshot, options = {}) {
|
|
1333
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1334
|
+
const { objectsPerTick = 50 } = options;
|
|
1335
|
+
(0, utils_1.assertIs)(objectsPerTick, 'objectsPerTick', ['number']);
|
|
1336
|
+
const saveOptions = Object.assign(Object.assign({}, options), { addDefaultPage: false, updateFieldAppearances: false });
|
|
1337
|
+
yield this.prepareForSave(saveOptions);
|
|
1338
|
+
const Writer = this.context.pdfFileDetails.useObjectStreams
|
|
1339
|
+
? core_1.PDFStreamWriter
|
|
1340
|
+
: core_1.PDFWriter;
|
|
1341
|
+
return Writer.forContextWithSnapshot(this.context, objectsPerTick, snapshot).serializeToBuffer();
|
|
1318
1342
|
});
|
|
1319
|
-
}
|
|
1343
|
+
}
|
|
1320
1344
|
/**
|
|
1321
1345
|
* Serialize this document to a base64 encoded string or data URI making up a
|
|
1322
1346
|
* PDF file. For example:
|
|
@@ -1332,117 +1356,83 @@ var PDFDocument = /** @class */ (function () {
|
|
|
1332
1356
|
* @returns Resolves with a base64 encoded string or data URI of the
|
|
1333
1357
|
* serialized document.
|
|
1334
1358
|
*/
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
_a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = tslib_1.__rest(options, ["dataUri"]);
|
|
1343
|
-
utils_1.assertIs(dataUri, 'dataUri', ['boolean']);
|
|
1344
|
-
return [4 /*yield*/, this.save(otherOptions)];
|
|
1345
|
-
case 1:
|
|
1346
|
-
bytes = _b.sent();
|
|
1347
|
-
base64 = utils_1.encodeToBase64(bytes);
|
|
1348
|
-
return [2 /*return*/, dataUri ? "data:application/pdf;base64," + base64 : base64];
|
|
1349
|
-
}
|
|
1350
|
-
});
|
|
1359
|
+
saveAsBase64(options = {}) {
|
|
1360
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1361
|
+
const { dataUri = false } = options, otherOptions = tslib_1.__rest(options, ["dataUri"]);
|
|
1362
|
+
(0, utils_1.assertIs)(dataUri, 'dataUri', ['boolean']);
|
|
1363
|
+
const bytes = yield this.save(otherOptions);
|
|
1364
|
+
const base64 = (0, utils_1.encodeToBase64)(bytes);
|
|
1365
|
+
return dataUri ? `data:application/pdf;base64,${base64}` : base64;
|
|
1351
1366
|
});
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
for (
|
|
1356
|
-
|
|
1357
|
-
|
|
1367
|
+
}
|
|
1368
|
+
findPageForAnnotationRef(ref) {
|
|
1369
|
+
const pages = this.getPages();
|
|
1370
|
+
for (let idx = 0, len = pages.length; idx < len; idx++) {
|
|
1371
|
+
const page = pages[idx];
|
|
1372
|
+
const annotations = page.node.Annots();
|
|
1358
1373
|
if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) {
|
|
1359
1374
|
return page;
|
|
1360
1375
|
}
|
|
1361
1376
|
}
|
|
1362
1377
|
return undefined;
|
|
1363
|
-
}
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1378
|
+
}
|
|
1379
|
+
takeSnapshot() {
|
|
1380
|
+
const indirectObjects = [];
|
|
1381
|
+
const snapshot = new snapshot_1.IncrementalDocumentSnapshot(this.context.largestObjectNumber, indirectObjects, this.context.pdfFileDetails.pdfSize, this.context.pdfFileDetails.prevStartXRef, this.context);
|
|
1367
1382
|
if (!this.context.snapshot && this.context.pdfFileDetails.originalBytes) {
|
|
1368
1383
|
this.context.snapshot = snapshot;
|
|
1369
1384
|
this.catalog.registerChange();
|
|
1370
1385
|
}
|
|
1371
1386
|
return snapshot;
|
|
1372
|
-
}
|
|
1373
|
-
|
|
1374
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
if (form)
|
|
1387
|
-
form.updateFieldAppearances();
|
|
1388
|
-
}
|
|
1389
|
-
return [4 /*yield*/, this.flush()];
|
|
1390
|
-
case 1:
|
|
1391
|
-
_c.sent();
|
|
1392
|
-
return [2 /*return*/];
|
|
1393
|
-
}
|
|
1394
|
-
});
|
|
1387
|
+
}
|
|
1388
|
+
prepareForSave(options) {
|
|
1389
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1390
|
+
const { addDefaultPage = true, updateFieldAppearances = true } = options;
|
|
1391
|
+
(0, utils_1.assertIs)(addDefaultPage, 'addDefaultPage', ['boolean']);
|
|
1392
|
+
(0, utils_1.assertIs)(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);
|
|
1393
|
+
if (addDefaultPage && this.getPageCount() === 0)
|
|
1394
|
+
this.addPage();
|
|
1395
|
+
if (updateFieldAppearances) {
|
|
1396
|
+
const form = this.formCache.getValue();
|
|
1397
|
+
if (form)
|
|
1398
|
+
form.updateFieldAppearances();
|
|
1399
|
+
}
|
|
1400
|
+
yield this.flush();
|
|
1395
1401
|
});
|
|
1396
|
-
}
|
|
1397
|
-
|
|
1398
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
case 0:
|
|
1403
|
-
idx = 0, len = embeddables.length;
|
|
1404
|
-
_a.label = 1;
|
|
1405
|
-
case 1:
|
|
1406
|
-
if (!(idx < len)) return [3 /*break*/, 4];
|
|
1407
|
-
return [4 /*yield*/, embeddables[idx].embed()];
|
|
1408
|
-
case 2:
|
|
1409
|
-
_a.sent();
|
|
1410
|
-
_a.label = 3;
|
|
1411
|
-
case 3:
|
|
1412
|
-
idx++;
|
|
1413
|
-
return [3 /*break*/, 1];
|
|
1414
|
-
case 4: return [2 /*return*/];
|
|
1415
|
-
}
|
|
1416
|
-
});
|
|
1402
|
+
}
|
|
1403
|
+
embedAll(embeddables) {
|
|
1404
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1405
|
+
for (let idx = 0, len = embeddables.length; idx < len; idx++) {
|
|
1406
|
+
yield embeddables[idx].embed();
|
|
1407
|
+
}
|
|
1417
1408
|
});
|
|
1418
|
-
}
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1409
|
+
}
|
|
1410
|
+
updateInfoDict() {
|
|
1411
|
+
const pdfLib = 'pdf-lib (https://github.com/Hopding/pdf-lib)';
|
|
1412
|
+
const now = new Date();
|
|
1413
|
+
const info = this.getInfoDict();
|
|
1423
1414
|
this.setProducer(pdfLib);
|
|
1424
1415
|
this.setModificationDate(now);
|
|
1425
1416
|
if (!info.get(core_1.PDFName.of('Creator')))
|
|
1426
1417
|
this.setCreator(pdfLib);
|
|
1427
1418
|
if (!info.get(core_1.PDFName.of('CreationDate')))
|
|
1428
1419
|
this.setCreationDate(now);
|
|
1429
|
-
}
|
|
1430
|
-
|
|
1431
|
-
|
|
1420
|
+
}
|
|
1421
|
+
getInfoDict() {
|
|
1422
|
+
const existingInfo = this.context.lookup(this.context.trailerInfo.Info);
|
|
1432
1423
|
if (existingInfo instanceof core_1.PDFDict) {
|
|
1433
1424
|
return existingInfo;
|
|
1434
1425
|
}
|
|
1435
|
-
|
|
1426
|
+
const newInfo = this.context.obj({});
|
|
1436
1427
|
this.context.trailerInfo.Info = this.context.register(newInfo);
|
|
1437
1428
|
return newInfo;
|
|
1438
|
-
}
|
|
1439
|
-
|
|
1429
|
+
}
|
|
1430
|
+
assertFontkit() {
|
|
1440
1431
|
if (!this.fontkit)
|
|
1441
1432
|
throw new errors_1.FontkitNotRegisteredError();
|
|
1442
1433
|
return this.fontkit;
|
|
1443
|
-
}
|
|
1444
|
-
|
|
1445
|
-
}());
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1446
1436
|
exports.default = PDFDocument;
|
|
1447
1437
|
/* tslint:disable-next-line only-arrow-functions */
|
|
1448
1438
|
function assertIsLiteralOrHexString(pdfObject) {
|