@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,1049 @@
|
|
|
1
|
+
import { _PdfDictionary, _PdfReference, _PdfName } from './pdf-primitives';
|
|
2
|
+
import { _getInheritableProperty } from './utils';
|
|
3
|
+
import { PdfAnnotationCollection } from './annotations/annotation-collection';
|
|
4
|
+
import { PdfGraphics } from './graphics/pdf-graphics';
|
|
5
|
+
import { _PdfBaseStream, _PdfContentStream } from './base-stream';
|
|
6
|
+
import { PdfRotationAngle, PdfDestinationMode, PdfFormFieldsTabOrder, PdfPageOrientation } from './enumerator';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a page loaded from the PDF document.
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Load an existing PDF document
|
|
11
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
12
|
+
* // Access first page
|
|
13
|
+
* let page: PdfPage = document.getPage(0);
|
|
14
|
+
* // Save the document
|
|
15
|
+
* document.save('output.pdf');
|
|
16
|
+
* // Destroy the document
|
|
17
|
+
* document.destroy();
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
var PdfPage = /** @class */ (function () {
|
|
21
|
+
/**
|
|
22
|
+
* Represents a loaded page of the PDF document.
|
|
23
|
+
*
|
|
24
|
+
* @private
|
|
25
|
+
* @param {_PdfCrossReference} crossReference Cross reference object.
|
|
26
|
+
* @param {number} pageIndex page index.
|
|
27
|
+
* @param {_PdfDictionary} dictionary page Dictionary.
|
|
28
|
+
* @param {_PdfReference} reference page reference.
|
|
29
|
+
*/
|
|
30
|
+
function PdfPage(crossReference, pageIndex, dictionary, reference) {
|
|
31
|
+
this._isAnnotationParsed = false;
|
|
32
|
+
this._pageIndex = pageIndex;
|
|
33
|
+
this._pageDictionary = dictionary;
|
|
34
|
+
this._crossReference = crossReference;
|
|
35
|
+
this._ref = reference;
|
|
36
|
+
}
|
|
37
|
+
Object.defineProperty(PdfPage.prototype, "annotations", {
|
|
38
|
+
/**
|
|
39
|
+
* Gets the collection of the page's annotations (Read only).
|
|
40
|
+
*
|
|
41
|
+
* @returns {PdfAnnotationCollection} Annotation collection.
|
|
42
|
+
*
|
|
43
|
+
* ```typescript
|
|
44
|
+
* // Load an existing PDF document
|
|
45
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
46
|
+
* // Access first page
|
|
47
|
+
* let page: PdfPage = document.getPage(0);
|
|
48
|
+
* // Gets the annotation collection
|
|
49
|
+
* let annotations: PdfAnnotationCollection = page.annotations;
|
|
50
|
+
* // Save the document
|
|
51
|
+
* document.save('output.pdf');
|
|
52
|
+
* // Destroy the document
|
|
53
|
+
* document.destroy();
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
get: function () {
|
|
57
|
+
if (typeof this._annotations === 'undefined') {
|
|
58
|
+
if (this._pageDictionary.has('Annots')) {
|
|
59
|
+
var annots = this._getProperty('Annots');
|
|
60
|
+
if (annots && Array.isArray(annots)) {
|
|
61
|
+
var widgets_1 = this._crossReference._document.form._parseWidgetReferences();
|
|
62
|
+
if (widgets_1 && widgets_1.length > 0) {
|
|
63
|
+
var validAnnotations_1 = [];
|
|
64
|
+
annots.forEach(function (entry) {
|
|
65
|
+
if (widgets_1.indexOf(entry) === -1) {
|
|
66
|
+
validAnnotations_1.push(entry);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this._annotations = new PdfAnnotationCollection(validAnnotations_1, this._crossReference, this);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this._annotations = new PdfAnnotationCollection(annots, this._crossReference, this);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (typeof this._annotations === 'undefined') {
|
|
77
|
+
this._annotations = new PdfAnnotationCollection([], this._crossReference, this);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return this._annotations;
|
|
81
|
+
},
|
|
82
|
+
enumerable: true,
|
|
83
|
+
configurable: true
|
|
84
|
+
});
|
|
85
|
+
Object.defineProperty(PdfPage.prototype, "size", {
|
|
86
|
+
/**
|
|
87
|
+
* Gets the size of the page (Read only).
|
|
88
|
+
*
|
|
89
|
+
* @returns {number[]} Page width and height as number array.
|
|
90
|
+
*
|
|
91
|
+
* ```typescript
|
|
92
|
+
* // Load an existing PDF document
|
|
93
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
94
|
+
* // Access first page
|
|
95
|
+
* let page: PdfPage = document.getPage(0);
|
|
96
|
+
* // Gets the width and height of the PDF page as number array
|
|
97
|
+
* let size: number[] = page.size;
|
|
98
|
+
* // Save the document
|
|
99
|
+
* document.save('output.pdf');
|
|
100
|
+
* // Destroy the document
|
|
101
|
+
* document.destroy();
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
get: function () {
|
|
105
|
+
if (typeof this._size === 'undefined') {
|
|
106
|
+
var mBox = this.mediaBox;
|
|
107
|
+
var width = 0;
|
|
108
|
+
var height = 0;
|
|
109
|
+
if (mBox) {
|
|
110
|
+
width = mBox[2] - mBox[0];
|
|
111
|
+
height = mBox[3] !== 0 ? mBox[3] - mBox[1] : mBox[1];
|
|
112
|
+
}
|
|
113
|
+
if (height < 0) {
|
|
114
|
+
height = -height;
|
|
115
|
+
}
|
|
116
|
+
if (width < 0) {
|
|
117
|
+
width = -width;
|
|
118
|
+
}
|
|
119
|
+
this._size = [width, height];
|
|
120
|
+
}
|
|
121
|
+
return this._size;
|
|
122
|
+
},
|
|
123
|
+
enumerable: true,
|
|
124
|
+
configurable: true
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(PdfPage.prototype, "rotation", {
|
|
127
|
+
/**
|
|
128
|
+
* Gets the rotation angle of the page (Read only).
|
|
129
|
+
*
|
|
130
|
+
* @returns {PdfRotationAngle} Page rotation angle.
|
|
131
|
+
*
|
|
132
|
+
* ```typescript
|
|
133
|
+
* // Load an existing PDF document
|
|
134
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
135
|
+
* // Access first page
|
|
136
|
+
* let page: PdfPage = document.getPage(0);
|
|
137
|
+
* // Gets the rotation angle of the page
|
|
138
|
+
* let rotation: PdfRotationAngle = page.rotation;
|
|
139
|
+
* // Save the document
|
|
140
|
+
* document.save('output.pdf');
|
|
141
|
+
* // Destroy the document
|
|
142
|
+
* document.destroy();
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
get: function () {
|
|
146
|
+
var angle = 0;
|
|
147
|
+
if (typeof this._rotation === 'undefined') {
|
|
148
|
+
angle = _getInheritableProperty(this._pageDictionary, 'Rotate', false, true, 'Parent');
|
|
149
|
+
}
|
|
150
|
+
if (angle < 0) {
|
|
151
|
+
angle += 360;
|
|
152
|
+
}
|
|
153
|
+
return (typeof angle !== 'undefined') ? ((angle / 90) % 4) : PdfRotationAngle.angle0;
|
|
154
|
+
},
|
|
155
|
+
enumerable: true,
|
|
156
|
+
configurable: true
|
|
157
|
+
});
|
|
158
|
+
Object.defineProperty(PdfPage.prototype, "tabOrder", {
|
|
159
|
+
/**
|
|
160
|
+
* Gets the tab order of a PDF form field.
|
|
161
|
+
*
|
|
162
|
+
* @returns {PdfFormFieldsTabOrder} tab order.
|
|
163
|
+
* ```typescript
|
|
164
|
+
* // Load an existing PDF document
|
|
165
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
166
|
+
* // Access first page
|
|
167
|
+
* let page: PdfPage = document.getPage(0);
|
|
168
|
+
* // Gets the tab order of a PDF form field.
|
|
169
|
+
* let tabOrder: PdfFormFieldsTabOrder = page.tabOrder;
|
|
170
|
+
* // Save the document
|
|
171
|
+
* document.save('output.pdf');
|
|
172
|
+
* // Destroy the document
|
|
173
|
+
* document.destroy();
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
get: function () {
|
|
177
|
+
return this._obtainTabOrder();
|
|
178
|
+
},
|
|
179
|
+
/**
|
|
180
|
+
* Sets the tab order of a PDF form field.
|
|
181
|
+
*
|
|
182
|
+
* @param {PdfFormFieldsTabOrder} value tab order.
|
|
183
|
+
* ```typescript
|
|
184
|
+
* // Load an existing PDF document
|
|
185
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
186
|
+
* // Access first page
|
|
187
|
+
* let page: PdfPage = document.getPage(0);
|
|
188
|
+
* // Sets the tab order of a PDF form field.
|
|
189
|
+
* page.tabOrder = PdfFormFieldsTabOrder.row;
|
|
190
|
+
* // Save the document
|
|
191
|
+
* document.save('output.pdf');
|
|
192
|
+
* // Destroy the document
|
|
193
|
+
* document.destroy();
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
set: function (value) {
|
|
197
|
+
this._tabOrder = value;
|
|
198
|
+
var tabs = '';
|
|
199
|
+
if (this._tabOrder !== PdfFormFieldsTabOrder.none) {
|
|
200
|
+
if (this._tabOrder === PdfFormFieldsTabOrder.row) {
|
|
201
|
+
tabs = 'R';
|
|
202
|
+
}
|
|
203
|
+
else if (this._tabOrder === PdfFormFieldsTabOrder.column) {
|
|
204
|
+
tabs = 'C';
|
|
205
|
+
}
|
|
206
|
+
else if (this._tabOrder === PdfFormFieldsTabOrder.structure) {
|
|
207
|
+
tabs = 'S';
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
this._pageDictionary.update('Tabs', _PdfName.get(tabs));
|
|
211
|
+
},
|
|
212
|
+
enumerable: true,
|
|
213
|
+
configurable: true
|
|
214
|
+
});
|
|
215
|
+
Object.defineProperty(PdfPage.prototype, "cropBox", {
|
|
216
|
+
/**
|
|
217
|
+
* Gets the bounds that define the area intended for display or printing in the PDF viewer application (Read only).
|
|
218
|
+
*
|
|
219
|
+
* @returns {number[]} Page size as number array.
|
|
220
|
+
*
|
|
221
|
+
* ```typescript
|
|
222
|
+
* // Load an existing PDF document
|
|
223
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
224
|
+
* // Access first page
|
|
225
|
+
* let page: PdfPage = document.getPage(0);
|
|
226
|
+
* // Gets the cropBox of the PDF page as number array
|
|
227
|
+
* let cropBox: number[] = page.cropBox;
|
|
228
|
+
* // Save the document
|
|
229
|
+
* document.save('output.pdf');
|
|
230
|
+
* // Destroy the document
|
|
231
|
+
* document.destroy();
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
get: function () {
|
|
235
|
+
if (typeof this._cBox === 'undefined') {
|
|
236
|
+
this._cBox = _getInheritableProperty(this._pageDictionary, 'CropBox', false, true, 'Parent', 'P');
|
|
237
|
+
}
|
|
238
|
+
if (typeof this._cBox === 'undefined') {
|
|
239
|
+
this._cBox = [0, 0, 0, 0];
|
|
240
|
+
}
|
|
241
|
+
return this._cBox;
|
|
242
|
+
},
|
|
243
|
+
enumerable: true,
|
|
244
|
+
configurable: true
|
|
245
|
+
});
|
|
246
|
+
Object.defineProperty(PdfPage.prototype, "mediaBox", {
|
|
247
|
+
/**
|
|
248
|
+
* Gets the size that specify the width and height of the page (Read only).
|
|
249
|
+
*
|
|
250
|
+
* @returns {number[]} Page size as number array.
|
|
251
|
+
*
|
|
252
|
+
* ```typescript
|
|
253
|
+
* // Load an existing PDF document
|
|
254
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
255
|
+
* // Access first page
|
|
256
|
+
* let page: PdfPage = document.getPage(0);
|
|
257
|
+
* // Gets the mediaBox of the PDF page as number array
|
|
258
|
+
* let mediaBox: number[] = page.mediaBox;
|
|
259
|
+
* // Save the document
|
|
260
|
+
* document.save('output.pdf');
|
|
261
|
+
* // Destroy the document
|
|
262
|
+
* document.destroy();
|
|
263
|
+
* ```
|
|
264
|
+
*/
|
|
265
|
+
get: function () {
|
|
266
|
+
if (typeof this._mBox === 'undefined') {
|
|
267
|
+
this._mBox = _getInheritableProperty(this._pageDictionary, 'MediaBox', false, true, 'Parent', 'P');
|
|
268
|
+
}
|
|
269
|
+
if (typeof this._mBox === 'undefined') {
|
|
270
|
+
this._mBox = [0, 0, 0, 0];
|
|
271
|
+
}
|
|
272
|
+
return this._mBox;
|
|
273
|
+
},
|
|
274
|
+
enumerable: true,
|
|
275
|
+
configurable: true
|
|
276
|
+
});
|
|
277
|
+
Object.defineProperty(PdfPage.prototype, "orientation", {
|
|
278
|
+
/**
|
|
279
|
+
* Gets the orientation of the page (Read only).
|
|
280
|
+
*
|
|
281
|
+
* @returns {PdfPageOrientation} Page orientation.
|
|
282
|
+
*
|
|
283
|
+
* ```typescript
|
|
284
|
+
* // Load an existing PDF document
|
|
285
|
+
* let document: PdfDocument = new PdfDocument(data);
|
|
286
|
+
* // Access first page
|
|
287
|
+
* let page: PdfPage = document.getPage(0);
|
|
288
|
+
* // Gets the orientation of the PDF page
|
|
289
|
+
* let orientation: number[] = page.orientation;
|
|
290
|
+
* // Save the document
|
|
291
|
+
* document.save('output.pdf');
|
|
292
|
+
* // Destroy the document
|
|
293
|
+
* document.destroy();
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
get: function () {
|
|
297
|
+
if (typeof this._orientation === 'undefined') {
|
|
298
|
+
if (typeof this.size !== 'undefined') {
|
|
299
|
+
var size = this.size;
|
|
300
|
+
if (size[0] > size[1]) {
|
|
301
|
+
this._orientation = PdfPageOrientation.landscape;
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
this._orientation = PdfPageOrientation.portrait;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return this._orientation;
|
|
309
|
+
},
|
|
310
|
+
enumerable: true,
|
|
311
|
+
configurable: true
|
|
312
|
+
});
|
|
313
|
+
Object.defineProperty(PdfPage.prototype, "_origin", {
|
|
314
|
+
get: function () {
|
|
315
|
+
if (typeof this._o === 'undefined' || (this._o[0] === 0 && this._o[1] === 0)) {
|
|
316
|
+
this._o = [this.mediaBox[0], this._mBox[1]];
|
|
317
|
+
}
|
|
318
|
+
return this._o;
|
|
319
|
+
},
|
|
320
|
+
enumerable: true,
|
|
321
|
+
configurable: true
|
|
322
|
+
});
|
|
323
|
+
Object.defineProperty(PdfPage.prototype, "graphics", {
|
|
324
|
+
/**
|
|
325
|
+
* Gets the graphics of the page (Read only).
|
|
326
|
+
*
|
|
327
|
+
* @returns {PdfGraphics} Page graphics.
|
|
328
|
+
*
|
|
329
|
+
* ```typescript
|
|
330
|
+
* // Load an existing PDF document
|
|
331
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
332
|
+
* // Access first page
|
|
333
|
+
* let page: PdfPage = document.getPage(0);
|
|
334
|
+
* // Gets the graphics of the PDF page
|
|
335
|
+
* let graphics: PdfGraphics = page.graphics;
|
|
336
|
+
* //Create a new pen.
|
|
337
|
+
* let pen: PdfPen = new PdfPen([0, 0, 0], 1);
|
|
338
|
+
* //Draw line on the page graphics.
|
|
339
|
+
* graphics.drawLine(pen, 10, 10, 100, 100);
|
|
340
|
+
* // Save the document
|
|
341
|
+
* document.save('output.pdf');
|
|
342
|
+
* // Destroy the document
|
|
343
|
+
* document.destroy();
|
|
344
|
+
* ```
|
|
345
|
+
*/
|
|
346
|
+
get: function () {
|
|
347
|
+
if (typeof this._g === 'undefined' || this._needInitializeGraphics) {
|
|
348
|
+
this._parseGraphics();
|
|
349
|
+
}
|
|
350
|
+
return this._g;
|
|
351
|
+
},
|
|
352
|
+
enumerable: true,
|
|
353
|
+
configurable: true
|
|
354
|
+
});
|
|
355
|
+
PdfPage.prototype._addWidget = function (reference) {
|
|
356
|
+
var annots;
|
|
357
|
+
if (this._pageDictionary.has('Annots')) {
|
|
358
|
+
annots = this._getProperty('Annots');
|
|
359
|
+
}
|
|
360
|
+
if (annots && Array.isArray(annots)) {
|
|
361
|
+
annots.push(reference);
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
this._pageDictionary.update('Annots', [reference]);
|
|
365
|
+
}
|
|
366
|
+
this._pageDictionary._updated = true;
|
|
367
|
+
};
|
|
368
|
+
PdfPage.prototype._getProperty = function (key, getArray) {
|
|
369
|
+
if (getArray === void 0) { getArray = false; }
|
|
370
|
+
var value = _getInheritableProperty(this._pageDictionary, key, getArray, false); // eslint-disable-line
|
|
371
|
+
if (!Array.isArray(value)) {
|
|
372
|
+
return value;
|
|
373
|
+
}
|
|
374
|
+
if (value.length === 1 || !(value[0] instanceof _PdfDictionary)) {
|
|
375
|
+
return value[0];
|
|
376
|
+
}
|
|
377
|
+
return _PdfDictionary.merge(this._crossReference, value);
|
|
378
|
+
};
|
|
379
|
+
PdfPage.prototype._parseGraphics = function () {
|
|
380
|
+
this._loadContents();
|
|
381
|
+
var saveStream = new _PdfContentStream([32, 113, 32, 10]);
|
|
382
|
+
var saveReference = this._crossReference._getNextReference();
|
|
383
|
+
this._crossReference._cacheMap.set(saveReference, saveStream);
|
|
384
|
+
this._contents.splice(0, 0, saveReference);
|
|
385
|
+
var restoreStream = new _PdfContentStream([32, 81, 32, 10]);
|
|
386
|
+
var restoreReference = this._crossReference._getNextReference();
|
|
387
|
+
this._crossReference._cacheMap.set(restoreReference, restoreStream);
|
|
388
|
+
this._contents.push(restoreReference);
|
|
389
|
+
var contentStream = new _PdfContentStream([]);
|
|
390
|
+
var contentReference = this._crossReference._getNextReference();
|
|
391
|
+
this._crossReference._cacheMap.set(contentReference, contentStream);
|
|
392
|
+
this._contents.push(contentReference);
|
|
393
|
+
this._pageDictionary.set('Contents', this._contents);
|
|
394
|
+
this._pageDictionary._updated = true;
|
|
395
|
+
this._initializeGraphics(contentStream);
|
|
396
|
+
};
|
|
397
|
+
PdfPage.prototype._loadContents = function () {
|
|
398
|
+
var contents = this._pageDictionary.getRaw('Contents'); // eslint-disable-line
|
|
399
|
+
var ref;
|
|
400
|
+
if (contents !== null && typeof contents !== 'undefined' && contents instanceof _PdfReference) {
|
|
401
|
+
ref = contents;
|
|
402
|
+
contents = this._crossReference._fetch(ref);
|
|
403
|
+
}
|
|
404
|
+
if (contents && contents instanceof _PdfBaseStream) {
|
|
405
|
+
this._contents = [ref];
|
|
406
|
+
}
|
|
407
|
+
else if (contents && Array.isArray(contents)) {
|
|
408
|
+
this._contents = contents;
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
this._contents = [];
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
PdfPage.prototype._initializeGraphics = function (stream) {
|
|
415
|
+
var isInvalidCase = false;
|
|
416
|
+
var llx = 0;
|
|
417
|
+
var lly = 0;
|
|
418
|
+
var urx = 0;
|
|
419
|
+
var ury = 0;
|
|
420
|
+
var size = this.size;
|
|
421
|
+
var mbox = this.mediaBox;
|
|
422
|
+
if (mbox && mbox.length >= 4) {
|
|
423
|
+
llx = mbox[0];
|
|
424
|
+
lly = mbox[1];
|
|
425
|
+
urx = mbox[2];
|
|
426
|
+
ury = mbox[3];
|
|
427
|
+
}
|
|
428
|
+
var cbox;
|
|
429
|
+
if (this._pageDictionary.has('CropBox')) {
|
|
430
|
+
cbox = this.cropBox;
|
|
431
|
+
if (cbox && cbox.length >= 4) {
|
|
432
|
+
var cx = cbox[0];
|
|
433
|
+
var cy = cbox[1];
|
|
434
|
+
var crx = cbox[2];
|
|
435
|
+
var cry = cbox[3];
|
|
436
|
+
var isValid = (cx < 0 || cy < 0 || crx < 0 || cry < 0) &&
|
|
437
|
+
(Math.floor(Math.abs(cy)) === Math.floor(Math.abs(size[1]))) &&
|
|
438
|
+
(Math.floor(Math.abs(cx)) === Math.floor(Math.abs(size[0])));
|
|
439
|
+
if (isValid) {
|
|
440
|
+
this._g = new PdfGraphics([Math.max(cx, crx), Math.max(cy, cry)], stream, this._crossReference, this);
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
this._g = new PdfGraphics(size, stream, this._crossReference, this);
|
|
444
|
+
this._g._cropBox = cbox;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
this._g = new PdfGraphics(size, stream, this._crossReference, this);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
else if ((llx < 0 || lly < 0 || urx < 0 || ury < 0) &&
|
|
452
|
+
(Math.floor(Math.abs(lly)) === Math.floor(Math.abs(size[1]))) &&
|
|
453
|
+
(Math.floor(Math.abs(urx)) === Math.floor(Math.abs(size[0])))) {
|
|
454
|
+
var width = Math.max(llx, urx);
|
|
455
|
+
var height = Math.max(lly, ury);
|
|
456
|
+
if (width <= 0 || height <= 0) {
|
|
457
|
+
isInvalidCase = true;
|
|
458
|
+
if (llx < 0) {
|
|
459
|
+
llx = -llx;
|
|
460
|
+
}
|
|
461
|
+
if (lly < 0) {
|
|
462
|
+
lly = -lly;
|
|
463
|
+
}
|
|
464
|
+
if (urx < 0) {
|
|
465
|
+
urx = -urx;
|
|
466
|
+
}
|
|
467
|
+
if (ury < 0) {
|
|
468
|
+
ury = -ury;
|
|
469
|
+
}
|
|
470
|
+
width = Math.max(llx, urx);
|
|
471
|
+
height = Math.max(lly, ury);
|
|
472
|
+
}
|
|
473
|
+
this._g = new PdfGraphics([width, height], stream, this._crossReference, this);
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
this._g = new PdfGraphics(size, stream, this._crossReference, this);
|
|
477
|
+
}
|
|
478
|
+
if (this._pageDictionary.has('MediaBox')) {
|
|
479
|
+
this._g._mediaBoxUpperRightBound = isInvalidCase ? -lly : ury;
|
|
480
|
+
}
|
|
481
|
+
this._graphicsState = this._g.save();
|
|
482
|
+
var origin = this._origin;
|
|
483
|
+
if ((origin[0] >= 0 && origin[1] >= 0) || Math.sign(origin[0]) !== Math.sign(origin[1])) {
|
|
484
|
+
this._g._initializeCoordinates();
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
this._g._initializeCoordinates(this);
|
|
488
|
+
}
|
|
489
|
+
//Need to code - set transparency group
|
|
490
|
+
var rotation = this.rotation;
|
|
491
|
+
if (!Number.isNaN(rotation) && (rotation !== PdfRotationAngle.angle0 || this._pageDictionary.has('Rotate'))) {
|
|
492
|
+
var rotate = void 0;
|
|
493
|
+
if (this._pageDictionary.has('Rotate')) {
|
|
494
|
+
rotate = this._pageDictionary.get('Rotate');
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
rotate = rotation * 90;
|
|
498
|
+
}
|
|
499
|
+
var clip = this._g._clipBounds;
|
|
500
|
+
if (rotate === 90) {
|
|
501
|
+
this._g.translateTransform(0, size[1]);
|
|
502
|
+
this._g.rotateTransform(-90);
|
|
503
|
+
this._g._clipBounds = [clip[0], clip[1], size[0], size[1]];
|
|
504
|
+
}
|
|
505
|
+
else if (rotate === 180) {
|
|
506
|
+
this._g.translateTransform(size[0], size[1]);
|
|
507
|
+
this._g.rotateTransform(-180);
|
|
508
|
+
}
|
|
509
|
+
else if (rotate === 270) {
|
|
510
|
+
this._g.translateTransform(size[0], 0);
|
|
511
|
+
this._g.rotateTransform(-270);
|
|
512
|
+
this._g._clipBounds = [clip[0], clip[1], size[1], size[0]];
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
this._needInitializeGraphics = false;
|
|
516
|
+
};
|
|
517
|
+
PdfPage.prototype._fetchResources = function () {
|
|
518
|
+
if (typeof this._resourceObject === 'undefined') {
|
|
519
|
+
if (this._pageDictionary && this._pageDictionary.has('Resources')) {
|
|
520
|
+
var obj = this._pageDictionary.getRaw('Resources'); // eslint-disable-line
|
|
521
|
+
if (obj !== null && typeof obj !== 'undefined' && obj instanceof _PdfReference) {
|
|
522
|
+
this._hasResourceReference = true;
|
|
523
|
+
this._resourceObject = this._crossReference._fetch(obj);
|
|
524
|
+
}
|
|
525
|
+
else if (obj instanceof _PdfDictionary) {
|
|
526
|
+
this._resourceObject = obj;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
this._resourceObject = new _PdfDictionary(this._crossReference);
|
|
531
|
+
this._pageDictionary.update('Resources', this._resourceObject);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
return this._resourceObject;
|
|
535
|
+
};
|
|
536
|
+
PdfPage.prototype._getCropOrMediaBox = function () {
|
|
537
|
+
var box;
|
|
538
|
+
if (this._pageDictionary.has('CropBox')) {
|
|
539
|
+
box = this._pageDictionary.getArray('CropBox');
|
|
540
|
+
}
|
|
541
|
+
else if (this._pageDictionary.has('MediaBox')) {
|
|
542
|
+
box = this._pageDictionary.getArray('MediaBox');
|
|
543
|
+
}
|
|
544
|
+
return box;
|
|
545
|
+
};
|
|
546
|
+
PdfPage.prototype._beginSave = function () {
|
|
547
|
+
if (typeof this._graphicsState !== 'undefined') {
|
|
548
|
+
this.graphics.restore(this._graphicsState);
|
|
549
|
+
this._graphicsState = null;
|
|
550
|
+
this._needInitializeGraphics = true;
|
|
551
|
+
}
|
|
552
|
+
};
|
|
553
|
+
PdfPage.prototype._destroy = function () {
|
|
554
|
+
this._pageDictionary = undefined;
|
|
555
|
+
this._size = undefined;
|
|
556
|
+
this._mBox = undefined;
|
|
557
|
+
this._cBox = undefined;
|
|
558
|
+
this._o = undefined;
|
|
559
|
+
this._g = undefined;
|
|
560
|
+
this._graphicsState = undefined;
|
|
561
|
+
this._contents = undefined;
|
|
562
|
+
};
|
|
563
|
+
PdfPage.prototype._obtainTabOrder = function () {
|
|
564
|
+
if (this._pageDictionary.has('Tabs')) {
|
|
565
|
+
var tabOrder = this._pageDictionary.get('Tabs');
|
|
566
|
+
if (tabOrder === _PdfName.get('R')) {
|
|
567
|
+
this._tabOrder = PdfFormFieldsTabOrder.row;
|
|
568
|
+
}
|
|
569
|
+
else if (tabOrder === _PdfName.get('C')) {
|
|
570
|
+
this._tabOrder = PdfFormFieldsTabOrder.column;
|
|
571
|
+
}
|
|
572
|
+
else if (tabOrder === _PdfName.get('S')) {
|
|
573
|
+
this._tabOrder = PdfFormFieldsTabOrder.structure;
|
|
574
|
+
}
|
|
575
|
+
else if (tabOrder === _PdfName.get('W')) {
|
|
576
|
+
this._tabOrder = PdfFormFieldsTabOrder.widget;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
if (this._tabOrder === null || typeof this._tabOrder === 'undefined') {
|
|
580
|
+
this._tabOrder = PdfFormFieldsTabOrder.none;
|
|
581
|
+
}
|
|
582
|
+
return this._tabOrder;
|
|
583
|
+
};
|
|
584
|
+
PdfPage.prototype._removeAnnotation = function (reference) {
|
|
585
|
+
if (this._pageDictionary.has('Annots')) {
|
|
586
|
+
var annots = this._getProperty('Annots');
|
|
587
|
+
if (annots && Array.isArray(annots)) {
|
|
588
|
+
var index = annots.indexOf(reference);
|
|
589
|
+
if (index >= 0) {
|
|
590
|
+
annots.splice(index, 1);
|
|
591
|
+
}
|
|
592
|
+
this._pageDictionary.set('Annots', annots);
|
|
593
|
+
this._pageDictionary._updated = true;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
};
|
|
597
|
+
return PdfPage;
|
|
598
|
+
}());
|
|
599
|
+
export { PdfPage };
|
|
600
|
+
/**
|
|
601
|
+
* `PdfDestination` class represents the PDF destination.
|
|
602
|
+
* ```typescript
|
|
603
|
+
* // Load an existing PDF document
|
|
604
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
605
|
+
* // Access the annotation at index 0
|
|
606
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
607
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
608
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
609
|
+
* // Sets the zoom factor.
|
|
610
|
+
* destination.zoom = 20;
|
|
611
|
+
* // Sets the page where the destination is situated.
|
|
612
|
+
* destination.page = page;
|
|
613
|
+
* // Sets the mode of the destination.
|
|
614
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
615
|
+
* // Sets the location of the destination.
|
|
616
|
+
* destination.location = [20, 20];
|
|
617
|
+
* // Sets the bounds of the destination.
|
|
618
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
619
|
+
* // Sets destination to document link annotation.
|
|
620
|
+
* annotation.destination = destination;
|
|
621
|
+
* // Save the document
|
|
622
|
+
* document.save('output.pdf');
|
|
623
|
+
* // Destroy the document
|
|
624
|
+
* document.destroy();
|
|
625
|
+
* ```
|
|
626
|
+
*/
|
|
627
|
+
var PdfDestination = /** @class */ (function () {
|
|
628
|
+
function PdfDestination(page, location) {
|
|
629
|
+
this._location = [0, 0];
|
|
630
|
+
this._destinationMode = PdfDestinationMode.location;
|
|
631
|
+
this._zoom = 0;
|
|
632
|
+
this._isValid = true;
|
|
633
|
+
this._index = 0;
|
|
634
|
+
this._destinationBounds = [0, 0, 0, 0];
|
|
635
|
+
this._array = Array(); // eslint-disable-line
|
|
636
|
+
if (typeof page !== 'undefined' && page !== null) {
|
|
637
|
+
if (page.rotation === PdfRotationAngle.angle180) {
|
|
638
|
+
this._location = [page.graphics._size[0], this._location[1]];
|
|
639
|
+
}
|
|
640
|
+
else if (page.rotation === PdfRotationAngle.angle90) {
|
|
641
|
+
this._location = [0, 0];
|
|
642
|
+
}
|
|
643
|
+
else if (page.rotation === PdfRotationAngle.angle270) {
|
|
644
|
+
this._location = [page.graphics._size[0], 0];
|
|
645
|
+
}
|
|
646
|
+
else {
|
|
647
|
+
this._location = [0, this._location[1]];
|
|
648
|
+
}
|
|
649
|
+
this._page = page;
|
|
650
|
+
this._index = page._pageIndex;
|
|
651
|
+
}
|
|
652
|
+
if (typeof location !== 'undefined' && location.length === 2) {
|
|
653
|
+
this._location = location;
|
|
654
|
+
}
|
|
655
|
+
if (typeof location !== 'undefined' && location.length === 4) {
|
|
656
|
+
this._location = [location[0], location[1]];
|
|
657
|
+
this._destinationBounds = location;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
Object.defineProperty(PdfDestination.prototype, "zoom", {
|
|
661
|
+
/**
|
|
662
|
+
* Gets the zoom factor.
|
|
663
|
+
*
|
|
664
|
+
* @returns {number} zoom.
|
|
665
|
+
* ```typescript
|
|
666
|
+
* // Load an existing PDF document
|
|
667
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
668
|
+
* //Access the annotation at index 0
|
|
669
|
+
* let annot: PdfDocumentLinkAnnotation = page.annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
670
|
+
* // Gets the zoom factor of the destination.
|
|
671
|
+
* let zoom: number = annot.destination.zoom;
|
|
672
|
+
* // Save the document
|
|
673
|
+
* document.save('output.pdf');
|
|
674
|
+
* // Destroy the document
|
|
675
|
+
* document.destroy();
|
|
676
|
+
* ```
|
|
677
|
+
*/
|
|
678
|
+
get: function () {
|
|
679
|
+
return this._zoom;
|
|
680
|
+
},
|
|
681
|
+
/**
|
|
682
|
+
* Sets the zoom factor.
|
|
683
|
+
*
|
|
684
|
+
* @param {number} value zoom.
|
|
685
|
+
* ```typescript
|
|
686
|
+
* // Load an existing PDF document
|
|
687
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
688
|
+
* // Access the annotation at index 0
|
|
689
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
690
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
691
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
692
|
+
* // Sets the zoom factor.
|
|
693
|
+
* destination.zoom = 20;
|
|
694
|
+
* // Sets the page where the destination is situated.
|
|
695
|
+
* destination.page = page;
|
|
696
|
+
* // Sets the mode of the destination.
|
|
697
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
698
|
+
* // Sets the location of the destination.
|
|
699
|
+
* destination.location = [20, 20];
|
|
700
|
+
* // Sets the bounds of the destination.
|
|
701
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
702
|
+
* // Sets destination to document link annotation.
|
|
703
|
+
* annotation.destination = destination;
|
|
704
|
+
* // Save the document
|
|
705
|
+
* document.save('output.pdf');
|
|
706
|
+
* // Destroy the document
|
|
707
|
+
* document.destroy();
|
|
708
|
+
* ```
|
|
709
|
+
*/
|
|
710
|
+
set: function (value) {
|
|
711
|
+
if (value !== this._zoom) {
|
|
712
|
+
this._zoom = value;
|
|
713
|
+
this._initializePrimitive();
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
enumerable: true,
|
|
717
|
+
configurable: true
|
|
718
|
+
});
|
|
719
|
+
Object.defineProperty(PdfDestination.prototype, "page", {
|
|
720
|
+
/**
|
|
721
|
+
* Gets the page where the destination is situated.
|
|
722
|
+
*
|
|
723
|
+
* @returns {PdfPage} page.
|
|
724
|
+
* ```typescript
|
|
725
|
+
* // Load an existing PDF document
|
|
726
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
727
|
+
* //Access the annotation at index 0
|
|
728
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
729
|
+
* // Gets the page of the destination.
|
|
730
|
+
* let page: PdfPage = annot.destination.page;
|
|
731
|
+
* // Save the document
|
|
732
|
+
* document.save('output.pdf');
|
|
733
|
+
* // Destroy the document
|
|
734
|
+
* document.destroy();
|
|
735
|
+
* ```
|
|
736
|
+
*/
|
|
737
|
+
get: function () {
|
|
738
|
+
return this._page;
|
|
739
|
+
},
|
|
740
|
+
/**
|
|
741
|
+
* Sets the page where the destination is situated.
|
|
742
|
+
*
|
|
743
|
+
* @param {PdfPage} value page.
|
|
744
|
+
* ```typescript
|
|
745
|
+
* // Load an existing PDF document
|
|
746
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
747
|
+
* // Access the annotation at index 0
|
|
748
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
749
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
750
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
751
|
+
* // Sets the zoom factor.
|
|
752
|
+
* destination.zoom = 20;
|
|
753
|
+
* // Sets the page where the destination is situated.
|
|
754
|
+
* destination.page = page;
|
|
755
|
+
* // Sets the mode of the destination.
|
|
756
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
757
|
+
* // Sets the location of the destination.
|
|
758
|
+
* destination.location = [20, 20];
|
|
759
|
+
* // Sets the bounds of the destination.
|
|
760
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
761
|
+
* // Sets destination to document link annotation.
|
|
762
|
+
* annotation.destination = destination;
|
|
763
|
+
* // Save the document
|
|
764
|
+
* document.save('output.pdf');
|
|
765
|
+
* // Destroy the document
|
|
766
|
+
* document.destroy();
|
|
767
|
+
* ```
|
|
768
|
+
*/
|
|
769
|
+
set: function (value) {
|
|
770
|
+
if (value !== this._page) {
|
|
771
|
+
this._page = value;
|
|
772
|
+
this._initializePrimitive();
|
|
773
|
+
this._index = value._pageIndex;
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
enumerable: true,
|
|
777
|
+
configurable: true
|
|
778
|
+
});
|
|
779
|
+
Object.defineProperty(PdfDestination.prototype, "pageIndex", {
|
|
780
|
+
/**
|
|
781
|
+
* Gets the page index of bookmark destination (Read only).
|
|
782
|
+
*
|
|
783
|
+
* @returns {number} index.
|
|
784
|
+
* ```typescript
|
|
785
|
+
* // Load an existing PDF document
|
|
786
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
787
|
+
* //Access the annotation at index 0
|
|
788
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
789
|
+
* // Gets the page index of the destination.
|
|
790
|
+
* let pageIndex: number = annot.destination.pageIndex;
|
|
791
|
+
* // Save the document
|
|
792
|
+
* document.save('output.pdf');
|
|
793
|
+
* // Destroy the document
|
|
794
|
+
* document.destroy();
|
|
795
|
+
* ```
|
|
796
|
+
*/
|
|
797
|
+
get: function () {
|
|
798
|
+
return this._index;
|
|
799
|
+
},
|
|
800
|
+
enumerable: true,
|
|
801
|
+
configurable: true
|
|
802
|
+
});
|
|
803
|
+
Object.defineProperty(PdfDestination.prototype, "mode", {
|
|
804
|
+
/**
|
|
805
|
+
* Gets the mode of the destination.
|
|
806
|
+
*
|
|
807
|
+
* @returns {PdfDestinationMode} page.
|
|
808
|
+
* ```typescript
|
|
809
|
+
* // Load an existing PDF document
|
|
810
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
811
|
+
* //Access the annotation at index 0
|
|
812
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
813
|
+
* // Gets the mode of the destination.
|
|
814
|
+
* let mode: PdfDestinationMode = annot.destination.mode;
|
|
815
|
+
* // Save the document
|
|
816
|
+
* document.save('output.pdf');
|
|
817
|
+
* // Destroy the document
|
|
818
|
+
* document.destroy();
|
|
819
|
+
* ```
|
|
820
|
+
*/
|
|
821
|
+
get: function () {
|
|
822
|
+
return this._destinationMode;
|
|
823
|
+
},
|
|
824
|
+
/**
|
|
825
|
+
* Sets the mode of the destination.
|
|
826
|
+
*
|
|
827
|
+
* @param {PdfDestinationMode} value page.
|
|
828
|
+
* ```typescript
|
|
829
|
+
* // Load an existing PDF document
|
|
830
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
831
|
+
* // Access the annotation at index 0
|
|
832
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
833
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
834
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
835
|
+
* // Sets the zoom factor.
|
|
836
|
+
* destination.zoom = 20;
|
|
837
|
+
* // Sets the page where the destination is situated.
|
|
838
|
+
* destination.page = page;
|
|
839
|
+
* // Sets the mode of the destination.
|
|
840
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
841
|
+
* // Sets the location of the destination.
|
|
842
|
+
* destination.location = [20, 20];
|
|
843
|
+
* // Sets the bounds of the destination.
|
|
844
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
845
|
+
* // Sets destination to document link annotation.
|
|
846
|
+
* annotation.destination = destination;
|
|
847
|
+
* // Save the document
|
|
848
|
+
* document.save('output.pdf');
|
|
849
|
+
* // Destroy the document
|
|
850
|
+
* document.destroy();
|
|
851
|
+
* ```
|
|
852
|
+
*/
|
|
853
|
+
set: function (value) {
|
|
854
|
+
if (value !== this._destinationMode) {
|
|
855
|
+
this._destinationMode = value;
|
|
856
|
+
this._initializePrimitive();
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
enumerable: true,
|
|
860
|
+
configurable: true
|
|
861
|
+
});
|
|
862
|
+
Object.defineProperty(PdfDestination.prototype, "location", {
|
|
863
|
+
/**
|
|
864
|
+
* Gets the location of the destination.
|
|
865
|
+
*
|
|
866
|
+
* @returns {number[]} page.
|
|
867
|
+
* ```typescript
|
|
868
|
+
* // Load an existing PDF document
|
|
869
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
870
|
+
* // Access the annotation at index 0
|
|
871
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
872
|
+
* // Gets the location of the destination.
|
|
873
|
+
* let location: number[] = annot.destination.location;
|
|
874
|
+
* // Save the document
|
|
875
|
+
* document.save('output.pdf');
|
|
876
|
+
* // Destroy the document
|
|
877
|
+
* document.destroy();
|
|
878
|
+
* ```
|
|
879
|
+
*/
|
|
880
|
+
get: function () {
|
|
881
|
+
return this._location;
|
|
882
|
+
},
|
|
883
|
+
/**
|
|
884
|
+
* Sets the location of the destination.
|
|
885
|
+
*
|
|
886
|
+
* @param {number[]} value page.
|
|
887
|
+
* ```typescript
|
|
888
|
+
* // Load an existing PDF document
|
|
889
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
890
|
+
* // Access the annotation at index 0
|
|
891
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
892
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
893
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
894
|
+
* // Sets the zoom factor.
|
|
895
|
+
* destination.zoom = 20;
|
|
896
|
+
* // Sets the page where the destination is situated.
|
|
897
|
+
* destination.page = page;
|
|
898
|
+
* // Sets the mode of the destination.
|
|
899
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
900
|
+
* // Sets the location of the destination.
|
|
901
|
+
* destination.location = [20, 20];
|
|
902
|
+
* // Sets the bounds of the destination.
|
|
903
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
904
|
+
* // Sets destination to document link annotation.
|
|
905
|
+
* annotation.destination = destination;
|
|
906
|
+
* // Save the document
|
|
907
|
+
* document.save('output.pdf');
|
|
908
|
+
* // Destroy the document
|
|
909
|
+
* document.destroy();
|
|
910
|
+
* ```
|
|
911
|
+
*/
|
|
912
|
+
set: function (value) {
|
|
913
|
+
if (value !== this._location) {
|
|
914
|
+
this._location = value;
|
|
915
|
+
this._initializePrimitive();
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
enumerable: true,
|
|
919
|
+
configurable: true
|
|
920
|
+
});
|
|
921
|
+
Object.defineProperty(PdfDestination.prototype, "destinationBounds", {
|
|
922
|
+
/**
|
|
923
|
+
* Gets the bounds of the destination.
|
|
924
|
+
*
|
|
925
|
+
* @returns {number[]} bounds.
|
|
926
|
+
* ```typescript
|
|
927
|
+
* // Load an existing PDF document
|
|
928
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
929
|
+
* // Access the annotation at index 0
|
|
930
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
931
|
+
* // Gets the bounds of the destination.
|
|
932
|
+
* let destinationBounds: number[] = annot.destination.destinationBounds;
|
|
933
|
+
* // Save the document
|
|
934
|
+
* document.save('output.pdf');
|
|
935
|
+
* // Destroy the document
|
|
936
|
+
* document.destroy();
|
|
937
|
+
* ```
|
|
938
|
+
*/
|
|
939
|
+
get: function () {
|
|
940
|
+
return this._destinationBounds;
|
|
941
|
+
},
|
|
942
|
+
/**
|
|
943
|
+
* Sets the bounds of the destination.
|
|
944
|
+
*
|
|
945
|
+
* @param {number[]} value bounds.
|
|
946
|
+
* ```typescript
|
|
947
|
+
* // Load an existing PDF document
|
|
948
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
949
|
+
* // Access the annotation at index 0
|
|
950
|
+
* let annotation: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
951
|
+
* // Initializes a new instance of the `PdfDestination` class.
|
|
952
|
+
* let destination: PdfDestination = new PdfDestination();
|
|
953
|
+
* // Sets the zoom factor.
|
|
954
|
+
* destination.zoom = 20;
|
|
955
|
+
* // Sets the page where the destination is situated.
|
|
956
|
+
* destination.page = page;
|
|
957
|
+
* // Sets the mode of the destination.
|
|
958
|
+
* destination.mode = PdfDestinationMode.fitToPage;
|
|
959
|
+
* // Sets the location of the destination.
|
|
960
|
+
* destination.location = [20, 20];
|
|
961
|
+
* // Sets the bounds of the destination.
|
|
962
|
+
* destination.destinationBounds = [20, 20, 100, 50];
|
|
963
|
+
* // Sets destination to document link annotation.
|
|
964
|
+
* annotation.destination = destination;
|
|
965
|
+
* // Save the document
|
|
966
|
+
* document.save('output.pdf');
|
|
967
|
+
* // Destroy the document
|
|
968
|
+
* document.destroy();
|
|
969
|
+
* ```
|
|
970
|
+
*/
|
|
971
|
+
set: function (value) {
|
|
972
|
+
if (value !== this._destinationBounds) {
|
|
973
|
+
this._destinationBounds = value;
|
|
974
|
+
this._initializePrimitive();
|
|
975
|
+
}
|
|
976
|
+
},
|
|
977
|
+
enumerable: true,
|
|
978
|
+
configurable: true
|
|
979
|
+
});
|
|
980
|
+
Object.defineProperty(PdfDestination.prototype, "isValid", {
|
|
981
|
+
/**
|
|
982
|
+
* Gets a value indicating whether this instance is valid (Read only).
|
|
983
|
+
*
|
|
984
|
+
* @returns {boolean} value indicating whether this instance is valid.
|
|
985
|
+
* ```typescript
|
|
986
|
+
* // Load an existing PDF document
|
|
987
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
988
|
+
* // Access the annotation at index 0
|
|
989
|
+
* let annot: PdfDocumentLinkAnnotation = document.getPage(0).annotations.at(0) as PdfDocumentLinkAnnotation;
|
|
990
|
+
* // Gets a value indicating whether this instance is valid.
|
|
991
|
+
* let isValid: boolean = annot.destination.isValid;
|
|
992
|
+
* // Save the document
|
|
993
|
+
* document.save('output.pdf');
|
|
994
|
+
* // Destroy the document
|
|
995
|
+
* document.destroy();
|
|
996
|
+
* ```
|
|
997
|
+
*/
|
|
998
|
+
get: function () {
|
|
999
|
+
return this._isValid;
|
|
1000
|
+
},
|
|
1001
|
+
enumerable: true,
|
|
1002
|
+
configurable: true
|
|
1003
|
+
});
|
|
1004
|
+
PdfDestination.prototype._setValidation = function (value) {
|
|
1005
|
+
this._isValid = value;
|
|
1006
|
+
};
|
|
1007
|
+
PdfDestination.prototype._initializePrimitive = function () {
|
|
1008
|
+
this._array = [];
|
|
1009
|
+
var page = this._page;
|
|
1010
|
+
var element = this._page._pageDictionary;
|
|
1011
|
+
if (typeof element !== 'undefined' && element !== null) {
|
|
1012
|
+
this._array.push(this._page._ref);
|
|
1013
|
+
}
|
|
1014
|
+
switch (this._destinationMode) {
|
|
1015
|
+
case PdfDestinationMode.location:
|
|
1016
|
+
this._array.push(_PdfName.get('XYZ'));
|
|
1017
|
+
if (typeof page !== 'undefined' && page !== null) {
|
|
1018
|
+
this._array.push(this._location[0]);
|
|
1019
|
+
this._array.push(this._page.graphics._size[1] - this._location[1]);
|
|
1020
|
+
}
|
|
1021
|
+
else {
|
|
1022
|
+
this._array.push(0);
|
|
1023
|
+
this._array.push(0);
|
|
1024
|
+
}
|
|
1025
|
+
this._array.push(this._zoom);
|
|
1026
|
+
break;
|
|
1027
|
+
case PdfDestinationMode.fitToPage:
|
|
1028
|
+
this._array.push(_PdfName.get('Fit'));
|
|
1029
|
+
break;
|
|
1030
|
+
case PdfDestinationMode.fitR:
|
|
1031
|
+
this._array.push(_PdfName.get('FitR'));
|
|
1032
|
+
this._array.push(this._destinationBounds[0]);
|
|
1033
|
+
this._array.push(this._destinationBounds[1]);
|
|
1034
|
+
this._array.push(this._destinationBounds[2]);
|
|
1035
|
+
this._array.push(this._destinationBounds[3]);
|
|
1036
|
+
break;
|
|
1037
|
+
case PdfDestinationMode.fitH:
|
|
1038
|
+
this._array.push(_PdfName.get('FitH'));
|
|
1039
|
+
this._array.push((typeof page !== 'undefined' && page !== null) ? page._size[1] - this._location[1] : 0);
|
|
1040
|
+
break;
|
|
1041
|
+
}
|
|
1042
|
+
if (this._parent) {
|
|
1043
|
+
this._parent._dictionary.set('D', this._array);
|
|
1044
|
+
this._parent._dictionary._updated = true;
|
|
1045
|
+
}
|
|
1046
|
+
};
|
|
1047
|
+
return PdfDestination;
|
|
1048
|
+
}());
|
|
1049
|
+
export { PdfDestination };
|