@pdfme/pdf-lib 5.4.0-dev.63 → 5.4.0-dev.65
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
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
import DecodeStream from './DecodeStream';
|
|
10
10
|
import { StreamType } from './Stream';
|
|
11
11
|
|
|
12
|
-
const isSpace = (ch: number) =>
|
|
13
|
-
ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;
|
|
12
|
+
const isSpace = (ch: number) => ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;
|
|
14
13
|
|
|
15
14
|
class Ascii85Stream extends DecodeStream {
|
|
16
15
|
private stream: StreamType;
|
|
@@ -3,10 +3,7 @@ import { StreamType } from './Stream';
|
|
|
3
3
|
|
|
4
4
|
const chunkSize = 512;
|
|
5
5
|
|
|
6
|
-
type DecryptFnType = (
|
|
7
|
-
arg1: Uint8Array | Uint8ClampedArray,
|
|
8
|
-
arg2: boolean,
|
|
9
|
-
) => Uint8Array;
|
|
6
|
+
type DecryptFnType = (arg1: Uint8Array | Uint8ClampedArray, arg2: boolean) => Uint8Array;
|
|
10
7
|
|
|
11
8
|
class DecryptStream extends DecodeStream {
|
|
12
9
|
private stream: StreamType;
|
|
@@ -14,11 +11,7 @@ class DecryptStream extends DecodeStream {
|
|
|
14
11
|
private nextChunk: Uint8Array | Uint8ClampedArray | null;
|
|
15
12
|
private decrypt: DecryptFnType;
|
|
16
13
|
|
|
17
|
-
constructor(
|
|
18
|
-
stream: StreamType,
|
|
19
|
-
decrypt: DecryptFnType,
|
|
20
|
-
maybeLength?: number,
|
|
21
|
-
) {
|
|
14
|
+
constructor(stream: StreamType, decrypt: DecryptFnType, maybeLength?: number) {
|
|
22
15
|
super(maybeLength);
|
|
23
16
|
|
|
24
17
|
this.stream = stream;
|
|
@@ -131,9 +131,7 @@ class FlateStream extends DecodeStream {
|
|
|
131
131
|
throw new Error(`Invalid header in flate stream: ${cmf}, ${flg}`);
|
|
132
132
|
}
|
|
133
133
|
if ((cmf & 0x0f) !== 0x08) {
|
|
134
|
-
throw new Error(
|
|
135
|
-
`Unknown compression method in flate stream: ${cmf}, ${flg}`,
|
|
136
|
-
);
|
|
134
|
+
throw new Error(`Unknown compression method in flate stream: ${cmf}, ${flg}`);
|
|
137
135
|
}
|
|
138
136
|
if (((cmf << 8) + flg) % 31 !== 0) {
|
|
139
137
|
throw new Error(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);
|
|
@@ -259,12 +257,8 @@ class FlateStream extends DecodeStream {
|
|
|
259
257
|
}
|
|
260
258
|
}
|
|
261
259
|
|
|
262
|
-
litCodeTable = this.generateHuffmanTable(
|
|
263
|
-
|
|
264
|
-
);
|
|
265
|
-
distCodeTable = this.generateHuffmanTable(
|
|
266
|
-
codeLengths.subarray(numLitCodes, codes),
|
|
267
|
-
);
|
|
260
|
+
litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));
|
|
261
|
+
distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));
|
|
268
262
|
} else {
|
|
269
263
|
throw new Error('Unknown block type in flate stream');
|
|
270
264
|
}
|
|
@@ -376,11 +370,7 @@ class FlateStream extends DecodeStream {
|
|
|
376
370
|
// build the table
|
|
377
371
|
const size = 1 << maxLen;
|
|
378
372
|
const codes = new Int32Array(size);
|
|
379
|
-
for (
|
|
380
|
-
let len = 1, code = 0, skip = 2;
|
|
381
|
-
len <= maxLen;
|
|
382
|
-
++len, code <<= 1, skip <<= 1
|
|
383
|
-
) {
|
|
373
|
+
for (let len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {
|
|
384
374
|
for (let val = 0; val < n; ++val) {
|
|
385
375
|
if (lengths[val] === len) {
|
|
386
376
|
// bit-reverse the code
|
|
@@ -25,11 +25,7 @@ class LZWStream extends DecodeStream {
|
|
|
25
25
|
prevCode?: number | null;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
constructor(
|
|
29
|
-
stream: StreamType,
|
|
30
|
-
maybeLength: number | undefined,
|
|
31
|
-
earlyChange: 0 | 1,
|
|
32
|
-
) {
|
|
28
|
+
constructor(stream: StreamType, maybeLength: number | undefined, earlyChange: 0 | 1) {
|
|
33
29
|
super(maybeLength);
|
|
34
30
|
|
|
35
31
|
this.stream = stream;
|
|
@@ -117,10 +113,7 @@ class LZWStream extends DecodeStream {
|
|
|
117
113
|
codeLength =
|
|
118
114
|
(nextCode + earlyChange) & (nextCode + earlyChange - 1)
|
|
119
115
|
? codeLength
|
|
120
|
-
: Math.min(
|
|
121
|
-
Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1,
|
|
122
|
-
12,
|
|
123
|
-
) | 0;
|
|
116
|
+
: Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;
|
|
124
117
|
}
|
|
125
118
|
prevCode = code;
|
|
126
119
|
|
|
@@ -11,15 +11,9 @@ export interface StreamType {
|
|
|
11
11
|
getByte(): number;
|
|
12
12
|
getUint16(): number;
|
|
13
13
|
getInt32(): number;
|
|
14
|
-
getBytes(
|
|
15
|
-
length: number,
|
|
16
|
-
forceClamped?: boolean,
|
|
17
|
-
): Uint8Array | Uint8ClampedArray;
|
|
14
|
+
getBytes(length: number, forceClamped?: boolean): Uint8Array | Uint8ClampedArray;
|
|
18
15
|
peekByte(): number;
|
|
19
|
-
peekBytes(
|
|
20
|
-
length: number,
|
|
21
|
-
forceClamped?: boolean,
|
|
22
|
-
): Uint8Array | Uint8ClampedArray;
|
|
16
|
+
peekBytes(length: number, forceClamped?: boolean): Uint8Array | Uint8ClampedArray;
|
|
23
17
|
skip(n: number): void;
|
|
24
18
|
reset(): void;
|
|
25
19
|
makeSubStream(start: number, length: number): StreamType;
|
|
@@ -42,11 +42,7 @@ const decodeStream = (
|
|
|
42
42
|
throw new UnsupportedEncodingError(encoding.asString());
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
export const decodePDFRawStream = ({
|
|
46
|
-
dict,
|
|
47
|
-
contents,
|
|
48
|
-
transform,
|
|
49
|
-
}: PDFRawStream) => {
|
|
45
|
+
export const decodePDFRawStream = ({ dict, contents, transform }: PDFRawStream) => {
|
|
50
46
|
let stream: StreamType = new Stream(contents);
|
|
51
47
|
|
|
52
48
|
if (transform) {
|
|
@@ -57,11 +53,7 @@ export const decodePDFRawStream = ({
|
|
|
57
53
|
const DecodeParms = dict.lookup(PDFName.of('DecodeParms'));
|
|
58
54
|
|
|
59
55
|
if (Filter instanceof PDFName) {
|
|
60
|
-
stream = decodeStream(
|
|
61
|
-
stream,
|
|
62
|
-
Filter,
|
|
63
|
-
DecodeParms as PDFDict | typeof PDFNull | undefined,
|
|
64
|
-
);
|
|
56
|
+
stream = decodeStream(stream, Filter, DecodeParms as PDFDict | typeof PDFNull | undefined);
|
|
65
57
|
} else if (Filter instanceof PDFArray) {
|
|
66
58
|
for (let idx = 0, len = Filter.size(); idx < len; idx++) {
|
|
67
59
|
stream = decodeStream(
|
|
@@ -7,18 +7,14 @@ import { PDFAcroForm } from '../acroform';
|
|
|
7
7
|
import ViewerPreferences from '../interactive/ViewerPreferences';
|
|
8
8
|
|
|
9
9
|
class PDFCatalog extends PDFDict {
|
|
10
|
-
static withContextAndPages = (
|
|
11
|
-
context: PDFContext,
|
|
12
|
-
pages: PDFPageTree | PDFRef,
|
|
13
|
-
) => {
|
|
10
|
+
static withContextAndPages = (context: PDFContext, pages: PDFPageTree | PDFRef) => {
|
|
14
11
|
const dict = new Map();
|
|
15
12
|
dict.set(PDFName.of('Type'), PDFName.of('Catalog'));
|
|
16
13
|
dict.set(PDFName.of('Pages'), pages);
|
|
17
14
|
return new PDFCatalog(dict, context);
|
|
18
15
|
};
|
|
19
16
|
|
|
20
|
-
static fromMapWithContext = (map: DictMap, context: PDFContext) =>
|
|
21
|
-
new PDFCatalog(map, context);
|
|
17
|
+
static fromMapWithContext = (map: DictMap, context: PDFContext) => new PDFCatalog(map, context);
|
|
22
18
|
|
|
23
19
|
Pages(): PDFPageTree {
|
|
24
20
|
return this.lookup(PDFName.of('Pages'), PDFDict) as PDFPageTree;
|
|
@@ -102,11 +102,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
102
102
|
const byteWidths = this.maxByteWidthsCache.access();
|
|
103
103
|
let value = '';
|
|
104
104
|
|
|
105
|
-
for (
|
|
106
|
-
let entryIdx = 0, entriesLen = entryTuples.length;
|
|
107
|
-
entryIdx < entriesLen;
|
|
108
|
-
entryIdx++
|
|
109
|
-
) {
|
|
105
|
+
for (let entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {
|
|
110
106
|
const [first, second, third] = entryTuples[entryIdx];
|
|
111
107
|
|
|
112
108
|
const firstBytes = reverseArray(bytesFor(first));
|
|
@@ -133,11 +129,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
133
129
|
const buffer = new Uint8Array(this.getUnencodedContentsSize());
|
|
134
130
|
|
|
135
131
|
let offset = 0;
|
|
136
|
-
for (
|
|
137
|
-
let entryIdx = 0, entriesLen = entryTuples.length;
|
|
138
|
-
entryIdx < entriesLen;
|
|
139
|
-
entryIdx++
|
|
140
|
-
) {
|
|
132
|
+
for (let entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {
|
|
141
133
|
const [first, second, third] = entryTuples[entryIdx];
|
|
142
134
|
|
|
143
135
|
const firstBytes = reverseArray(bytesFor(first));
|
|
@@ -33,10 +33,7 @@ class PDFFlateStream extends PDFStream {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
getUnencodedContents(): Uint8Array {
|
|
36
|
-
throw new MethodNotImplementedError(
|
|
37
|
-
this.constructor.name,
|
|
38
|
-
'getUnencodedContents',
|
|
39
|
-
);
|
|
36
|
+
throw new MethodNotImplementedError(this.constructor.name, 'getUnencodedContents');
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
|
|
@@ -10,21 +10,14 @@ import { copyStringIntoBuffer, last } from '../../utils';
|
|
|
10
10
|
export type IndirectObject = [PDFRef, PDFObject];
|
|
11
11
|
|
|
12
12
|
class PDFObjectStream extends PDFFlateStream {
|
|
13
|
-
static withContextAndObjects = (
|
|
14
|
-
context
|
|
15
|
-
objects: IndirectObject[],
|
|
16
|
-
encode = true,
|
|
17
|
-
) => new PDFObjectStream(context, objects, encode);
|
|
13
|
+
static withContextAndObjects = (context: PDFContext, objects: IndirectObject[], encode = true) =>
|
|
14
|
+
new PDFObjectStream(context, objects, encode);
|
|
18
15
|
|
|
19
16
|
private readonly objects: IndirectObject[];
|
|
20
17
|
private readonly offsets: [number, number][];
|
|
21
18
|
private readonly offsetsString: string;
|
|
22
19
|
|
|
23
|
-
private constructor(
|
|
24
|
-
context: PDFContext,
|
|
25
|
-
objects: IndirectObject[],
|
|
26
|
-
encode = true,
|
|
27
|
-
) {
|
|
20
|
+
private constructor(context: PDFContext, objects: IndirectObject[], encode = true) {
|
|
28
21
|
super(context.obj({}), encode);
|
|
29
22
|
|
|
30
23
|
this.objects = objects;
|
|
@@ -70,10 +63,7 @@ class PDFObjectStream extends PDFFlateStream {
|
|
|
70
63
|
|
|
71
64
|
getUnencodedContentsSize(): number {
|
|
72
65
|
return (
|
|
73
|
-
this.offsetsString.length +
|
|
74
|
-
last(this.offsets)[1] +
|
|
75
|
-
last(this.objects)[1].sizeInBytes() +
|
|
76
|
-
1
|
|
66
|
+
this.offsetsString.length + last(this.offsets)[1] + last(this.objects)[1].sizeInBytes() + 1
|
|
77
67
|
);
|
|
78
68
|
}
|
|
79
69
|
|
|
@@ -9,12 +9,7 @@ import PDFContext from '../PDFContext';
|
|
|
9
9
|
import PDFPageTree from './PDFPageTree';
|
|
10
10
|
|
|
11
11
|
class PDFPageLeaf extends PDFDict {
|
|
12
|
-
static readonly InheritableEntries = [
|
|
13
|
-
'Resources',
|
|
14
|
-
'MediaBox',
|
|
15
|
-
'CropBox',
|
|
16
|
-
'Rotate',
|
|
17
|
-
];
|
|
12
|
+
static readonly InheritableEntries = ['Resources', 'MediaBox', 'CropBox', 'Rotate'];
|
|
18
13
|
|
|
19
14
|
static withContextAndParent = (context: PDFContext, parent: PDFRef) => {
|
|
20
15
|
const dict = new Map();
|
|
@@ -25,20 +20,13 @@ class PDFPageLeaf extends PDFDict {
|
|
|
25
20
|
return new PDFPageLeaf(dict, context, false);
|
|
26
21
|
};
|
|
27
22
|
|
|
28
|
-
static fromMapWithContext = (
|
|
29
|
-
map
|
|
30
|
-
context: PDFContext,
|
|
31
|
-
autoNormalizeCTM = true,
|
|
32
|
-
) => new PDFPageLeaf(map, context, autoNormalizeCTM);
|
|
23
|
+
static fromMapWithContext = (map: DictMap, context: PDFContext, autoNormalizeCTM = true) =>
|
|
24
|
+
new PDFPageLeaf(map, context, autoNormalizeCTM);
|
|
33
25
|
|
|
34
26
|
private normalized = false;
|
|
35
27
|
private readonly autoNormalizeCTM: boolean;
|
|
36
28
|
|
|
37
|
-
private constructor(
|
|
38
|
-
map: DictMap,
|
|
39
|
-
context: PDFContext,
|
|
40
|
-
autoNormalizeCTM = true,
|
|
41
|
-
) {
|
|
29
|
+
private constructor(map: DictMap, context: PDFContext, autoNormalizeCTM = true) {
|
|
42
30
|
super(map, context);
|
|
43
31
|
this.autoNormalizeCTM = autoNormalizeCTM;
|
|
44
32
|
}
|
|
@@ -62,10 +50,7 @@ class PDFPageLeaf extends PDFDict {
|
|
|
62
50
|
}
|
|
63
51
|
|
|
64
52
|
Contents(): PDFStream | PDFArray | undefined {
|
|
65
|
-
return this.lookup(PDFName.of('Contents')) as
|
|
66
|
-
| PDFStream
|
|
67
|
-
| PDFArray
|
|
68
|
-
| undefined;
|
|
53
|
+
return this.lookup(PDFName.of('Contents')) as PDFStream | PDFArray | undefined;
|
|
69
54
|
}
|
|
70
55
|
|
|
71
56
|
Annots(): PDFArray | undefined {
|
|
@@ -219,23 +204,19 @@ class PDFPageLeaf extends PDFDict {
|
|
|
219
204
|
|
|
220
205
|
// TODO: Clone `Resources` if it is inherited
|
|
221
206
|
const dictOrRef = this.getInheritableAttribute(PDFName.Resources);
|
|
222
|
-
const Resources =
|
|
223
|
-
context.lookupMaybe(dictOrRef, PDFDict) || context.obj({});
|
|
207
|
+
const Resources = context.lookupMaybe(dictOrRef, PDFDict) || context.obj({});
|
|
224
208
|
this.set(PDFName.Resources, Resources);
|
|
225
209
|
|
|
226
210
|
// TODO: Clone `Font` if it is inherited
|
|
227
|
-
const Font =
|
|
228
|
-
Resources.lookupMaybe(PDFName.Font, PDFDict) || context.obj({});
|
|
211
|
+
const Font = Resources.lookupMaybe(PDFName.Font, PDFDict) || context.obj({});
|
|
229
212
|
Resources.set(PDFName.Font, Font);
|
|
230
213
|
|
|
231
214
|
// TODO: Clone `XObject` if it is inherited
|
|
232
|
-
const XObject =
|
|
233
|
-
Resources.lookupMaybe(PDFName.XObject, PDFDict) || context.obj({});
|
|
215
|
+
const XObject = Resources.lookupMaybe(PDFName.XObject, PDFDict) || context.obj({});
|
|
234
216
|
Resources.set(PDFName.XObject, XObject);
|
|
235
217
|
|
|
236
218
|
// TODO: Clone `ExtGState` if it is inherited
|
|
237
|
-
const ExtGState =
|
|
238
|
-
Resources.lookupMaybe(PDFName.ExtGState, PDFDict) || context.obj({});
|
|
219
|
+
const ExtGState = Resources.lookupMaybe(PDFName.ExtGState, PDFDict) || context.obj({});
|
|
239
220
|
Resources.set(PDFName.ExtGState, ExtGState);
|
|
240
221
|
|
|
241
222
|
const Annots = this.Annots() || context.obj([]);
|
|
@@ -19,8 +19,7 @@ class PDFPageTree extends PDFDict {
|
|
|
19
19
|
return new PDFPageTree(dict, context);
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
static fromMapWithContext = (map: DictMap, context: PDFContext) =>
|
|
23
|
-
new PDFPageTree(map, context);
|
|
22
|
+
static fromMapWithContext = (map: DictMap, context: PDFContext) => new PDFPageTree(map, context);
|
|
24
23
|
|
|
25
24
|
Parent(): PDFPageTree | undefined {
|
|
26
25
|
return this.lookup(PDFName.of('Parent')) as PDFPageTree | undefined;
|
|
@@ -75,9 +74,7 @@ class PDFPageTree extends PDFDict {
|
|
|
75
74
|
if (kid instanceof PDFPageTree) {
|
|
76
75
|
if (kid.Count().asNumber() > leafsRemainingUntilTarget) {
|
|
77
76
|
// Dig in
|
|
78
|
-
return (
|
|
79
|
-
kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef
|
|
80
|
-
);
|
|
77
|
+
return kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef;
|
|
81
78
|
} else {
|
|
82
79
|
// Move on
|
|
83
80
|
leafsRemainingUntilTarget -= kid.Count().asNumber();
|
|
@@ -2,14 +2,7 @@ import CharCodes from './CharCodes';
|
|
|
2
2
|
|
|
3
3
|
const { Space, CarriageReturn, Newline } = CharCodes;
|
|
4
4
|
|
|
5
|
-
const stream = [
|
|
6
|
-
CharCodes.s,
|
|
7
|
-
CharCodes.t,
|
|
8
|
-
CharCodes.r,
|
|
9
|
-
CharCodes.e,
|
|
10
|
-
CharCodes.a,
|
|
11
|
-
CharCodes.m,
|
|
12
|
-
];
|
|
5
|
+
const stream = [CharCodes.s, CharCodes.t, CharCodes.r, CharCodes.e, CharCodes.a, CharCodes.m];
|
|
13
6
|
|
|
14
7
|
const endstream = [
|
|
15
8
|
CharCodes.e,
|
|
@@ -24,29 +17,10 @@ const endstream = [
|
|
|
24
17
|
];
|
|
25
18
|
|
|
26
19
|
export const Keywords = {
|
|
27
|
-
header: [
|
|
28
|
-
|
|
29
|
-
CharCodes.P,
|
|
30
|
-
CharCodes.D,
|
|
31
|
-
CharCodes.F,
|
|
32
|
-
CharCodes.Dash,
|
|
33
|
-
],
|
|
34
|
-
eof: [
|
|
35
|
-
CharCodes.Percent,
|
|
36
|
-
CharCodes.Percent,
|
|
37
|
-
CharCodes.E,
|
|
38
|
-
CharCodes.O,
|
|
39
|
-
CharCodes.F,
|
|
40
|
-
],
|
|
20
|
+
header: [CharCodes.Percent, CharCodes.P, CharCodes.D, CharCodes.F, CharCodes.Dash],
|
|
21
|
+
eof: [CharCodes.Percent, CharCodes.Percent, CharCodes.E, CharCodes.O, CharCodes.F],
|
|
41
22
|
obj: [CharCodes.o, CharCodes.b, CharCodes.j],
|
|
42
|
-
endobj: [
|
|
43
|
-
CharCodes.e,
|
|
44
|
-
CharCodes.n,
|
|
45
|
-
CharCodes.d,
|
|
46
|
-
CharCodes.o,
|
|
47
|
-
CharCodes.b,
|
|
48
|
-
CharCodes.j,
|
|
49
|
-
],
|
|
23
|
+
endobj: [CharCodes.e, CharCodes.n, CharCodes.d, CharCodes.o, CharCodes.b, CharCodes.j],
|
|
50
24
|
xref: [CharCodes.x, CharCodes.r, CharCodes.e, CharCodes.f],
|
|
51
25
|
trailer: [
|
|
52
26
|
CharCodes.t,
|
|
@@ -18,13 +18,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
18
18
|
objectsPerTick: number,
|
|
19
19
|
encodeStreams = true,
|
|
20
20
|
objectsPerStream = 50,
|
|
21
|
-
) =>
|
|
22
|
-
new PDFStreamWriter(
|
|
23
|
-
context,
|
|
24
|
-
objectsPerTick,
|
|
25
|
-
encodeStreams,
|
|
26
|
-
objectsPerStream,
|
|
27
|
-
);
|
|
21
|
+
) => new PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream);
|
|
28
22
|
|
|
29
23
|
private readonly encodeStreams: boolean;
|
|
30
24
|
private readonly objectsPerStream: number;
|
|
@@ -48,10 +42,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
48
42
|
|
|
49
43
|
let size = header.sizeInBytes() + 2;
|
|
50
44
|
|
|
51
|
-
const xrefStream = PDFCrossRefStream.create(
|
|
52
|
-
this.createTrailerDict(),
|
|
53
|
-
this.encodeStreams,
|
|
54
|
-
);
|
|
45
|
+
const xrefStream = PDFCrossRefStream.create(this.createTrailerDict(), this.encodeStreams);
|
|
55
46
|
|
|
56
47
|
const uncompressedObjects: [PDFRef, PDFObject][] = [];
|
|
57
48
|
const compressedObjects: [PDFRef, PDFObject][][] = [];
|
|
@@ -72,8 +72,7 @@ class PDFWriter {
|
|
|
72
72
|
buffer[offset++] = CharCodes.Newline;
|
|
73
73
|
buffer[offset++] = CharCodes.Newline;
|
|
74
74
|
|
|
75
|
-
const n =
|
|
76
|
-
object instanceof PDFObjectStream ? object.getObjectsCount() : 1;
|
|
75
|
+
const n = object instanceof PDFObjectStream ? object.getObjectsCount() : 1;
|
|
77
76
|
if (this.shouldWaitForTick(n)) await waitForTick();
|
|
78
77
|
}
|
|
79
78
|
|
|
@@ -93,10 +92,7 @@ class PDFWriter {
|
|
|
93
92
|
return buffer;
|
|
94
93
|
}
|
|
95
94
|
|
|
96
|
-
protected computeIndirectObjectSize([ref, object]: [
|
|
97
|
-
PDFRef,
|
|
98
|
-
PDFObject,
|
|
99
|
-
]): number {
|
|
95
|
+
protected computeIndirectObjectSize([ref, object]: [PDFRef, PDFObject]): number {
|
|
100
96
|
const refSize = ref.sizeInBytes() + 3; // 'R' -> 'obj\n'
|
|
101
97
|
const objectSize = object.sizeInBytes() + 9; // '\nendobj\n\n'
|
|
102
98
|
return refSize + objectSize;
|
package/src/types/fontkit.ts
CHANGED
|
@@ -54,14 +54,7 @@ export interface Path {
|
|
|
54
54
|
* Adds a bezier curve to the path from the current point to the
|
|
55
55
|
* given x, y coordinates using cp1x, cp1y and cp2x, cp2y as control points.
|
|
56
56
|
*/
|
|
57
|
-
bezierCurveTo(
|
|
58
|
-
cp1x: number,
|
|
59
|
-
cp1y: number,
|
|
60
|
-
cp2x: number,
|
|
61
|
-
cp2y: number,
|
|
62
|
-
x: number,
|
|
63
|
-
y: number,
|
|
64
|
-
): void;
|
|
57
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
|
|
65
58
|
|
|
66
59
|
/**
|
|
67
60
|
* Closes the current sub-path by drawing a straight line back to the
|
|
@@ -222,10 +215,7 @@ export interface GlyphRun {
|
|
|
222
215
|
}
|
|
223
216
|
|
|
224
217
|
export interface SubsetStream {
|
|
225
|
-
on: (
|
|
226
|
-
eventType: 'data' | 'end',
|
|
227
|
-
callback: (data: Uint8Array) => any,
|
|
228
|
-
) => SubsetStream;
|
|
218
|
+
on: (eventType: 'data' | 'end', callback: (data: Uint8Array) => any) => SubsetStream;
|
|
229
219
|
}
|
|
230
220
|
|
|
231
221
|
export type Subset = {
|
|
@@ -631,10 +621,7 @@ export interface Font {
|
|
|
631
621
|
* in addition to the default set. If this is an AAT font, the OpenType
|
|
632
622
|
* feature tags are mapped to AAT features.
|
|
633
623
|
*/
|
|
634
|
-
layout(
|
|
635
|
-
str: string,
|
|
636
|
-
features?: TypeFeatures | (keyof TypeFeatures)[],
|
|
637
|
-
): GlyphRun;
|
|
624
|
+
layout(str: string, features?: TypeFeatures | (keyof TypeFeatures)[]): GlyphRun;
|
|
638
625
|
|
|
639
626
|
// Other Methods
|
|
640
627
|
|
package/src/types/index.ts
CHANGED
|
@@ -18,21 +18,13 @@ export type Coordinates = {
|
|
|
18
18
|
y: number;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
export type GraphicElement =
|
|
22
|
-
| Arc
|
|
23
|
-
| Circle
|
|
24
|
-
| Ellipse
|
|
25
|
-
| Line
|
|
26
|
-
| Plot
|
|
27
|
-
| Point
|
|
28
|
-
| Rectangle
|
|
29
|
-
| Segment;
|
|
21
|
+
export type GraphicElement = Arc | Circle | Ellipse | Line | Plot | Point | Rectangle | Segment;
|
|
30
22
|
|
|
31
23
|
export type Space = {
|
|
32
|
-
topLeft: Coordinates
|
|
33
|
-
topRight: Coordinates
|
|
34
|
-
bottomRight: Coordinates
|
|
35
|
-
bottomLeft: Coordinates
|
|
36
|
-
|
|
24
|
+
topLeft: Coordinates;
|
|
25
|
+
topRight: Coordinates;
|
|
26
|
+
bottomRight: Coordinates;
|
|
27
|
+
bottomLeft: Coordinates;
|
|
28
|
+
};
|
|
37
29
|
|
|
38
30
|
export type LinkElement = Rectangle | Ellipse;
|
package/src/types/matrix.ts
CHANGED
|
@@ -17,13 +17,6 @@
|
|
|
17
17
|
* * Skew shall be specified by `[1 tan(a) tan(b) 1 0 0]`, which skews the
|
|
18
18
|
* x-axis by an angle `a` and the y axis by an angle `b`.
|
|
19
19
|
*/
|
|
20
|
-
export type TransformationMatrix = [
|
|
21
|
-
number,
|
|
22
|
-
number,
|
|
23
|
-
number,
|
|
24
|
-
number,
|
|
25
|
-
number,
|
|
26
|
-
number,
|
|
27
|
-
];
|
|
20
|
+
export type TransformationMatrix = [number, number, number, number, number, number];
|
|
28
21
|
|
|
29
22
|
export const identityMatrix: TransformationMatrix = [1, 0, 0, 1, 0, 0];
|
package/src/utils/arrays.ts
CHANGED
|
@@ -22,8 +22,7 @@ export const mergeIntoTypedArray = (...arrays: (string | Uint8Array)[]) => {
|
|
|
22
22
|
const typedArrays: Uint8Array[] = [];
|
|
23
23
|
for (let idx = 0; idx < arrayCount; idx++) {
|
|
24
24
|
const element = arrays[idx];
|
|
25
|
-
typedArrays[idx] =
|
|
26
|
-
element instanceof Uint8Array ? element : typedArrayFor(element);
|
|
25
|
+
typedArrays[idx] = element instanceof Uint8Array ? element : typedArrayFor(element);
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
let totalSize = 0;
|
|
@@ -139,9 +138,7 @@ export const pluckIndices = <T>(arr: T[], indices: number[]) => {
|
|
|
139
138
|
export const canBeConvertedToUint8Array = (
|
|
140
139
|
input: any,
|
|
141
140
|
): input is string | ArrayBuffer | Uint8Array =>
|
|
142
|
-
input instanceof Uint8Array ||
|
|
143
|
-
input instanceof ArrayBuffer ||
|
|
144
|
-
typeof input === 'string';
|
|
141
|
+
input instanceof Uint8Array || input instanceof ArrayBuffer || typeof input === 'string';
|
|
145
142
|
|
|
146
143
|
export const toUint8Array = (input: string | ArrayBuffer | Uint8Array) => {
|
|
147
144
|
if (typeof input === 'string') {
|
|
@@ -151,8 +148,6 @@ export const toUint8Array = (input: string | ArrayBuffer | Uint8Array) => {
|
|
|
151
148
|
} else if (input instanceof Uint8Array) {
|
|
152
149
|
return input;
|
|
153
150
|
} else {
|
|
154
|
-
throw new TypeError(
|
|
155
|
-
'`input` must be one of `string | ArrayBuffer | Uint8Array`',
|
|
156
|
-
);
|
|
151
|
+
throw new TypeError('`input` must be one of `string | ArrayBuffer | Uint8Array`');
|
|
157
152
|
}
|
|
158
153
|
};
|
package/src/utils/base64.ts
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
const chars =
|
|
14
|
-
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
13
|
+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
15
14
|
|
|
16
15
|
// Use a lookup table to find the index.
|
|
17
16
|
const lookup = new Uint8Array(256);
|
|
@@ -73,8 +72,7 @@ export const decodeFromBase64 = (base64: string): Uint8Array => {
|
|
|
73
72
|
|
|
74
73
|
// This regex is designed to be as flexible as possible. It will parse certain
|
|
75
74
|
// invalid data URIs.
|
|
76
|
-
const DATA_URI_PREFIX_REGEX =
|
|
77
|
-
/^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i;
|
|
75
|
+
const DATA_URI_PREFIX_REGEX = /^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i;
|
|
78
76
|
|
|
79
77
|
/**
|
|
80
78
|
* If the `dataUri` input is a data URI, then the data URI prefix must not be
|
|
@@ -37,12 +37,7 @@ export default class Arc extends GraphElement {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
sweep() {
|
|
40
|
-
this.lastSweep = angleABC(
|
|
41
|
-
this.origin(),
|
|
42
|
-
this.center(),
|
|
43
|
-
this.destination(),
|
|
44
|
-
this.lastSweep,
|
|
45
|
-
);
|
|
40
|
+
this.lastSweep = angleABC(this.origin(), this.center(), this.destination(), this.lastSweep);
|
|
46
41
|
return this.lastSweep;
|
|
47
42
|
}
|
|
48
43
|
|
|
@@ -58,8 +53,7 @@ export default class Arc extends GraphElement {
|
|
|
58
53
|
const eO = element.origin();
|
|
59
54
|
return (
|
|
60
55
|
this.getCircle().isEqual(element.getCircle()) &&
|
|
61
|
-
((dest.isEqual(eDest) && o.isEqual(eO)) ||
|
|
62
|
-
(dest.isEqual(eO) && o.isEqual(eDest)))
|
|
56
|
+
((dest.isEqual(eDest) && o.isEqual(eO)) || (dest.isEqual(eO) && o.isEqual(eDest)))
|
|
63
57
|
);
|
|
64
58
|
}
|
|
65
59
|
|
|
@@ -74,9 +68,7 @@ export default class Arc extends GraphElement {
|
|
|
74
68
|
|
|
75
69
|
middle() {
|
|
76
70
|
const halfSweep = this.sweep() / 2;
|
|
77
|
-
const mid = this.center().plus(
|
|
78
|
-
rotate(vector(this.center(), this.origin()), halfSweep),
|
|
79
|
-
);
|
|
71
|
+
const mid = this.center().plus(rotate(vector(this.center(), this.origin()), halfSweep));
|
|
80
72
|
return mid;
|
|
81
73
|
}
|
|
82
74
|
|
|
@@ -84,8 +76,7 @@ export default class Arc extends GraphElement {
|
|
|
84
76
|
// As angles are returned between -π and π, we need the middle of the arc
|
|
85
77
|
return (
|
|
86
78
|
this.getCircle().includes(P) &&
|
|
87
|
-
Math.abs(angleABC(this.middle(), this.center(), P)) <=
|
|
88
|
-
Math.abs(this.sweep() / 2)
|
|
79
|
+
Math.abs(angleABC(this.middle(), this.center(), P)) <= Math.abs(this.sweep() / 2)
|
|
89
80
|
);
|
|
90
81
|
}
|
|
91
82
|
|
|
@@ -97,8 +88,7 @@ export default class Arc extends GraphElement {
|
|
|
97
88
|
const destination = this.destination().toCoords();
|
|
98
89
|
// Returns the closest between origin and destination
|
|
99
90
|
const coords =
|
|
100
|
-
distanceCoords(H.toCoords(), origin) <
|
|
101
|
-
distanceCoords(H.toCoords(), destination)
|
|
91
|
+
distanceCoords(H.toCoords(), origin) < distanceCoords(H.toCoords(), destination)
|
|
102
92
|
? origin
|
|
103
93
|
: destination;
|
|
104
94
|
return new Point(coords);
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
distance,
|
|
3
|
-
distanceCoords,
|
|
4
|
-
isEqual,
|
|
5
|
-
minus,
|
|
6
|
-
plus,
|
|
7
|
-
times,
|
|
8
|
-
unitVector,
|
|
9
|
-
} from '../maths';
|
|
1
|
+
import { distance, distanceCoords, isEqual, minus, plus, times, unitVector } from '../maths';
|
|
10
2
|
|
|
11
3
|
import GraphElement from './GraphElement';
|
|
12
4
|
import Point from './Point';
|