@pdfme/pdf-lib 1.17.3 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -23
- package/cjs/api/PDFDocument.d.ts +11 -11
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +382 -523
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFDocumentOptions.d.ts +3 -2
- package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.d.ts +4 -4
- package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.js +49 -61
- 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 +3 -3
- 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 +3 -3
- 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 +21 -9
- package/cjs/api/PDFPage.d.ts.map +1 -1
- package/cjs/api/PDFPage.js +437 -426
- package/cjs/api/PDFPage.js.map +1 -1
- package/cjs/api/PDFPageOptions.d.ts +15 -4
- package/cjs/api/PDFPageOptions.d.ts.map +1 -1
- package/cjs/api/colors.d.ts +4 -0
- package/cjs/api/colors.d.ts.map +1 -1
- package/cjs/api/colors.js +52 -43
- package/cjs/api/colors.js.map +1 -1
- package/cjs/api/errors.js +73 -130
- package/cjs/api/errors.js.map +1 -1
- package/cjs/api/form/PDFButton.d.ts +8 -8
- package/cjs/api/form/PDFButton.d.ts.map +1 -1
- package/cjs/api/form/PDFButton.js +68 -72
- package/cjs/api/form/PDFButton.js.map +1 -1
- package/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/cjs/api/form/PDFCheckBox.d.ts.map +1 -1
- package/cjs/api/form/PDFCheckBox.js +64 -69
- package/cjs/api/form/PDFCheckBox.js.map +1 -1
- package/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/cjs/api/form/PDFDropdown.d.ts.map +1 -1
- package/cjs/api/form/PDFDropdown.js +126 -132
- package/cjs/api/form/PDFDropdown.js.map +1 -1
- package/cjs/api/form/PDFField.d.ts +6 -6
- package/cjs/api/form/PDFField.d.ts.map +1 -1
- package/cjs/api/form/PDFField.js +118 -123
- package/cjs/api/form/PDFField.js.map +1 -1
- package/cjs/api/form/PDFForm.d.ts +11 -11
- package/cjs/api/form/PDFForm.d.ts.map +1 -1
- package/cjs/api/form/PDFForm.js +218 -217
- package/cjs/api/form/PDFForm.js.map +1 -1
- package/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/cjs/api/form/PDFOptionList.d.ts.map +1 -1
- package/cjs/api/form/PDFOptionList.js +115 -121
- package/cjs/api/form/PDFOptionList.js.map +1 -1
- package/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/cjs/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/cjs/api/form/PDFRadioGroup.js +98 -101
- package/cjs/api/form/PDFRadioGroup.js.map +1 -1
- package/cjs/api/form/PDFSignature.d.ts +3 -3
- package/cjs/api/form/PDFSignature.d.ts.map +1 -1
- package/cjs/api/form/PDFSignature.js +25 -28
- package/cjs/api/form/PDFSignature.js.map +1 -1
- package/cjs/api/form/PDFTextField.d.ts +8 -8
- package/cjs/api/form/PDFTextField.d.ts.map +1 -1
- package/cjs/api/form/PDFTextField.js +136 -141
- package/cjs/api/form/PDFTextField.js.map +1 -1
- package/cjs/api/form/appearances.d.ts +11 -11
- package/cjs/api/form/appearances.d.ts.map +1 -1
- package/cjs/api/form/appearances.js +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 +12 -11
- package/cjs/api/form/index.js.map +1 -1
- package/cjs/api/image/index.d.ts +1 -1
- package/cjs/api/image/index.d.ts.map +1 -1
- package/cjs/api/image/index.js +2 -2
- package/cjs/api/image/index.js.map +1 -1
- package/cjs/api/index.d.ts +20 -20
- package/cjs/api/index.d.ts.map +1 -1
- package/cjs/api/index.js +21 -20
- package/cjs/api/index.js.map +1 -1
- package/cjs/api/objects.d.ts +1 -1
- package/cjs/api/objects.d.ts.map +1 -1
- package/cjs/api/objects.js +7 -10
- package/cjs/api/objects.js.map +1 -1
- package/cjs/api/operations.d.ts +5 -4
- package/cjs/api/operations.d.ts.map +1 -1
- package/cjs/api/operations.js +361 -347
- package/cjs/api/operations.js.map +1 -1
- package/cjs/api/operators.d.ts +6 -1
- package/cjs/api/operators.d.ts.map +1 -1
- package/cjs/api/operators.js +169 -183
- package/cjs/api/operators.js.map +1 -1
- package/cjs/api/rotations.d.ts +1 -1
- package/cjs/api/rotations.d.ts.map +1 -1
- package/cjs/api/rotations.js +31 -30
- package/cjs/api/rotations.js.map +1 -1
- package/cjs/api/svg.d.ts +65 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +1338 -0
- package/cjs/api/svg.js.map +1 -0
- package/cjs/api/svgPath.d.ts +1 -1
- package/cjs/api/svgPath.d.ts.map +1 -1
- package/cjs/api/svgPath.js +115 -118
- package/cjs/api/svgPath.js.map +1 -1
- package/cjs/api/text/index.d.ts +2 -2
- package/cjs/api/text/index.d.ts.map +1 -1
- package/cjs/api/text/index.js +3 -3
- package/cjs/api/text/index.js.map +1 -1
- package/cjs/api/text/layout.d.ts +3 -3
- package/cjs/api/text/layout.d.ts.map +1 -1
- package/cjs/api/text/layout.js +87 -88
- package/cjs/api/text/layout.js.map +1 -1
- package/cjs/core/PDFContext.d.ts +17 -16
- package/cjs/core/PDFContext.d.ts.map +1 -1
- package/cjs/core/PDFContext.js +84 -101
- package/cjs/core/PDFContext.js.map +1 -1
- package/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/cjs/core/PDFObjectCopier.d.ts.map +1 -1
- package/cjs/core/PDFObjectCopier.js +58 -62
- package/cjs/core/PDFObjectCopier.js.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroButton.js +42 -47
- package/cjs/core/acroform/PDFAcroButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroCheckBox.js +28 -35
- package/cjs/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroChoice.js +47 -60
- package/cjs/core/acroform/PDFAcroChoice.js.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroComboBox.js +15 -22
- package/cjs/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/cjs/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroField.js +80 -81
- package/cjs/core/acroform/PDFAcroField.js.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroForm.js +46 -47
- package/cjs/core/acroform/PDFAcroForm.js.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroListBox.js +13 -20
- package/cjs/core/acroform/PDFAcroListBox.js.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroNonTerminal.js +18 -25
- package/cjs/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/cjs/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroPushButton.js +15 -22
- package/cjs/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroRadioButton.js +33 -40
- package/cjs/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/cjs/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroSignature.js +5 -12
- package/cjs/core/acroform/PDFAcroSignature.js.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/cjs/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroTerminal.js +28 -35
- package/cjs/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/cjs/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/cjs/core/acroform/PDFAcroText.js +40 -45
- package/cjs/core/acroform/PDFAcroText.js.map +1 -1
- package/cjs/core/acroform/flags.js +1 -1
- package/cjs/core/acroform/flags.js.map +1 -1
- package/cjs/core/acroform/index.d.ts +15 -15
- package/cjs/core/acroform/index.d.ts.map +1 -1
- package/cjs/core/acroform/index.js +17 -16
- package/cjs/core/acroform/index.js.map +1 -1
- package/cjs/core/acroform/utils.d.ts +4 -4
- package/cjs/core/acroform/utils.d.ts.map +1 -1
- package/cjs/core/acroform/utils.js +48 -48
- package/cjs/core/acroform/utils.js.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/cjs/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/cjs/core/annotation/AppearanceCharacteristics.js +61 -64
- package/cjs/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/cjs/core/annotation/BorderStyle.d.ts.map +1 -1
- package/cjs/core/annotation/BorderStyle.js +15 -16
- package/cjs/core/annotation/BorderStyle.js.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/cjs/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFAnnotation.js +76 -77
- package/cjs/core/annotation/PDFAnnotation.js.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/cjs/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/cjs/core/annotation/PDFWidgetAnnotation.js +60 -67
- package/cjs/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/cjs/core/annotation/flags.js +1 -1
- package/cjs/core/annotation/flags.js.map +1 -1
- package/cjs/core/annotation/index.d.ts +4 -4
- package/cjs/core/annotation/index.d.ts.map +1 -1
- package/cjs/core/annotation/index.js +6 -5
- package/cjs/core/annotation/index.js.map +1 -1
- package/cjs/core/crypto.d.ts +96 -0
- package/cjs/core/crypto.d.ts.map +1 -0
- package/cjs/core/crypto.js +1619 -0
- package/cjs/core/crypto.js.map +1 -0
- package/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/cjs/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/cjs/core/document/PDFCrossRefSection.js +62 -65
- package/cjs/core/document/PDFCrossRefSection.js.map +1 -1
- package/cjs/core/document/PDFHeader.js +18 -21
- package/cjs/core/document/PDFHeader.js.map +1 -1
- package/cjs/core/document/PDFTrailer.js +16 -19
- package/cjs/core/document/PDFTrailer.js.map +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/cjs/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/cjs/core/document/PDFTrailerDict.js +14 -15
- package/cjs/core/document/PDFTrailerDict.js.map +1 -1
- package/cjs/core/embedders/CMap.d.ts +1 -1
- package/cjs/core/embedders/CMap.d.ts.map +1 -1
- package/cjs/core/embedders/CMap.js +41 -28
- package/cjs/core/embedders/CMap.js.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/cjs/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/CustomFontEmbedder.js +132 -177
- 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 +40 -51
- package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/cjs/core/embedders/FileEmbedder.d.ts +2 -2
- package/cjs/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/FileEmbedder.js +40 -47
- 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 +21 -26
- 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 +64 -71
- 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 +55 -61
- 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 +32 -40
- package/cjs/core/embedders/PngEmbedder.js.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/cjs/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/StandardFontEmbedder.js +46 -50
- package/cjs/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/cjs/core/errors.d.ts +1 -1
- package/cjs/core/errors.d.ts.map +1 -1
- package/cjs/core/errors.js +147 -260
- package/cjs/core/errors.js.map +1 -1
- package/cjs/core/index.d.ts +47 -47
- package/cjs/core/index.d.ts.map +1 -1
- package/cjs/core/index.js +48 -47
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
- package/cjs/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/cjs/core/interactive/ViewerPreferences.js +135 -138
- package/cjs/core/interactive/ViewerPreferences.js.map +1 -1
- package/cjs/core/objects/PDFArray.d.ts +12 -12
- package/cjs/core/objects/PDFArray.d.ts.map +1 -1
- package/cjs/core/objects/PDFArray.js +72 -81
- package/cjs/core/objects/PDFArray.js.map +1 -1
- package/cjs/core/objects/PDFBool.d.ts +1 -1
- package/cjs/core/objects/PDFBool.d.ts.map +1 -1
- package/cjs/core/objects/PDFBool.js +22 -26
- package/cjs/core/objects/PDFBool.js.map +1 -1
- package/cjs/core/objects/PDFDict.d.ts +12 -11
- package/cjs/core/objects/PDFDict.d.ts.map +1 -1
- package/cjs/core/objects/PDFDict.js +74 -86
- package/cjs/core/objects/PDFDict.js.map +1 -1
- package/cjs/core/objects/PDFHexString.d.ts +1 -1
- package/cjs/core/objects/PDFHexString.d.ts.map +1 -1
- package/cjs/core/objects/PDFHexString.js +49 -52
- package/cjs/core/objects/PDFHexString.js.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/cjs/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFInvalidObject.js +19 -22
- package/cjs/core/objects/PDFInvalidObject.js.map +1 -1
- package/cjs/core/objects/PDFName.d.ts +1 -1
- package/cjs/core/objects/PDFName.d.ts.map +1 -1
- package/cjs/core/objects/PDFName.js +84 -92
- package/cjs/core/objects/PDFName.js.map +1 -1
- package/cjs/core/objects/PDFNull.d.ts +1 -1
- package/cjs/core/objects/PDFNull.d.ts.map +1 -1
- package/cjs/core/objects/PDFNull.js +15 -20
- package/cjs/core/objects/PDFNull.js.map +1 -1
- package/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/cjs/core/objects/PDFNumber.d.ts.map +1 -1
- package/cjs/core/objects/PDFNumber.js +23 -26
- package/cjs/core/objects/PDFNumber.js.map +1 -1
- package/cjs/core/objects/PDFObject.d.ts +1 -1
- package/cjs/core/objects/PDFObject.d.ts.map +1 -1
- package/cjs/core/objects/PDFObject.js +11 -14
- package/cjs/core/objects/PDFObject.js.map +1 -1
- package/cjs/core/objects/PDFRawStream.d.ts +6 -4
- package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFRawStream.js +21 -25
- package/cjs/core/objects/PDFRawStream.js.map +1 -1
- package/cjs/core/objects/PDFRef.d.ts +1 -1
- package/cjs/core/objects/PDFRef.d.ts.map +1 -1
- package/cjs/core/objects/PDFRef.js +31 -36
- package/cjs/core/objects/PDFRef.js.map +1 -1
- package/cjs/core/objects/PDFStream.d.ts +3 -3
- package/cjs/core/objects/PDFStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFStream.js +32 -35
- package/cjs/core/objects/PDFStream.js.map +1 -1
- package/cjs/core/objects/PDFString.d.ts +1 -1
- package/cjs/core/objects/PDFString.d.ts.map +1 -1
- package/cjs/core/objects/PDFString.js +55 -58
- package/cjs/core/objects/PDFString.js.map +1 -1
- package/cjs/core/operators/PDFOperator.d.ts +7 -7
- package/cjs/core/operators/PDFOperator.d.ts.map +1 -1
- package/cjs/core/operators/PDFOperator.js +29 -32
- package/cjs/core/operators/PDFOperator.js.map +1 -1
- package/cjs/core/parser/BaseParser.d.ts +1 -1
- package/cjs/core/parser/BaseParser.d.ts.map +1 -1
- package/cjs/core/parser/BaseParser.js +40 -42
- package/cjs/core/parser/BaseParser.js.map +1 -1
- package/cjs/core/parser/ByteStream.d.ts +1 -1
- package/cjs/core/parser/ByteStream.d.ts.map +1 -1
- package/cjs/core/parser/ByteStream.js +30 -33
- package/cjs/core/parser/ByteStream.js.map +1 -1
- package/cjs/core/parser/PDFObjectParser.d.ts +22 -20
- package/cjs/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectParser.js +96 -88
- package/cjs/core/parser/PDFObjectParser.js.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/cjs/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFObjectStreamParser.js +42 -60
- package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/cjs/core/parser/PDFParser.d.ts +5 -4
- package/cjs/core/parser/PDFParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFParser.js +159 -213
- package/cjs/core/parser/PDFParser.js.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.js +38 -41
- package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/cjs/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/cjs/core/streams/Ascii85Stream.js +21 -26
- package/cjs/core/streams/Ascii85Stream.js.map +1 -1
- package/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/cjs/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/cjs/core/streams/AsciiHexStream.js +19 -22
- package/cjs/core/streams/AsciiHexStream.js.map +1 -1
- package/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/cjs/core/streams/DecodeStream.d.ts.map +1 -1
- package/cjs/core/streams/DecodeStream.js +54 -61
- package/cjs/core/streams/DecodeStream.js.map +1 -1
- package/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/cjs/core/streams/DecryptStream.d.ts.map +1 -0
- package/cjs/core/streams/DecryptStream.js +37 -0
- package/cjs/core/streams/DecryptStream.js.map +1 -0
- package/cjs/core/streams/FlateStream.d.ts +2 -2
- package/cjs/core/streams/FlateStream.d.ts.map +1 -1
- package/cjs/core/streams/FlateStream.js +81 -84
- package/cjs/core/streams/FlateStream.js.map +1 -1
- package/cjs/core/streams/LZWStream.d.ts +3 -3
- package/cjs/core/streams/LZWStream.d.ts.map +1 -1
- package/cjs/core/streams/LZWStream.js +42 -45
- package/cjs/core/streams/LZWStream.js.map +1 -1
- package/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/cjs/core/streams/RunLengthStream.d.ts.map +1 -1
- package/cjs/core/streams/RunLengthStream.js +16 -19
- package/cjs/core/streams/RunLengthStream.js.map +1 -1
- package/cjs/core/streams/Stream.js +45 -56
- package/cjs/core/streams/Stream.js.map +1 -1
- package/cjs/core/streams/decode.d.ts +3 -3
- package/cjs/core/streams/decode.d.ts.map +1 -1
- package/cjs/core/streams/decode.js +24 -21
- package/cjs/core/streams/decode.js.map +1 -1
- package/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
- package/cjs/core/structures/PDFCatalog.js +40 -47
- package/cjs/core/structures/PDFCatalog.js.map +1 -1
- package/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/cjs/core/structures/PDFContentStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFContentStream.js +31 -43
- package/cjs/core/structures/PDFContentStream.js.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.d.ts +4 -4
- package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.js +92 -100
- package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
- package/cjs/core/structures/PDFFlateStream.d.ts +3 -3
- package/cjs/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFFlateStream.js +21 -24
- package/cjs/core/structures/PDFFlateStream.js.map +1 -1
- package/cjs/core/structures/PDFObjectStream.d.ts +4 -4
- package/cjs/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFObjectStream.js +49 -56
- package/cjs/core/structures/PDFObjectStream.js.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/cjs/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageLeaf.js +126 -133
- package/cjs/core/structures/PDFPageLeaf.js.map +1 -1
- package/cjs/core/structures/PDFPageTree.d.ts +6 -6
- package/cjs/core/structures/PDFPageTree.d.ts.map +1 -1
- package/cjs/core/structures/PDFPageTree.js +67 -75
- package/cjs/core/structures/PDFPageTree.js.map +1 -1
- package/cjs/core/syntax/Delimiters.js +2 -2
- package/cjs/core/syntax/Delimiters.js.map +1 -1
- package/cjs/core/syntax/Irregular.js +5 -5
- package/cjs/core/syntax/Irregular.js.map +1 -1
- package/cjs/core/syntax/Keywords.d.ts +1 -1
- package/cjs/core/syntax/Keywords.d.ts.map +1 -1
- package/cjs/core/syntax/Keywords.js +14 -14
- package/cjs/core/syntax/Keywords.js.map +1 -1
- package/cjs/core/syntax/Numeric.js +3 -3
- package/cjs/core/syntax/Numeric.js.map +1 -1
- package/cjs/core/syntax/Whitespace.js +2 -2
- package/cjs/core/syntax/Whitespace.js.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.d.ts +6 -6
- package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +75 -106
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/cjs/core/writers/PDFWriter.d.ts +12 -9
- package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFWriter.js +89 -125
- package/cjs/core/writers/PDFWriter.js.map +1 -1
- package/cjs/index.d.ts +4 -4
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +5 -5
- package/cjs/index.js.map +1 -1
- package/cjs/types/index.d.ts +25 -1
- package/cjs/types/index.d.ts.map +1 -1
- package/cjs/types/matrix.d.ts +8 -1
- package/cjs/types/matrix.d.ts.map +1 -1
- package/cjs/utils/Cache.js +10 -11
- package/cjs/utils/Cache.js.map +1 -1
- package/cjs/utils/arrays.d.ts +2 -1
- package/cjs/utils/arrays.d.ts.map +1 -1
- package/cjs/utils/arrays.js +83 -64
- package/cjs/utils/arrays.js.map +1 -1
- package/cjs/utils/async.d.ts.map +1 -1
- package/cjs/utils/async.js +4 -5
- package/cjs/utils/async.js.map +1 -1
- package/cjs/utils/base64.d.ts.map +1 -1
- package/cjs/utils/base64.js +29 -26
- package/cjs/utils/base64.js.map +1 -1
- package/cjs/utils/elements/Arc.d.ts +23 -0
- package/cjs/utils/elements/Arc.d.ts.map +1 -0
- package/cjs/utils/elements/Arc.js +78 -0
- package/cjs/utils/elements/Arc.js.map +1 -0
- package/cjs/utils/elements/Circle.d.ts +15 -0
- package/cjs/utils/elements/Circle.d.ts.map +1 -0
- package/cjs/utils/elements/Circle.js +41 -0
- package/cjs/utils/elements/Circle.js.map +1 -0
- package/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/cjs/utils/elements/Ellipse.d.ts.map +1 -0
- package/cjs/utils/elements/Ellipse.js +91 -0
- package/cjs/utils/elements/Ellipse.js.map +1 -0
- package/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/cjs/utils/elements/GraphElement.d.ts.map +1 -0
- package/cjs/utils/elements/GraphElement.js +11 -0
- package/cjs/utils/elements/GraphElement.js.map +1 -0
- package/cjs/utils/elements/Line.d.ts +24 -0
- package/cjs/utils/elements/Line.d.ts.map +1 -0
- package/cjs/utils/elements/Line.js +72 -0
- package/cjs/utils/elements/Line.js.map +1 -0
- package/cjs/utils/elements/Plot.d.ts +12 -0
- package/cjs/utils/elements/Plot.d.ts.map +1 -0
- package/cjs/utils/elements/Plot.js +46 -0
- package/cjs/utils/elements/Plot.js.map +1 -0
- package/cjs/utils/elements/Point.d.ts +19 -0
- package/cjs/utils/elements/Point.d.ts.map +1 -0
- package/cjs/utils/elements/Point.js +32 -0
- package/cjs/utils/elements/Point.js.map +1 -0
- package/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/cjs/utils/elements/Rectangle.d.ts.map +1 -0
- package/cjs/utils/elements/Rectangle.js +58 -0
- package/cjs/utils/elements/Rectangle.js.map +1 -0
- package/cjs/utils/elements/Segment.d.ts +20 -0
- package/cjs/utils/elements/Segment.d.ts.map +1 -0
- package/cjs/utils/elements/Segment.js +80 -0
- package/cjs/utils/elements/Segment.js.map +1 -0
- package/cjs/utils/elements/index.d.ts +10 -0
- package/cjs/utils/elements/index.d.ts.map +1 -0
- package/cjs/utils/elements/index.js +25 -0
- package/cjs/utils/elements/index.js.map +1 -0
- package/cjs/utils/errors.js +2 -1
- package/cjs/utils/errors.js.map +1 -1
- package/cjs/utils/index.d.ts +11 -11
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +13 -12
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/intersections.d.ts +10 -0
- package/cjs/utils/intersections.d.ts.map +1 -0
- package/cjs/utils/intersections.js +255 -0
- package/cjs/utils/intersections.js.map +1 -0
- package/cjs/utils/maths.d.ts +46 -0
- package/cjs/utils/maths.d.ts.map +1 -0
- package/cjs/utils/maths.js +89 -0
- package/cjs/utils/maths.js.map +1 -0
- package/cjs/utils/numbers.js +12 -9
- package/cjs/utils/numbers.js.map +1 -1
- package/cjs/utils/objects.js +8 -7
- package/cjs/utils/objects.js.map +1 -1
- package/cjs/utils/pdfDocEncoding.js +52 -51
- package/cjs/utils/pdfDocEncoding.js.map +1 -1
- package/cjs/utils/png.js +22 -23
- package/cjs/utils/png.js.map +1 -1
- package/cjs/utils/rng.js +7 -8
- package/cjs/utils/rng.js.map +1 -1
- package/cjs/utils/strings.d.ts +1 -0
- package/cjs/utils/strings.d.ts.map +1 -1
- package/cjs/utils/strings.js +84 -70
- package/cjs/utils/strings.js.map +1 -1
- package/cjs/utils/unicode.js +51 -64
- package/cjs/utils/unicode.js.map +1 -1
- package/cjs/utils/validators.js +84 -67
- package/cjs/utils/validators.js.map +1 -1
- package/dist/pdf-lib.esm.js +13605 -7680
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +12 -12
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +13614 -7686
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +12 -12
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/Embeddable.js +1 -0
- package/es/api/PDFDocument.d.ts +11 -11
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +361 -503
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFDocumentOptions.d.ts +3 -2
- package/es/api/PDFDocumentOptions.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.d.ts +4 -4
- package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.js +49 -62
- 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 +3 -3
- 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 +3 -3
- 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 +21 -9
- package/es/api/PDFPage.d.ts.map +1 -1
- package/es/api/PDFPage.js +270 -260
- package/es/api/PDFPage.js.map +1 -1
- package/es/api/PDFPageOptions.d.ts +15 -4
- package/es/api/PDFPageOptions.d.ts.map +1 -1
- package/es/api/colors.d.ts +4 -0
- package/es/api/colors.d.ts.map +1 -1
- package/es/api/colors.js +34 -34
- package/es/api/colors.js.map +1 -1
- package/es/api/errors.js +73 -144
- package/es/api/errors.js.map +1 -1
- package/es/api/form/PDFButton.d.ts +8 -8
- package/es/api/form/PDFButton.d.ts.map +1 -1
- package/es/api/form/PDFButton.js +56 -62
- package/es/api/form/PDFButton.js.map +1 -1
- package/es/api/form/PDFCheckBox.d.ts +5 -5
- package/es/api/form/PDFCheckBox.d.ts.map +1 -1
- package/es/api/form/PDFCheckBox.js +55 -62
- package/es/api/form/PDFCheckBox.js.map +1 -1
- package/es/api/form/PDFDropdown.d.ts +6 -6
- package/es/api/form/PDFDropdown.d.ts.map +1 -1
- package/es/api/form/PDFDropdown.js +110 -118
- package/es/api/form/PDFDropdown.js.map +1 -1
- package/es/api/form/PDFField.d.ts +6 -6
- package/es/api/form/PDFField.d.ts.map +1 -1
- package/es/api/form/PDFField.js +98 -106
- package/es/api/form/PDFField.js.map +1 -1
- package/es/api/form/PDFForm.d.ts +11 -11
- package/es/api/form/PDFForm.d.ts.map +1 -1
- package/es/api/form/PDFForm.js +195 -196
- package/es/api/form/PDFForm.js.map +1 -1
- package/es/api/form/PDFOptionList.d.ts +6 -6
- package/es/api/form/PDFOptionList.d.ts.map +1 -1
- package/es/api/form/PDFOptionList.js +98 -106
- package/es/api/form/PDFOptionList.js.map +1 -1
- package/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/es/api/form/PDFRadioGroup.d.ts.map +1 -1
- package/es/api/form/PDFRadioGroup.js +86 -91
- package/es/api/form/PDFRadioGroup.js.map +1 -1
- package/es/api/form/PDFSignature.d.ts +3 -3
- package/es/api/form/PDFSignature.d.ts.map +1 -1
- package/es/api/form/PDFSignature.js +23 -28
- package/es/api/form/PDFSignature.js.map +1 -1
- package/es/api/form/PDFTextField.d.ts +8 -8
- package/es/api/form/PDFTextField.d.ts.map +1 -1
- package/es/api/form/PDFTextField.js +121 -128
- package/es/api/form/PDFTextField.js.map +1 -1
- package/es/api/form/appearances.d.ts +11 -11
- package/es/api/form/appearances.d.ts.map +1 -1
- package/es/api/form/appearances.js +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 +20 -20
- package/es/api/index.d.ts.map +1 -1
- package/es/api/index.js +19 -19
- package/es/api/index.js.map +1 -1
- package/es/api/objects.d.ts +1 -1
- package/es/api/objects.d.ts.map +1 -1
- package/es/api/objects.js +4 -10
- package/es/api/objects.js.map +1 -1
- package/es/api/operations.d.ts +5 -4
- package/es/api/operations.d.ts.map +1 -1
- package/es/api/operations.js +207 -210
- package/es/api/operations.js.map +1 -1
- package/es/api/operators.d.ts +6 -1
- package/es/api/operators.d.ts.map +1 -1
- package/es/api/operators.js +114 -182
- package/es/api/operators.js.map +1 -1
- package/es/api/rotations.d.ts +1 -1
- package/es/api/rotations.d.ts.map +1 -1
- package/es/api/rotations.js +20 -28
- package/es/api/rotations.js.map +1 -1
- package/es/api/sizes.js +1 -1
- package/es/api/sizes.js.map +1 -1
- package/es/api/svg.d.ts +65 -0
- package/es/api/svg.d.ts.map +1 -0
- package/es/api/svg.js +1334 -0
- package/es/api/svg.js.map +1 -0
- package/es/api/svgPath.d.ts +1 -1
- package/es/api/svgPath.d.ts.map +1 -1
- package/es/api/svgPath.js +104 -108
- package/es/api/svgPath.js.map +1 -1
- package/es/api/text/index.d.ts +2 -2
- package/es/api/text/index.d.ts.map +1 -1
- package/es/api/text/index.js +2 -2
- package/es/api/text/index.js.map +1 -1
- package/es/api/text/layout.d.ts +3 -3
- package/es/api/text/layout.d.ts.map +1 -1
- package/es/api/text/layout.js +84 -88
- package/es/api/text/layout.js.map +1 -1
- package/es/core/PDFContext.d.ts +17 -16
- package/es/core/PDFContext.d.ts.map +1 -1
- package/es/core/PDFContext.js +81 -99
- package/es/core/PDFContext.js.map +1 -1
- package/es/core/PDFObjectCopier.d.ts +2 -2
- package/es/core/PDFObjectCopier.d.ts.map +1 -1
- package/es/core/PDFObjectCopier.js +57 -61
- package/es/core/PDFObjectCopier.js.map +1 -1
- package/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/es/core/acroform/PDFAcroButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroButton.js +41 -47
- package/es/core/acroform/PDFAcroButton.js.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/es/core/acroform/PDFAcroCheckBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroCheckBox.js +27 -35
- package/es/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/es/core/acroform/PDFAcroChoice.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroChoice.js +46 -60
- package/es/core/acroform/PDFAcroChoice.js.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroComboBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroComboBox.js +14 -22
- package/es/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/es/core/acroform/PDFAcroField.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroField.js +79 -80
- package/es/core/acroform/PDFAcroField.js.map +1 -1
- package/es/core/acroform/PDFAcroForm.d.ts +5 -5
- package/es/core/acroform/PDFAcroForm.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroForm.js +43 -44
- package/es/core/acroform/PDFAcroForm.js.map +1 -1
- package/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/es/core/acroform/PDFAcroListBox.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroListBox.js +12 -20
- package/es/core/acroform/PDFAcroListBox.js.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/es/core/acroform/PDFAcroNonTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroNonTerminal.js +17 -25
- package/es/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/es/core/acroform/PDFAcroPushButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroPushButton.js +14 -22
- package/es/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/es/core/acroform/PDFAcroRadioButton.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroRadioButton.js +32 -40
- package/es/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/es/core/acroform/PDFAcroSignature.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroSignature.js +4 -12
- package/es/core/acroform/PDFAcroSignature.js.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/es/core/acroform/PDFAcroTerminal.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroTerminal.js +27 -35
- package/es/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/es/core/acroform/PDFAcroText.d.ts.map +1 -1
- package/es/core/acroform/PDFAcroText.js +39 -45
- package/es/core/acroform/PDFAcroText.js.map +1 -1
- package/es/core/acroform/flags.js +1 -1
- package/es/core/acroform/flags.js.map +1 -1
- package/es/core/acroform/index.d.ts +15 -15
- package/es/core/acroform/index.d.ts.map +1 -1
- package/es/core/acroform/index.js +15 -15
- package/es/core/acroform/index.js.map +1 -1
- package/es/core/acroform/utils.d.ts +4 -4
- package/es/core/acroform/utils.d.ts.map +1 -1
- package/es/core/acroform/utils.js +44 -46
- package/es/core/acroform/utils.js.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/es/core/annotation/AppearanceCharacteristics.d.ts.map +1 -1
- package/es/core/annotation/AppearanceCharacteristics.js +60 -63
- package/es/core/annotation/AppearanceCharacteristics.js.map +1 -1
- package/es/core/annotation/BorderStyle.d.ts +2 -2
- package/es/core/annotation/BorderStyle.d.ts.map +1 -1
- package/es/core/annotation/BorderStyle.js +14 -15
- package/es/core/annotation/BorderStyle.js.map +1 -1
- package/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/es/core/annotation/PDFAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFAnnotation.js +75 -76
- package/es/core/annotation/PDFAnnotation.js.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/es/core/annotation/PDFWidgetAnnotation.d.ts.map +1 -1
- package/es/core/annotation/PDFWidgetAnnotation.js +59 -67
- package/es/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/es/core/annotation/flags.js +1 -1
- package/es/core/annotation/flags.js.map +1 -1
- package/es/core/annotation/index.d.ts +4 -4
- package/es/core/annotation/index.d.ts.map +1 -1
- package/es/core/annotation/index.js +4 -4
- package/es/core/annotation/index.js.map +1 -1
- package/es/core/crypto.d.ts +96 -0
- package/es/core/crypto.d.ts.map +1 -0
- package/es/core/crypto.js +1605 -0
- package/es/core/crypto.js.map +1 -0
- package/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/es/core/document/PDFCrossRefSection.d.ts.map +1 -1
- package/es/core/document/PDFCrossRefSection.js +55 -58
- package/es/core/document/PDFCrossRefSection.js.map +1 -1
- package/es/core/document/PDFHeader.js +15 -18
- package/es/core/document/PDFHeader.js.map +1 -1
- package/es/core/document/PDFTrailer.js +14 -17
- package/es/core/document/PDFTrailer.js.map +1 -1
- package/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/es/core/document/PDFTrailerDict.d.ts.map +1 -1
- package/es/core/document/PDFTrailerDict.js +13 -14
- package/es/core/document/PDFTrailerDict.js.map +1 -1
- package/es/core/embedders/CMap.d.ts +1 -1
- package/es/core/embedders/CMap.d.ts.map +1 -1
- package/es/core/embedders/CMap.js +38 -26
- package/es/core/embedders/CMap.js.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/es/core/embedders/CustomFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/CustomFontEmbedder.js +131 -176
- 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 +39 -50
- package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/es/core/embedders/FileEmbedder.d.ts +2 -2
- package/es/core/embedders/FileEmbedder.d.ts.map +1 -1
- package/es/core/embedders/FileEmbedder.js +40 -47
- 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 +21 -26
- 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 +64 -71
- 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 +54 -60
- 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 +32 -40
- package/es/core/embedders/PngEmbedder.js.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/es/core/embedders/StandardFontEmbedder.d.ts.map +1 -1
- package/es/core/embedders/StandardFontEmbedder.js +43 -47
- package/es/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/es/core/errors.d.ts +1 -1
- package/es/core/errors.d.ts.map +1 -1
- package/es/core/errors.js +175 -316
- package/es/core/errors.js.map +1 -1
- package/es/core/index.d.ts +47 -47
- package/es/core/index.d.ts.map +1 -1
- package/es/core/index.js +47 -47
- package/es/core/index.js.map +1 -1
- package/es/core/interactive/ViewerPreferences.d.ts +6 -6
- package/es/core/interactive/ViewerPreferences.d.ts.map +1 -1
- package/es/core/interactive/ViewerPreferences.js +127 -130
- package/es/core/interactive/ViewerPreferences.js.map +1 -1
- package/es/core/objects/PDFArray.d.ts +12 -12
- package/es/core/objects/PDFArray.d.ts.map +1 -1
- package/es/core/objects/PDFArray.js +71 -81
- package/es/core/objects/PDFArray.js.map +1 -1
- package/es/core/objects/PDFBool.d.ts +1 -1
- package/es/core/objects/PDFBool.d.ts.map +1 -1
- package/es/core/objects/PDFBool.js +21 -26
- package/es/core/objects/PDFBool.js.map +1 -1
- package/es/core/objects/PDFDict.d.ts +12 -11
- package/es/core/objects/PDFDict.d.ts.map +1 -1
- package/es/core/objects/PDFDict.js +73 -86
- package/es/core/objects/PDFDict.js.map +1 -1
- package/es/core/objects/PDFHexString.d.ts +1 -1
- package/es/core/objects/PDFHexString.d.ts.map +1 -1
- package/es/core/objects/PDFHexString.js +44 -48
- package/es/core/objects/PDFHexString.js.map +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/es/core/objects/PDFInvalidObject.d.ts.map +1 -1
- package/es/core/objects/PDFInvalidObject.js +18 -22
- package/es/core/objects/PDFInvalidObject.js.map +1 -1
- package/es/core/objects/PDFName.d.ts +1 -1
- package/es/core/objects/PDFName.d.ts.map +1 -1
- package/es/core/objects/PDFName.js +82 -91
- package/es/core/objects/PDFName.js.map +1 -1
- package/es/core/objects/PDFNull.d.ts +1 -1
- package/es/core/objects/PDFNull.d.ts.map +1 -1
- package/es/core/objects/PDFNull.js +14 -20
- package/es/core/objects/PDFNull.js.map +1 -1
- package/es/core/objects/PDFNumber.d.ts +1 -1
- package/es/core/objects/PDFNumber.d.ts.map +1 -1
- package/es/core/objects/PDFNumber.js +21 -25
- package/es/core/objects/PDFNumber.js.map +1 -1
- package/es/core/objects/PDFObject.d.ts +1 -1
- package/es/core/objects/PDFObject.d.ts.map +1 -1
- package/es/core/objects/PDFObject.js +11 -14
- package/es/core/objects/PDFObject.js.map +1 -1
- package/es/core/objects/PDFRawStream.d.ts +6 -4
- package/es/core/objects/PDFRawStream.d.ts.map +1 -1
- package/es/core/objects/PDFRawStream.js +19 -24
- package/es/core/objects/PDFRawStream.js.map +1 -1
- package/es/core/objects/PDFRef.d.ts +1 -1
- package/es/core/objects/PDFRef.d.ts.map +1 -1
- package/es/core/objects/PDFRef.js +29 -35
- package/es/core/objects/PDFRef.js.map +1 -1
- package/es/core/objects/PDFStream.d.ts +3 -3
- package/es/core/objects/PDFStream.d.ts.map +1 -1
- package/es/core/objects/PDFStream.js +31 -35
- package/es/core/objects/PDFStream.js.map +1 -1
- package/es/core/objects/PDFString.d.ts +1 -1
- package/es/core/objects/PDFString.d.ts.map +1 -1
- package/es/core/objects/PDFString.js +50 -54
- package/es/core/objects/PDFString.js.map +1 -1
- package/es/core/operators/PDFOperator.d.ts +7 -7
- package/es/core/operators/PDFOperator.d.ts.map +1 -1
- package/es/core/operators/PDFOperator.js +26 -29
- package/es/core/operators/PDFOperator.js.map +1 -1
- package/es/core/parser/BaseParser.d.ts +1 -1
- package/es/core/parser/BaseParser.d.ts.map +1 -1
- package/es/core/parser/BaseParser.js +36 -38
- package/es/core/parser/BaseParser.js.map +1 -1
- package/es/core/parser/ByteStream.d.ts +1 -1
- package/es/core/parser/ByteStream.d.ts.map +1 -1
- package/es/core/parser/ByteStream.js +29 -32
- package/es/core/parser/ByteStream.js.map +1 -1
- package/es/core/parser/PDFObjectParser.d.ts +22 -20
- package/es/core/parser/PDFObjectParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectParser.js +92 -85
- package/es/core/parser/PDFObjectParser.js.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/es/core/parser/PDFObjectStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFObjectStreamParser.js +42 -60
- package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/es/core/parser/PDFParser.d.ts +5 -4
- package/es/core/parser/PDFParser.d.ts.map +1 -1
- package/es/core/parser/PDFParser.js +159 -213
- package/es/core/parser/PDFParser.js.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
- package/es/core/parser/PDFXRefStreamParser.js +37 -40
- package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/es/core/streams/Ascii85Stream.d.ts.map +1 -1
- package/es/core/streams/Ascii85Stream.js +20 -26
- package/es/core/streams/Ascii85Stream.js.map +1 -1
- package/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/es/core/streams/AsciiHexStream.d.ts.map +1 -1
- package/es/core/streams/AsciiHexStream.js +18 -22
- package/es/core/streams/AsciiHexStream.js.map +1 -1
- package/es/core/streams/DecodeStream.d.ts +1 -1
- package/es/core/streams/DecodeStream.d.ts.map +1 -1
- package/es/core/streams/DecodeStream.js +53 -60
- package/es/core/streams/DecodeStream.js.map +1 -1
- package/es/core/streams/DecryptStream.d.ts +13 -0
- package/es/core/streams/DecryptStream.d.ts.map +1 -0
- package/es/core/streams/DecryptStream.js +34 -0
- package/es/core/streams/DecryptStream.js.map +1 -0
- package/es/core/streams/FlateStream.d.ts +2 -2
- package/es/core/streams/FlateStream.d.ts.map +1 -1
- package/es/core/streams/FlateStream.js +80 -84
- package/es/core/streams/FlateStream.js.map +1 -1
- package/es/core/streams/LZWStream.d.ts +3 -3
- package/es/core/streams/LZWStream.d.ts.map +1 -1
- package/es/core/streams/LZWStream.js +41 -45
- package/es/core/streams/LZWStream.js.map +1 -1
- package/es/core/streams/RunLengthStream.d.ts +2 -2
- package/es/core/streams/RunLengthStream.d.ts.map +1 -1
- package/es/core/streams/RunLengthStream.js +15 -19
- package/es/core/streams/RunLengthStream.js.map +1 -1
- package/es/core/streams/Stream.js +45 -56
- package/es/core/streams/Stream.js.map +1 -1
- package/es/core/streams/decode.d.ts +3 -3
- package/es/core/streams/decode.d.ts.map +1 -1
- package/es/core/streams/decode.js +22 -20
- package/es/core/streams/decode.js.map +1 -1
- package/es/core/structures/PDFCatalog.d.ts +5 -5
- package/es/core/structures/PDFCatalog.d.ts.map +1 -1
- package/es/core/structures/PDFCatalog.js +39 -47
- package/es/core/structures/PDFCatalog.js.map +1 -1
- package/es/core/structures/PDFContentStream.d.ts +4 -4
- package/es/core/structures/PDFContentStream.d.ts.map +1 -1
- package/es/core/structures/PDFContentStream.js +30 -43
- package/es/core/structures/PDFContentStream.js.map +1 -1
- package/es/core/structures/PDFCrossRefStream.d.ts +4 -4
- package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/es/core/structures/PDFCrossRefStream.js +91 -100
- package/es/core/structures/PDFCrossRefStream.js.map +1 -1
- package/es/core/structures/PDFFlateStream.d.ts +3 -3
- package/es/core/structures/PDFFlateStream.d.ts.map +1 -1
- package/es/core/structures/PDFFlateStream.js +19 -23
- package/es/core/structures/PDFFlateStream.js.map +1 -1
- package/es/core/structures/PDFObjectStream.d.ts +4 -4
- package/es/core/structures/PDFObjectStream.d.ts.map +1 -1
- package/es/core/structures/PDFObjectStream.js +46 -54
- package/es/core/structures/PDFObjectStream.js.map +1 -1
- package/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/es/core/structures/PDFPageLeaf.d.ts.map +1 -1
- package/es/core/structures/PDFPageLeaf.js +125 -133
- package/es/core/structures/PDFPageLeaf.js.map +1 -1
- package/es/core/structures/PDFPageTree.d.ts +6 -6
- package/es/core/structures/PDFPageTree.d.ts.map +1 -1
- package/es/core/structures/PDFPageTree.js +66 -75
- package/es/core/structures/PDFPageTree.js.map +1 -1
- package/es/core/syntax/Delimiters.js +2 -2
- package/es/core/syntax/Delimiters.js.map +1 -1
- package/es/core/syntax/Irregular.js +5 -5
- package/es/core/syntax/Irregular.js.map +1 -1
- package/es/core/syntax/Keywords.d.ts +1 -1
- package/es/core/syntax/Keywords.d.ts.map +1 -1
- package/es/core/syntax/Keywords.js +14 -15
- package/es/core/syntax/Keywords.js.map +1 -1
- package/es/core/syntax/Numeric.js +5 -5
- package/es/core/syntax/Numeric.js.map +1 -1
- package/es/core/syntax/Whitespace.js +2 -2
- package/es/core/syntax/Whitespace.js.map +1 -1
- package/es/core/writers/PDFStreamWriter.d.ts +6 -6
- package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +75 -106
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/es/core/writers/PDFWriter.d.ts +12 -9
- package/es/core/writers/PDFWriter.d.ts.map +1 -1
- package/es/core/writers/PDFWriter.js +89 -125
- package/es/core/writers/PDFWriter.js.map +1 -1
- package/es/index.d.ts +4 -4
- package/es/index.d.ts.map +1 -1
- package/es/index.js +4 -4
- package/es/index.js.map +1 -1
- package/es/package.json +3 -0
- package/es/types/fontkit.js +1 -0
- package/es/types/index.d.ts +25 -1
- package/es/types/index.d.ts.map +1 -1
- package/es/types/index.js +1 -0
- package/es/types/matrix.d.ts +8 -1
- package/es/types/matrix.d.ts.map +1 -1
- package/es/types/matrix.js +1 -1
- package/es/types/matrix.js.map +1 -1
- package/es/utils/Cache.js +10 -11
- package/es/utils/Cache.js.map +1 -1
- package/es/utils/arrays.d.ts +2 -1
- package/es/utils/arrays.d.ts.map +1 -1
- package/es/utils/arrays.js +65 -60
- package/es/utils/arrays.js.map +1 -1
- package/es/utils/async.d.ts.map +1 -1
- package/es/utils/async.js +3 -5
- package/es/utils/async.js.map +1 -1
- package/es/utils/base64.d.ts.map +1 -1
- package/es/utils/base64.js +24 -24
- package/es/utils/base64.js.map +1 -1
- package/es/utils/elements/Arc.d.ts +23 -0
- package/es/utils/elements/Arc.d.ts.map +1 -0
- package/es/utils/elements/Arc.js +74 -0
- package/es/utils/elements/Arc.js.map +1 -0
- package/es/utils/elements/Circle.d.ts +15 -0
- package/es/utils/elements/Circle.d.ts.map +1 -0
- package/es/utils/elements/Circle.js +37 -0
- package/es/utils/elements/Circle.js.map +1 -0
- package/es/utils/elements/Ellipse.d.ts +21 -0
- package/es/utils/elements/Ellipse.d.ts.map +1 -0
- package/es/utils/elements/Ellipse.js +87 -0
- package/es/utils/elements/Ellipse.js.map +1 -0
- package/es/utils/elements/GraphElement.d.ts +7 -0
- package/es/utils/elements/GraphElement.d.ts.map +1 -0
- package/es/utils/elements/GraphElement.js +8 -0
- package/es/utils/elements/GraphElement.js.map +1 -0
- package/es/utils/elements/Line.d.ts +24 -0
- package/es/utils/elements/Line.d.ts.map +1 -0
- package/es/utils/elements/Line.js +68 -0
- package/es/utils/elements/Line.js.map +1 -0
- package/es/utils/elements/Plot.d.ts +12 -0
- package/es/utils/elements/Plot.d.ts.map +1 -0
- package/es/utils/elements/Plot.js +42 -0
- package/es/utils/elements/Plot.js.map +1 -0
- package/es/utils/elements/Point.d.ts +19 -0
- package/es/utils/elements/Point.d.ts.map +1 -0
- package/es/utils/elements/Point.js +28 -0
- package/es/utils/elements/Point.js.map +1 -0
- package/es/utils/elements/Rectangle.d.ts +22 -0
- package/es/utils/elements/Rectangle.d.ts.map +1 -0
- package/es/utils/elements/Rectangle.js +54 -0
- package/es/utils/elements/Rectangle.js.map +1 -0
- package/es/utils/elements/Segment.d.ts +20 -0
- package/es/utils/elements/Segment.d.ts.map +1 -0
- package/es/utils/elements/Segment.js +76 -0
- package/es/utils/elements/Segment.js.map +1 -0
- package/es/utils/elements/index.d.ts +10 -0
- package/es/utils/elements/index.d.ts.map +1 -0
- package/es/utils/elements/index.js +10 -0
- package/es/utils/elements/index.js.map +1 -0
- package/es/utils/errors.js +1 -1
- package/es/utils/errors.js.map +1 -1
- package/es/utils/index.d.ts +11 -11
- package/es/utils/index.d.ts.map +1 -1
- package/es/utils/index.js +11 -11
- package/es/utils/index.js.map +1 -1
- package/es/utils/intersections.d.ts +10 -0
- package/es/utils/intersections.d.ts.map +1 -0
- package/es/utils/intersections.js +245 -0
- package/es/utils/intersections.js.map +1 -0
- package/es/utils/maths.d.ts +46 -0
- package/es/utils/maths.d.ts.map +1 -0
- package/es/utils/maths.js +69 -0
- package/es/utils/maths.js.map +1 -0
- package/es/utils/numbers.js +9 -9
- package/es/utils/numbers.js.map +1 -1
- package/es/utils/objects.js +4 -6
- package/es/utils/objects.js.map +1 -1
- package/es/utils/pdfDocEncoding.js +7 -7
- package/es/utils/pdfDocEncoding.js.map +1 -1
- package/es/utils/png.js +20 -22
- package/es/utils/png.js.map +1 -1
- package/es/utils/rng.js +7 -9
- package/es/utils/rng.js.map +1 -1
- package/es/utils/strings.d.ts +1 -0
- package/es/utils/strings.d.ts.map +1 -1
- package/es/utils/strings.js +62 -68
- package/es/utils/strings.js.map +1 -1
- package/es/utils/unicode.js +42 -63
- package/es/utils/unicode.js.map +1 -1
- package/es/utils/validators.js +38 -38
- package/es/utils/validators.js.map +1 -1
- package/package.json +29 -20
- package/src/api/PDFDocument.ts +48 -21
- package/src/api/PDFDocumentOptions.ts +3 -2
- package/src/api/PDFEmbeddedFile.ts +4 -4
- package/src/api/PDFEmbeddedPage.ts +4 -4
- package/src/api/PDFFont.ts +4 -4
- package/src/api/PDFImage.ts +4 -4
- package/src/api/PDFJavaScript.ts +4 -4
- package/src/api/PDFPage.ts +54 -19
- package/src/api/PDFPageOptions.ts +14 -4
- package/src/api/colors.ts +12 -2
- package/src/api/form/PDFButton.ts +11 -11
- package/src/api/form/PDFCheckBox.ts +8 -8
- package/src/api/form/PDFDropdown.ts +9 -9
- package/src/api/form/PDFField.ts +7 -7
- package/src/api/form/PDFForm.ts +46 -38
- package/src/api/form/PDFOptionList.ts +9 -9
- package/src/api/form/PDFRadioGroup.ts +8 -8
- package/src/api/form/PDFSignature.ts +4 -4
- package/src/api/form/PDFTextField.ts +13 -13
- package/src/api/form/appearances.ts +40 -48
- package/src/api/form/index.ts +10 -10
- package/src/api/image/index.ts +1 -1
- package/src/api/index.ts +20 -20
- package/src/api/objects.ts +1 -1
- package/src/api/operations.ts +11 -10
- package/src/api/operators.ts +10 -3
- package/src/api/rotations.ts +1 -1
- package/src/api/svg.ts +1718 -0
- package/src/api/svgPath.ts +2 -4
- package/src/api/text/index.ts +2 -2
- package/src/api/text/layout.ts +5 -5
- package/src/core/PDFContext.ts +20 -19
- package/src/core/PDFObjectCopier.ts +8 -8
- package/src/core/acroform/PDFAcroButton.ts +8 -8
- package/src/core/acroform/PDFAcroCheckBox.ts +6 -6
- package/src/core/acroform/PDFAcroChoice.ts +7 -10
- package/src/core/acroform/PDFAcroComboBox.ts +5 -5
- package/src/core/acroform/PDFAcroField.ts +12 -11
- package/src/core/acroform/PDFAcroForm.ts +8 -11
- package/src/core/acroform/PDFAcroListBox.ts +4 -4
- package/src/core/acroform/PDFAcroNonTerminal.ts +5 -5
- package/src/core/acroform/PDFAcroPushButton.ts +5 -5
- package/src/core/acroform/PDFAcroRadioButton.ts +7 -7
- package/src/core/acroform/PDFAcroSignature.ts +3 -3
- package/src/core/acroform/PDFAcroTerminal.ts +6 -6
- package/src/core/acroform/PDFAcroText.ts +8 -8
- package/src/core/acroform/index.ts +15 -15
- package/src/core/acroform/utils.ts +20 -20
- package/src/core/annotation/AppearanceCharacteristics.ts +6 -6
- package/src/core/annotation/BorderStyle.ts +3 -3
- package/src/core/annotation/PDFAnnotation.ts +6 -6
- package/src/core/annotation/PDFWidgetAnnotation.ts +9 -9
- package/src/core/annotation/index.ts +4 -4
- package/src/core/crypto.ts +1989 -0
- package/src/core/document/PDFCrossRefSection.ts +3 -3
- package/src/core/document/PDFHeader.ts +2 -2
- package/src/core/document/PDFTrailer.ts +2 -2
- package/src/core/document/PDFTrailerDict.ts +2 -2
- package/src/core/embedders/CMap.ts +3 -3
- package/src/core/embedders/CustomFontEmbedder.ts +9 -9
- package/src/core/embedders/CustomFontSubsetEmbedder.ts +11 -4
- package/src/core/embedders/FileEmbedder.ts +4 -4
- package/src/core/embedders/FontFlags.ts +1 -1
- package/src/core/embedders/JavaScriptEmbedder.ts +3 -3
- package/src/core/embedders/JpegEmbedder.ts +2 -2
- package/src/core/embedders/PDFPageEmbedder.ts +13 -13
- package/src/core/embedders/PngEmbedder.ts +3 -3
- package/src/core/embedders/StandardFontEmbedder.ts +4 -4
- package/src/core/errors.ts +2 -2
- package/src/core/index.ts +47 -47
- package/src/core/interactive/ViewerPreferences.ts +7 -7
- package/src/core/objects/PDFArray.ts +14 -14
- package/src/core/objects/PDFBool.ts +3 -3
- package/src/core/objects/PDFDict.ts +14 -12
- package/src/core/objects/PDFHexString.ts +4 -4
- package/src/core/objects/PDFInvalidObject.ts +1 -1
- package/src/core/objects/PDFName.ts +5 -5
- package/src/core/objects/PDFNull.ts +2 -2
- package/src/core/objects/PDFNumber.ts +2 -2
- package/src/core/objects/PDFObject.ts +2 -2
- package/src/core/objects/PDFRawStream.ts +17 -7
- package/src/core/objects/PDFRef.ts +3 -3
- package/src/core/objects/PDFStream.ts +7 -7
- package/src/core/objects/PDFString.ts +4 -4
- package/src/core/operators/PDFOperator.ts +10 -10
- package/src/core/parser/BaseParser.ts +6 -6
- package/src/core/parser/ByteStream.ts +4 -4
- package/src/core/parser/PDFObjectParser.ts +78 -41
- package/src/core/parser/PDFObjectStreamParser.ts +9 -9
- package/src/core/parser/PDFParser.ts +37 -22
- package/src/core/parser/PDFXRefStreamParser.ts +9 -9
- package/src/core/streams/Ascii85Stream.ts +2 -2
- package/src/core/streams/AsciiHexStream.ts +2 -2
- package/src/core/streams/DecodeStream.ts +2 -2
- package/src/core/streams/DecryptStream.ts +56 -0
- package/src/core/streams/FlateStream.ts +2 -2
- package/src/core/streams/LZWStream.ts +3 -3
- package/src/core/streams/RunLengthStream.ts +2 -2
- package/src/core/streams/decode.ts +22 -17
- package/src/core/structures/PDFCatalog.ts +6 -6
- package/src/core/structures/PDFContentStream.ts +5 -5
- package/src/core/structures/PDFCrossRefStream.ts +6 -6
- package/src/core/structures/PDFFlateStream.ts +5 -5
- package/src/core/structures/PDFObjectStream.ts +8 -8
- package/src/core/structures/PDFPageLeaf.ts +9 -9
- package/src/core/structures/PDFPageTree.ts +8 -8
- package/src/core/syntax/Delimiters.ts +1 -1
- package/src/core/syntax/Irregular.ts +3 -3
- package/src/core/syntax/Keywords.ts +1 -1
- package/src/core/syntax/Numeric.ts +1 -1
- package/src/core/syntax/Whitespace.ts +1 -1
- package/src/core/writers/PDFStreamWriter.ts +13 -13
- package/src/core/writers/PDFWriter.ts +13 -19
- package/src/index.ts +4 -4
- package/src/types/index.ts +33 -1
- package/src/utils/arrays.ts +14 -2
- package/src/utils/base64.ts +2 -1
- package/src/utils/elements/Arc.ts +107 -0
- package/src/utils/elements/Circle.ts +55 -0
- package/src/utils/elements/Ellipse.ts +135 -0
- package/src/utils/elements/GraphElement.ts +14 -0
- package/src/utils/elements/Line.ts +85 -0
- package/src/utils/elements/Plot.ts +50 -0
- package/src/utils/elements/Point.ts +37 -0
- package/src/utils/elements/Rectangle.ts +65 -0
- package/src/utils/elements/Segment.ts +92 -0
- package/src/utils/elements/index.ts +9 -0
- package/src/utils/index.ts +11 -11
- package/src/utils/intersections.ts +282 -0
- package/src/utils/maths.ts +108 -0
- package/src/utils/pdfDocEncoding.ts +1 -1
- package/src/utils/strings.ts +8 -1
- package/src/utils/unicode.ts +1 -1
- package/src/utils/validators.ts +1 -1
- package/ts3.4/cjs/api/PDFDocument.d.ts +11 -11
- package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +3 -2
- package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +4 -4
- package/ts3.4/cjs/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFFont.d.ts +3 -3
- package/ts3.4/cjs/api/PDFImage.d.ts +3 -3
- package/ts3.4/cjs/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/cjs/api/PDFPage.d.ts +21 -9
- package/ts3.4/cjs/api/PDFPageOptions.d.ts +15 -4
- package/ts3.4/cjs/api/colors.d.ts +4 -0
- package/ts3.4/cjs/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/cjs/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFField.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/cjs/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/cjs/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/cjs/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/cjs/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/cjs/api/form/appearances.d.ts +11 -11
- package/ts3.4/cjs/api/form/index.d.ts +10 -10
- package/ts3.4/cjs/api/image/index.d.ts +1 -1
- package/ts3.4/cjs/api/index.d.ts +20 -20
- package/ts3.4/cjs/api/objects.d.ts +1 -1
- package/ts3.4/cjs/api/operations.d.ts +5 -4
- package/ts3.4/cjs/api/operators.d.ts +6 -1
- package/ts3.4/cjs/api/rotations.d.ts +1 -1
- package/ts3.4/cjs/api/svg.d.ts +65 -0
- package/ts3.4/cjs/api/svgPath.d.ts +1 -1
- package/ts3.4/cjs/api/text/index.d.ts +2 -2
- package/ts3.4/cjs/api/text/layout.d.ts +3 -3
- package/ts3.4/cjs/core/PDFContext.d.ts +17 -16
- package/ts3.4/cjs/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/cjs/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/cjs/core/acroform/PDFAcroForm.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/cjs/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/cjs/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/cjs/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/cjs/core/acroform/index.d.ts +15 -15
- package/ts3.4/cjs/core/acroform/utils.d.ts +4 -4
- package/ts3.4/cjs/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/cjs/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/cjs/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/cjs/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/cjs/core/annotation/index.d.ts +4 -4
- package/ts3.4/cjs/core/crypto.d.ts +96 -0
- package/ts3.4/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/cjs/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/CMap.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/cjs/core/embedders/FileEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/cjs/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/cjs/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/cjs/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/ts3.4/cjs/core/errors.d.ts +1 -1
- package/ts3.4/cjs/core/index.d.ts +47 -47
- package/ts3.4/cjs/core/interactive/ViewerPreferences.d.ts +6 -6
- package/ts3.4/cjs/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/cjs/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFDict.d.ts +12 -11
- package/ts3.4/cjs/core/objects/PDFHexString.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFRawStream.d.ts +6 -4
- package/ts3.4/cjs/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/cjs/core/objects/PDFStream.d.ts +3 -3
- package/ts3.4/cjs/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/cjs/core/operators/PDFOperator.d.ts +7 -7
- package/ts3.4/cjs/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/cjs/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/cjs/core/parser/PDFObjectParser.d.ts +22 -20
- package/ts3.4/cjs/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/ts3.4/cjs/core/parser/PDFParser.d.ts +5 -4
- package/ts3.4/cjs/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/cjs/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/cjs/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/cjs/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/cjs/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/cjs/core/streams/decode.d.ts +3 -3
- package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/cjs/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFFlateStream.d.ts +3 -3
- package/ts3.4/cjs/core/structures/PDFObjectStream.d.ts +4 -4
- package/ts3.4/cjs/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/cjs/core/structures/PDFPageTree.d.ts +6 -6
- package/ts3.4/cjs/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +6 -6
- package/ts3.4/cjs/core/writers/PDFWriter.d.ts +8 -8
- package/ts3.4/cjs/index.d.ts +4 -4
- package/ts3.4/cjs/types/index.d.ts +25 -1
- package/ts3.4/cjs/utils/arrays.d.ts +2 -1
- package/ts3.4/cjs/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/cjs/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/cjs/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/cjs/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/cjs/utils/elements/Line.d.ts +24 -0
- package/ts3.4/cjs/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/cjs/utils/elements/Point.d.ts +19 -0
- package/ts3.4/cjs/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/cjs/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/cjs/utils/elements/index.d.ts +10 -0
- package/ts3.4/cjs/utils/index.d.ts +11 -11
- package/ts3.4/cjs/utils/intersections.d.ts +10 -0
- package/ts3.4/cjs/utils/maths.d.ts +46 -0
- package/ts3.4/cjs/utils/strings.d.ts +1 -0
- package/ts3.4/es/api/PDFDocument.d.ts +11 -11
- package/ts3.4/es/api/PDFDocumentOptions.d.ts +3 -2
- package/ts3.4/es/api/PDFEmbeddedFile.d.ts +4 -4
- package/ts3.4/es/api/PDFEmbeddedPage.d.ts +3 -3
- package/ts3.4/es/api/PDFFont.d.ts +3 -3
- package/ts3.4/es/api/PDFImage.d.ts +3 -3
- package/ts3.4/es/api/PDFJavaScript.d.ts +4 -4
- package/ts3.4/es/api/PDFPage.d.ts +21 -9
- package/ts3.4/es/api/PDFPageOptions.d.ts +15 -4
- package/ts3.4/es/api/colors.d.ts +4 -0
- package/ts3.4/es/api/form/PDFButton.d.ts +8 -8
- package/ts3.4/es/api/form/PDFCheckBox.d.ts +5 -5
- package/ts3.4/es/api/form/PDFDropdown.d.ts +6 -6
- package/ts3.4/es/api/form/PDFField.d.ts +6 -6
- package/ts3.4/es/api/form/PDFForm.d.ts +11 -11
- package/ts3.4/es/api/form/PDFOptionList.d.ts +6 -6
- package/ts3.4/es/api/form/PDFRadioGroup.d.ts +5 -5
- package/ts3.4/es/api/form/PDFSignature.d.ts +3 -3
- package/ts3.4/es/api/form/PDFTextField.d.ts +8 -8
- package/ts3.4/es/api/form/appearances.d.ts +11 -11
- package/ts3.4/es/api/form/index.d.ts +10 -10
- package/ts3.4/es/api/image/index.d.ts +1 -1
- package/ts3.4/es/api/index.d.ts +20 -20
- package/ts3.4/es/api/objects.d.ts +1 -1
- package/ts3.4/es/api/operations.d.ts +5 -4
- package/ts3.4/es/api/operators.d.ts +6 -1
- package/ts3.4/es/api/rotations.d.ts +1 -1
- package/ts3.4/es/api/svg.d.ts +65 -0
- package/ts3.4/es/api/svgPath.d.ts +1 -1
- package/ts3.4/es/api/text/index.d.ts +2 -2
- package/ts3.4/es/api/text/layout.d.ts +3 -3
- package/ts3.4/es/core/PDFContext.d.ts +17 -16
- package/ts3.4/es/core/PDFObjectCopier.d.ts +2 -2
- package/ts3.4/es/core/acroform/PDFAcroButton.d.ts +7 -7
- package/ts3.4/es/core/acroform/PDFAcroCheckBox.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroChoice.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroComboBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroField.d.ts +8 -8
- package/ts3.4/es/core/acroform/PDFAcroForm.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroListBox.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroNonTerminal.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroPushButton.d.ts +4 -4
- package/ts3.4/es/core/acroform/PDFAcroRadioButton.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroSignature.d.ts +3 -3
- package/ts3.4/es/core/acroform/PDFAcroTerminal.d.ts +5 -5
- package/ts3.4/es/core/acroform/PDFAcroText.d.ts +7 -7
- package/ts3.4/es/core/acroform/index.d.ts +15 -15
- package/ts3.4/es/core/acroform/utils.d.ts +4 -4
- package/ts3.4/es/core/annotation/AppearanceCharacteristics.d.ts +5 -5
- package/ts3.4/es/core/annotation/BorderStyle.d.ts +2 -2
- package/ts3.4/es/core/annotation/PDFAnnotation.d.ts +6 -6
- package/ts3.4/es/core/annotation/PDFWidgetAnnotation.d.ts +9 -9
- package/ts3.4/es/core/annotation/index.d.ts +4 -4
- package/ts3.4/es/core/crypto.d.ts +96 -0
- package/ts3.4/es/core/document/PDFCrossRefSection.d.ts +1 -1
- package/ts3.4/es/core/document/PDFTrailerDict.d.ts +1 -1
- package/ts3.4/es/core/embedders/CMap.d.ts +1 -1
- package/ts3.4/es/core/embedders/CustomFontEmbedder.d.ts +5 -5
- package/ts3.4/es/core/embedders/CustomFontSubsetEmbedder.d.ts +3 -3
- package/ts3.4/es/core/embedders/FileEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/FontFlags.d.ts +1 -1
- package/ts3.4/es/core/embedders/JavaScriptEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/JpegEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/PDFPageEmbedder.d.ts +4 -4
- package/ts3.4/es/core/embedders/PngEmbedder.d.ts +2 -2
- package/ts3.4/es/core/embedders/StandardFontEmbedder.d.ts +3 -3
- package/ts3.4/es/core/errors.d.ts +1 -1
- package/ts3.4/es/core/index.d.ts +47 -47
- package/ts3.4/es/core/interactive/ViewerPreferences.d.ts +6 -6
- package/ts3.4/es/core/objects/PDFArray.d.ts +12 -12
- package/ts3.4/es/core/objects/PDFBool.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFDict.d.ts +12 -11
- package/ts3.4/es/core/objects/PDFHexString.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFInvalidObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFName.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNull.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFNumber.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFObject.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFRawStream.d.ts +6 -4
- package/ts3.4/es/core/objects/PDFRef.d.ts +1 -1
- package/ts3.4/es/core/objects/PDFStream.d.ts +3 -3
- package/ts3.4/es/core/objects/PDFString.d.ts +1 -1
- package/ts3.4/es/core/operators/PDFOperator.d.ts +7 -7
- package/ts3.4/es/core/parser/BaseParser.d.ts +1 -1
- package/ts3.4/es/core/parser/ByteStream.d.ts +1 -1
- package/ts3.4/es/core/parser/PDFObjectParser.d.ts +22 -20
- package/ts3.4/es/core/parser/PDFObjectStreamParser.d.ts +2 -2
- package/ts3.4/es/core/parser/PDFParser.d.ts +5 -4
- package/ts3.4/es/core/parser/PDFXRefStreamParser.d.ts +2 -2
- package/ts3.4/es/core/streams/Ascii85Stream.d.ts +2 -2
- package/ts3.4/es/core/streams/AsciiHexStream.d.ts +2 -2
- package/ts3.4/es/core/streams/DecodeStream.d.ts +1 -1
- package/ts3.4/es/core/streams/DecryptStream.d.ts +13 -0
- package/ts3.4/es/core/streams/FlateStream.d.ts +2 -2
- package/ts3.4/es/core/streams/LZWStream.d.ts +3 -3
- package/ts3.4/es/core/streams/RunLengthStream.d.ts +2 -2
- package/ts3.4/es/core/streams/decode.d.ts +3 -3
- package/ts3.4/es/core/structures/PDFCatalog.d.ts +5 -5
- package/ts3.4/es/core/structures/PDFContentStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFFlateStream.d.ts +3 -3
- package/ts3.4/es/core/structures/PDFObjectStream.d.ts +4 -4
- package/ts3.4/es/core/structures/PDFPageLeaf.d.ts +9 -9
- package/ts3.4/es/core/structures/PDFPageTree.d.ts +6 -6
- package/ts3.4/es/core/syntax/Keywords.d.ts +1 -1
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +6 -6
- package/ts3.4/es/core/writers/PDFWriter.d.ts +8 -8
- package/ts3.4/es/index.d.ts +4 -4
- package/ts3.4/es/types/index.d.ts +25 -1
- package/ts3.4/es/utils/arrays.d.ts +2 -1
- package/ts3.4/es/utils/elements/Arc.d.ts +23 -0
- package/ts3.4/es/utils/elements/Circle.d.ts +15 -0
- package/ts3.4/es/utils/elements/Ellipse.d.ts +21 -0
- package/ts3.4/es/utils/elements/GraphElement.d.ts +7 -0
- package/ts3.4/es/utils/elements/Line.d.ts +24 -0
- package/ts3.4/es/utils/elements/Plot.d.ts +12 -0
- package/ts3.4/es/utils/elements/Point.d.ts +19 -0
- package/ts3.4/es/utils/elements/Rectangle.d.ts +22 -0
- package/ts3.4/es/utils/elements/Segment.d.ts +20 -0
- package/ts3.4/es/utils/elements/index.d.ts +10 -0
- package/ts3.4/es/utils/index.d.ts +11 -11
- package/ts3.4/es/utils/intersections.d.ts +10 -0
- package/ts3.4/es/utils/maths.d.ts +46 -0
- package/ts3.4/es/utils/strings.d.ts +1 -0
- package/yarn.lock +0 -4408
package/es/api/PDFPage.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { rgb } from
|
|
3
|
-
import { drawImage, drawLine, drawLinesOfText, drawPage, drawRectangle, drawSvgPath, drawEllipse, } from
|
|
4
|
-
import { popGraphicsState, pushGraphicsState, translate, LineCapStyle, scale, } from
|
|
5
|
-
import PDFDocument from
|
|
6
|
-
import PDFEmbeddedPage from
|
|
7
|
-
import PDFFont from
|
|
8
|
-
import PDFImage from
|
|
9
|
-
import { BlendMode, } from
|
|
10
|
-
import { degrees, toDegrees } from
|
|
11
|
-
import { StandardFonts } from
|
|
12
|
-
import { PDFContentStream, PDFName, PDFOperator, PDFPageLeaf, PDFRef, PDFDict, PDFArray, } from
|
|
13
|
-
import { assertEachIs, assertIs, assertMultiple, assertOrUndefined, breakTextIntoLines, cleanText, rectanglesAreEqual, lineSplit, assertRangeOrUndefined, assertIsOneOfOrUndefined, } from
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { rgb } from './colors.js';
|
|
3
|
+
import { drawImage, drawLine, drawLinesOfText, drawPage, drawRectangle, drawSvgPath, drawEllipse, } from './operations.js';
|
|
4
|
+
import { popGraphicsState, pushGraphicsState, translate, LineCapStyle, scale, FillRule, } from './operators.js';
|
|
5
|
+
import PDFDocument from './PDFDocument.js';
|
|
6
|
+
import PDFEmbeddedPage from './PDFEmbeddedPage.js';
|
|
7
|
+
import PDFFont from './PDFFont.js';
|
|
8
|
+
import PDFImage from './PDFImage.js';
|
|
9
|
+
import { BlendMode, } from './PDFPageOptions.js';
|
|
10
|
+
import { degrees, toDegrees } from './rotations.js';
|
|
11
|
+
import { StandardFonts } from './StandardFonts.js';
|
|
12
|
+
import { PDFContentStream, PDFName, PDFOperator, PDFPageLeaf, PDFRef, PDFDict, PDFArray, } from '../core/index.js';
|
|
13
|
+
import { assertEachIs, assertIs, assertMultiple, assertOrUndefined, breakTextIntoLines, cleanText, rectanglesAreEqual, lineSplit, assertRangeOrUndefined, assertIsOneOfOrUndefined, } from '../utils/index.js';
|
|
14
|
+
import { drawSvg } from './svg.js';
|
|
14
15
|
/**
|
|
15
16
|
* Represents a single page of a [[PDFDocument]].
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
export default class PDFPage {
|
|
19
|
+
constructor(leafNode, ref, doc) {
|
|
19
20
|
this.fontSize = 24;
|
|
20
21
|
this.fontColor = rgb(0, 0, 0);
|
|
21
22
|
this.lineHeight = 24;
|
|
@@ -41,11 +42,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
41
42
|
* ```
|
|
42
43
|
* @param angle The angle to rotate this page.
|
|
43
44
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
setRotation(angle) {
|
|
46
|
+
const degreesAngle = toDegrees(angle);
|
|
46
47
|
assertMultiple(degreesAngle, 'degreesAngle', 90);
|
|
47
48
|
this.node.set(PDFName.of('Rotate'), this.doc.context.obj(degreesAngle));
|
|
48
|
-
}
|
|
49
|
+
}
|
|
49
50
|
/**
|
|
50
51
|
* Get this page's rotation angle in degrees. For example:
|
|
51
52
|
* ```js
|
|
@@ -54,10 +55,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
54
55
|
* @returns The rotation angle of the page in degrees (always a multiple of
|
|
55
56
|
* 90 degrees).
|
|
56
57
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
getRotation() {
|
|
59
|
+
const Rotate = this.node.Rotate();
|
|
59
60
|
return degrees(Rotate ? Rotate.asNumber() : 0);
|
|
60
|
-
}
|
|
61
|
+
}
|
|
61
62
|
/**
|
|
62
63
|
* Resize this page by increasing or decreasing its width and height. For
|
|
63
64
|
* example:
|
|
@@ -94,19 +95,19 @@ var PDFPage = /** @class */ (function () {
|
|
|
94
95
|
* @param width The new width of the page.
|
|
95
96
|
* @param height The new height of the page.
|
|
96
97
|
*/
|
|
97
|
-
|
|
98
|
+
setSize(width, height) {
|
|
98
99
|
assertIs(width, 'width', ['number']);
|
|
99
100
|
assertIs(height, 'height', ['number']);
|
|
100
|
-
|
|
101
|
+
const mediaBox = this.getMediaBox();
|
|
101
102
|
this.setMediaBox(mediaBox.x, mediaBox.y, width, height);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
103
|
+
const cropBox = this.getCropBox();
|
|
104
|
+
const bleedBox = this.getBleedBox();
|
|
105
|
+
const trimBox = this.getTrimBox();
|
|
106
|
+
const artBox = this.getArtBox();
|
|
107
|
+
const hasCropBox = this.node.CropBox();
|
|
108
|
+
const hasBleedBox = this.node.BleedBox();
|
|
109
|
+
const hasTrimBox = this.node.TrimBox();
|
|
110
|
+
const hasArtBox = this.node.ArtBox();
|
|
110
111
|
if (hasCropBox && rectanglesAreEqual(cropBox, mediaBox)) {
|
|
111
112
|
this.setCropBox(mediaBox.x, mediaBox.y, width, height);
|
|
112
113
|
}
|
|
@@ -119,7 +120,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
119
120
|
if (hasArtBox && rectanglesAreEqual(artBox, mediaBox)) {
|
|
120
121
|
this.setArtBox(mediaBox.x, mediaBox.y, width, height);
|
|
121
122
|
}
|
|
122
|
-
}
|
|
123
|
+
}
|
|
123
124
|
/**
|
|
124
125
|
* Resize this page by increasing or decreasing its width. For example:
|
|
125
126
|
* ```js
|
|
@@ -132,10 +133,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
132
133
|
*
|
|
133
134
|
* @param width The new width of the page.
|
|
134
135
|
*/
|
|
135
|
-
|
|
136
|
+
setWidth(width) {
|
|
136
137
|
assertIs(width, 'width', ['number']);
|
|
137
138
|
this.setSize(width, this.getSize().height);
|
|
138
|
-
}
|
|
139
|
+
}
|
|
139
140
|
/**
|
|
140
141
|
* Resize this page by increasing or decreasing its height. For example:
|
|
141
142
|
* ```js
|
|
@@ -148,10 +149,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
148
149
|
*
|
|
149
150
|
* @param height The new height of the page.
|
|
150
151
|
*/
|
|
151
|
-
|
|
152
|
+
setHeight(height) {
|
|
152
153
|
assertIs(height, 'height', ['number']);
|
|
153
154
|
this.setSize(this.getSize().width, height);
|
|
154
|
-
}
|
|
155
|
+
}
|
|
155
156
|
/**
|
|
156
157
|
* Set the MediaBox of this page. For example:
|
|
157
158
|
* ```js
|
|
@@ -169,14 +170,14 @@ var PDFPage = /** @class */ (function () {
|
|
|
169
170
|
* @param width The width of the new MediaBox.
|
|
170
171
|
* @param height The height of the new MediaBox.
|
|
171
172
|
*/
|
|
172
|
-
|
|
173
|
+
setMediaBox(x, y, width, height) {
|
|
173
174
|
assertIs(x, 'x', ['number']);
|
|
174
175
|
assertIs(y, 'y', ['number']);
|
|
175
176
|
assertIs(width, 'width', ['number']);
|
|
176
177
|
assertIs(height, 'height', ['number']);
|
|
177
|
-
|
|
178
|
+
const mediaBox = this.doc.context.obj([x, y, x + width, y + height]);
|
|
178
179
|
this.node.set(PDFName.MediaBox, mediaBox);
|
|
179
|
-
}
|
|
180
|
+
}
|
|
180
181
|
/**
|
|
181
182
|
* Set the CropBox of this page. For example:
|
|
182
183
|
* ```js
|
|
@@ -194,14 +195,14 @@ var PDFPage = /** @class */ (function () {
|
|
|
194
195
|
* @param width The width of the new CropBox.
|
|
195
196
|
* @param height The height of the new CropBox.
|
|
196
197
|
*/
|
|
197
|
-
|
|
198
|
+
setCropBox(x, y, width, height) {
|
|
198
199
|
assertIs(x, 'x', ['number']);
|
|
199
200
|
assertIs(y, 'y', ['number']);
|
|
200
201
|
assertIs(width, 'width', ['number']);
|
|
201
202
|
assertIs(height, 'height', ['number']);
|
|
202
|
-
|
|
203
|
+
const cropBox = this.doc.context.obj([x, y, x + width, y + height]);
|
|
203
204
|
this.node.set(PDFName.CropBox, cropBox);
|
|
204
|
-
}
|
|
205
|
+
}
|
|
205
206
|
/**
|
|
206
207
|
* Set the BleedBox of this page. For example:
|
|
207
208
|
* ```js
|
|
@@ -219,14 +220,14 @@ var PDFPage = /** @class */ (function () {
|
|
|
219
220
|
* @param width The width of the new BleedBox.
|
|
220
221
|
* @param height The height of the new BleedBox.
|
|
221
222
|
*/
|
|
222
|
-
|
|
223
|
+
setBleedBox(x, y, width, height) {
|
|
223
224
|
assertIs(x, 'x', ['number']);
|
|
224
225
|
assertIs(y, 'y', ['number']);
|
|
225
226
|
assertIs(width, 'width', ['number']);
|
|
226
227
|
assertIs(height, 'height', ['number']);
|
|
227
|
-
|
|
228
|
+
const bleedBox = this.doc.context.obj([x, y, x + width, y + height]);
|
|
228
229
|
this.node.set(PDFName.BleedBox, bleedBox);
|
|
229
|
-
}
|
|
230
|
+
}
|
|
230
231
|
/**
|
|
231
232
|
* Set the TrimBox of this page. For example:
|
|
232
233
|
* ```js
|
|
@@ -244,14 +245,14 @@ var PDFPage = /** @class */ (function () {
|
|
|
244
245
|
* @param width The width of the new TrimBox.
|
|
245
246
|
* @param height The height of the new TrimBox.
|
|
246
247
|
*/
|
|
247
|
-
|
|
248
|
+
setTrimBox(x, y, width, height) {
|
|
248
249
|
assertIs(x, 'x', ['number']);
|
|
249
250
|
assertIs(y, 'y', ['number']);
|
|
250
251
|
assertIs(width, 'width', ['number']);
|
|
251
252
|
assertIs(height, 'height', ['number']);
|
|
252
|
-
|
|
253
|
+
const trimBox = this.doc.context.obj([x, y, x + width, y + height]);
|
|
253
254
|
this.node.set(PDFName.TrimBox, trimBox);
|
|
254
|
-
}
|
|
255
|
+
}
|
|
255
256
|
/**
|
|
256
257
|
* Set the ArtBox of this page. For example:
|
|
257
258
|
* ```js
|
|
@@ -269,14 +270,14 @@ var PDFPage = /** @class */ (function () {
|
|
|
269
270
|
* @param width The width of the new ArtBox.
|
|
270
271
|
* @param height The height of the new ArtBox.
|
|
271
272
|
*/
|
|
272
|
-
|
|
273
|
+
setArtBox(x, y, width, height) {
|
|
273
274
|
assertIs(x, 'x', ['number']);
|
|
274
275
|
assertIs(y, 'y', ['number']);
|
|
275
276
|
assertIs(width, 'width', ['number']);
|
|
276
277
|
assertIs(height, 'height', ['number']);
|
|
277
|
-
|
|
278
|
+
const artBox = this.doc.context.obj([x, y, x + width, y + height]);
|
|
278
279
|
this.node.set(PDFName.ArtBox, artBox);
|
|
279
|
-
}
|
|
280
|
+
}
|
|
280
281
|
/**
|
|
281
282
|
* Get this page's width and height. For example:
|
|
282
283
|
* ```js
|
|
@@ -288,10 +289,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
288
289
|
*
|
|
289
290
|
* @returns The width and height of the page.
|
|
290
291
|
*/
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
return { width
|
|
294
|
-
}
|
|
292
|
+
getSize() {
|
|
293
|
+
const { width, height } = this.getMediaBox();
|
|
294
|
+
return { width, height };
|
|
295
|
+
}
|
|
295
296
|
/**
|
|
296
297
|
* Get this page's width. For example:
|
|
297
298
|
* ```js
|
|
@@ -302,9 +303,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
302
303
|
*
|
|
303
304
|
* @returns The width of the page.
|
|
304
305
|
*/
|
|
305
|
-
|
|
306
|
+
getWidth() {
|
|
306
307
|
return this.getSize().width;
|
|
307
|
-
}
|
|
308
|
+
}
|
|
308
309
|
/**
|
|
309
310
|
* Get this page's height. For example:
|
|
310
311
|
* ```js
|
|
@@ -315,9 +316,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
315
316
|
*
|
|
316
317
|
* @returns The height of the page.
|
|
317
318
|
*/
|
|
318
|
-
|
|
319
|
+
getHeight() {
|
|
319
320
|
return this.getSize().height;
|
|
320
|
-
}
|
|
321
|
+
}
|
|
321
322
|
/**
|
|
322
323
|
* Get the rectangle defining this page's MediaBox. For example:
|
|
323
324
|
* ```js
|
|
@@ -335,10 +336,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
335
336
|
* @returns An object defining the lower left corner of the MediaBox and its
|
|
336
337
|
* width & height.
|
|
337
338
|
*/
|
|
338
|
-
|
|
339
|
-
|
|
339
|
+
getMediaBox() {
|
|
340
|
+
const mediaBox = this.node.MediaBox();
|
|
340
341
|
return mediaBox.asRectangle();
|
|
341
|
-
}
|
|
342
|
+
}
|
|
342
343
|
/**
|
|
343
344
|
* Get the rectangle defining this page's CropBox. For example:
|
|
344
345
|
* ```js
|
|
@@ -355,11 +356,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
355
356
|
* @returns An object defining the lower left corner of the CropBox and its
|
|
356
357
|
* width & height.
|
|
357
358
|
*/
|
|
358
|
-
|
|
359
|
+
getCropBox() {
|
|
359
360
|
var _a;
|
|
360
|
-
|
|
361
|
+
const cropBox = this.node.CropBox();
|
|
361
362
|
return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox();
|
|
362
|
-
}
|
|
363
|
+
}
|
|
363
364
|
/**
|
|
364
365
|
* Get the rectangle defining this page's BleedBox. For example:
|
|
365
366
|
* ```js
|
|
@@ -377,11 +378,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
377
378
|
* @returns An object defining the lower left corner of the BleedBox and its
|
|
378
379
|
* width & height.
|
|
379
380
|
*/
|
|
380
|
-
|
|
381
|
+
getBleedBox() {
|
|
381
382
|
var _a;
|
|
382
|
-
|
|
383
|
+
const bleedBox = this.node.BleedBox();
|
|
383
384
|
return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();
|
|
384
|
-
}
|
|
385
|
+
}
|
|
385
386
|
/**
|
|
386
387
|
* Get the rectangle defining this page's TrimBox. For example:
|
|
387
388
|
* ```js
|
|
@@ -398,11 +399,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
398
399
|
* @returns An object defining the lower left corner of the TrimBox and its
|
|
399
400
|
* width & height.
|
|
400
401
|
*/
|
|
401
|
-
|
|
402
|
+
getTrimBox() {
|
|
402
403
|
var _a;
|
|
403
|
-
|
|
404
|
+
const trimBox = this.node.TrimBox();
|
|
404
405
|
return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();
|
|
405
|
-
}
|
|
406
|
+
}
|
|
406
407
|
/**
|
|
407
408
|
* Get the rectangle defining this page's ArtBox. For example:
|
|
408
409
|
* ```js
|
|
@@ -417,11 +418,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
417
418
|
* @returns An object defining the lower left corner of the ArtBox and its
|
|
418
419
|
* width & height.
|
|
419
420
|
*/
|
|
420
|
-
|
|
421
|
+
getArtBox() {
|
|
421
422
|
var _a;
|
|
422
|
-
|
|
423
|
+
const artBox = this.node.ArtBox();
|
|
423
424
|
return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();
|
|
424
|
-
}
|
|
425
|
+
}
|
|
425
426
|
/**
|
|
426
427
|
* Translate this page's content to a new location on the page. This operation
|
|
427
428
|
* is often useful after resizing the page with [[setSize]]. For example:
|
|
@@ -439,17 +440,17 @@ var PDFPage = /** @class */ (function () {
|
|
|
439
440
|
* @param x The new position on the x-axis for this page's content.
|
|
440
441
|
* @param y The new position on the y-axis for this page's content.
|
|
441
442
|
*/
|
|
442
|
-
|
|
443
|
+
translateContent(x, y) {
|
|
443
444
|
assertIs(x, 'x', ['number']);
|
|
444
445
|
assertIs(y, 'y', ['number']);
|
|
445
446
|
this.node.normalize();
|
|
446
447
|
this.getContentStream();
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
448
|
+
const start = this.createContentStream(pushGraphicsState(), translate(x, y));
|
|
449
|
+
const startRef = this.doc.context.register(start);
|
|
450
|
+
const end = this.createContentStream(popGraphicsState());
|
|
451
|
+
const endRef = this.doc.context.register(end);
|
|
451
452
|
this.node.wrapContentStreams(startRef, endRef);
|
|
452
|
-
}
|
|
453
|
+
}
|
|
453
454
|
/**
|
|
454
455
|
* Scale the size, content, and annotations of a page.
|
|
455
456
|
*
|
|
@@ -463,13 +464,13 @@ var PDFPage = /** @class */ (function () {
|
|
|
463
464
|
* @param y The factor by which the height for the page should be scaled
|
|
464
465
|
* (e.g. `2.0` is 200%).
|
|
465
466
|
*/
|
|
466
|
-
|
|
467
|
+
scale(x, y) {
|
|
467
468
|
assertIs(x, 'x', ['number']);
|
|
468
469
|
assertIs(y, 'y', ['number']);
|
|
469
470
|
this.setSize(this.getWidth() * x, this.getHeight() * y);
|
|
470
471
|
this.scaleContent(x, y);
|
|
471
472
|
this.scaleAnnotations(x, y);
|
|
472
|
-
}
|
|
473
|
+
}
|
|
473
474
|
/**
|
|
474
475
|
* Scale the content of a page. This is useful after resizing an existing
|
|
475
476
|
* page. This scales only the content, not the annotations.
|
|
@@ -488,17 +489,17 @@ var PDFPage = /** @class */ (function () {
|
|
|
488
489
|
* @param y The factor by which the y-axis for the content should be scaled
|
|
489
490
|
* (e.g. `2.0` is 200%).
|
|
490
491
|
*/
|
|
491
|
-
|
|
492
|
+
scaleContent(x, y) {
|
|
492
493
|
assertIs(x, 'x', ['number']);
|
|
493
494
|
assertIs(y, 'y', ['number']);
|
|
494
495
|
this.node.normalize();
|
|
495
496
|
this.getContentStream();
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
497
|
+
const start = this.createContentStream(pushGraphicsState(), scale(x, y));
|
|
498
|
+
const startRef = this.doc.context.register(start);
|
|
499
|
+
const end = this.createContentStream(popGraphicsState());
|
|
500
|
+
const endRef = this.doc.context.register(end);
|
|
500
501
|
this.node.wrapContentStreams(startRef, endRef);
|
|
501
|
-
}
|
|
502
|
+
}
|
|
502
503
|
/**
|
|
503
504
|
* Scale the annotations of a page. This is useful if you want to scale a
|
|
504
505
|
* page with comments or other annotations.
|
|
@@ -515,18 +516,18 @@ var PDFPage = /** @class */ (function () {
|
|
|
515
516
|
* @param y The factor by which the y-axis for the annotations should be
|
|
516
517
|
* scaled (e.g. `2.0` is 200%).
|
|
517
518
|
*/
|
|
518
|
-
|
|
519
|
+
scaleAnnotations(x, y) {
|
|
519
520
|
assertIs(x, 'x', ['number']);
|
|
520
521
|
assertIs(y, 'y', ['number']);
|
|
521
|
-
|
|
522
|
+
const annots = this.node.Annots();
|
|
522
523
|
if (!annots)
|
|
523
524
|
return;
|
|
524
|
-
for (
|
|
525
|
-
|
|
525
|
+
for (let idx = 0; idx < annots.size(); idx++) {
|
|
526
|
+
const annot = annots.lookup(idx);
|
|
526
527
|
if (annot instanceof PDFDict)
|
|
527
528
|
this.scaleAnnot(annot, x, y);
|
|
528
529
|
}
|
|
529
|
-
}
|
|
530
|
+
}
|
|
530
531
|
/**
|
|
531
532
|
* Reset the x and y coordinates of this page to `(0, 0)`. This operation is
|
|
532
533
|
* often useful after calling [[translateContent]]. For example:
|
|
@@ -544,11 +545,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
544
545
|
* page.drawText('I am not shifted')
|
|
545
546
|
* ```
|
|
546
547
|
*/
|
|
547
|
-
|
|
548
|
+
resetPosition() {
|
|
548
549
|
this.getContentStream(false);
|
|
549
550
|
this.x = 0;
|
|
550
551
|
this.y = 0;
|
|
551
|
-
}
|
|
552
|
+
}
|
|
552
553
|
/**
|
|
553
554
|
* Choose a default font for this page. The default font will be used whenever
|
|
554
555
|
* text is drawn on this page and no font is specified. For example:
|
|
@@ -569,12 +570,12 @@ var PDFPage = /** @class */ (function () {
|
|
|
569
570
|
* ```
|
|
570
571
|
* @param font The default font to be used when drawing text on this page.
|
|
571
572
|
*/
|
|
572
|
-
|
|
573
|
+
setFont(font) {
|
|
573
574
|
// TODO: Reuse image Font name if we've already added this image to Resources.Fonts
|
|
574
575
|
assertIs(font, 'font', [[PDFFont, 'PDFFont']]);
|
|
575
576
|
this.font = font;
|
|
576
577
|
this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref);
|
|
577
|
-
}
|
|
578
|
+
}
|
|
578
579
|
/**
|
|
579
580
|
* Choose a default font size for this page. The default font size will be
|
|
580
581
|
* used whenever text is drawn on this page and no font size is specified.
|
|
@@ -589,10 +590,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
589
590
|
* @param fontSize The default font size to be used when drawing text on this
|
|
590
591
|
* page.
|
|
591
592
|
*/
|
|
592
|
-
|
|
593
|
+
setFontSize(fontSize) {
|
|
593
594
|
assertIs(fontSize, 'fontSize', ['number']);
|
|
594
595
|
this.fontSize = fontSize;
|
|
595
|
-
}
|
|
596
|
+
}
|
|
596
597
|
/**
|
|
597
598
|
* Choose a default font color for this page. The default font color will be
|
|
598
599
|
* used whenever text is drawn on this page and no font color is specified.
|
|
@@ -609,10 +610,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
609
610
|
* @param fontColor The default font color to be used when drawing text on
|
|
610
611
|
* this page.
|
|
611
612
|
*/
|
|
612
|
-
|
|
613
|
+
setFontColor(fontColor) {
|
|
613
614
|
assertIs(fontColor, 'fontColor', [[Object, 'Color']]);
|
|
614
615
|
this.fontColor = fontColor;
|
|
615
|
-
}
|
|
616
|
+
}
|
|
616
617
|
/**
|
|
617
618
|
* Choose a default line height for this page. The default line height will be
|
|
618
619
|
* used whenever text is drawn on this page and no line height is specified.
|
|
@@ -629,10 +630,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
629
630
|
* @param lineHeight The default line height to be used when drawing text on
|
|
630
631
|
* this page.
|
|
631
632
|
*/
|
|
632
|
-
|
|
633
|
+
setLineHeight(lineHeight) {
|
|
633
634
|
assertIs(lineHeight, 'lineHeight', ['number']);
|
|
634
635
|
this.lineHeight = lineHeight;
|
|
635
|
-
}
|
|
636
|
+
}
|
|
636
637
|
/**
|
|
637
638
|
* Get the default position of this page. For example:
|
|
638
639
|
* ```js
|
|
@@ -640,9 +641,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
640
641
|
* ```
|
|
641
642
|
* @returns The default position of the page.
|
|
642
643
|
*/
|
|
643
|
-
|
|
644
|
+
getPosition() {
|
|
644
645
|
return { x: this.x, y: this.y };
|
|
645
|
-
}
|
|
646
|
+
}
|
|
646
647
|
/**
|
|
647
648
|
* Get the default x coordinate of this page. For example:
|
|
648
649
|
* ```js
|
|
@@ -650,9 +651,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
650
651
|
* ```
|
|
651
652
|
* @returns The default x coordinate of the page.
|
|
652
653
|
*/
|
|
653
|
-
|
|
654
|
+
getX() {
|
|
654
655
|
return this.x;
|
|
655
|
-
}
|
|
656
|
+
}
|
|
656
657
|
/**
|
|
657
658
|
* Get the default y coordinate of this page. For example:
|
|
658
659
|
* ```js
|
|
@@ -660,9 +661,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
660
661
|
* ```
|
|
661
662
|
* @returns The default y coordinate of the page.
|
|
662
663
|
*/
|
|
663
|
-
|
|
664
|
+
getY() {
|
|
664
665
|
return this.y;
|
|
665
|
-
}
|
|
666
|
+
}
|
|
666
667
|
/**
|
|
667
668
|
* Change the default position of this page. For example:
|
|
668
669
|
* ```js
|
|
@@ -678,12 +679,12 @@ var PDFPage = /** @class */ (function () {
|
|
|
678
679
|
* @param x The new default position on the x-axis for this page.
|
|
679
680
|
* @param y The new default position on the y-axis for this page.
|
|
680
681
|
*/
|
|
681
|
-
|
|
682
|
+
moveTo(x, y) {
|
|
682
683
|
assertIs(x, 'x', ['number']);
|
|
683
684
|
assertIs(y, 'y', ['number']);
|
|
684
685
|
this.x = x;
|
|
685
686
|
this.y = y;
|
|
686
|
-
}
|
|
687
|
+
}
|
|
687
688
|
/**
|
|
688
689
|
* Change the default position of this page to be further down the y-axis.
|
|
689
690
|
* For example:
|
|
@@ -697,10 +698,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
697
698
|
* @param yDecrease The amount by which the page's default position along the
|
|
698
699
|
* y-axis should be decreased.
|
|
699
700
|
*/
|
|
700
|
-
|
|
701
|
+
moveDown(yDecrease) {
|
|
701
702
|
assertIs(yDecrease, 'yDecrease', ['number']);
|
|
702
703
|
this.y -= yDecrease;
|
|
703
|
-
}
|
|
704
|
+
}
|
|
704
705
|
/**
|
|
705
706
|
* Change the default position of this page to be further up the y-axis.
|
|
706
707
|
* For example:
|
|
@@ -714,10 +715,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
714
715
|
* @param yIncrease The amount by which the page's default position along the
|
|
715
716
|
* y-axis should be increased.
|
|
716
717
|
*/
|
|
717
|
-
|
|
718
|
+
moveUp(yIncrease) {
|
|
718
719
|
assertIs(yIncrease, 'yIncrease', ['number']);
|
|
719
720
|
this.y += yIncrease;
|
|
720
|
-
}
|
|
721
|
+
}
|
|
721
722
|
/**
|
|
722
723
|
* Change the default position of this page to be further left on the x-axis.
|
|
723
724
|
* For example:
|
|
@@ -731,10 +732,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
731
732
|
* @param xDecrease The amount by which the page's default position along the
|
|
732
733
|
* x-axis should be decreased.
|
|
733
734
|
*/
|
|
734
|
-
|
|
735
|
+
moveLeft(xDecrease) {
|
|
735
736
|
assertIs(xDecrease, 'xDecrease', ['number']);
|
|
736
737
|
this.x -= xDecrease;
|
|
737
|
-
}
|
|
738
|
+
}
|
|
738
739
|
/**
|
|
739
740
|
* Change the default position of this page to be further right on the y-axis.
|
|
740
741
|
* For example:
|
|
@@ -748,10 +749,10 @@ var PDFPage = /** @class */ (function () {
|
|
|
748
749
|
* @param xIncrease The amount by which the page's default position along the
|
|
749
750
|
* x-axis should be increased.
|
|
750
751
|
*/
|
|
751
|
-
|
|
752
|
+
moveRight(xIncrease) {
|
|
752
753
|
assertIs(xIncrease, 'xIncrease', ['number']);
|
|
753
754
|
this.x += xIncrease;
|
|
754
|
-
}
|
|
755
|
+
}
|
|
755
756
|
/**
|
|
756
757
|
* Push one or more operators to the end of this page's current content
|
|
757
758
|
* stream. For example:
|
|
@@ -781,15 +782,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
781
782
|
* ```
|
|
782
783
|
* @param operator The operators to be pushed.
|
|
783
784
|
*/
|
|
784
|
-
|
|
785
|
-
var operator = [];
|
|
786
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
787
|
-
operator[_i] = arguments[_i];
|
|
788
|
-
}
|
|
785
|
+
pushOperators(...operator) {
|
|
789
786
|
assertEachIs(operator, 'operator', [[PDFOperator, 'PDFOperator']]);
|
|
790
|
-
|
|
791
|
-
contentStream.push
|
|
792
|
-
}
|
|
787
|
+
const contentStream = this.getContentStream();
|
|
788
|
+
contentStream.push(...operator);
|
|
789
|
+
}
|
|
793
790
|
/**
|
|
794
791
|
* Draw one or more lines of text on this page. For example:
|
|
795
792
|
* ```js
|
|
@@ -827,9 +824,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
827
824
|
* @param text The text to be drawn.
|
|
828
825
|
* @param options The options to be used when drawing the text.
|
|
829
826
|
*/
|
|
830
|
-
|
|
827
|
+
drawText(text, options = {}) {
|
|
831
828
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
832
|
-
if (options === void 0) { options = {}; }
|
|
833
829
|
assertIs(text, 'text', ['string']);
|
|
834
830
|
assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]);
|
|
835
831
|
assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
|
|
@@ -844,23 +840,23 @@ var PDFPage = /** @class */ (function () {
|
|
|
844
840
|
assertOrUndefined(options.maxWidth, 'options.maxWidth', ['number']);
|
|
845
841
|
assertOrUndefined(options.wordBreaks, 'options.wordBreaks', [Array]);
|
|
846
842
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
843
|
+
const { oldFont, newFont, newFontKey } = this.setOrEmbedFont(options.font);
|
|
844
|
+
const fontSize = options.size || this.fontSize;
|
|
845
|
+
const wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks;
|
|
846
|
+
const textWidth = (t) => newFont.widthOfTextAtSize(t, fontSize);
|
|
847
|
+
const lines = options.maxWidth === undefined
|
|
852
848
|
? lineSplit(cleanText(text))
|
|
853
849
|
: breakTextIntoLines(text, wordBreaks, options.maxWidth, textWidth);
|
|
854
|
-
|
|
855
|
-
for (
|
|
850
|
+
const encodedLines = new Array(lines.length);
|
|
851
|
+
for (let idx = 0, len = lines.length; idx < len; idx++) {
|
|
856
852
|
encodedLines[idx] = newFont.encodeText(lines[idx]);
|
|
857
853
|
}
|
|
858
|
-
|
|
854
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
859
855
|
opacity: options.opacity,
|
|
860
856
|
blendMode: options.blendMode,
|
|
861
857
|
});
|
|
862
|
-
|
|
863
|
-
contentStream.push
|
|
858
|
+
const contentStream = this.getContentStream();
|
|
859
|
+
contentStream.push(...drawLinesOfText(encodedLines, {
|
|
864
860
|
color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor,
|
|
865
861
|
font: newFontKey,
|
|
866
862
|
size: fontSize,
|
|
@@ -878,7 +874,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
878
874
|
else
|
|
879
875
|
this.resetFont();
|
|
880
876
|
}
|
|
881
|
-
}
|
|
877
|
+
}
|
|
882
878
|
/**
|
|
883
879
|
* Draw an image on this page. For example:
|
|
884
880
|
* ```js
|
|
@@ -904,9 +900,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
904
900
|
* @param image The image to be drawn.
|
|
905
901
|
* @param options The options to be used when drawing the image.
|
|
906
902
|
*/
|
|
907
|
-
|
|
903
|
+
drawImage(image, options = {}) {
|
|
908
904
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
909
|
-
if (options === void 0) { options = {}; }
|
|
910
905
|
// TODO: Reuse image XObject name if we've already added this image to Resources.XObjects
|
|
911
906
|
assertIs(image, 'image', [[PDFImage, 'PDFImage']]);
|
|
912
907
|
assertOrUndefined(options.x, 'options.x', ['number']);
|
|
@@ -918,13 +913,13 @@ var PDFPage = /** @class */ (function () {
|
|
|
918
913
|
assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);
|
|
919
914
|
assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
|
|
920
915
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
921
|
-
|
|
922
|
-
|
|
916
|
+
const xObjectKey = this.node.newXObject('Image', image.ref);
|
|
917
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
923
918
|
opacity: options.opacity,
|
|
924
919
|
blendMode: options.blendMode,
|
|
925
920
|
});
|
|
926
|
-
|
|
927
|
-
contentStream.push
|
|
921
|
+
const contentStream = this.getContentStream();
|
|
922
|
+
contentStream.push(...drawImage(xObjectKey, {
|
|
928
923
|
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
929
924
|
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
930
925
|
width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width,
|
|
@@ -934,7 +929,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
934
929
|
ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0),
|
|
935
930
|
graphicsState: graphicsStateKey,
|
|
936
931
|
}));
|
|
937
|
-
}
|
|
932
|
+
}
|
|
938
933
|
/**
|
|
939
934
|
* Draw an embedded PDF page on this page. For example:
|
|
940
935
|
* ```js
|
|
@@ -967,9 +962,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
967
962
|
* @param embeddedPage The embedded page to be drawn.
|
|
968
963
|
* @param options The options to be used when drawing the embedded page.
|
|
969
964
|
*/
|
|
970
|
-
|
|
965
|
+
drawPage(embeddedPage, options = {}) {
|
|
971
966
|
var _a, _b, _c, _d, _e;
|
|
972
|
-
if (options === void 0) { options = {}; }
|
|
973
967
|
// TODO: Reuse embeddedPage XObject name if we've already added this embeddedPage to Resources.XObjects
|
|
974
968
|
assertIs(embeddedPage, 'embeddedPage', [
|
|
975
969
|
[PDFEmbeddedPage, 'PDFEmbeddedPage'],
|
|
@@ -985,31 +979,31 @@ var PDFPage = /** @class */ (function () {
|
|
|
985
979
|
assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);
|
|
986
980
|
assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
|
|
987
981
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
988
|
-
|
|
989
|
-
|
|
982
|
+
const xObjectKey = this.node.newXObject('EmbeddedPdfPage', embeddedPage.ref);
|
|
983
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
990
984
|
opacity: options.opacity,
|
|
991
985
|
blendMode: options.blendMode,
|
|
992
986
|
});
|
|
993
987
|
// prettier-ignore
|
|
994
|
-
|
|
988
|
+
const xScale = (options.width !== undefined ? options.width / embeddedPage.width
|
|
995
989
|
: options.xScale !== undefined ? options.xScale
|
|
996
990
|
: 1);
|
|
997
991
|
// prettier-ignore
|
|
998
|
-
|
|
992
|
+
const yScale = (options.height !== undefined ? options.height / embeddedPage.height
|
|
999
993
|
: options.yScale !== undefined ? options.yScale
|
|
1000
994
|
: 1);
|
|
1001
|
-
|
|
1002
|
-
contentStream.push
|
|
995
|
+
const contentStream = this.getContentStream();
|
|
996
|
+
contentStream.push(...drawPage(xObjectKey, {
|
|
1003
997
|
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
1004
998
|
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
1005
|
-
xScale
|
|
1006
|
-
yScale
|
|
999
|
+
xScale,
|
|
1000
|
+
yScale,
|
|
1007
1001
|
rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0),
|
|
1008
1002
|
xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : degrees(0),
|
|
1009
1003
|
ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : degrees(0),
|
|
1010
1004
|
graphicsState: graphicsStateKey,
|
|
1011
1005
|
}));
|
|
1012
|
-
}
|
|
1006
|
+
}
|
|
1013
1007
|
/**
|
|
1014
1008
|
* Draw an SVG path on this page. For example:
|
|
1015
1009
|
* ```js
|
|
@@ -1047,9 +1041,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1047
1041
|
* @param path The SVG path to be drawn.
|
|
1048
1042
|
* @param options The options to be used when drawing the SVG path.
|
|
1049
1043
|
*/
|
|
1050
|
-
|
|
1044
|
+
drawSvgPath(path, options = {}) {
|
|
1051
1045
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1052
|
-
if (options === void 0) { options = {}; }
|
|
1053
1046
|
assertIs(path, 'path', ['string']);
|
|
1054
1047
|
assertOrUndefined(options.x, 'options.x', ['number']);
|
|
1055
1048
|
assertOrUndefined(options.y, 'options.y', ['number']);
|
|
@@ -1070,7 +1063,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1070
1063
|
assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
|
|
1071
1064
|
assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
|
|
1072
1065
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
1073
|
-
|
|
1066
|
+
assertIsOneOfOrUndefined(options.fillRule, 'options.fillRule', FillRule);
|
|
1067
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
1074
1068
|
opacity: options.opacity,
|
|
1075
1069
|
borderOpacity: options.borderOpacity,
|
|
1076
1070
|
blendMode: options.blendMode,
|
|
@@ -1078,8 +1072,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1078
1072
|
if (!('color' in options) && !('borderColor' in options)) {
|
|
1079
1073
|
options.borderColor = rgb(0, 0, 0);
|
|
1080
1074
|
}
|
|
1081
|
-
|
|
1082
|
-
contentStream.push
|
|
1075
|
+
const contentStream = this.getContentStream();
|
|
1076
|
+
contentStream.push(...drawSvgPath(path, {
|
|
1083
1077
|
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
1084
1078
|
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
1085
1079
|
scale: options.scale,
|
|
@@ -1091,8 +1085,9 @@ var PDFPage = /** @class */ (function () {
|
|
|
1091
1085
|
borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : undefined,
|
|
1092
1086
|
borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : undefined,
|
|
1093
1087
|
graphicsState: graphicsStateKey,
|
|
1088
|
+
fillRule: options.fillRule,
|
|
1094
1089
|
}));
|
|
1095
|
-
}
|
|
1090
|
+
}
|
|
1096
1091
|
/**
|
|
1097
1092
|
* Draw a line on this page. For example:
|
|
1098
1093
|
* ```js
|
|
@@ -1108,7 +1103,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1108
1103
|
* ```
|
|
1109
1104
|
* @param options The options to be used when drawing the line.
|
|
1110
1105
|
*/
|
|
1111
|
-
|
|
1106
|
+
drawLine(options) {
|
|
1112
1107
|
var _a, _b, _c, _d, _e;
|
|
1113
1108
|
assertIs(options.start, 'options.start', [
|
|
1114
1109
|
[Object, '{ x: number, y: number }'],
|
|
@@ -1127,15 +1122,15 @@ var PDFPage = /** @class */ (function () {
|
|
|
1127
1122
|
assertIsOneOfOrUndefined(options.lineCap, 'options.lineCap', LineCapStyle);
|
|
1128
1123
|
assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1);
|
|
1129
1124
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
1130
|
-
|
|
1125
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
1131
1126
|
borderOpacity: options.opacity,
|
|
1132
1127
|
blendMode: options.blendMode,
|
|
1133
1128
|
});
|
|
1134
1129
|
if (!('color' in options)) {
|
|
1135
1130
|
options.color = rgb(0, 0, 0);
|
|
1136
1131
|
}
|
|
1137
|
-
|
|
1138
|
-
contentStream.push
|
|
1132
|
+
const contentStream = this.getContentStream();
|
|
1133
|
+
contentStream.push(...drawLine({
|
|
1139
1134
|
start: options.start,
|
|
1140
1135
|
end: options.end,
|
|
1141
1136
|
thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1,
|
|
@@ -1145,7 +1140,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1145
1140
|
lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : undefined,
|
|
1146
1141
|
graphicsState: graphicsStateKey,
|
|
1147
1142
|
}));
|
|
1148
|
-
}
|
|
1143
|
+
}
|
|
1149
1144
|
/**
|
|
1150
1145
|
* Draw a rectangle on this page. For example:
|
|
1151
1146
|
* ```js
|
|
@@ -1166,9 +1161,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1166
1161
|
* ```
|
|
1167
1162
|
* @param options The options to be used when drawing the rectangle.
|
|
1168
1163
|
*/
|
|
1169
|
-
|
|
1164
|
+
drawRectangle(options = {}) {
|
|
1170
1165
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
1171
|
-
if (options === void 0) { options = {}; }
|
|
1172
1166
|
assertOrUndefined(options.x, 'options.x', ['number']);
|
|
1173
1167
|
assertOrUndefined(options.y, 'options.y', ['number']);
|
|
1174
1168
|
assertOrUndefined(options.width, 'options.width', ['number']);
|
|
@@ -1191,7 +1185,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1191
1185
|
assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
|
|
1192
1186
|
assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
|
|
1193
1187
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
1194
|
-
|
|
1188
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
1195
1189
|
opacity: options.opacity,
|
|
1196
1190
|
borderOpacity: options.borderOpacity,
|
|
1197
1191
|
blendMode: options.blendMode,
|
|
@@ -1199,8 +1193,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1199
1193
|
if (!('color' in options) && !('borderColor' in options)) {
|
|
1200
1194
|
options.color = rgb(0, 0, 0);
|
|
1201
1195
|
}
|
|
1202
|
-
|
|
1203
|
-
contentStream.push
|
|
1196
|
+
const contentStream = this.getContentStream();
|
|
1197
|
+
contentStream.push(...drawRectangle({
|
|
1204
1198
|
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
1205
1199
|
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
1206
1200
|
width: (_c = options.width) !== null && _c !== void 0 ? _c : 150,
|
|
@@ -1216,7 +1210,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1216
1210
|
graphicsState: graphicsStateKey,
|
|
1217
1211
|
borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : undefined,
|
|
1218
1212
|
}));
|
|
1219
|
-
}
|
|
1213
|
+
}
|
|
1220
1214
|
/**
|
|
1221
1215
|
* Draw a square on this page. For example:
|
|
1222
1216
|
* ```js
|
|
@@ -1236,12 +1230,11 @@ var PDFPage = /** @class */ (function () {
|
|
|
1236
1230
|
* ```
|
|
1237
1231
|
* @param options The options to be used when drawing the square.
|
|
1238
1232
|
*/
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
var size = options.size;
|
|
1233
|
+
drawSquare(options = {}) {
|
|
1234
|
+
const { size } = options;
|
|
1242
1235
|
assertOrUndefined(size, 'size', ['number']);
|
|
1243
|
-
this.drawRectangle(
|
|
1244
|
-
}
|
|
1236
|
+
this.drawRectangle(Object.assign(Object.assign({}, options), { width: size, height: size }));
|
|
1237
|
+
}
|
|
1245
1238
|
/**
|
|
1246
1239
|
* Draw an ellipse on this page. For example:
|
|
1247
1240
|
* ```js
|
|
@@ -1261,9 +1254,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1261
1254
|
* ```
|
|
1262
1255
|
* @param options The options to be used when drawing the ellipse.
|
|
1263
1256
|
*/
|
|
1264
|
-
|
|
1257
|
+
drawEllipse(options = {}) {
|
|
1265
1258
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
1266
|
-
if (options === void 0) { options = {}; }
|
|
1267
1259
|
assertOrUndefined(options.x, 'options.x', ['number']);
|
|
1268
1260
|
assertOrUndefined(options.y, 'options.y', ['number']);
|
|
1269
1261
|
assertOrUndefined(options.xScale, 'options.xScale', ['number']);
|
|
@@ -1284,7 +1276,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1284
1276
|
]);
|
|
1285
1277
|
assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle);
|
|
1286
1278
|
assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode);
|
|
1287
|
-
|
|
1279
|
+
const graphicsStateKey = this.maybeEmbedGraphicsState({
|
|
1288
1280
|
opacity: options.opacity,
|
|
1289
1281
|
borderOpacity: options.borderOpacity,
|
|
1290
1282
|
blendMode: options.blendMode,
|
|
@@ -1292,8 +1284,8 @@ var PDFPage = /** @class */ (function () {
|
|
|
1292
1284
|
if (!('color' in options) && !('borderColor' in options)) {
|
|
1293
1285
|
options.color = rgb(0, 0, 0);
|
|
1294
1286
|
}
|
|
1295
|
-
|
|
1296
|
-
contentStream.push
|
|
1287
|
+
const contentStream = this.getContentStream();
|
|
1288
|
+
contentStream.push(...drawEllipse({
|
|
1297
1289
|
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
1298
1290
|
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
1299
1291
|
xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100,
|
|
@@ -1307,7 +1299,7 @@ var PDFPage = /** @class */ (function () {
|
|
|
1307
1299
|
borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : undefined,
|
|
1308
1300
|
graphicsState: graphicsStateKey,
|
|
1309
1301
|
}));
|
|
1310
|
-
}
|
|
1302
|
+
}
|
|
1311
1303
|
/**
|
|
1312
1304
|
* Draw a circle on this page. For example:
|
|
1313
1305
|
* ```js
|
|
@@ -1326,115 +1318,133 @@ var PDFPage = /** @class */ (function () {
|
|
|
1326
1318
|
* ```
|
|
1327
1319
|
* @param options The options to be used when drawing the ellipse.
|
|
1328
1320
|
*/
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
var _a = options.size, size = _a === void 0 ? 100 : _a;
|
|
1321
|
+
drawCircle(options = {}) {
|
|
1322
|
+
const { size = 100 } = options;
|
|
1332
1323
|
assertOrUndefined(size, 'size', ['number']);
|
|
1333
|
-
this.drawEllipse(
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1324
|
+
this.drawEllipse(Object.assign(Object.assign({}, options), { xScale: size, yScale: size }));
|
|
1325
|
+
}
|
|
1326
|
+
setOrEmbedFont(font) {
|
|
1327
|
+
const oldFont = this.font;
|
|
1328
|
+
const oldFontKey = this.fontKey;
|
|
1338
1329
|
if (font)
|
|
1339
1330
|
this.setFont(font);
|
|
1340
1331
|
else
|
|
1341
1332
|
this.getFont();
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
return { oldFont
|
|
1345
|
-
}
|
|
1346
|
-
|
|
1333
|
+
const newFont = this.font;
|
|
1334
|
+
const newFontKey = this.fontKey;
|
|
1335
|
+
return { oldFont, oldFontKey, newFont, newFontKey };
|
|
1336
|
+
}
|
|
1337
|
+
/**
|
|
1338
|
+
* Draw an SVG on this page. For example:
|
|
1339
|
+
* ```js
|
|
1340
|
+
* const svg = '<svg><path d="M 0,20 L 100,160 Q 130,200 150,120 C 190,-40 200,200 300,150 L 400,90"></path></svg>'
|
|
1341
|
+
*
|
|
1342
|
+
* // Draw svg
|
|
1343
|
+
* page.drawSvg(svg, { x: 25, y: 75 })
|
|
1344
|
+
* ```
|
|
1345
|
+
* @param svg The SVG to be drawn.
|
|
1346
|
+
* @param options The options to be used when drawing the SVG.
|
|
1347
|
+
*/
|
|
1348
|
+
drawSvg(svg, options = {}) {
|
|
1349
|
+
var _a, _b;
|
|
1350
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1351
|
+
assertIs(svg, 'svg', ['string']);
|
|
1352
|
+
assertOrUndefined(options.x, 'options.x', ['number']);
|
|
1353
|
+
assertOrUndefined(options.y, 'options.y', ['number']);
|
|
1354
|
+
assertOrUndefined(options.width, 'options.width', ['number']);
|
|
1355
|
+
assertOrUndefined(options.height, 'options.height', ['number']);
|
|
1356
|
+
yield drawSvg(this, svg, {
|
|
1357
|
+
x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,
|
|
1358
|
+
y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,
|
|
1359
|
+
fonts: options.fonts,
|
|
1360
|
+
width: options.width,
|
|
1361
|
+
height: options.height,
|
|
1362
|
+
});
|
|
1363
|
+
});
|
|
1364
|
+
}
|
|
1365
|
+
getFont() {
|
|
1347
1366
|
if (!this.font || !this.fontKey) {
|
|
1348
|
-
|
|
1367
|
+
const font = this.doc.embedStandardFont(StandardFonts.Helvetica);
|
|
1349
1368
|
this.setFont(font);
|
|
1350
1369
|
}
|
|
1351
1370
|
return [this.font, this.fontKey];
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1371
|
+
}
|
|
1372
|
+
resetFont() {
|
|
1354
1373
|
this.font = undefined;
|
|
1355
1374
|
this.fontKey = undefined;
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
if (useExisting === void 0) { useExisting = true; }
|
|
1375
|
+
}
|
|
1376
|
+
getContentStream(useExisting = true) {
|
|
1359
1377
|
if (useExisting && this.contentStream)
|
|
1360
1378
|
return this.contentStream;
|
|
1361
1379
|
this.contentStream = this.createContentStream();
|
|
1362
1380
|
this.contentStreamRef = this.doc.context.register(this.contentStream);
|
|
1363
1381
|
this.node.addContentStream(this.contentStreamRef);
|
|
1364
1382
|
return this.contentStream;
|
|
1365
|
-
}
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
operators[_i] = arguments[_i];
|
|
1370
|
-
}
|
|
1371
|
-
var dict = this.doc.context.obj({});
|
|
1372
|
-
var contentStream = PDFContentStream.of(dict, operators);
|
|
1383
|
+
}
|
|
1384
|
+
createContentStream(...operators) {
|
|
1385
|
+
const dict = this.doc.context.obj({});
|
|
1386
|
+
const contentStream = PDFContentStream.of(dict, operators);
|
|
1373
1387
|
return contentStream;
|
|
1374
|
-
}
|
|
1375
|
-
|
|
1376
|
-
|
|
1388
|
+
}
|
|
1389
|
+
maybeEmbedGraphicsState(options) {
|
|
1390
|
+
const { opacity, borderOpacity, blendMode } = options;
|
|
1377
1391
|
if (opacity === undefined &&
|
|
1378
1392
|
borderOpacity === undefined &&
|
|
1379
1393
|
blendMode === undefined) {
|
|
1380
1394
|
return undefined;
|
|
1381
1395
|
}
|
|
1382
|
-
|
|
1396
|
+
const graphicsState = this.doc.context.obj({
|
|
1383
1397
|
Type: 'ExtGState',
|
|
1384
1398
|
ca: opacity,
|
|
1385
1399
|
CA: borderOpacity,
|
|
1386
1400
|
BM: blendMode,
|
|
1387
1401
|
});
|
|
1388
|
-
|
|
1402
|
+
const key = this.node.newExtGState('GS', graphicsState);
|
|
1389
1403
|
return key;
|
|
1390
|
-
}
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
for (
|
|
1394
|
-
|
|
1404
|
+
}
|
|
1405
|
+
scaleAnnot(annot, x, y) {
|
|
1406
|
+
const selectors = ['RD', 'CL', 'Vertices', 'QuadPoints', 'L', 'Rect'];
|
|
1407
|
+
for (let idx = 0, len = selectors.length; idx < len; idx++) {
|
|
1408
|
+
const list = annot.lookup(PDFName.of(selectors[idx]));
|
|
1395
1409
|
if (list instanceof PDFArray)
|
|
1396
1410
|
list.scalePDFNumbers(x, y);
|
|
1397
1411
|
}
|
|
1398
|
-
|
|
1412
|
+
const inkLists = annot.lookup(PDFName.of('InkList'));
|
|
1399
1413
|
if (inkLists instanceof PDFArray) {
|
|
1400
|
-
for (
|
|
1401
|
-
|
|
1414
|
+
for (let idx = 0, len = inkLists.size(); idx < len; idx++) {
|
|
1415
|
+
const arr = inkLists.lookup(idx);
|
|
1402
1416
|
if (arr instanceof PDFArray)
|
|
1403
1417
|
arr.scalePDFNumbers(x, y);
|
|
1404
1418
|
}
|
|
1405
1419
|
}
|
|
1406
|
-
}
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
};
|
|
1437
|
-
return PDFPage;
|
|
1438
|
-
}());
|
|
1439
|
-
export default PDFPage;
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
/**
|
|
1423
|
+
* > **NOTE:** You probably don't want to call this method directly. Instead,
|
|
1424
|
+
* > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]
|
|
1425
|
+
* > methods, which can create instances of [[PDFPage]] for you.
|
|
1426
|
+
*
|
|
1427
|
+
* Create an instance of [[PDFPage]] from an existing leaf node.
|
|
1428
|
+
*
|
|
1429
|
+
* @param leafNode The leaf node to be wrapped.
|
|
1430
|
+
* @param ref The unique reference for the page.
|
|
1431
|
+
* @param doc The document to which the page will belong.
|
|
1432
|
+
*/
|
|
1433
|
+
PDFPage.of = (leafNode, ref, doc) => new PDFPage(leafNode, ref, doc);
|
|
1434
|
+
/**
|
|
1435
|
+
* > **NOTE:** You probably don't want to call this method directly. Instead,
|
|
1436
|
+
* > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]
|
|
1437
|
+
* > methods, which can create instances of [[PDFPage]] for you.
|
|
1438
|
+
*
|
|
1439
|
+
* Create an instance of [[PDFPage]].
|
|
1440
|
+
*
|
|
1441
|
+
* @param doc The document to which the page will belong.
|
|
1442
|
+
*/
|
|
1443
|
+
PDFPage.create = (doc) => {
|
|
1444
|
+
assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]);
|
|
1445
|
+
const dummyRef = PDFRef.of(-1);
|
|
1446
|
+
const pageLeaf = PDFPageLeaf.withContextAndParent(doc.context, dummyRef);
|
|
1447
|
+
const pageRef = doc.context.register(pageLeaf);
|
|
1448
|
+
return new PDFPage(pageLeaf, pageRef, doc);
|
|
1449
|
+
};
|
|
1440
1450
|
//# sourceMappingURL=PDFPage.js.map
|