@syncfusion/ej2-pdf 1.0.23 → 23.1.38
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/.eslintrc.json +260 -0
- package/.gitleaksignore +1 -0
- package/CHANGELOG.md +28 -0
- package/README.md +17 -0
- package/dist/ej2-pdf.umd.min.js +4 -14
- package/dist/ej2-pdf.umd.min.js.map +1 -11
- package/dist/es6/ej2-pdf.es2015.js +48372 -0
- package/dist/es6/ej2-pdf.es2015.js.map +1 -0
- package/dist/es6/ej2-pdf.es5.js +50250 -0
- package/dist/es6/ej2-pdf.es5.js.map +1 -0
- package/dist/global/ej2-pdf.min.js +11 -0
- package/dist/global/ej2-pdf.min.js.map +1 -0
- package/dist/global/index.d.ts +14 -0
- package/index.js +4 -8
- package/license +10 -3
- package/package.json +58 -16
- package/pdf.d.ts +4 -0
- package/pdf.js +4 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +45 -98
- package/src/index.js +45 -96
- package/src/pdf/core/annotations/annotation-collection.d.ts +289 -0
- package/src/pdf/core/annotations/annotation-collection.js +755 -0
- package/src/pdf/core/annotations/annotation.d.ts +5865 -0
- package/src/pdf/core/annotations/annotation.js +14195 -0
- package/src/pdf/core/annotations/index.d.ts +4 -0
- package/src/pdf/core/annotations/index.js +4 -0
- package/src/pdf/core/annotations/pdf-appearance.d.ts +102 -0
- package/src/pdf/core/annotations/pdf-appearance.js +124 -0
- package/src/pdf/core/annotations/pdf-paddings.d.ts +8 -0
- package/src/pdf/core/annotations/pdf-paddings.js +22 -0
- package/src/pdf/core/base-stream.d.ts +86 -0
- package/src/pdf/core/base-stream.js +332 -0
- package/src/pdf/core/content-parser.d.ts +38 -0
- package/src/pdf/core/content-parser.js +359 -0
- package/src/pdf/core/decode-stream.d.ts +21 -0
- package/src/pdf/core/decode-stream.js +120 -0
- package/src/pdf/core/decrypt-stream.d.ts +11 -0
- package/src/pdf/core/decrypt-stream.js +53 -0
- package/src/pdf/core/enumerator.d.ts +1668 -0
- package/src/pdf/core/enumerator.js +1717 -0
- package/src/pdf/core/flate-stream.d.ts +13 -0
- package/src/pdf/core/flate-stream.js +329 -0
- package/src/pdf/core/fonts/index.d.ts +7 -0
- package/{dist/es6/implementation/graphics → src/pdf/core}/fonts/index.js +3 -4
- package/src/pdf/core/fonts/pdf-font-metrics.d.ts +66 -0
- package/src/pdf/core/fonts/pdf-font-metrics.js +192 -0
- package/src/pdf/core/fonts/pdf-standard-font.d.ts +1023 -0
- package/src/pdf/core/fonts/pdf-standard-font.js +1682 -0
- package/src/pdf/core/fonts/pdf-string-format.d.ts +236 -0
- package/src/pdf/core/fonts/pdf-string-format.js +213 -0
- package/src/pdf/core/fonts/string-layouter.d.ts +68 -0
- package/src/pdf/core/fonts/string-layouter.js +437 -0
- package/src/pdf/core/fonts/ttf-reader.d.ts +167 -0
- package/src/pdf/core/fonts/ttf-reader.js +1150 -0
- package/src/pdf/core/fonts/ttf-table.d.ts +132 -0
- package/src/pdf/core/fonts/ttf-table.js +74 -0
- package/src/pdf/core/fonts/unicode-true-type-font.d.ts +50 -0
- package/src/pdf/core/fonts/unicode-true-type-font.js +289 -0
- package/src/pdf/core/form/field.d.ts +3011 -0
- package/src/pdf/core/form/field.js +6828 -0
- package/src/pdf/core/form/form.d.ts +279 -0
- package/src/pdf/core/form/form.js +782 -0
- package/src/pdf/core/form/index.d.ts +2 -0
- package/src/pdf/core/form/index.js +2 -0
- package/src/pdf/core/graphics/images/image-decoder.d.ts +38 -0
- package/src/pdf/core/graphics/images/image-decoder.js +227 -0
- package/src/{implementation → pdf/core}/graphics/images/index.d.ts +0 -5
- package/{dist/es6/implementation → src/pdf/core}/graphics/images/index.js +0 -1
- package/src/pdf/core/graphics/images/pdf-bitmap.d.ts +73 -0
- package/src/pdf/core/graphics/images/pdf-bitmap.js +68 -0
- package/src/pdf/core/graphics/images/pdf-image.d.ts +201 -0
- package/src/pdf/core/graphics/images/pdf-image.js +201 -0
- package/src/pdf/core/graphics/index.d.ts +10 -0
- package/src/pdf/core/graphics/index.js +10 -0
- package/src/pdf/core/graphics/pdf-graphics.d.ts +956 -0
- package/src/pdf/core/graphics/pdf-graphics.js +1860 -0
- package/src/pdf/core/graphics/pdf-path.d.ts +34 -0
- package/src/pdf/core/graphics/pdf-path.js +177 -0
- package/src/pdf/core/graphics/pdf-stream-writer.d.ts +56 -0
- package/src/pdf/core/graphics/pdf-stream-writer.js +231 -0
- package/src/pdf/core/graphics/pdf-template.d.ts +79 -0
- package/src/pdf/core/graphics/pdf-template.js +100 -0
- package/src/pdf/core/graphics/rightToLeft/bidirectional.d.ts +69 -0
- package/src/pdf/core/graphics/rightToLeft/bidirectional.js +831 -0
- package/src/pdf/core/graphics/rightToLeft/index.d.ts +3 -0
- package/src/pdf/core/graphics/rightToLeft/index.js +3 -0
- package/src/pdf/core/graphics/rightToLeft/text-renderer.d.ts +13 -0
- package/src/pdf/core/graphics/rightToLeft/text-renderer.js +116 -0
- package/src/pdf/core/graphics/rightToLeft/text-shape.d.ts +48 -0
- package/src/pdf/core/graphics/rightToLeft/text-shape.js +289 -0
- package/src/pdf/core/import-export/fdf-document.d.ts +37 -0
- package/src/pdf/core/import-export/fdf-document.js +667 -0
- package/src/pdf/core/import-export/index.d.ts +5 -0
- package/src/pdf/core/import-export/index.js +5 -0
- package/src/pdf/core/import-export/json-document.d.ts +47 -0
- package/src/pdf/core/import-export/json-document.js +1547 -0
- package/src/pdf/core/import-export/xfdf-document.d.ts +146 -0
- package/src/pdf/core/import-export/xfdf-document.js +2920 -0
- package/src/pdf/core/import-export/xml-document.d.ts +14 -0
- package/src/pdf/core/import-export/xml-document.js +166 -0
- package/src/pdf/core/import-export/xml-writer.d.ts +69 -0
- package/src/pdf/core/import-export/xml-writer.js +494 -0
- package/src/pdf/core/pdf-catalog.d.ts +18 -0
- package/src/pdf/core/pdf-catalog.js +166 -0
- package/src/pdf/core/pdf-cross-reference.d.ts +80 -0
- package/src/pdf/core/pdf-cross-reference.js +1049 -0
- package/src/pdf/core/pdf-document.d.ts +821 -0
- package/src/pdf/core/pdf-document.js +1022 -0
- package/src/pdf/core/pdf-file-structure.d.ts +54 -0
- package/src/pdf/core/pdf-file-structure.js +65 -0
- package/src/pdf/core/pdf-outline.d.ts +362 -0
- package/src/pdf/core/pdf-outline.js +860 -0
- package/src/pdf/core/pdf-page.d.ts +589 -0
- package/src/pdf/core/pdf-page.js +1049 -0
- package/src/pdf/core/pdf-parser.d.ts +62 -0
- package/src/pdf/core/pdf-parser.js +1035 -0
- package/src/pdf/core/pdf-primitives.d.ts +87 -0
- package/src/pdf/core/pdf-primitives.js +305 -0
- package/src/pdf/core/predictor-stream.d.ts +15 -0
- package/src/pdf/core/predictor-stream.js +214 -0
- package/src/pdf/core/security/encryptor.d.ts +140 -0
- package/src/pdf/core/security/encryptor.js +1616 -0
- package/src/pdf/core/security/index.d.ts +1 -0
- package/src/pdf/core/security/index.js +1 -0
- package/src/pdf/core/utils.d.ts +686 -0
- package/src/pdf/core/utils.js +3625 -0
- package/src/pdf/index.d.ts +44 -0
- package/src/pdf/index.js +44 -0
- package/tslint.json +111 -0
- package/ReadMe.md +0 -13
- package/dist/es6/implementation/actions/action.js +0 -44
- package/dist/es6/implementation/actions/index.js +0 -2
- package/dist/es6/implementation/actions/uri-action.js +0 -38
- package/dist/es6/implementation/annotations/action-link-annotation.js +0 -29
- package/dist/es6/implementation/annotations/annotation-collection.js +0 -93
- package/dist/es6/implementation/annotations/annotation.js +0 -156
- package/dist/es6/implementation/annotations/document-link-annotation.js +0 -48
- package/dist/es6/implementation/annotations/index.js +0 -7
- package/dist/es6/implementation/annotations/link-annotation.js +0 -31
- package/dist/es6/implementation/annotations/pdf-text-web-link.js +0 -178
- package/dist/es6/implementation/annotations/uri-annotation.js +0 -64
- package/dist/es6/implementation/collections/dictionary.js +0 -71
- package/dist/es6/implementation/collections/index.js +0 -3
- package/dist/es6/implementation/collections/object-object-pair/dictionary.js +0 -84
- package/dist/es6/implementation/collections/object-object-pair/index.js +0 -1
- package/dist/es6/implementation/collections/utils.js +0 -8
- package/dist/es6/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -17
- package/dist/es6/implementation/document/automatic-fields/automatic-field-info.js +0 -68
- package/dist/es6/implementation/document/automatic-fields/automatic-field.js +0 -145
- package/dist/es6/implementation/document/automatic-fields/composite-field.js +0 -61
- package/dist/es6/implementation/document/automatic-fields/index.js +0 -7
- package/dist/es6/implementation/document/automatic-fields/multiple-value-field.js +0 -36
- package/dist/es6/implementation/document/automatic-fields/page-count-field.js +0 -53
- package/dist/es6/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -91
- package/dist/es6/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
- package/dist/es6/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -34
- package/dist/es6/implementation/document/automatic-fields/single-value-field.js +0 -47
- package/dist/es6/implementation/document/index.js +0 -11
- package/dist/es6/implementation/document/pdf-catalog.js +0 -38
- package/dist/es6/implementation/document/pdf-document-base.js +0 -71
- package/dist/es6/implementation/document/pdf-document-template.js +0 -204
- package/dist/es6/implementation/document/pdf-document.js +0 -175
- package/dist/es6/implementation/drawing/index.js +0 -1
- package/dist/es6/implementation/drawing/pdf-drawing.js +0 -80
- package/dist/es6/implementation/general/enum.js +0 -6
- package/dist/es6/implementation/general/index.js +0 -3
- package/dist/es6/implementation/general/pdf-cache-collection.js +0 -24
- package/dist/es6/implementation/general/pdf-collection.js +0 -26
- package/dist/es6/implementation/general/pdf-destination.js +0 -107
- package/dist/es6/implementation/graphics/brushes/index.js +0 -2
- package/dist/es6/implementation/graphics/brushes/pdf-brush.js +0 -6
- package/dist/es6/implementation/graphics/brushes/pdf-solid-brush.js +0 -53
- package/dist/es6/implementation/graphics/constants.js +0 -11
- package/dist/es6/implementation/graphics/enum.js +0 -100
- package/dist/es6/implementation/graphics/figures/base/element-layouter.js +0 -154
- package/dist/es6/implementation/graphics/figures/base/graphics-element.js +0 -18
- package/dist/es6/implementation/graphics/figures/base/index.js +0 -3
- package/dist/es6/implementation/graphics/figures/base/pdf-shape-element.js +0 -32
- package/dist/es6/implementation/graphics/figures/base/shape-layouter.js +0 -55
- package/dist/es6/implementation/graphics/figures/base/text-layouter.js +0 -123
- package/dist/es6/implementation/graphics/figures/enum.js +0 -11
- package/dist/es6/implementation/graphics/figures/index.js +0 -5
- package/dist/es6/implementation/graphics/figures/layout-element.js +0 -41
- package/dist/es6/implementation/graphics/figures/pdf-template.js +0 -110
- package/dist/es6/implementation/graphics/figures/text-element.js +0 -298
- package/dist/es6/implementation/graphics/fonts/enum.js +0 -45
- package/dist/es6/implementation/graphics/fonts/pdf-font-metrics.js +0 -122
- package/dist/es6/implementation/graphics/fonts/pdf-font.js +0 -159
- package/dist/es6/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -357
- package/dist/es6/implementation/graphics/fonts/pdf-standard-font.js +0 -124
- package/dist/es6/implementation/graphics/fonts/pdf-string-format.js +0 -239
- package/dist/es6/implementation/graphics/fonts/string-layouter.js +0 -335
- package/dist/es6/implementation/graphics/fonts/string-tokenizer.js +0 -162
- package/dist/es6/implementation/graphics/images/byte-array.js +0 -82
- package/dist/es6/implementation/graphics/images/image-decoder.js +0 -167
- package/dist/es6/implementation/graphics/images/pdf-bitmap.js +0 -41
- package/dist/es6/implementation/graphics/images/pdf-image.js +0 -68
- package/dist/es6/implementation/graphics/index.js +0 -20
- package/dist/es6/implementation/graphics/pdf-color.js +0 -205
- package/dist/es6/implementation/graphics/pdf-graphics.js +0 -1034
- package/dist/es6/implementation/graphics/pdf-margins.js +0 -75
- package/dist/es6/implementation/graphics/pdf-pen.js +0 -180
- package/dist/es6/implementation/graphics/pdf-resources.js +0 -223
- package/dist/es6/implementation/graphics/pdf-transformation-matrix.js +0 -134
- package/dist/es6/implementation/graphics/pdf-transparency.js +0 -22
- package/dist/es6/implementation/graphics/unit-convertor.js +0 -33
- package/dist/es6/implementation/index.js +0 -85
- package/dist/es6/implementation/input-output/cross-table.js +0 -6
- package/dist/es6/implementation/input-output/enum.js +0 -5
- package/dist/es6/implementation/input-output/index.js +0 -8
- package/dist/es6/implementation/input-output/pdf-cross-table.js +0 -346
- package/dist/es6/implementation/input-output/pdf-dictionary-properties.js +0 -60
- package/dist/es6/implementation/input-output/pdf-main-object-collection.js +0 -115
- package/dist/es6/implementation/input-output/pdf-operators.js +0 -75
- package/dist/es6/implementation/input-output/pdf-stream-writer.js +0 -364
- package/dist/es6/implementation/input-output/pdf-writer.js +0 -44
- package/dist/es6/implementation/pages/enum.js +0 -51
- package/dist/es6/implementation/pages/index.js +0 -13
- package/dist/es6/implementation/pages/page-added-event-arguments.js +0 -19
- package/dist/es6/implementation/pages/pdf-document-page-collection.js +0 -120
- package/dist/es6/implementation/pages/pdf-page-base.js +0 -104
- package/dist/es6/implementation/pages/pdf-page-layer-collection.js +0 -115
- package/dist/es6/implementation/pages/pdf-page-layer.js +0 -160
- package/dist/es6/implementation/pages/pdf-page-settings.js +0 -126
- package/dist/es6/implementation/pages/pdf-page-size.js +0 -36
- package/dist/es6/implementation/pages/pdf-page-template-element.js +0 -510
- package/dist/es6/implementation/pages/pdf-page.js +0 -130
- package/dist/es6/implementation/pages/pdf-section-collection.js +0 -95
- package/dist/es6/implementation/pages/pdf-section-page-collection.js +0 -30
- package/dist/es6/implementation/pages/pdf-section-templates.js +0 -71
- package/dist/es6/implementation/pages/pdf-section.js +0 -388
- package/dist/es6/implementation/primitives/index.js +0 -8
- package/dist/es6/implementation/primitives/pdf-array.js +0 -199
- package/dist/es6/implementation/primitives/pdf-boolean.js +0 -66
- package/dist/es6/implementation/primitives/pdf-dictionary.js +0 -220
- package/dist/es6/implementation/primitives/pdf-name.js +0 -102
- package/dist/es6/implementation/primitives/pdf-number.js +0 -94
- package/dist/es6/implementation/primitives/pdf-reference.js +0 -195
- package/dist/es6/implementation/primitives/pdf-stream.js +0 -149
- package/dist/es6/implementation/primitives/pdf-string.js +0 -143
- package/dist/es6/implementation/structured-elements/grid/index.js +0 -1
- package/dist/es6/implementation/structured-elements/grid/pdf-grid-cell.js +0 -512
- package/dist/es6/implementation/structured-elements/grid/pdf-grid-column.js +0 -125
- package/dist/es6/implementation/structured-elements/grid/pdf-grid-row.js +0 -244
- package/dist/es6/implementation/structured-elements/grid/pdf-grid.js +0 -989
- package/dist/es6/implementation/structured-elements/grid/styles/index.js +0 -2
- package/dist/es6/implementation/structured-elements/grid/styles/pdf-borders.js +0 -145
- package/dist/es6/implementation/structured-elements/grid/styles/style.js +0 -267
- package/dist/es6/implementation/structured-elements/index.js +0 -1
- package/dist/es6/implementation/structured-elements/tables/light-tables/enum.js +0 -5
- package/dist/es6/index.js +0 -89
- package/dist/es6/interfaces/i-pdf-cache.js +0 -1
- package/dist/es6/interfaces/i-pdf-changable.js +0 -1
- package/dist/es6/interfaces/i-pdf-primitives.js +0 -1
- package/dist/es6/interfaces/i-pdf-wrapper.js +0 -1
- package/dist/es6/interfaces/i-pdf-writer.js +0 -1
- package/dist/es6/interfaces/index.js +0 -1
- package/dist/global/ej2-pdf-export.js +0 -15979
- package/implementation.d.ts +0 -4
- package/implementation.js +0 -8
- package/interfaces.d.ts +0 -4
- package/interfaces.js +0 -4
- package/src/implementation/actions/action.d.ts +0 -50
- package/src/implementation/actions/action.js +0 -44
- package/src/implementation/actions/index.d.ts +0 -6
- package/src/implementation/actions/index.js +0 -9
- package/src/implementation/actions/uri-action.d.ts +0 -33
- package/src/implementation/actions/uri-action.js +0 -39
- package/src/implementation/annotations/action-link-annotation.d.ts +0 -30
- package/src/implementation/annotations/action-link-annotation.js +0 -32
- package/src/implementation/annotations/annotation-collection.d.ts +0 -77
- package/src/implementation/annotations/annotation-collection.js +0 -91
- package/src/implementation/annotations/annotation.d.ts +0 -152
- package/src/implementation/annotations/annotation.js +0 -146
- package/src/implementation/annotations/document-link-annotation.d.ts +0 -89
- package/src/implementation/annotations/document-link-annotation.js +0 -51
- package/src/implementation/annotations/index.d.ts +0 -11
- package/src/implementation/annotations/index.js +0 -14
- package/src/implementation/annotations/link-annotation.d.ts +0 -23
- package/src/implementation/annotations/link-annotation.js +0 -33
- package/src/implementation/annotations/pdf-text-web-link.d.ts +0 -118
- package/src/implementation/annotations/pdf-text-web-link.js +0 -173
- package/src/implementation/annotations/uri-annotation.d.ts +0 -48
- package/src/implementation/annotations/uri-annotation.js +0 -65
- package/src/implementation/collections/dictionary.d.ts +0 -76
- package/src/implementation/collections/dictionary.js +0 -74
- package/src/implementation/collections/index.d.ts +0 -7
- package/src/implementation/collections/index.js +0 -10
- package/src/implementation/collections/object-object-pair/dictionary.d.ts +0 -62
- package/src/implementation/collections/object-object-pair/dictionary.js +0 -88
- package/src/implementation/collections/object-object-pair/index.d.ts +0 -5
- package/src/implementation/collections/object-object-pair/index.js +0 -8
- package/src/implementation/collections/utils.d.ts +0 -27
- package/src/implementation/collections/utils.js +0 -13
- package/src/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +0 -31
- package/src/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -21
- package/src/implementation/document/automatic-fields/automatic-field-info.d.ts +0 -67
- package/src/implementation/document/automatic-fields/automatic-field-info.js +0 -70
- package/src/implementation/document/automatic-fields/automatic-field.d.ts +0 -41
- package/src/implementation/document/automatic-fields/automatic-field.js +0 -143
- package/src/implementation/document/automatic-fields/composite-field.d.ts +0 -46
- package/src/implementation/document/automatic-fields/composite-field.js +0 -64
- package/src/implementation/document/automatic-fields/index.d.ts +0 -11
- package/src/implementation/document/automatic-fields/index.js +0 -14
- package/src/implementation/document/automatic-fields/multiple-value-field.d.ts +0 -18
- package/src/implementation/document/automatic-fields/multiple-value-field.js +0 -35
- package/src/implementation/document/automatic-fields/page-count-field.d.ts +0 -44
- package/src/implementation/document/automatic-fields/page-count-field.js +0 -53
- package/src/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +0 -53
- package/src/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -94
- package/src/implementation/document/automatic-fields/pdf-page-number-field.d.ts +0 -51
- package/src/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
- package/src/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +0 -38
- package/src/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -38
- package/src/implementation/document/automatic-fields/single-value-field.d.ts +0 -15
- package/src/implementation/document/automatic-fields/single-value-field.js +0 -46
- package/src/implementation/document/index.d.ts +0 -15
- package/src/implementation/document/index.js +0 -18
- package/src/implementation/document/pdf-catalog.d.ts +0 -32
- package/src/implementation/document/pdf-catalog.js +0 -38
- package/src/implementation/document/pdf-document-base.d.ts +0 -117
- package/src/implementation/document/pdf-document-base.js +0 -72
- package/src/implementation/document/pdf-document-template.d.ts +0 -166
- package/src/implementation/document/pdf-document-template.js +0 -207
- package/src/implementation/document/pdf-document.d.ts +0 -206
- package/src/implementation/document/pdf-document.js +0 -166
- package/src/implementation/drawing/index.d.ts +0 -5
- package/src/implementation/drawing/index.js +0 -8
- package/src/implementation/drawing/pdf-drawing.d.ts +0 -93
- package/src/implementation/drawing/pdf-drawing.js +0 -84
- package/src/implementation/general/enum.d.ts +0 -21
- package/src/implementation/general/enum.js +0 -10
- package/src/implementation/general/index.d.ts +0 -7
- package/src/implementation/general/index.js +0 -10
- package/src/implementation/general/pdf-cache-collection.d.ts +0 -33
- package/src/implementation/general/pdf-cache-collection.js +0 -27
- package/src/implementation/general/pdf-collection.d.ts +0 -26
- package/src/implementation/general/pdf-collection.js +0 -30
- package/src/implementation/general/pdf-destination.d.ts +0 -103
- package/src/implementation/general/pdf-destination.js +0 -103
- package/src/implementation/graphics/brushes/index.d.ts +0 -6
- package/src/implementation/graphics/brushes/index.js +0 -9
- package/src/implementation/graphics/brushes/pdf-brush.d.ts +0 -55
- package/src/implementation/graphics/brushes/pdf-brush.js +0 -10
- package/src/implementation/graphics/brushes/pdf-solid-brush.d.ts +0 -77
- package/src/implementation/graphics/brushes/pdf-solid-brush.js +0 -54
- package/src/implementation/graphics/constants.d.ts +0 -31
- package/src/implementation/graphics/constants.js +0 -15
- package/src/implementation/graphics/enum.d.ts +0 -392
- package/src/implementation/graphics/enum.js +0 -104
- package/src/implementation/graphics/figures/base/element-layouter.d.ts +0 -160
- package/src/implementation/graphics/figures/base/element-layouter.js +0 -156
- package/src/implementation/graphics/figures/base/graphics-element.d.ts +0 -16
- package/src/implementation/graphics/figures/base/graphics-element.js +0 -22
- package/src/implementation/graphics/figures/base/index.d.ts +0 -7
- package/src/implementation/graphics/figures/base/index.js +0 -10
- package/src/implementation/graphics/figures/base/pdf-shape-element.d.ts +0 -28
- package/src/implementation/graphics/figures/base/pdf-shape-element.js +0 -34
- package/src/implementation/graphics/figures/base/shape-layouter.d.ts +0 -80
- package/src/implementation/graphics/figures/base/shape-layouter.js +0 -57
- package/src/implementation/graphics/figures/base/text-layouter.d.ts +0 -107
- package/src/implementation/graphics/figures/base/text-layouter.js +0 -121
- package/src/implementation/graphics/figures/enum.d.ts +0 -37
- package/src/implementation/graphics/figures/enum.js +0 -15
- package/src/implementation/graphics/figures/index.d.ts +0 -9
- package/src/implementation/graphics/figures/index.js +0 -12
- package/src/implementation/graphics/figures/layout-element.d.ts +0 -57
- package/src/implementation/graphics/figures/layout-element.js +0 -43
- package/src/implementation/graphics/figures/pdf-template.d.ts +0 -113
- package/src/implementation/graphics/figures/pdf-template.js +0 -106
- package/src/implementation/graphics/figures/text-element.d.ts +0 -213
- package/src/implementation/graphics/figures/text-element.js +0 -289
- package/src/implementation/graphics/fonts/enum.d.ts +0 -179
- package/src/implementation/graphics/fonts/enum.js +0 -49
- package/src/implementation/graphics/fonts/index.d.ts +0 -12
- package/src/implementation/graphics/fonts/index.js +0 -15
- package/src/implementation/graphics/fonts/pdf-font-metrics.d.ts +0 -160
- package/src/implementation/graphics/fonts/pdf-font-metrics.js +0 -123
- package/src/implementation/graphics/fonts/pdf-font.d.ts +0 -187
- package/src/implementation/graphics/fonts/pdf-font.js +0 -158
- package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +0 -301
- package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -359
- package/src/implementation/graphics/fonts/pdf-standard-font.d.ts +0 -143
- package/src/implementation/graphics/fonts/pdf-standard-font.js +0 -121
- package/src/implementation/graphics/fonts/pdf-string-format.d.ts +0 -319
- package/src/implementation/graphics/fonts/pdf-string-format.js +0 -241
- package/src/implementation/graphics/fonts/string-layouter.d.ts +0 -255
- package/src/implementation/graphics/fonts/string-layouter.js +0 -336
- package/src/implementation/graphics/fonts/string-tokenizer.d.ts +0 -107
- package/src/implementation/graphics/fonts/string-tokenizer.js +0 -166
- package/src/implementation/graphics/images/byte-array.d.ts +0 -68
- package/src/implementation/graphics/images/byte-array.js +0 -86
- package/src/implementation/graphics/images/image-decoder.d.ts +0 -227
- package/src/implementation/graphics/images/image-decoder.js +0 -164
- package/src/implementation/graphics/images/index.js +0 -11
- package/src/implementation/graphics/images/pdf-bitmap.d.ts +0 -90
- package/src/implementation/graphics/images/pdf-bitmap.js +0 -41
- package/src/implementation/graphics/images/pdf-image.d.ts +0 -88
- package/src/implementation/graphics/images/pdf-image.js +0 -69
- package/src/implementation/graphics/index.d.ts +0 -24
- package/src/implementation/graphics/index.js +0 -27
- package/src/implementation/graphics/pdf-color.d.ts +0 -170
- package/src/implementation/graphics/pdf-color.js +0 -204
- package/src/implementation/graphics/pdf-graphics.d.ts +0 -1085
- package/src/implementation/graphics/pdf-graphics.js +0 -1017
- package/src/implementation/graphics/pdf-margins.d.ts +0 -82
- package/src/implementation/graphics/pdf-margins.js +0 -79
- package/src/implementation/graphics/pdf-pen.d.ts +0 -237
- package/src/implementation/graphics/pdf-pen.js +0 -181
- package/src/implementation/graphics/pdf-resources.d.ts +0 -147
- package/src/implementation/graphics/pdf-resources.js +0 -215
- package/src/implementation/graphics/pdf-transformation-matrix.d.ts +0 -143
- package/src/implementation/graphics/pdf-transformation-matrix.js +0 -136
- package/src/implementation/graphics/pdf-transparency.d.ts +0 -34
- package/src/implementation/graphics/pdf-transparency.js +0 -22
- package/src/implementation/graphics/unit-convertor.d.ts +0 -72
- package/src/implementation/graphics/unit-convertor.js +0 -37
- package/src/implementation/index.d.ts +0 -89
- package/src/implementation/index.js +0 -92
- package/src/implementation/input-output/cross-table.d.ts +0 -21
- package/src/implementation/input-output/cross-table.js +0 -10
- package/src/implementation/input-output/enum.d.ts +0 -16
- package/src/implementation/input-output/enum.js +0 -9
- package/src/implementation/input-output/index.d.ts +0 -12
- package/src/implementation/input-output/index.js +0 -15
- package/src/implementation/input-output/pdf-cross-table.d.ts +0 -249
- package/src/implementation/input-output/pdf-cross-table.js +0 -340
- package/src/implementation/input-output/pdf-dictionary-properties.d.ts +0 -283
- package/src/implementation/input-output/pdf-dictionary-properties.js +0 -64
- package/src/implementation/input-output/pdf-main-object-collection.d.ts +0 -120
- package/src/implementation/input-output/pdf-main-object-collection.js +0 -117
- package/src/implementation/input-output/pdf-operators.d.ts +0 -352
- package/src/implementation/input-output/pdf-operators.js +0 -79
- package/src/implementation/input-output/pdf-stream-writer.d.ts +0 -314
- package/src/implementation/input-output/pdf-stream-writer.js +0 -363
- package/src/implementation/input-output/pdf-writer.d.ts +0 -68
- package/src/implementation/input-output/pdf-writer.js +0 -48
- package/src/implementation/pages/enum.d.ts +0 -201
- package/src/implementation/pages/enum.js +0 -55
- package/src/implementation/pages/index.d.ts +0 -17
- package/src/implementation/pages/index.js +0 -20
- package/src/implementation/pages/page-added-event-arguments.d.ts +0 -30
- package/src/implementation/pages/page-added-event-arguments.js +0 -23
- package/src/implementation/pages/pdf-document-page-collection.d.ts +0 -92
- package/src/implementation/pages/pdf-document-page-collection.js +0 -121
- package/src/implementation/pages/pdf-page-base.d.ts +0 -121
- package/src/implementation/pages/pdf-page-base.js +0 -104
- package/src/implementation/pages/pdf-page-layer-collection.d.ts +0 -99
- package/src/implementation/pages/pdf-page-layer-collection.js +0 -113
- package/src/implementation/pages/pdf-page-layer.d.ts +0 -160
- package/src/implementation/pages/pdf-page-layer.js +0 -159
- package/src/implementation/pages/pdf-page-settings.d.ts +0 -111
- package/src/implementation/pages/pdf-page-settings.js +0 -126
- package/src/implementation/pages/pdf-page-size.d.ts +0 -159
- package/src/implementation/pages/pdf-page-size.js +0 -39
- package/src/implementation/pages/pdf-page-template-element.d.ts +0 -230
- package/src/implementation/pages/pdf-page-template-element.js +0 -509
- package/src/implementation/pages/pdf-page.d.ts +0 -153
- package/src/implementation/pages/pdf-page.js +0 -127
- package/src/implementation/pages/pdf-section-collection.d.ts +0 -109
- package/src/implementation/pages/pdf-section-collection.js +0 -91
- package/src/implementation/pages/pdf-section-page-collection.d.ts +0 -41
- package/src/implementation/pages/pdf-section-page-collection.js +0 -34
- package/src/implementation/pages/pdf-section-templates.d.ts +0 -64
- package/src/implementation/pages/pdf-section-templates.js +0 -74
- package/src/implementation/pages/pdf-section.d.ts +0 -319
- package/src/implementation/pages/pdf-section.js +0 -379
- package/src/implementation/primitives/index.d.ts +0 -12
- package/src/implementation/primitives/index.js +0 -15
- package/src/implementation/primitives/pdf-array.d.ts +0 -186
- package/src/implementation/primitives/pdf-array.js +0 -201
- package/src/implementation/primitives/pdf-boolean.d.ts +0 -84
- package/src/implementation/primitives/pdf-boolean.js +0 -70
- package/src/implementation/primitives/pdf-dictionary.d.ts +0 -311
- package/src/implementation/primitives/pdf-dictionary.js +0 -220
- package/src/implementation/primitives/pdf-name.d.ts +0 -121
- package/src/implementation/primitives/pdf-name.js +0 -106
- package/src/implementation/primitives/pdf-number.d.ts +0 -104
- package/src/implementation/primitives/pdf-number.js +0 -98
- package/src/implementation/primitives/pdf-reference.d.ts +0 -222
- package/src/implementation/primitives/pdf-reference.js +0 -192
- package/src/implementation/primitives/pdf-stream.d.ts +0 -111
- package/src/implementation/primitives/pdf-stream.js +0 -146
- package/src/implementation/primitives/pdf-string.d.ts +0 -212
- package/src/implementation/primitives/pdf-string.js +0 -147
- package/src/implementation/structured-elements/grid/index.d.ts +0 -0
- package/src/implementation/structured-elements/grid/index.js +0 -1
- package/src/implementation/structured-elements/grid/pdf-grid-cell.d.ts +0 -248
- package/src/implementation/structured-elements/grid/pdf-grid-cell.js +0 -504
- package/src/implementation/structured-elements/grid/pdf-grid-column.d.ts +0 -108
- package/src/implementation/structured-elements/grid/pdf-grid-column.js +0 -127
- package/src/implementation/structured-elements/grid/pdf-grid-row.d.ts +0 -207
- package/src/implementation/structured-elements/grid/pdf-grid-row.js +0 -246
- package/src/implementation/structured-elements/grid/pdf-grid.d.ts +0 -678
- package/src/implementation/structured-elements/grid/pdf-grid.js +0 -982
- package/src/implementation/structured-elements/grid/styles/index.d.ts +0 -5
- package/src/implementation/structured-elements/grid/styles/index.js +0 -9
- package/src/implementation/structured-elements/grid/styles/pdf-borders.d.ts +0 -126
- package/src/implementation/structured-elements/grid/styles/pdf-borders.js +0 -146
- package/src/implementation/structured-elements/grid/styles/style.d.ts +0 -250
- package/src/implementation/structured-elements/grid/styles/style.js +0 -269
- package/src/implementation/structured-elements/index.d.ts +0 -0
- package/src/implementation/structured-elements/index.js +0 -1
- package/src/implementation/structured-elements/tables/light-tables/enum.d.ts +0 -16
- package/src/implementation/structured-elements/tables/light-tables/enum.js +0 -9
- package/src/interfaces/i-pdf-cache.d.ts +0 -23
- package/src/interfaces/i-pdf-cache.js +0 -4
- package/src/interfaces/i-pdf-changable.d.ts +0 -17
- package/src/interfaces/i-pdf-changable.js +0 -4
- package/src/interfaces/i-pdf-primitives.d.ts +0 -45
- package/src/interfaces/i-pdf-primitives.js +0 -4
- package/src/interfaces/i-pdf-wrapper.d.ts +0 -13
- package/src/interfaces/i-pdf-wrapper.js +0 -4
- package/src/interfaces/i-pdf-writer.d.ts +0 -29
- package/src/interfaces/i-pdf-writer.js +0 -4
- package/src/interfaces/index.d.ts +0 -9
- package/src/interfaces/index.js +0 -4
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PdfPen } from './pdf-graphics';
|
|
2
|
+
import { PdfFillMode } from './../enumerator';
|
|
3
|
+
export declare class _PdfPath {
|
|
4
|
+
_fillMode: PdfFillMode;
|
|
5
|
+
_points: Array<number[]>;
|
|
6
|
+
_pathTypes: _PathPointType[];
|
|
7
|
+
_pen: PdfPen;
|
|
8
|
+
_isStart: boolean;
|
|
9
|
+
_isRoundedRectangle: boolean;
|
|
10
|
+
constructor();
|
|
11
|
+
readonly _lastPoint: number[];
|
|
12
|
+
_addLine(x1: number, y1: number, x2: number, y2: number): void;
|
|
13
|
+
_addLines(linePoints: Array<number[]>): void;
|
|
14
|
+
_addPoints(points: number[], type: _PathPointType, start?: number, end?: number): void;
|
|
15
|
+
_addPoint(points: number[], type: _PathPointType): void;
|
|
16
|
+
_addArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
|
|
17
|
+
_addRectangle(x: number, y: number, width: number, height: number): void;
|
|
18
|
+
_addPolygon(points: Array<number[]>): void;
|
|
19
|
+
_addEllipse(x: number, y: number, width: number, height: number): void;
|
|
20
|
+
_addBezierPoints(pointsCollection: number[][]): void;
|
|
21
|
+
_addBezier(x: number, y: number, firstX: number, firstY: number, secondX: number, secondY: number, endX: number, endY: number): void;
|
|
22
|
+
_closeFigure(index?: number): void;
|
|
23
|
+
_startFigure(): void;
|
|
24
|
+
_getBounds(): number[];
|
|
25
|
+
}
|
|
26
|
+
export declare enum _PathPointType {
|
|
27
|
+
start = 0,
|
|
28
|
+
line = 1,
|
|
29
|
+
bezier = 3,
|
|
30
|
+
pathTypeMask = 7,
|
|
31
|
+
dashMode = 16,
|
|
32
|
+
pathMarker = 32,
|
|
33
|
+
closePath = 128
|
|
34
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { _getBezierArc } from './../utils';
|
|
2
|
+
import { PdfFillMode } from './../enumerator';
|
|
3
|
+
var _PdfPath = /** @class */ (function () {
|
|
4
|
+
function _PdfPath() {
|
|
5
|
+
this._isRoundedRectangle = false;
|
|
6
|
+
this._fillMode = PdfFillMode.winding;
|
|
7
|
+
this._points = [];
|
|
8
|
+
this._pathTypes = [];
|
|
9
|
+
this._isStart = true;
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(_PdfPath.prototype, "_lastPoint", {
|
|
12
|
+
get: function () {
|
|
13
|
+
var value = [0, 0];
|
|
14
|
+
var count = this._points.length;
|
|
15
|
+
if (this._points.length > 0) {
|
|
16
|
+
value[0] = this._points[(count - 1)][0];
|
|
17
|
+
value[1] = this._points[(count - 1)][0];
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
},
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true
|
|
23
|
+
});
|
|
24
|
+
_PdfPath.prototype._addLine = function (x1, y1, x2, y2) {
|
|
25
|
+
this._addPoints([x1, y1, x2, y2], _PathPointType.line);
|
|
26
|
+
};
|
|
27
|
+
_PdfPath.prototype._addLines = function (linePoints) {
|
|
28
|
+
var start = linePoints[0];
|
|
29
|
+
if (linePoints.length === 1) {
|
|
30
|
+
this._addPoint(linePoints[0], _PathPointType.line);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
for (var i = 1; i < linePoints.length; i++) {
|
|
34
|
+
var last = linePoints[Number.parseInt(i.toString(), 10)];
|
|
35
|
+
this._addLine(start[0], start[1], last[0], last[1]);
|
|
36
|
+
start = last;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
_PdfPath.prototype._addPoints = function (points, type, start, end) {
|
|
41
|
+
var startIndex = (typeof start !== 'undefined') ? start : 0;
|
|
42
|
+
var endIndex = (typeof end !== 'undefined') ? end : points.length;
|
|
43
|
+
for (var i = startIndex; i < endIndex; i++) {
|
|
44
|
+
var point = [points[Number.parseInt(i.toString(), 10)], points[i + 1]];
|
|
45
|
+
if (i === startIndex) {
|
|
46
|
+
if (this._points.length === 0 || this._isStart) {
|
|
47
|
+
this._addPoint(point, _PathPointType.start);
|
|
48
|
+
this._isStart = false;
|
|
49
|
+
}
|
|
50
|
+
else if (this._isRoundedRectangle && (point[0] !== this._lastPoint[0] || point[1] !== this._lastPoint[1])) {
|
|
51
|
+
this._addPoint(point, _PathPointType.line);
|
|
52
|
+
}
|
|
53
|
+
else if (point[0] !== this._lastPoint[0] && point[1] !== this._lastPoint[1]) {
|
|
54
|
+
this._addPoint(point, _PathPointType.line);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this._addPoint(point, type);
|
|
59
|
+
}
|
|
60
|
+
i++;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
_PdfPath.prototype._addPoint = function (points, type) {
|
|
64
|
+
this._points.push(points);
|
|
65
|
+
this._pathTypes.push(type);
|
|
66
|
+
};
|
|
67
|
+
_PdfPath.prototype._addArc = function (x, y, width, height, startAngle, sweepAngle) {
|
|
68
|
+
var points = _getBezierArc(x, y, x + width, y + height, startAngle, sweepAngle);
|
|
69
|
+
for (var i = 0; i < points.length; ++i) {
|
|
70
|
+
var list = [points[Number.parseInt(i.toString(), 10)],
|
|
71
|
+
points[++i],
|
|
72
|
+
points[++i],
|
|
73
|
+
points[++i],
|
|
74
|
+
points[++i],
|
|
75
|
+
points[++i],
|
|
76
|
+
points[++i],
|
|
77
|
+
points[++i]];
|
|
78
|
+
this._addPoints(list, _PathPointType.bezier);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
_PdfPath.prototype._addRectangle = function (x, y, width, height) {
|
|
82
|
+
this._startFigure();
|
|
83
|
+
this._addPoints([x, y, x + width, y, x + width, y + height, x, y + height], _PathPointType.line);
|
|
84
|
+
this._closeFigure();
|
|
85
|
+
};
|
|
86
|
+
_PdfPath.prototype._addPolygon = function (points) {
|
|
87
|
+
var newPoints = [];
|
|
88
|
+
points.forEach(function (element) {
|
|
89
|
+
newPoints.push(element[0], element[1]);
|
|
90
|
+
});
|
|
91
|
+
this._startFigure();
|
|
92
|
+
this._addPoints(newPoints, _PathPointType.line);
|
|
93
|
+
this._closeFigure();
|
|
94
|
+
};
|
|
95
|
+
_PdfPath.prototype._addEllipse = function (x, y, width, height) {
|
|
96
|
+
this._startFigure();
|
|
97
|
+
this._addArc(x, y, width, height, 0, 360);
|
|
98
|
+
this._closeFigure();
|
|
99
|
+
};
|
|
100
|
+
_PdfPath.prototype._addBezierPoints = function (pointsCollection) {
|
|
101
|
+
if (pointsCollection.length < 4) {
|
|
102
|
+
throw Error('Incorrect size of array points');
|
|
103
|
+
}
|
|
104
|
+
var bound = 3;
|
|
105
|
+
var index = 0;
|
|
106
|
+
var start = pointsCollection[Number.parseInt(index.toString(), 10)];
|
|
107
|
+
index++;
|
|
108
|
+
while ((index + bound) <= pointsCollection.length) {
|
|
109
|
+
var inner1 = pointsCollection[Number.parseInt(index.toString(), 10)];
|
|
110
|
+
index++;
|
|
111
|
+
var inner2 = pointsCollection[Number.parseInt(index.toString(), 10)];
|
|
112
|
+
index++;
|
|
113
|
+
var end = pointsCollection[Number.parseInt(index.toString(), 10)];
|
|
114
|
+
index++;
|
|
115
|
+
this._addBezier(start[0], start[1], inner1[0], inner1[1], inner2[0], inner2[1], end[0], end[1]);
|
|
116
|
+
start = end;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
_PdfPath.prototype._addBezier = function (x, y, firstX, firstY, secondX, secondY, endX, endY) {
|
|
120
|
+
var points = [];
|
|
121
|
+
points.push(x);
|
|
122
|
+
points.push(y);
|
|
123
|
+
points.push(firstX);
|
|
124
|
+
points.push(firstY);
|
|
125
|
+
points.push(secondX);
|
|
126
|
+
points.push(secondY);
|
|
127
|
+
points.push(endX);
|
|
128
|
+
points.push(endY);
|
|
129
|
+
this._addPoints(points, _PathPointType.bezier);
|
|
130
|
+
};
|
|
131
|
+
_PdfPath.prototype._closeFigure = function (index) {
|
|
132
|
+
if (typeof index !== 'undefined') {
|
|
133
|
+
var type = this._pathTypes[Number.parseInt(index.toString(), 10)];
|
|
134
|
+
type |= _PathPointType.closePath;
|
|
135
|
+
this._pathTypes[Number.parseInt(index.toString(), 10)] = type;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
if (this._points.length > 0) {
|
|
139
|
+
this._closeFigure(this._points.length - 1);
|
|
140
|
+
}
|
|
141
|
+
this._startFigure();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
_PdfPath.prototype._startFigure = function () {
|
|
145
|
+
this._isStart = true;
|
|
146
|
+
};
|
|
147
|
+
_PdfPath.prototype._getBounds = function () {
|
|
148
|
+
var bounds = [0, 0, 0, 0];
|
|
149
|
+
if (this._points.length > 0) {
|
|
150
|
+
var xmin = this._points[0][0];
|
|
151
|
+
var xmax = this._points[0][0];
|
|
152
|
+
var ymin = this._points[0][1];
|
|
153
|
+
var ymax = this._points[0][1];
|
|
154
|
+
for (var i = 1; i < this._points.length; ++i) {
|
|
155
|
+
var point = this._points[Number.parseInt(i.toString(), 10)];
|
|
156
|
+
xmin = Math.min(point[0], xmin);
|
|
157
|
+
xmax = Math.max(point[0], xmax);
|
|
158
|
+
ymin = Math.min(point[1], ymin);
|
|
159
|
+
ymax = Math.max(point[1], ymax);
|
|
160
|
+
}
|
|
161
|
+
bounds = [xmin, ymin, xmax - xmin, ymax - ymin];
|
|
162
|
+
}
|
|
163
|
+
return bounds;
|
|
164
|
+
};
|
|
165
|
+
return _PdfPath;
|
|
166
|
+
}());
|
|
167
|
+
export { _PdfPath };
|
|
168
|
+
export var _PathPointType;
|
|
169
|
+
(function (_PathPointType) {
|
|
170
|
+
_PathPointType[_PathPointType["start"] = 0] = "start";
|
|
171
|
+
_PathPointType[_PathPointType["line"] = 1] = "line";
|
|
172
|
+
_PathPointType[_PathPointType["bezier"] = 3] = "bezier";
|
|
173
|
+
_PathPointType[_PathPointType["pathTypeMask"] = 7] = "pathTypeMask";
|
|
174
|
+
_PathPointType[_PathPointType["dashMode"] = 16] = "dashMode";
|
|
175
|
+
_PathPointType[_PathPointType["pathMarker"] = 32] = "pathMarker";
|
|
176
|
+
_PathPointType[_PathPointType["closePath"] = 128] = "closePath";
|
|
177
|
+
})(_PathPointType || (_PathPointType = {}));
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { _PdfContentStream } from './../base-stream';
|
|
2
|
+
import { _PdfTransformationMatrix } from './pdf-graphics';
|
|
3
|
+
import { _PdfName } from './../pdf-primitives';
|
|
4
|
+
export declare class _PdfStreamWriter {
|
|
5
|
+
_stream: _PdfContentStream;
|
|
6
|
+
_newLine: string;
|
|
7
|
+
_whiteSpace: string;
|
|
8
|
+
constructor(stream: _PdfContentStream);
|
|
9
|
+
_writeOperator(value: string): void;
|
|
10
|
+
_saveGraphicsState(): void;
|
|
11
|
+
_restoreGraphicsState(): void;
|
|
12
|
+
_writeComment(comment: string): void;
|
|
13
|
+
_setGraphicsState(value: _PdfName): void;
|
|
14
|
+
_modifyCtm(matrix: _PdfTransformationMatrix): void;
|
|
15
|
+
_modifyTM(matrix: _PdfTransformationMatrix): void;
|
|
16
|
+
_setColorSpace(value: string, forStroking: boolean): void;
|
|
17
|
+
_setColor(color: number[], forStroking: boolean): void;
|
|
18
|
+
_appendRectangle(x: number, y: number, width: number, height: number): void;
|
|
19
|
+
_writePoint(x: number, y: number): void;
|
|
20
|
+
_clipPath(isEvenOdd: boolean): void;
|
|
21
|
+
_fillPath(isEvenOdd: boolean): void;
|
|
22
|
+
_closeFillPath(isEvenOdd: boolean): void;
|
|
23
|
+
_strokePath(): void;
|
|
24
|
+
_closeStrokePath(): void;
|
|
25
|
+
_fillStrokePath(isEvenOdd: boolean): void;
|
|
26
|
+
_closeFillStrokePath(isEvenOdd: boolean): void;
|
|
27
|
+
_endPath(): void;
|
|
28
|
+
_setFont(name: string, size: number): void;
|
|
29
|
+
_setTextScaling(textScaling: number): void;
|
|
30
|
+
_closePath(): void;
|
|
31
|
+
_startNextLine(): void;
|
|
32
|
+
_startNextLine(x: number, y: number): void;
|
|
33
|
+
_showText(text: string): void;
|
|
34
|
+
_write(string: string): void;
|
|
35
|
+
_writeText(text: string): void;
|
|
36
|
+
_beginText(): void;
|
|
37
|
+
_endText(): void;
|
|
38
|
+
_beginPath(x: number, y: number): void;
|
|
39
|
+
_appendLineSegment(x: number, y: number): void;
|
|
40
|
+
_appendBezierSegment(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
|
|
41
|
+
_setTextRenderingMode(renderingMode: number): void;
|
|
42
|
+
_setCharacterSpacing(charSpacing: number): void;
|
|
43
|
+
_setWordSpacing(wordSpacing: number): void;
|
|
44
|
+
_showNextLineText(text: string): void;
|
|
45
|
+
_showNextLineText(text: string, unicode: boolean): void;
|
|
46
|
+
_setLineDashPattern(pattern: number[], patternOffset: number): void;
|
|
47
|
+
_setMiterLimit(miterLimit: number): void;
|
|
48
|
+
_setLineWidth(width: number): void;
|
|
49
|
+
_setLineCap(lineCapStyle: number): void;
|
|
50
|
+
_setLineJoin(lineJoinStyle: number): void;
|
|
51
|
+
_executeObject(name: _PdfName): void;
|
|
52
|
+
_beginMarkupSequence(name: string): void;
|
|
53
|
+
_endMarkupSequence(): void;
|
|
54
|
+
_clear(): void;
|
|
55
|
+
_escapeSymbols(value: string): number[];
|
|
56
|
+
}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { _escapePdfName } from './../utils';
|
|
2
|
+
var _PdfStreamWriter = /** @class */ (function () {
|
|
3
|
+
function _PdfStreamWriter(stream) {
|
|
4
|
+
this._newLine = '\r\n';
|
|
5
|
+
this._whiteSpace = ' ';
|
|
6
|
+
this._stream = stream;
|
|
7
|
+
}
|
|
8
|
+
_PdfStreamWriter.prototype._writeOperator = function (value) {
|
|
9
|
+
this._stream.write(value);
|
|
10
|
+
this._stream.write(this._newLine);
|
|
11
|
+
};
|
|
12
|
+
_PdfStreamWriter.prototype._saveGraphicsState = function () {
|
|
13
|
+
this._writeOperator('q');
|
|
14
|
+
};
|
|
15
|
+
_PdfStreamWriter.prototype._restoreGraphicsState = function () {
|
|
16
|
+
this._writeOperator('Q');
|
|
17
|
+
};
|
|
18
|
+
_PdfStreamWriter.prototype._writeComment = function (comment) {
|
|
19
|
+
if (comment && comment.length > 0) {
|
|
20
|
+
this._writeOperator('% ' + comment);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
_PdfStreamWriter.prototype._setGraphicsState = function (value) {
|
|
24
|
+
this._stream.write("/" + _escapePdfName(value.name) + " ");
|
|
25
|
+
this._writeOperator('gs');
|
|
26
|
+
};
|
|
27
|
+
_PdfStreamWriter.prototype._modifyCtm = function (matrix) {
|
|
28
|
+
this._stream.write(matrix._toString() + " ");
|
|
29
|
+
this._writeOperator('cm');
|
|
30
|
+
};
|
|
31
|
+
_PdfStreamWriter.prototype._modifyTM = function (matrix) {
|
|
32
|
+
this._stream.write(matrix._toString() + " ");
|
|
33
|
+
this._writeOperator('Tm');
|
|
34
|
+
};
|
|
35
|
+
_PdfStreamWriter.prototype._setColorSpace = function (value, forStroking) {
|
|
36
|
+
this._stream.write("/" + value + " ");
|
|
37
|
+
this._writeOperator(forStroking ? 'CS' : 'cs');
|
|
38
|
+
};
|
|
39
|
+
_PdfStreamWriter.prototype._setColor = function (color, forStroking) {
|
|
40
|
+
this._stream.write((color[0] / 255).toFixed(3) + " " + (color[1] / 255).toFixed(3) + " " + (color[2] / 255).toFixed(3) + " ");
|
|
41
|
+
this._writeOperator(forStroking ? 'RG' : 'rg');
|
|
42
|
+
};
|
|
43
|
+
_PdfStreamWriter.prototype._appendRectangle = function (x, y, width, height) {
|
|
44
|
+
this._writePoint(x, y);
|
|
45
|
+
this._writePoint(width, height);
|
|
46
|
+
this._writeOperator('re');
|
|
47
|
+
};
|
|
48
|
+
_PdfStreamWriter.prototype._writePoint = function (x, y) {
|
|
49
|
+
this._stream.write(x.toFixed(3) + " " + (-y).toFixed(3) + " ");
|
|
50
|
+
};
|
|
51
|
+
_PdfStreamWriter.prototype._clipPath = function (isEvenOdd) {
|
|
52
|
+
this._stream.write((isEvenOdd ? 'W*' : 'W') + " n" + this._newLine);
|
|
53
|
+
};
|
|
54
|
+
_PdfStreamWriter.prototype._fillPath = function (isEvenOdd) {
|
|
55
|
+
this._writeOperator(isEvenOdd ? 'f*' : 'f');
|
|
56
|
+
};
|
|
57
|
+
_PdfStreamWriter.prototype._closeFillPath = function (isEvenOdd) {
|
|
58
|
+
this._writeOperator('h');
|
|
59
|
+
this._fillPath(isEvenOdd);
|
|
60
|
+
};
|
|
61
|
+
_PdfStreamWriter.prototype._strokePath = function () {
|
|
62
|
+
this._writeOperator('S');
|
|
63
|
+
};
|
|
64
|
+
_PdfStreamWriter.prototype._closeStrokePath = function () {
|
|
65
|
+
this._writeOperator('s');
|
|
66
|
+
};
|
|
67
|
+
_PdfStreamWriter.prototype._fillStrokePath = function (isEvenOdd) {
|
|
68
|
+
this._writeOperator(isEvenOdd ? 'B*' : 'B');
|
|
69
|
+
};
|
|
70
|
+
_PdfStreamWriter.prototype._closeFillStrokePath = function (isEvenOdd) {
|
|
71
|
+
this._writeOperator(isEvenOdd ? 'b*' : 'b');
|
|
72
|
+
};
|
|
73
|
+
_PdfStreamWriter.prototype._endPath = function () {
|
|
74
|
+
this._writeOperator('n');
|
|
75
|
+
};
|
|
76
|
+
_PdfStreamWriter.prototype._setFont = function (name, size) {
|
|
77
|
+
this._stream.write("/" + name + " " + size.toFixed(3) + " ");
|
|
78
|
+
this._writeOperator('Tf');
|
|
79
|
+
};
|
|
80
|
+
_PdfStreamWriter.prototype._setTextScaling = function (textScaling) {
|
|
81
|
+
this._stream.write(textScaling.toFixed(3) + " ");
|
|
82
|
+
this._writeOperator('Tz');
|
|
83
|
+
};
|
|
84
|
+
_PdfStreamWriter.prototype._closePath = function () {
|
|
85
|
+
this._writeOperator('h');
|
|
86
|
+
};
|
|
87
|
+
_PdfStreamWriter.prototype._startNextLine = function (x, y) {
|
|
88
|
+
if (typeof x === 'undefined') {
|
|
89
|
+
this._writeOperator('T*');
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this._writePoint(x, y);
|
|
93
|
+
this._writeOperator('Td');
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
_PdfStreamWriter.prototype._showText = function (text) {
|
|
97
|
+
this._writeText(text);
|
|
98
|
+
this._writeOperator('Tj');
|
|
99
|
+
};
|
|
100
|
+
_PdfStreamWriter.prototype._write = function (string) {
|
|
101
|
+
var builder = '';
|
|
102
|
+
builder += string;
|
|
103
|
+
builder += '\r\n';
|
|
104
|
+
this._writeOperator(builder);
|
|
105
|
+
};
|
|
106
|
+
_PdfStreamWriter.prototype._writeText = function (text) {
|
|
107
|
+
var result = '';
|
|
108
|
+
var data = this._escapeSymbols(text);
|
|
109
|
+
for (var i = 0; i < data.length; i++) {
|
|
110
|
+
result += String.fromCharCode(data[i]); // eslint-disable-line
|
|
111
|
+
}
|
|
112
|
+
result = '(' + result + ')';
|
|
113
|
+
this._stream.write(result);
|
|
114
|
+
};
|
|
115
|
+
_PdfStreamWriter.prototype._beginText = function () {
|
|
116
|
+
this._writeOperator('BT');
|
|
117
|
+
};
|
|
118
|
+
_PdfStreamWriter.prototype._endText = function () {
|
|
119
|
+
this._writeOperator('ET');
|
|
120
|
+
};
|
|
121
|
+
_PdfStreamWriter.prototype._beginPath = function (x, y) {
|
|
122
|
+
this._writePoint(x, y);
|
|
123
|
+
this._writeOperator('m');
|
|
124
|
+
};
|
|
125
|
+
_PdfStreamWriter.prototype._appendLineSegment = function (x, y) {
|
|
126
|
+
this._writePoint(x, y);
|
|
127
|
+
this._writeOperator('l');
|
|
128
|
+
};
|
|
129
|
+
_PdfStreamWriter.prototype._appendBezierSegment = function (x1, y1, x2, y2, x3, y3) {
|
|
130
|
+
this._writePoint(x1, y1);
|
|
131
|
+
this._writePoint(x2, y2);
|
|
132
|
+
this._writePoint(x3, y3);
|
|
133
|
+
this._writeOperator('c');
|
|
134
|
+
};
|
|
135
|
+
_PdfStreamWriter.prototype._setTextRenderingMode = function (renderingMode) {
|
|
136
|
+
this._stream.write(renderingMode.toString() + " ");
|
|
137
|
+
this._writeOperator('Tr');
|
|
138
|
+
};
|
|
139
|
+
_PdfStreamWriter.prototype._setCharacterSpacing = function (charSpacing) {
|
|
140
|
+
this._stream.write(charSpacing.toFixed(3) + " ");
|
|
141
|
+
this._writeOperator('Tc');
|
|
142
|
+
};
|
|
143
|
+
_PdfStreamWriter.prototype._setWordSpacing = function (wordSpacing) {
|
|
144
|
+
this._stream.write(wordSpacing.toFixed(3) + " ");
|
|
145
|
+
this._writeOperator('Tw');
|
|
146
|
+
};
|
|
147
|
+
_PdfStreamWriter.prototype._showNextLineText = function (text, unicode) {
|
|
148
|
+
if (unicode !== null && typeof unicode !== 'undefined' && unicode) {
|
|
149
|
+
this._writeText(text);
|
|
150
|
+
this._writeOperator('\'');
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this._stream.write(text);
|
|
154
|
+
this._writeOperator('\'');
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
_PdfStreamWriter.prototype._setLineDashPattern = function (pattern, patternOffset) {
|
|
158
|
+
var tempPattern = '[';
|
|
159
|
+
if (pattern.length > 1) {
|
|
160
|
+
for (var index = 0; index < pattern.length; index++) {
|
|
161
|
+
if (index === pattern.length - 1) {
|
|
162
|
+
tempPattern += pattern[index].toString(); // eslint-disable-line
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
tempPattern += pattern[index].toString() + ' '; // eslint-disable-line
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
tempPattern += '] ';
|
|
170
|
+
tempPattern += patternOffset.toString();
|
|
171
|
+
tempPattern += ' d';
|
|
172
|
+
this._writeOperator(tempPattern);
|
|
173
|
+
};
|
|
174
|
+
_PdfStreamWriter.prototype._setMiterLimit = function (miterLimit) {
|
|
175
|
+
this._stream.write(miterLimit.toFixed(3) + " ");
|
|
176
|
+
this._writeOperator('M');
|
|
177
|
+
};
|
|
178
|
+
_PdfStreamWriter.prototype._setLineWidth = function (width) {
|
|
179
|
+
this._stream.write(width.toFixed(3) + " ");
|
|
180
|
+
this._writeOperator('w');
|
|
181
|
+
};
|
|
182
|
+
_PdfStreamWriter.prototype._setLineCap = function (lineCapStyle) {
|
|
183
|
+
this._stream.write(lineCapStyle + " ");
|
|
184
|
+
this._writeOperator('J');
|
|
185
|
+
};
|
|
186
|
+
_PdfStreamWriter.prototype._setLineJoin = function (lineJoinStyle) {
|
|
187
|
+
this._stream.write(lineJoinStyle + " ");
|
|
188
|
+
this._writeOperator('j');
|
|
189
|
+
};
|
|
190
|
+
_PdfStreamWriter.prototype._executeObject = function (name) {
|
|
191
|
+
this._stream.write("/" + name.name + " ");
|
|
192
|
+
this._writeOperator('Do');
|
|
193
|
+
};
|
|
194
|
+
_PdfStreamWriter.prototype._beginMarkupSequence = function (name) {
|
|
195
|
+
this._stream.write("/" + name + " ");
|
|
196
|
+
this._writeOperator('BMC');
|
|
197
|
+
};
|
|
198
|
+
_PdfStreamWriter.prototype._endMarkupSequence = function () {
|
|
199
|
+
this._writeOperator('EMC');
|
|
200
|
+
};
|
|
201
|
+
_PdfStreamWriter.prototype._clear = function () {
|
|
202
|
+
this._stream._bytes = [];
|
|
203
|
+
};
|
|
204
|
+
_PdfStreamWriter.prototype._escapeSymbols = function (value) {
|
|
205
|
+
var data = [];
|
|
206
|
+
for (var i = 0; i < value.length; i++) {
|
|
207
|
+
var currentData = value.charCodeAt(i);
|
|
208
|
+
switch (currentData) {
|
|
209
|
+
case 40:
|
|
210
|
+
case 41:
|
|
211
|
+
data.push(92);
|
|
212
|
+
data.push(currentData);
|
|
213
|
+
break;
|
|
214
|
+
case 13:
|
|
215
|
+
data.push(92);
|
|
216
|
+
data.push(114);
|
|
217
|
+
break;
|
|
218
|
+
case 92:
|
|
219
|
+
data.push(92);
|
|
220
|
+
data.push(currentData);
|
|
221
|
+
break;
|
|
222
|
+
default:
|
|
223
|
+
data.push(currentData);
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return data;
|
|
228
|
+
};
|
|
229
|
+
return _PdfStreamWriter;
|
|
230
|
+
}());
|
|
231
|
+
export { _PdfStreamWriter };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { _PdfBaseStream } from './../base-stream';
|
|
2
|
+
import { PdfGraphics } from './pdf-graphics';
|
|
3
|
+
import { _PdfCrossReference } from './../pdf-cross-reference';
|
|
4
|
+
/**
|
|
5
|
+
* `PdfTemplate` class represents the template of the PDF.
|
|
6
|
+
* ```typescript
|
|
7
|
+
* // Load an existing PDF document
|
|
8
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
9
|
+
* // Get the first page
|
|
10
|
+
* let page: PdfPage = document.getPage(0) as PdfPage;
|
|
11
|
+
* // Create a new rubber stamp annotation
|
|
12
|
+
* const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
|
|
13
|
+
* // Get the normal appearance of the annotation
|
|
14
|
+
* let normalAppearance: PdfTemplate = annotation.appearance.normal;
|
|
15
|
+
* // Create new image object by using JPEG image data as Base64 string format
|
|
16
|
+
* let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
|
|
17
|
+
* // Draw the image as the custom appearance for the annotation
|
|
18
|
+
* normalAppearance.graphics.drawImage(image, 0, 0, 100, 50);
|
|
19
|
+
* // Add annotation to the page
|
|
20
|
+
* page.annotations.add(annotation);
|
|
21
|
+
* // Save the document
|
|
22
|
+
* document.save('output.pdf');
|
|
23
|
+
* // Destroy the document
|
|
24
|
+
* document.destroy();
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class PdfTemplate {
|
|
28
|
+
_content: any;
|
|
29
|
+
_size: number[];
|
|
30
|
+
_writeTransformation: boolean;
|
|
31
|
+
_isReadOnly: boolean;
|
|
32
|
+
_isAnnotationTemplate: boolean;
|
|
33
|
+
_needScale: boolean;
|
|
34
|
+
_g: PdfGraphics;
|
|
35
|
+
_crossReference: _PdfCrossReference;
|
|
36
|
+
/**
|
|
37
|
+
* Initializes a new instance of the `PdfTemplate` class.
|
|
38
|
+
*
|
|
39
|
+
* @param {_PdfBaseStream} appearance - The appearance stream.
|
|
40
|
+
* @param {_PdfCrossReference} crossReference - The cross reference object.
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
constructor(appearance: _PdfBaseStream, crossReference: _PdfCrossReference);
|
|
44
|
+
/**
|
|
45
|
+
* Initializes a new instance of the `PdfTemplate` class.
|
|
46
|
+
*
|
|
47
|
+
* @param {number[]} bounds - The bounds.
|
|
48
|
+
* @param {_PdfCrossReference} crossReference - The cross reference object.
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
constructor(bounds: number[], crossReference: _PdfCrossReference);
|
|
52
|
+
/**
|
|
53
|
+
* Get the graphics of the PDF template.
|
|
54
|
+
*
|
|
55
|
+
* @returns {PdfGraphics} The graphics object of the PDF template.
|
|
56
|
+
* ```typescript
|
|
57
|
+
* // Load an existing PDF document
|
|
58
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
59
|
+
* // Get the first page
|
|
60
|
+
* let page: PdfPage = document.getPage(0) as PdfPage;
|
|
61
|
+
* // Create a new rubber stamp annotation
|
|
62
|
+
* const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
|
|
63
|
+
* // Access the graphics of the normal appearance
|
|
64
|
+
* let graphics: PdfGraphics = annotation.appearance.normal.graphics;
|
|
65
|
+
* // Create new image object by using JPEG image data as Base64 string format
|
|
66
|
+
* let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
|
|
67
|
+
* // Draw the image as the custom appearance for the annotation
|
|
68
|
+
* graphics.drawImage(image, 0, 0, 100, 50);
|
|
69
|
+
* // Add annotation to the page
|
|
70
|
+
* page.annotations.add(annotation);
|
|
71
|
+
* // Save the document
|
|
72
|
+
* document.save('output.pdf');
|
|
73
|
+
* // Destroy the document
|
|
74
|
+
* document.destroy();
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
readonly graphics: PdfGraphics;
|
|
78
|
+
_initialize(): void;
|
|
79
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { _PdfName } from './../pdf-primitives';
|
|
2
|
+
import { _PdfBaseStream, _PdfContentStream } from './../base-stream';
|
|
3
|
+
import { PdfGraphics } from './pdf-graphics';
|
|
4
|
+
import { _toRectangle } from './../utils';
|
|
5
|
+
/**
|
|
6
|
+
* `PdfTemplate` class represents the template of the PDF.
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Load an existing PDF document
|
|
9
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
10
|
+
* // Get the first page
|
|
11
|
+
* let page: PdfPage = document.getPage(0) as PdfPage;
|
|
12
|
+
* // Create a new rubber stamp annotation
|
|
13
|
+
* const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
|
|
14
|
+
* // Get the normal appearance of the annotation
|
|
15
|
+
* let normalAppearance: PdfTemplate = annotation.appearance.normal;
|
|
16
|
+
* // Create new image object by using JPEG image data as Base64 string format
|
|
17
|
+
* let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
|
|
18
|
+
* // Draw the image as the custom appearance for the annotation
|
|
19
|
+
* normalAppearance.graphics.drawImage(image, 0, 0, 100, 50);
|
|
20
|
+
* // Add annotation to the page
|
|
21
|
+
* page.annotations.add(annotation);
|
|
22
|
+
* // Save the document
|
|
23
|
+
* document.save('output.pdf');
|
|
24
|
+
* // Destroy the document
|
|
25
|
+
* document.destroy();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
var PdfTemplate = /** @class */ (function () {
|
|
29
|
+
function PdfTemplate(value, crossReference) {
|
|
30
|
+
this._crossReference = crossReference;
|
|
31
|
+
if (value instanceof _PdfBaseStream) {
|
|
32
|
+
this._content = value;
|
|
33
|
+
if (!this._content.dictionary.has('Type') || !this._content.dictionary.has('Subtype')) {
|
|
34
|
+
this._initialize();
|
|
35
|
+
}
|
|
36
|
+
var bounds = this._content.dictionary.getArray('BBox');
|
|
37
|
+
if (bounds && bounds.length > 3) {
|
|
38
|
+
var rect = _toRectangle(bounds);
|
|
39
|
+
this._size = [rect.width, rect.height];
|
|
40
|
+
}
|
|
41
|
+
this._isReadOnly = true;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this._size = [value[2], value[3]];
|
|
45
|
+
this._content = new _PdfContentStream([]);
|
|
46
|
+
this._content.dictionary._crossReference = this._crossReference;
|
|
47
|
+
this._initialize();
|
|
48
|
+
this._content.dictionary.set('BBox', [value[0], value[1], value[0] + value[2], value[1] + value[3]]);
|
|
49
|
+
}
|
|
50
|
+
this._writeTransformation = true;
|
|
51
|
+
}
|
|
52
|
+
Object.defineProperty(PdfTemplate.prototype, "graphics", {
|
|
53
|
+
/**
|
|
54
|
+
* Get the graphics of the PDF template.
|
|
55
|
+
*
|
|
56
|
+
* @returns {PdfGraphics} The graphics object of the PDF template.
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Load an existing PDF document
|
|
59
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
60
|
+
* // Get the first page
|
|
61
|
+
* let page: PdfPage = document.getPage(0) as PdfPage;
|
|
62
|
+
* // Create a new rubber stamp annotation
|
|
63
|
+
* const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
|
|
64
|
+
* // Access the graphics of the normal appearance
|
|
65
|
+
* let graphics: PdfGraphics = annotation.appearance.normal.graphics;
|
|
66
|
+
* // Create new image object by using JPEG image data as Base64 string format
|
|
67
|
+
* let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
|
|
68
|
+
* // Draw the image as the custom appearance for the annotation
|
|
69
|
+
* graphics.drawImage(image, 0, 0, 100, 50);
|
|
70
|
+
* // Add annotation to the page
|
|
71
|
+
* page.annotations.add(annotation);
|
|
72
|
+
* // Save the document
|
|
73
|
+
* document.save('output.pdf');
|
|
74
|
+
* // Destroy the document
|
|
75
|
+
* document.destroy();
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
get: function () {
|
|
79
|
+
if (this._isReadOnly) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
if (typeof this._g === 'undefined') {
|
|
83
|
+
this._g = new PdfGraphics(this._size, this._content, this._crossReference, this);
|
|
84
|
+
if (this._writeTransformation) {
|
|
85
|
+
this._g._initializeCoordinates();
|
|
86
|
+
}
|
|
87
|
+
this._g._isTemplateGraphics = true;
|
|
88
|
+
}
|
|
89
|
+
return this._g;
|
|
90
|
+
},
|
|
91
|
+
enumerable: true,
|
|
92
|
+
configurable: true
|
|
93
|
+
});
|
|
94
|
+
PdfTemplate.prototype._initialize = function () {
|
|
95
|
+
this._content.dictionary.set('Type', _PdfName.get('XObject'));
|
|
96
|
+
this._content.dictionary.set('Subtype', _PdfName.get('Form'));
|
|
97
|
+
};
|
|
98
|
+
return PdfTemplate;
|
|
99
|
+
}());
|
|
100
|
+
export { PdfTemplate };
|