@pdfme/pdf-lib 5.4.0-dev.63 → 5.4.0-dev.66
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/dist/cjs/src/api/PDFDocument.js +3 -11
- package/dist/cjs/src/api/PDFDocument.js.map +1 -1
- package/dist/cjs/src/api/PDFEmbeddedFile.js.map +1 -1
- package/dist/cjs/src/api/PDFEmbeddedPage.js.map +1 -1
- package/dist/cjs/src/api/PDFFont.js.map +1 -1
- package/dist/cjs/src/api/PDFJavaScript.js.map +1 -1
- package/dist/cjs/src/api/PDFPage.js +16 -42
- package/dist/cjs/src/api/PDFPage.js.map +1 -1
- package/dist/cjs/src/api/colors.js.map +1 -1
- package/dist/cjs/src/api/errors.js.map +1 -1
- package/dist/cjs/src/api/form/PDFButton.js +1 -3
- package/dist/cjs/src/api/form/PDFButton.js.map +1 -1
- package/dist/cjs/src/api/form/PDFCheckBox.js +1 -3
- package/dist/cjs/src/api/form/PDFCheckBox.js.map +1 -1
- package/dist/cjs/src/api/form/PDFDropdown.js +1 -3
- package/dist/cjs/src/api/form/PDFDropdown.js.map +1 -1
- package/dist/cjs/src/api/form/PDFField.js +4 -10
- package/dist/cjs/src/api/form/PDFField.js.map +1 -1
- package/dist/cjs/src/api/form/PDFForm.js +1 -3
- package/dist/cjs/src/api/form/PDFForm.js.map +1 -1
- package/dist/cjs/src/api/form/PDFOptionList.js.map +1 -1
- package/dist/cjs/src/api/form/PDFRadioGroup.js +1 -3
- package/dist/cjs/src/api/form/PDFRadioGroup.js.map +1 -1
- package/dist/cjs/src/api/form/PDFSignature.js +1 -3
- package/dist/cjs/src/api/form/PDFSignature.js.map +1 -1
- package/dist/cjs/src/api/form/PDFTextField.js.map +1 -1
- package/dist/cjs/src/api/form/appearances.js.map +1 -1
- package/dist/cjs/src/api/operations.js.map +1 -1
- package/dist/cjs/src/api/operators.js +1 -5
- package/dist/cjs/src/api/operators.js.map +1 -1
- package/dist/cjs/src/api/rotations.js.map +1 -1
- package/dist/cjs/src/api/svg.js +25 -23
- package/dist/cjs/src/api/svg.js.map +1 -1
- package/dist/cjs/src/api/svgPath.js +1 -2
- package/dist/cjs/src/api/svgPath.js.map +1 -1
- package/dist/cjs/src/api/text/layout.js.map +1 -1
- package/dist/cjs/src/core/PDFContext.js.map +1 -1
- package/dist/cjs/src/core/PDFObjectCopier.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroButton.js +1 -2
- package/dist/cjs/src/core/acroform/PDFAcroButton.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroChoice.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroField.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroForm.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroListBox.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroSignature.js.map +1 -1
- package/dist/cjs/src/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/dist/cjs/src/core/acroform/utils.js.map +1 -1
- package/dist/cjs/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/dist/cjs/src/core/crypto.js +122 -179
- package/dist/cjs/src/core/crypto.js.map +1 -1
- package/dist/cjs/src/core/document/PDFCrossRefSection.js.map +1 -1
- package/dist/cjs/src/core/document/PDFHeader.js.map +1 -1
- package/dist/cjs/src/core/document/PDFTrailer.js.map +1 -1
- package/dist/cjs/src/core/embedders/CMap.js.map +1 -1
- package/dist/cjs/src/core/embedders/CustomFontEmbedder.js +1 -2
- package/dist/cjs/src/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/dist/cjs/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/dist/cjs/src/core/embedders/FileEmbedder.js +3 -7
- package/dist/cjs/src/core/embedders/FileEmbedder.js.map +1 -1
- package/dist/cjs/src/core/embedders/JpegEmbedder.js +1 -3
- package/dist/cjs/src/core/embedders/JpegEmbedder.js.map +1 -1
- package/dist/cjs/src/core/embedders/PDFPageEmbedder.js +11 -7
- package/dist/cjs/src/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/dist/cjs/src/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/dist/cjs/src/core/errors.js +1 -3
- package/dist/cjs/src/core/errors.js.map +1 -1
- package/dist/cjs/src/core/index.js.map +1 -1
- package/dist/cjs/src/core/interactive/ViewerPreferences.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFArray.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFDict.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFName.js +1 -3
- package/dist/cjs/src/core/objects/PDFName.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFRawStream.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFRef.js.map +1 -1
- package/dist/cjs/src/core/objects/PDFStream.js.map +1 -1
- package/dist/cjs/src/core/operators/PDFOperator.js.map +1 -1
- package/dist/cjs/src/core/parser/PDFObjectParser.js +1 -2
- package/dist/cjs/src/core/parser/PDFObjectParser.js.map +1 -1
- package/dist/cjs/src/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/dist/cjs/src/core/parser/PDFParser.js +1 -2
- package/dist/cjs/src/core/parser/PDFParser.js.map +1 -1
- package/dist/cjs/src/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/dist/cjs/src/core/streams/Ascii85Stream.js.map +1 -1
- package/dist/cjs/src/core/streams/DecryptStream.js.map +1 -1
- package/dist/cjs/src/core/streams/FlateStream.js.map +1 -1
- package/dist/cjs/src/core/streams/LZWStream.js.map +1 -1
- package/dist/cjs/src/core/streams/Stream.js.map +1 -1
- package/dist/cjs/src/core/streams/decode.js +1 -1
- package/dist/cjs/src/core/streams/decode.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFCatalog.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFCrossRefStream.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFFlateStream.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFObjectStream.js +1 -4
- package/dist/cjs/src/core/structures/PDFObjectStream.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFPageLeaf.js +1 -6
- package/dist/cjs/src/core/structures/PDFPageLeaf.js.map +1 -1
- package/dist/cjs/src/core/structures/PDFPageTree.js +1 -1
- package/dist/cjs/src/core/structures/PDFPageTree.js.map +1 -1
- package/dist/cjs/src/core/syntax/Keywords.js +4 -30
- package/dist/cjs/src/core/syntax/Keywords.js.map +1 -1
- package/dist/cjs/src/core/writers/PDFStreamWriter.js.map +1 -1
- package/dist/cjs/src/core/writers/PDFWriter.js.map +1 -1
- package/dist/cjs/src/types/matrix.js.map +1 -1
- package/dist/cjs/src/utils/arrays.js +2 -5
- package/dist/cjs/src/utils/arrays.js.map +1 -1
- package/dist/cjs/src/utils/base64.js.map +1 -1
- package/dist/cjs/src/utils/elements/Arc.js +3 -6
- package/dist/cjs/src/utils/elements/Arc.js.map +1 -1
- package/dist/cjs/src/utils/elements/Circle.js.map +1 -1
- package/dist/cjs/src/utils/elements/Ellipse.js +1 -1
- package/dist/cjs/src/utils/elements/Ellipse.js.map +1 -1
- package/dist/cjs/src/utils/elements/Line.js +1 -3
- package/dist/cjs/src/utils/elements/Line.js.map +1 -1
- package/dist/cjs/src/utils/elements/Segment.js +1 -2
- package/dist/cjs/src/utils/elements/Segment.js.map +1 -1
- package/dist/cjs/src/utils/intersections.js.map +1 -1
- package/dist/cjs/src/utils/maths.js.map +1 -1
- package/dist/cjs/src/utils/strings.js.map +1 -1
- package/dist/cjs/src/utils/unicode.js.map +1 -1
- package/dist/cjs/src/utils/validators.js.map +1 -1
- package/dist/esm/src/api/PDFDocument.js +3 -11
- package/dist/esm/src/api/PDFDocument.js.map +1 -1
- package/dist/esm/src/api/PDFEmbeddedFile.js.map +1 -1
- package/dist/esm/src/api/PDFEmbeddedPage.js.map +1 -1
- package/dist/esm/src/api/PDFFont.js +1 -1
- package/dist/esm/src/api/PDFFont.js.map +1 -1
- package/dist/esm/src/api/PDFJavaScript.js.map +1 -1
- package/dist/esm/src/api/PDFPage.js +16 -42
- package/dist/esm/src/api/PDFPage.js.map +1 -1
- package/dist/esm/src/api/colors.js.map +1 -1
- package/dist/esm/src/api/errors.js.map +1 -1
- package/dist/esm/src/api/form/PDFButton.js +3 -5
- package/dist/esm/src/api/form/PDFButton.js.map +1 -1
- package/dist/esm/src/api/form/PDFCheckBox.js +3 -5
- package/dist/esm/src/api/form/PDFCheckBox.js.map +1 -1
- package/dist/esm/src/api/form/PDFDropdown.js +2 -4
- package/dist/esm/src/api/form/PDFDropdown.js.map +1 -1
- package/dist/esm/src/api/form/PDFField.js +4 -10
- package/dist/esm/src/api/form/PDFField.js.map +1 -1
- package/dist/esm/src/api/form/PDFForm.js +2 -4
- package/dist/esm/src/api/form/PDFForm.js.map +1 -1
- package/dist/esm/src/api/form/PDFOptionList.js +2 -2
- package/dist/esm/src/api/form/PDFOptionList.js.map +1 -1
- package/dist/esm/src/api/form/PDFRadioGroup.js +2 -4
- package/dist/esm/src/api/form/PDFRadioGroup.js.map +1 -1
- package/dist/esm/src/api/form/PDFSignature.js +1 -3
- package/dist/esm/src/api/form/PDFSignature.js.map +1 -1
- package/dist/esm/src/api/form/PDFTextField.js +2 -2
- package/dist/esm/src/api/form/PDFTextField.js.map +1 -1
- package/dist/esm/src/api/form/appearances.js +1 -1
- package/dist/esm/src/api/form/appearances.js.map +1 -1
- package/dist/esm/src/api/operations.js.map +1 -1
- package/dist/esm/src/api/operators.js +2 -6
- package/dist/esm/src/api/operators.js.map +1 -1
- package/dist/esm/src/api/rotations.js.map +1 -1
- package/dist/esm/src/api/svg.js +26 -24
- package/dist/esm/src/api/svg.js.map +1 -1
- package/dist/esm/src/api/svgPath.js +2 -3
- package/dist/esm/src/api/svgPath.js.map +1 -1
- package/dist/esm/src/api/text/layout.js +1 -1
- package/dist/esm/src/api/text/layout.js.map +1 -1
- package/dist/esm/src/core/PDFContext.js.map +1 -1
- package/dist/esm/src/core/PDFObjectCopier.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroButton.js +1 -2
- package/dist/esm/src/core/acroform/PDFAcroButton.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroChoice.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroField.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroForm.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroListBox.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroSignature.js.map +1 -1
- package/dist/esm/src/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/dist/esm/src/core/acroform/utils.js.map +1 -1
- package/dist/esm/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/dist/esm/src/core/crypto.js +122 -179
- package/dist/esm/src/core/crypto.js.map +1 -1
- package/dist/esm/src/core/document/PDFCrossRefSection.js.map +1 -1
- package/dist/esm/src/core/document/PDFHeader.js.map +1 -1
- package/dist/esm/src/core/document/PDFTrailer.js.map +1 -1
- package/dist/esm/src/core/embedders/CMap.js +1 -1
- package/dist/esm/src/core/embedders/CMap.js.map +1 -1
- package/dist/esm/src/core/embedders/CustomFontEmbedder.js +2 -3
- package/dist/esm/src/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/dist/esm/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/dist/esm/src/core/embedders/FileEmbedder.js +3 -7
- package/dist/esm/src/core/embedders/FileEmbedder.js.map +1 -1
- package/dist/esm/src/core/embedders/JpegEmbedder.js +1 -3
- package/dist/esm/src/core/embedders/JpegEmbedder.js.map +1 -1
- package/dist/esm/src/core/embedders/PDFPageEmbedder.js +12 -8
- package/dist/esm/src/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/dist/esm/src/core/embedders/StandardFontEmbedder.js +1 -1
- package/dist/esm/src/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/dist/esm/src/core/errors.js +1 -3
- package/dist/esm/src/core/errors.js.map +1 -1
- package/dist/esm/src/core/index.js +2 -2
- package/dist/esm/src/core/index.js.map +1 -1
- package/dist/esm/src/core/interactive/ViewerPreferences.js +1 -1
- package/dist/esm/src/core/interactive/ViewerPreferences.js.map +1 -1
- package/dist/esm/src/core/objects/PDFArray.js.map +1 -1
- package/dist/esm/src/core/objects/PDFDict.js.map +1 -1
- package/dist/esm/src/core/objects/PDFName.js +2 -4
- package/dist/esm/src/core/objects/PDFName.js.map +1 -1
- package/dist/esm/src/core/objects/PDFRawStream.js.map +1 -1
- package/dist/esm/src/core/objects/PDFRef.js.map +1 -1
- package/dist/esm/src/core/objects/PDFStream.js.map +1 -1
- package/dist/esm/src/core/operators/PDFOperator.js.map +1 -1
- package/dist/esm/src/core/parser/PDFObjectParser.js +1 -2
- package/dist/esm/src/core/parser/PDFObjectParser.js.map +1 -1
- package/dist/esm/src/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/dist/esm/src/core/parser/PDFParser.js +1 -2
- package/dist/esm/src/core/parser/PDFParser.js.map +1 -1
- package/dist/esm/src/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/dist/esm/src/core/streams/Ascii85Stream.js.map +1 -1
- package/dist/esm/src/core/streams/DecryptStream.js.map +1 -1
- package/dist/esm/src/core/streams/FlateStream.js.map +1 -1
- package/dist/esm/src/core/streams/LZWStream.js.map +1 -1
- package/dist/esm/src/core/streams/Stream.js.map +1 -1
- package/dist/esm/src/core/streams/decode.js +1 -1
- package/dist/esm/src/core/streams/decode.js.map +1 -1
- package/dist/esm/src/core/structures/PDFCatalog.js.map +1 -1
- package/dist/esm/src/core/structures/PDFCrossRefStream.js.map +1 -1
- package/dist/esm/src/core/structures/PDFFlateStream.js.map +1 -1
- package/dist/esm/src/core/structures/PDFObjectStream.js +1 -4
- package/dist/esm/src/core/structures/PDFObjectStream.js.map +1 -1
- package/dist/esm/src/core/structures/PDFPageLeaf.js +1 -6
- package/dist/esm/src/core/structures/PDFPageLeaf.js.map +1 -1
- package/dist/esm/src/core/structures/PDFPageTree.js +1 -1
- package/dist/esm/src/core/structures/PDFPageTree.js.map +1 -1
- package/dist/esm/src/core/syntax/Keywords.js +4 -30
- package/dist/esm/src/core/syntax/Keywords.js.map +1 -1
- package/dist/esm/src/core/writers/PDFStreamWriter.js.map +1 -1
- package/dist/esm/src/core/writers/PDFWriter.js.map +1 -1
- package/dist/esm/src/types/matrix.js.map +1 -1
- package/dist/esm/src/utils/arrays.js +2 -5
- package/dist/esm/src/utils/arrays.js.map +1 -1
- package/dist/esm/src/utils/base64.js.map +1 -1
- package/dist/esm/src/utils/elements/Arc.js +3 -6
- package/dist/esm/src/utils/elements/Arc.js.map +1 -1
- package/dist/esm/src/utils/elements/Circle.js +1 -1
- package/dist/esm/src/utils/elements/Circle.js.map +1 -1
- package/dist/esm/src/utils/elements/Ellipse.js +1 -1
- package/dist/esm/src/utils/elements/Ellipse.js.map +1 -1
- package/dist/esm/src/utils/elements/Line.js +1 -3
- package/dist/esm/src/utils/elements/Line.js.map +1 -1
- package/dist/esm/src/utils/elements/Segment.js +2 -3
- package/dist/esm/src/utils/elements/Segment.js.map +1 -1
- package/dist/esm/src/utils/intersections.js.map +1 -1
- package/dist/esm/src/utils/maths.js.map +1 -1
- package/dist/esm/src/utils/strings.js.map +1 -1
- package/dist/esm/src/utils/unicode.js.map +1 -1
- package/dist/esm/src/utils/validators.js.map +1 -1
- package/dist/node/src/api/PDFDocument.js +3 -11
- package/dist/node/src/api/PDFDocument.js.map +1 -1
- package/dist/node/src/api/PDFEmbeddedFile.js.map +1 -1
- package/dist/node/src/api/PDFEmbeddedPage.js.map +1 -1
- package/dist/node/src/api/PDFFont.js.map +1 -1
- package/dist/node/src/api/PDFJavaScript.js.map +1 -1
- package/dist/node/src/api/PDFPage.js +16 -42
- package/dist/node/src/api/PDFPage.js.map +1 -1
- package/dist/node/src/api/colors.js.map +1 -1
- package/dist/node/src/api/errors.js.map +1 -1
- package/dist/node/src/api/form/PDFButton.js +1 -3
- package/dist/node/src/api/form/PDFButton.js.map +1 -1
- package/dist/node/src/api/form/PDFCheckBox.js +1 -3
- package/dist/node/src/api/form/PDFCheckBox.js.map +1 -1
- package/dist/node/src/api/form/PDFDropdown.js +1 -3
- package/dist/node/src/api/form/PDFDropdown.js.map +1 -1
- package/dist/node/src/api/form/PDFField.js +4 -10
- package/dist/node/src/api/form/PDFField.js.map +1 -1
- package/dist/node/src/api/form/PDFForm.js +1 -3
- package/dist/node/src/api/form/PDFForm.js.map +1 -1
- package/dist/node/src/api/form/PDFOptionList.js.map +1 -1
- package/dist/node/src/api/form/PDFRadioGroup.js +1 -3
- package/dist/node/src/api/form/PDFRadioGroup.js.map +1 -1
- package/dist/node/src/api/form/PDFSignature.js +1 -3
- package/dist/node/src/api/form/PDFSignature.js.map +1 -1
- package/dist/node/src/api/form/PDFTextField.js.map +1 -1
- package/dist/node/src/api/form/appearances.js.map +1 -1
- package/dist/node/src/api/operations.js.map +1 -1
- package/dist/node/src/api/operators.js +1 -5
- package/dist/node/src/api/operators.js.map +1 -1
- package/dist/node/src/api/rotations.js.map +1 -1
- package/dist/node/src/api/svg.js +25 -23
- package/dist/node/src/api/svg.js.map +1 -1
- package/dist/node/src/api/svgPath.js +1 -2
- package/dist/node/src/api/svgPath.js.map +1 -1
- package/dist/node/src/api/text/layout.js.map +1 -1
- package/dist/node/src/core/PDFContext.js.map +1 -1
- package/dist/node/src/core/PDFObjectCopier.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroButton.js +1 -2
- package/dist/node/src/core/acroform/PDFAcroButton.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroCheckBox.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroChoice.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroComboBox.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroField.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroForm.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroListBox.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroNonTerminal.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroPushButton.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroRadioButton.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroSignature.js.map +1 -1
- package/dist/node/src/core/acroform/PDFAcroTerminal.js.map +1 -1
- package/dist/node/src/core/acroform/utils.js.map +1 -1
- package/dist/node/src/core/annotation/PDFWidgetAnnotation.js.map +1 -1
- package/dist/node/src/core/crypto.js +122 -179
- package/dist/node/src/core/crypto.js.map +1 -1
- package/dist/node/src/core/document/PDFCrossRefSection.js.map +1 -1
- package/dist/node/src/core/document/PDFHeader.js.map +1 -1
- package/dist/node/src/core/document/PDFTrailer.js.map +1 -1
- package/dist/node/src/core/embedders/CMap.js.map +1 -1
- package/dist/node/src/core/embedders/CustomFontEmbedder.js +1 -2
- package/dist/node/src/core/embedders/CustomFontEmbedder.js.map +1 -1
- package/dist/node/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
- package/dist/node/src/core/embedders/FileEmbedder.js +3 -7
- package/dist/node/src/core/embedders/FileEmbedder.js.map +1 -1
- package/dist/node/src/core/embedders/JpegEmbedder.js +1 -3
- package/dist/node/src/core/embedders/JpegEmbedder.js.map +1 -1
- package/dist/node/src/core/embedders/PDFPageEmbedder.js +11 -7
- package/dist/node/src/core/embedders/PDFPageEmbedder.js.map +1 -1
- package/dist/node/src/core/embedders/StandardFontEmbedder.js.map +1 -1
- package/dist/node/src/core/errors.js +1 -3
- package/dist/node/src/core/errors.js.map +1 -1
- package/dist/node/src/core/index.js.map +1 -1
- package/dist/node/src/core/interactive/ViewerPreferences.js.map +1 -1
- package/dist/node/src/core/objects/PDFArray.js.map +1 -1
- package/dist/node/src/core/objects/PDFDict.js.map +1 -1
- package/dist/node/src/core/objects/PDFName.js +1 -3
- package/dist/node/src/core/objects/PDFName.js.map +1 -1
- package/dist/node/src/core/objects/PDFRawStream.js.map +1 -1
- package/dist/node/src/core/objects/PDFRef.js.map +1 -1
- package/dist/node/src/core/objects/PDFStream.js.map +1 -1
- package/dist/node/src/core/operators/PDFOperator.js.map +1 -1
- package/dist/node/src/core/parser/PDFObjectParser.js +1 -2
- package/dist/node/src/core/parser/PDFObjectParser.js.map +1 -1
- package/dist/node/src/core/parser/PDFObjectStreamParser.js.map +1 -1
- package/dist/node/src/core/parser/PDFParser.js +1 -2
- package/dist/node/src/core/parser/PDFParser.js.map +1 -1
- package/dist/node/src/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/dist/node/src/core/streams/Ascii85Stream.js.map +1 -1
- package/dist/node/src/core/streams/DecryptStream.js.map +1 -1
- package/dist/node/src/core/streams/FlateStream.js.map +1 -1
- package/dist/node/src/core/streams/LZWStream.js.map +1 -1
- package/dist/node/src/core/streams/Stream.js.map +1 -1
- package/dist/node/src/core/streams/decode.js +1 -1
- package/dist/node/src/core/streams/decode.js.map +1 -1
- package/dist/node/src/core/structures/PDFCatalog.js.map +1 -1
- package/dist/node/src/core/structures/PDFCrossRefStream.js.map +1 -1
- package/dist/node/src/core/structures/PDFFlateStream.js.map +1 -1
- package/dist/node/src/core/structures/PDFObjectStream.js +1 -4
- package/dist/node/src/core/structures/PDFObjectStream.js.map +1 -1
- package/dist/node/src/core/structures/PDFPageLeaf.js +1 -6
- package/dist/node/src/core/structures/PDFPageLeaf.js.map +1 -1
- package/dist/node/src/core/structures/PDFPageTree.js +1 -1
- package/dist/node/src/core/structures/PDFPageTree.js.map +1 -1
- package/dist/node/src/core/syntax/Keywords.js +4 -30
- package/dist/node/src/core/syntax/Keywords.js.map +1 -1
- package/dist/node/src/core/writers/PDFStreamWriter.js.map +1 -1
- package/dist/node/src/core/writers/PDFWriter.js.map +1 -1
- package/dist/node/src/types/matrix.js.map +1 -1
- package/dist/node/src/utils/arrays.js +2 -5
- package/dist/node/src/utils/arrays.js.map +1 -1
- package/dist/node/src/utils/base64.js.map +1 -1
- package/dist/node/src/utils/elements/Arc.js +3 -6
- package/dist/node/src/utils/elements/Arc.js.map +1 -1
- package/dist/node/src/utils/elements/Circle.js.map +1 -1
- package/dist/node/src/utils/elements/Ellipse.js +1 -1
- package/dist/node/src/utils/elements/Ellipse.js.map +1 -1
- package/dist/node/src/utils/elements/Line.js +1 -3
- package/dist/node/src/utils/elements/Line.js.map +1 -1
- package/dist/node/src/utils/elements/Segment.js +1 -2
- package/dist/node/src/utils/elements/Segment.js.map +1 -1
- package/dist/node/src/utils/intersections.js.map +1 -1
- package/dist/node/src/utils/maths.js.map +1 -1
- package/dist/node/src/utils/strings.js.map +1 -1
- package/dist/node/src/utils/unicode.js.map +1 -1
- package/dist/node/src/utils/validators.js.map +1 -1
- package/dist/types/src/api/form/PDFField.d.ts +1 -1
- package/dist/types/src/core/index.d.ts +2 -2
- package/dist/types/src/core/streams/decode.d.ts +1 -1
- package/dist/types/src/core/writers/PDFWriter.d.ts +1 -4
- package/dist/types/src/types/matrix.d.ts +1 -8
- package/package.json +1 -1
- package/src/api/PDFDocument.ts +11 -44
- package/src/api/PDFEmbeddedFile.ts +1 -4
- package/src/api/PDFEmbeddedPage.ts +1 -5
- package/src/api/PDFFont.ts +1 -6
- package/src/api/PDFJavaScript.ts +2 -9
- package/src/api/PDFPage.ts +26 -93
- package/src/api/PDFPageOptions.ts +4 -4
- package/src/api/colors.ts +1 -6
- package/src/api/errors.ts +1 -2
- package/src/api/form/PDFButton.ts +9 -34
- package/src/api/form/PDFCheckBox.ts +4 -19
- package/src/api/form/PDFDropdown.ts +6 -21
- package/src/api/form/PDFField.ts +11 -41
- package/src/api/form/PDFForm.ts +11 -29
- package/src/api/form/PDFOptionList.ts +5 -21
- package/src/api/form/PDFRadioGroup.ts +6 -22
- package/src/api/form/PDFSignature.ts +4 -13
- package/src/api/form/PDFTextField.ts +5 -20
- package/src/api/form/appearances.ts +33 -33
- package/src/api/operations.ts +23 -25
- package/src/api/operators.ts +11 -43
- package/src/api/rotations.ts +1 -4
- package/src/api/svg.ts +145 -195
- package/src/api/svgPath.ts +5 -32
- package/src/api/text/layout.ts +3 -18
- package/src/core/PDFContext.ts +10 -36
- package/src/core/PDFObjectCopier.ts +1 -2
- package/src/core/acroform/PDFAcroButton.ts +3 -13
- package/src/core/acroform/PDFAcroCheckBox.ts +1 -2
- package/src/core/acroform/PDFAcroChoice.ts +2 -9
- package/src/core/acroform/PDFAcroComboBox.ts +1 -2
- package/src/core/acroform/PDFAcroField.ts +1 -2
- package/src/core/acroform/PDFAcroForm.ts +2 -5
- package/src/core/acroform/PDFAcroListBox.ts +1 -2
- package/src/core/acroform/PDFAcroNonTerminal.ts +1 -2
- package/src/core/acroform/PDFAcroPushButton.ts +1 -2
- package/src/core/acroform/PDFAcroRadioButton.ts +1 -2
- package/src/core/acroform/PDFAcroSignature.ts +1 -2
- package/src/core/acroform/PDFAcroTerminal.ts +1 -2
- package/src/core/acroform/utils.ts +3 -9
- package/src/core/annotation/PDFWidgetAnnotation.ts +1 -2
- package/src/core/crypto.ts +143 -287
- package/src/core/document/PDFCrossRefSection.ts +3 -15
- package/src/core/document/PDFHeader.ts +1 -2
- package/src/core/document/PDFTrailer.ts +1 -2
- package/src/core/embedders/CMap.ts +1 -6
- package/src/core/embedders/CustomFontEmbedder.ts +4 -16
- package/src/core/embedders/CustomFontSubsetEmbedder.ts +2 -13
- package/src/core/embedders/FileEmbedder.ts +5 -23
- package/src/core/embedders/JpegEmbedder.ts +2 -11
- package/src/core/embedders/PDFPageEmbedder.ts +12 -14
- package/src/core/embedders/StandardFontEmbedder.ts +3 -12
- package/src/core/errors.ts +1 -3
- package/src/core/index.ts +2 -8
- package/src/core/interactive/ViewerPreferences.ts +4 -18
- package/src/core/objects/PDFArray.ts +2 -8
- package/src/core/objects/PDFDict.ts +3 -11
- package/src/core/objects/PDFName.ts +2 -9
- package/src/core/objects/PDFRawStream.ts +3 -10
- package/src/core/objects/PDFRef.ts +1 -5
- package/src/core/objects/PDFStream.ts +2 -8
- package/src/core/operators/PDFOperator.ts +2 -9
- package/src/core/parser/PDFObjectParser.ts +5 -14
- package/src/core/parser/PDFObjectStreamParser.ts +2 -4
- package/src/core/parser/PDFParser.ts +5 -21
- package/src/core/parser/PDFXRefStreamParser.ts +1 -2
- package/src/core/streams/Ascii85Stream.ts +1 -2
- package/src/core/streams/DecryptStream.ts +2 -9
- package/src/core/streams/FlateStream.ts +4 -14
- package/src/core/streams/LZWStream.ts +2 -9
- package/src/core/streams/Stream.ts +2 -8
- package/src/core/streams/decode.ts +2 -10
- package/src/core/structures/PDFCatalog.ts +2 -6
- package/src/core/structures/PDFCrossRefStream.ts +2 -10
- package/src/core/structures/PDFFlateStream.ts +1 -4
- package/src/core/structures/PDFObjectStream.ts +4 -14
- package/src/core/structures/PDFPageLeaf.ts +9 -28
- package/src/core/structures/PDFPageTree.ts +2 -5
- package/src/core/syntax/Keywords.ts +4 -30
- package/src/core/writers/PDFStreamWriter.ts +2 -11
- package/src/core/writers/PDFWriter.ts +2 -6
- package/src/types/fontkit.ts +3 -16
- package/src/types/index.ts +6 -14
- package/src/types/matrix.ts +1 -8
- package/src/utils/arrays.ts +3 -8
- package/src/utils/base64.ts +2 -4
- package/src/utils/elements/Arc.ts +5 -15
- package/src/utils/elements/Circle.ts +1 -9
- package/src/utils/elements/Ellipse.ts +6 -24
- package/src/utils/elements/Line.ts +1 -3
- package/src/utils/elements/Segment.ts +3 -14
- package/src/utils/intersections.ts +20 -65
- package/src/utils/maths.ts +10 -22
- package/src/utils/strings.ts +6 -16
- package/src/utils/unicode.ts +9 -22
- package/src/utils/validators.ts +9 -45
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import PDFDocument from '../PDFDocument';
|
|
2
2
|
import PDFPage from '../PDFPage';
|
|
3
3
|
import PDFFont from '../PDFFont';
|
|
4
|
-
import PDFField, {
|
|
5
|
-
FieldAppearanceOptions,
|
|
6
|
-
assertFieldAppearanceOptions,
|
|
7
|
-
} from './PDFField';
|
|
4
|
+
import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
|
|
8
5
|
import {
|
|
9
6
|
AppearanceProviderFor,
|
|
10
7
|
normalizeAppearance,
|
|
@@ -22,12 +19,7 @@ import {
|
|
|
22
19
|
AcroChoiceFlags,
|
|
23
20
|
PDFWidgetAnnotation,
|
|
24
21
|
} from '../../core';
|
|
25
|
-
import {
|
|
26
|
-
assertIs,
|
|
27
|
-
assertIsSubset,
|
|
28
|
-
assertOrUndefined,
|
|
29
|
-
assertPositive,
|
|
30
|
-
} from '../../utils';
|
|
22
|
+
import { assertIs, assertIsSubset, assertOrUndefined, assertPositive } from '../../utils';
|
|
31
23
|
|
|
32
24
|
/**
|
|
33
25
|
* Represents an option list field of a [[PDFForm]].
|
|
@@ -59,11 +51,7 @@ export default class PDFOptionList extends PDFField {
|
|
|
59
51
|
/** The low-level PDFAcroListBox wrapped by this option list. */
|
|
60
52
|
readonly acroField: PDFAcroListBox;
|
|
61
53
|
|
|
62
|
-
private constructor(
|
|
63
|
-
acroListBox: PDFAcroListBox,
|
|
64
|
-
ref: PDFRef,
|
|
65
|
-
doc: PDFDocument,
|
|
66
|
-
) {
|
|
54
|
+
private constructor(acroListBox: PDFAcroListBox, ref: PDFRef, doc: PDFDocument) {
|
|
67
55
|
super(acroListBox, ref, doc);
|
|
68
56
|
|
|
69
57
|
assertIs(acroListBox, 'acroListBox', [[PDFAcroListBox, 'PDFAcroListBox']]);
|
|
@@ -498,8 +486,7 @@ export default class PDFOptionList extends PDFField {
|
|
|
498
486
|
const widgets = this.acroField.getWidgets();
|
|
499
487
|
for (let idx = 0, len = widgets.length; idx < len; idx++) {
|
|
500
488
|
const widget = widgets[idx];
|
|
501
|
-
const hasAppearances =
|
|
502
|
-
widget.getAppearances()?.normal instanceof PDFStream;
|
|
489
|
+
const hasAppearances = widget.getAppearances()?.normal instanceof PDFStream;
|
|
503
490
|
if (!hasAppearances) return true;
|
|
504
491
|
}
|
|
505
492
|
|
|
@@ -537,10 +524,7 @@ export default class PDFOptionList extends PDFField {
|
|
|
537
524
|
* @param provider Optionally, the appearance provider to be used for
|
|
538
525
|
* generating the contents of the appearance streams.
|
|
539
526
|
*/
|
|
540
|
-
updateAppearances(
|
|
541
|
-
font: PDFFont,
|
|
542
|
-
provider?: AppearanceProviderFor<PDFOptionList>,
|
|
543
|
-
) {
|
|
527
|
+
updateAppearances(font: PDFFont, provider?: AppearanceProviderFor<PDFOptionList>) {
|
|
544
528
|
assertIs(font, 'font', [[PDFFont, 'PDFFont']]);
|
|
545
529
|
assertOrUndefined(provider, 'provider', [Function]);
|
|
546
530
|
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import PDFDocument from '../PDFDocument';
|
|
2
2
|
import PDFPage from '../PDFPage';
|
|
3
|
-
import PDFField, {
|
|
4
|
-
FieldAppearanceOptions,
|
|
5
|
-
assertFieldAppearanceOptions,
|
|
6
|
-
} from './PDFField';
|
|
3
|
+
import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
|
|
7
4
|
import {
|
|
8
5
|
AppearanceProviderFor,
|
|
9
6
|
normalizeAppearance,
|
|
@@ -54,25 +51,16 @@ export default class PDFRadioGroup extends PDFField {
|
|
|
54
51
|
* @param ref The unique reference for this radio group.
|
|
55
52
|
* @param doc The document to which this radio group will belong.
|
|
56
53
|
*/
|
|
57
|
-
static of = (
|
|
58
|
-
acroRadioButton
|
|
59
|
-
ref: PDFRef,
|
|
60
|
-
doc: PDFDocument,
|
|
61
|
-
) => new PDFRadioGroup(acroRadioButton, ref, doc);
|
|
54
|
+
static of = (acroRadioButton: PDFAcroRadioButton, ref: PDFRef, doc: PDFDocument) =>
|
|
55
|
+
new PDFRadioGroup(acroRadioButton, ref, doc);
|
|
62
56
|
|
|
63
57
|
/** The low-level PDFAcroRadioButton wrapped by this radio group. */
|
|
64
58
|
readonly acroField: PDFAcroRadioButton;
|
|
65
59
|
|
|
66
|
-
private constructor(
|
|
67
|
-
acroRadioButton: PDFAcroRadioButton,
|
|
68
|
-
ref: PDFRef,
|
|
69
|
-
doc: PDFDocument,
|
|
70
|
-
) {
|
|
60
|
+
private constructor(acroRadioButton: PDFAcroRadioButton, ref: PDFRef, doc: PDFDocument) {
|
|
71
61
|
super(acroRadioButton, ref, doc);
|
|
72
62
|
|
|
73
|
-
assertIs(acroRadioButton, 'acroRadioButton', [
|
|
74
|
-
[PDFAcroRadioButton, 'PDFAcroRadioButton'],
|
|
75
|
-
]);
|
|
63
|
+
assertIs(acroRadioButton, 'acroRadioButton', [[PDFAcroRadioButton, 'PDFAcroRadioButton']]);
|
|
76
64
|
|
|
77
65
|
this.acroField = acroRadioButton;
|
|
78
66
|
}
|
|
@@ -349,11 +337,7 @@ export default class PDFRadioGroup extends PDFField {
|
|
|
349
337
|
* @param page The page to which the radio button widget should be added.
|
|
350
338
|
* @param options The options to be used when adding the radio button widget.
|
|
351
339
|
*/
|
|
352
|
-
addOptionToPage(
|
|
353
|
-
option: string,
|
|
354
|
-
page: PDFPage,
|
|
355
|
-
options?: FieldAppearanceOptions,
|
|
356
|
-
) {
|
|
340
|
+
addOptionToPage(option: string, page: PDFPage, options?: FieldAppearanceOptions) {
|
|
357
341
|
assertIs(option, 'option', ['string']);
|
|
358
342
|
assertIs(page, 'page', [[PDFPage, 'PDFPage']]);
|
|
359
343
|
assertFieldAppearanceOptions(options);
|
|
@@ -24,25 +24,16 @@ export default class PDFSignature extends PDFField {
|
|
|
24
24
|
* @param ref The unique reference for this signature.
|
|
25
25
|
* @param doc The document to which this signature will belong.
|
|
26
26
|
*/
|
|
27
|
-
static of = (
|
|
28
|
-
acroSignature
|
|
29
|
-
ref: PDFRef,
|
|
30
|
-
doc: PDFDocument,
|
|
31
|
-
) => new PDFSignature(acroSignature, ref, doc);
|
|
27
|
+
static of = (acroSignature: PDFAcroSignature, ref: PDFRef, doc: PDFDocument) =>
|
|
28
|
+
new PDFSignature(acroSignature, ref, doc);
|
|
32
29
|
|
|
33
30
|
/** The low-level PDFAcroSignature wrapped by this signature. */
|
|
34
31
|
readonly acroField: PDFAcroSignature;
|
|
35
32
|
|
|
36
|
-
private constructor(
|
|
37
|
-
acroSignature: PDFAcroSignature,
|
|
38
|
-
ref: PDFRef,
|
|
39
|
-
doc: PDFDocument,
|
|
40
|
-
) {
|
|
33
|
+
private constructor(acroSignature: PDFAcroSignature, ref: PDFRef, doc: PDFDocument) {
|
|
41
34
|
super(acroSignature, ref, doc);
|
|
42
35
|
|
|
43
|
-
assertIs(acroSignature, 'acroSignature', [
|
|
44
|
-
[PDFAcroSignature, 'PDFAcroSignature'],
|
|
45
|
-
]);
|
|
36
|
+
assertIs(acroSignature, 'acroSignature', [[PDFAcroSignature, 'PDFAcroSignature']]);
|
|
46
37
|
|
|
47
38
|
this.acroField = acroSignature;
|
|
48
39
|
}
|
|
@@ -2,10 +2,7 @@ import PDFDocument from '../PDFDocument';
|
|
|
2
2
|
import PDFPage from '../PDFPage';
|
|
3
3
|
import PDFFont from '../PDFFont';
|
|
4
4
|
import PDFImage from '../PDFImage';
|
|
5
|
-
import PDFField, {
|
|
6
|
-
FieldAppearanceOptions,
|
|
7
|
-
assertFieldAppearanceOptions,
|
|
8
|
-
} from './PDFField';
|
|
5
|
+
import PDFField, { FieldAppearanceOptions, assertFieldAppearanceOptions } from './PDFField';
|
|
9
6
|
import {
|
|
10
7
|
AppearanceProviderFor,
|
|
11
8
|
normalizeAppearance,
|
|
@@ -13,11 +10,7 @@ import {
|
|
|
13
10
|
} from './appearances';
|
|
14
11
|
import { rgb } from '../colors';
|
|
15
12
|
import { degrees } from '../rotations';
|
|
16
|
-
import {
|
|
17
|
-
RichTextFieldReadError,
|
|
18
|
-
ExceededMaxLengthError,
|
|
19
|
-
InvalidMaxLengthError,
|
|
20
|
-
} from '../errors';
|
|
13
|
+
import { RichTextFieldReadError, ExceededMaxLengthError, InvalidMaxLengthError } from '../errors';
|
|
21
14
|
import { ImageAlignment } from '../image/alignment';
|
|
22
15
|
import { TextAlignment } from '../text/alignment';
|
|
23
16
|
|
|
@@ -305,11 +298,7 @@ export default class PDFTextField extends PDFField {
|
|
|
305
298
|
const widgets = this.acroField.getWidgets();
|
|
306
299
|
for (let idx = 0, len = widgets.length; idx < len; idx++) {
|
|
307
300
|
const widget = widgets[idx];
|
|
308
|
-
const streamRef = this.createImageAppearanceStream(
|
|
309
|
-
widget,
|
|
310
|
-
image,
|
|
311
|
-
alignment,
|
|
312
|
-
);
|
|
301
|
+
const streamRef = this.createImageAppearanceStream(widget, image, alignment);
|
|
313
302
|
this.updateWidgetAppearances(widget, { normal: streamRef });
|
|
314
303
|
}
|
|
315
304
|
|
|
@@ -760,8 +749,7 @@ export default class PDFTextField extends PDFField {
|
|
|
760
749
|
const widgets = this.acroField.getWidgets();
|
|
761
750
|
for (let idx = 0, len = widgets.length; idx < len; idx++) {
|
|
762
751
|
const widget = widgets[idx];
|
|
763
|
-
const hasAppearances =
|
|
764
|
-
widget.getAppearances()?.normal instanceof PDFStream;
|
|
752
|
+
const hasAppearances = widget.getAppearances()?.normal instanceof PDFStream;
|
|
765
753
|
if (!hasAppearances) return true;
|
|
766
754
|
}
|
|
767
755
|
|
|
@@ -799,10 +787,7 @@ export default class PDFTextField extends PDFField {
|
|
|
799
787
|
* @param provider Optionally, the appearance provider to be used for
|
|
800
788
|
* generating the contents of the appearance streams.
|
|
801
789
|
*/
|
|
802
|
-
updateAppearances(
|
|
803
|
-
font: PDFFont,
|
|
804
|
-
provider?: AppearanceProviderFor<PDFTextField>,
|
|
805
|
-
) {
|
|
790
|
+
updateAppearances(font: PDFFont, provider?: AppearanceProviderFor<PDFTextField>) {
|
|
806
791
|
assertIs(font, 'font', [[PDFFont, 'PDFFont']]);
|
|
807
792
|
assertOrUndefined(provider, 'provider', [Function]);
|
|
808
793
|
|
|
@@ -16,14 +16,7 @@ import {
|
|
|
16
16
|
drawTextField,
|
|
17
17
|
drawOptionList,
|
|
18
18
|
} from '../operations';
|
|
19
|
-
import {
|
|
20
|
-
rgb,
|
|
21
|
-
componentsToColor,
|
|
22
|
-
setFillingColor,
|
|
23
|
-
grayscale,
|
|
24
|
-
cmyk,
|
|
25
|
-
Color,
|
|
26
|
-
} from '../colors';
|
|
19
|
+
import { rgb, componentsToColor, setFillingColor, grayscale, cmyk, Color } from '../colors';
|
|
27
20
|
import { reduceRotation, adjustDimsForRotation } from '../rotations';
|
|
28
21
|
import {
|
|
29
22
|
layoutMultilineText,
|
|
@@ -114,9 +107,7 @@ export const normalizeAppearance = <T extends Object>(
|
|
|
114
107
|
// `/HeBo 8.00 Tf` -> ['/HeBo 8 Tf', 'HeBo', '8.00']
|
|
115
108
|
const tfRegex = /\/([^\s]+)\s+(\d+(?:\.\d+)?)\s+Tf/;
|
|
116
109
|
|
|
117
|
-
const getDefaultFontSize = (field: {
|
|
118
|
-
getDefaultAppearance(): string | undefined;
|
|
119
|
-
}) => {
|
|
110
|
+
const getDefaultFontSize = (field: { getDefaultAppearance(): string | undefined }) => {
|
|
120
111
|
const da = field.getDefaultAppearance() ?? '';
|
|
121
112
|
const daMatch = findLastMatch(da, tfRegex).match ?? [];
|
|
122
113
|
const defaultFontSize = Number(daMatch[2]);
|
|
@@ -127,11 +118,10 @@ const getDefaultFontSize = (field: {
|
|
|
127
118
|
// `0.3 g` -> ['0.3', 'g']
|
|
128
119
|
// `0.3 1 .3 rg` -> ['0.3', '1', '.3', 'rg']
|
|
129
120
|
// `0.3 1 .3 0 k` -> ['0.3', '1', '.3', '0', 'k']
|
|
130
|
-
const colorRegex =
|
|
121
|
+
const colorRegex =
|
|
122
|
+
/(\d+(?:\.\d+)?)\s*(\d+(?:\.\d+)?)?\s*(\d+(?:\.\d+)?)?\s*(\d+(?:\.\d+)?)?\s+(g|rg|k)/;
|
|
131
123
|
|
|
132
|
-
const getDefaultColor = (field: {
|
|
133
|
-
getDefaultAppearance(): string | undefined;
|
|
134
|
-
}) => {
|
|
124
|
+
const getDefaultColor = (field: { getDefaultAppearance(): string | undefined }) => {
|
|
135
125
|
const da = field.getDefaultAppearance() ?? '';
|
|
136
126
|
const daMatch = findLastMatch(da, colorRegex).match;
|
|
137
127
|
|
|
@@ -163,9 +153,10 @@ const updateDefaultAppearance = (
|
|
|
163
153
|
field.setDefaultAppearance(da);
|
|
164
154
|
};
|
|
165
155
|
|
|
166
|
-
export const defaultCheckBoxAppearanceProvider: AppearanceProviderFor<
|
|
167
|
-
|
|
168
|
-
|
|
156
|
+
export const defaultCheckBoxAppearanceProvider: AppearanceProviderFor<PDFCheckBox> = (
|
|
157
|
+
checkBox,
|
|
158
|
+
widget,
|
|
159
|
+
) => {
|
|
169
160
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
170
161
|
const widgetColor = getDefaultColor(widget);
|
|
171
162
|
const fieldColor = getDefaultColor(checkBox.acroField);
|
|
@@ -244,9 +235,10 @@ export const defaultCheckBoxAppearanceProvider: AppearanceProviderFor<
|
|
|
244
235
|
};
|
|
245
236
|
};
|
|
246
237
|
|
|
247
|
-
export const defaultRadioGroupAppearanceProvider: AppearanceProviderFor<
|
|
248
|
-
|
|
249
|
-
|
|
238
|
+
export const defaultRadioGroupAppearanceProvider: AppearanceProviderFor<PDFRadioGroup> = (
|
|
239
|
+
radioGroup,
|
|
240
|
+
widget,
|
|
241
|
+
) => {
|
|
250
242
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
251
243
|
const widgetColor = getDefaultColor(widget);
|
|
252
244
|
const fieldColor = getDefaultColor(radioGroup.acroField);
|
|
@@ -324,9 +316,11 @@ export const defaultRadioGroupAppearanceProvider: AppearanceProviderFor<
|
|
|
324
316
|
};
|
|
325
317
|
};
|
|
326
318
|
|
|
327
|
-
export const defaultButtonAppearanceProvider: AppearanceProviderFor<
|
|
328
|
-
|
|
329
|
-
|
|
319
|
+
export const defaultButtonAppearanceProvider: AppearanceProviderFor<PDFButton> = (
|
|
320
|
+
button,
|
|
321
|
+
widget,
|
|
322
|
+
font,
|
|
323
|
+
) => {
|
|
330
324
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
331
325
|
const widgetColor = getDefaultColor(widget);
|
|
332
326
|
const fieldColor = getDefaultColor(button.acroField);
|
|
@@ -412,9 +406,11 @@ export const defaultButtonAppearanceProvider: AppearanceProviderFor<
|
|
|
412
406
|
};
|
|
413
407
|
};
|
|
414
408
|
|
|
415
|
-
export const defaultTextFieldAppearanceProvider: AppearanceProviderFor<
|
|
416
|
-
|
|
417
|
-
|
|
409
|
+
export const defaultTextFieldAppearanceProvider: AppearanceProviderFor<PDFTextField> = (
|
|
410
|
+
textField,
|
|
411
|
+
widget,
|
|
412
|
+
font,
|
|
413
|
+
) => {
|
|
418
414
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
419
415
|
const widgetColor = getDefaultColor(widget);
|
|
420
416
|
const fieldColor = getDefaultColor(textField.acroField);
|
|
@@ -502,9 +498,11 @@ export const defaultTextFieldAppearanceProvider: AppearanceProviderFor<
|
|
|
502
498
|
return [...rotate, ...drawTextField(options)];
|
|
503
499
|
};
|
|
504
500
|
|
|
505
|
-
export const defaultDropdownAppearanceProvider: AppearanceProviderFor<
|
|
506
|
-
|
|
507
|
-
|
|
501
|
+
export const defaultDropdownAppearanceProvider: AppearanceProviderFor<PDFDropdown> = (
|
|
502
|
+
dropdown,
|
|
503
|
+
widget,
|
|
504
|
+
font,
|
|
505
|
+
) => {
|
|
508
506
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
509
507
|
const widgetColor = getDefaultColor(widget);
|
|
510
508
|
const fieldColor = getDefaultColor(dropdown.acroField);
|
|
@@ -567,9 +565,11 @@ export const defaultDropdownAppearanceProvider: AppearanceProviderFor<
|
|
|
567
565
|
return [...rotate, ...drawTextField(options)];
|
|
568
566
|
};
|
|
569
567
|
|
|
570
|
-
export const defaultOptionListAppearanceProvider: AppearanceProviderFor<
|
|
571
|
-
|
|
572
|
-
|
|
568
|
+
export const defaultOptionListAppearanceProvider: AppearanceProviderFor<PDFOptionList> = (
|
|
569
|
+
optionList,
|
|
570
|
+
widget,
|
|
571
|
+
font,
|
|
572
|
+
) => {
|
|
573
573
|
// The `/DA` entry can be at the widget or field level - so we handle both
|
|
574
574
|
const widgetColor = getDefaultColor(widget);
|
|
575
575
|
const fieldColor = getDefaultColor(optionList.acroField);
|
package/src/api/operations.ts
CHANGED
|
@@ -39,7 +39,7 @@ import { Rotation, degrees, toRadians } from './rotations';
|
|
|
39
39
|
import { svgPathToOperators } from './svgPath';
|
|
40
40
|
import { PDFHexString, PDFName, PDFNumber, PDFOperator } from '../core';
|
|
41
41
|
import { asNumber } from './objects';
|
|
42
|
-
import type { Space, TransformationMatrix } from '../types'
|
|
42
|
+
import type { Space, TransformationMatrix } from '../types';
|
|
43
43
|
|
|
44
44
|
export interface DrawTextOptions {
|
|
45
45
|
color: Color;
|
|
@@ -55,27 +55,18 @@ export interface DrawTextOptions {
|
|
|
55
55
|
clipSpaces?: Space[];
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
const clipSpace = ({
|
|
59
|
-
topLeft,
|
|
60
|
-
topRight,
|
|
61
|
-
bottomRight,
|
|
62
|
-
bottomLeft
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
clip(),
|
|
71
|
-
endPath(),
|
|
72
|
-
]
|
|
73
|
-
const clipSpaces = (spaces: Space[]) => spaces.flatMap(clipSpace)
|
|
74
|
-
|
|
75
|
-
export const drawText = (
|
|
76
|
-
line: PDFHexString,
|
|
77
|
-
options: DrawTextOptions,
|
|
78
|
-
): PDFOperator[] =>
|
|
58
|
+
const clipSpace = ({ topLeft, topRight, bottomRight, bottomLeft }: Space) => [
|
|
59
|
+
moveTo(topLeft.x, topLeft.y),
|
|
60
|
+
lineTo(topRight.x, topRight.y),
|
|
61
|
+
lineTo(bottomRight.x, bottomRight.y),
|
|
62
|
+
lineTo(bottomLeft.x, bottomLeft.y),
|
|
63
|
+
closePath(),
|
|
64
|
+
clip(),
|
|
65
|
+
endPath(),
|
|
66
|
+
];
|
|
67
|
+
const clipSpaces = (spaces: Space[]) => spaces.flatMap(clipSpace);
|
|
68
|
+
|
|
69
|
+
export const drawText = (line: PDFHexString, options: DrawTextOptions): PDFOperator[] =>
|
|
79
70
|
[
|
|
80
71
|
pushGraphicsState(),
|
|
81
72
|
options.graphicsState && setGraphicsState(options.graphicsState),
|
|
@@ -228,7 +219,7 @@ export const drawRectangle = (options: {
|
|
|
228
219
|
radius?: number | PDFNumber;
|
|
229
220
|
}) => {
|
|
230
221
|
let ops = [];
|
|
231
|
-
|
|
222
|
+
|
|
232
223
|
if (!options.radius || asNumber(options.radius) <= 0) {
|
|
233
224
|
ops = [
|
|
234
225
|
moveTo(0, 0),
|
|
@@ -252,7 +243,14 @@ export const drawRectangle = (options: {
|
|
|
252
243
|
lineTo(width - radius, 0),
|
|
253
244
|
appendBezierCurve(width - radius + offset, 0, width, radius - offset, width, radius),
|
|
254
245
|
lineTo(width, height - radius),
|
|
255
|
-
appendBezierCurve(
|
|
246
|
+
appendBezierCurve(
|
|
247
|
+
width,
|
|
248
|
+
height - radius + offset,
|
|
249
|
+
width - radius + offset,
|
|
250
|
+
height,
|
|
251
|
+
width - radius,
|
|
252
|
+
height,
|
|
253
|
+
),
|
|
256
254
|
lineTo(radius, height),
|
|
257
255
|
appendBezierCurve(radius - offset, height, 0, height - radius + offset, 0, height - radius),
|
|
258
256
|
closePath(),
|
|
@@ -283,7 +281,7 @@ export const drawRectangle = (options: {
|
|
|
283
281
|
|
|
284
282
|
popGraphicsState(),
|
|
285
283
|
].filter(Boolean) as PDFOperator[];
|
|
286
|
-
}
|
|
284
|
+
};
|
|
287
285
|
|
|
288
286
|
const KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0);
|
|
289
287
|
|
package/src/api/operators.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { asNumber, asPDFName, asPDFNumber } from './objects';
|
|
2
2
|
import { degreesToRadians } from './rotations';
|
|
3
|
-
import {
|
|
4
|
-
PDFHexString,
|
|
5
|
-
PDFName,
|
|
6
|
-
PDFNumber,
|
|
7
|
-
PDFOperator,
|
|
8
|
-
PDFOperatorNames as Ops,
|
|
9
|
-
} from '../core';
|
|
3
|
+
import { PDFHexString, PDFName, PDFNumber, PDFOperator, PDFOperatorNames as Ops } from '../core';
|
|
10
4
|
|
|
11
5
|
/* ==================== Clipping Path Operators ==================== */
|
|
12
6
|
|
|
@@ -53,32 +47,13 @@ export const rotateRadians = (angle: number | PDFNumber) =>
|
|
|
53
47
|
export const rotateDegrees = (angle: number | PDFNumber) =>
|
|
54
48
|
rotateRadians(degreesToRadians(asNumber(angle)));
|
|
55
49
|
|
|
56
|
-
export const skewRadians = (
|
|
57
|
-
xSkewAngle
|
|
58
|
-
ySkewAngle: number | PDFNumber,
|
|
59
|
-
) =>
|
|
60
|
-
concatTransformationMatrix(
|
|
61
|
-
1,
|
|
62
|
-
tan(asNumber(xSkewAngle)),
|
|
63
|
-
tan(asNumber(ySkewAngle)),
|
|
64
|
-
1,
|
|
65
|
-
0,
|
|
66
|
-
0,
|
|
67
|
-
);
|
|
50
|
+
export const skewRadians = (xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber) =>
|
|
51
|
+
concatTransformationMatrix(1, tan(asNumber(xSkewAngle)), tan(asNumber(ySkewAngle)), 1, 0, 0);
|
|
68
52
|
|
|
69
|
-
export const skewDegrees = (
|
|
70
|
-
xSkewAngle
|
|
71
|
-
ySkewAngle: number | PDFNumber,
|
|
72
|
-
) =>
|
|
73
|
-
skewRadians(
|
|
74
|
-
degreesToRadians(asNumber(xSkewAngle)),
|
|
75
|
-
degreesToRadians(asNumber(ySkewAngle)),
|
|
76
|
-
);
|
|
53
|
+
export const skewDegrees = (xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber) =>
|
|
54
|
+
skewRadians(degreesToRadians(asNumber(xSkewAngle)), degreesToRadians(asNumber(ySkewAngle)));
|
|
77
55
|
|
|
78
|
-
export const setDashPattern = (
|
|
79
|
-
dashArray: (number | PDFNumber)[],
|
|
80
|
-
dashPhase: number | PDFNumber,
|
|
81
|
-
) =>
|
|
56
|
+
export const setDashPattern = (dashArray: (number | PDFNumber)[], dashPhase: number | PDFNumber) =>
|
|
82
57
|
PDFOperator.of(Ops.SetLineDashPattern, [
|
|
83
58
|
`[${dashArray.map(asPDFNumber).join(' ')}]`,
|
|
84
59
|
asPDFNumber(dashPhase),
|
|
@@ -187,7 +162,7 @@ export const stroke = () => PDFOperator.of(Ops.StrokePath);
|
|
|
187
162
|
|
|
188
163
|
export enum FillRule {
|
|
189
164
|
NonZero = 'f',
|
|
190
|
-
EvenOdd = 'f*'
|
|
165
|
+
EvenOdd = 'f*',
|
|
191
166
|
}
|
|
192
167
|
|
|
193
168
|
export const fill = () => PDFOperator.of(Ops.FillNonZero);
|
|
@@ -207,18 +182,15 @@ export const moveText = (x: number | PDFNumber, y: number | PDFNumber) =>
|
|
|
207
182
|
|
|
208
183
|
/* ==================== Text Showing Operators ==================== */
|
|
209
184
|
|
|
210
|
-
export const showText = (text: PDFHexString) =>
|
|
211
|
-
PDFOperator.of(Ops.ShowText, [text]);
|
|
185
|
+
export const showText = (text: PDFHexString) => PDFOperator.of(Ops.ShowText, [text]);
|
|
212
186
|
|
|
213
187
|
/* ==================== Text State Operators ==================== */
|
|
214
188
|
|
|
215
189
|
export const beginText = () => PDFOperator.of(Ops.BeginText);
|
|
216
190
|
export const endText = () => PDFOperator.of(Ops.EndText);
|
|
217
191
|
|
|
218
|
-
export const setFontAndSize = (
|
|
219
|
-
name
|
|
220
|
-
size: number | PDFNumber,
|
|
221
|
-
) => PDFOperator.of(Ops.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]);
|
|
192
|
+
export const setFontAndSize = (name: string | PDFName, size: number | PDFNumber) =>
|
|
193
|
+
PDFOperator.of(Ops.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]);
|
|
222
194
|
|
|
223
195
|
export const setCharacterSpacing = (spacing: number | PDFNumber) =>
|
|
224
196
|
PDFOperator.of(Ops.SetCharacterSpacing, [asPDFNumber(spacing)]);
|
|
@@ -327,11 +299,7 @@ export const setStrokingRgbColor = (
|
|
|
327
299
|
green: number | PDFNumber,
|
|
328
300
|
blue: number | PDFNumber,
|
|
329
301
|
) =>
|
|
330
|
-
PDFOperator.of(Ops.StrokingColorRgb, [
|
|
331
|
-
asPDFNumber(red),
|
|
332
|
-
asPDFNumber(green),
|
|
333
|
-
asPDFNumber(blue),
|
|
334
|
-
]);
|
|
302
|
+
PDFOperator.of(Ops.StrokingColorRgb, [asPDFNumber(red), asPDFNumber(green), asPDFNumber(blue)]);
|
|
335
303
|
|
|
336
304
|
export const setFillingCmykColor = (
|
|
337
305
|
cyan: number | PDFNumber,
|
package/src/api/rotations.ts
CHANGED
|
@@ -53,10 +53,7 @@ export const reduceRotation = (degreeAngle = 0) => {
|
|
|
53
53
|
return 0; // `degreeAngle` is not a multiple of 90
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
export const adjustDimsForRotation = (
|
|
57
|
-
dims: { width: number; height: number },
|
|
58
|
-
degreeAngle = 0,
|
|
59
|
-
) => {
|
|
56
|
+
export const adjustDimsForRotation = (dims: { width: number; height: number }, degreeAngle = 0) => {
|
|
60
57
|
const rotation = reduceRotation(degreeAngle);
|
|
61
58
|
return rotation === 90 || rotation === 270
|
|
62
59
|
? { width: dims.height, height: dims.width }
|