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