@syncfusion/ej2-pdf 1.0.23 → 23.1.36
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 +17 -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 +48245 -0
- package/dist/es6/ej2-pdf.es2015.js.map +1 -0
- package/dist/es6/ej2-pdf.es5.js +50124 -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 +744 -0
- package/src/pdf/core/annotations/annotation.d.ts +5845 -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 +31 -0
- package/src/pdf/core/graphics/images/image-decoder.js +130 -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 +678 -0
- package/src/pdf/core/utils.js +3607 -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,860 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
import { PdfDestinationMode, PdfRotationAngle, PdfTextStyle } from './enumerator';
|
|
15
|
+
import { PdfDestination } from './pdf-page';
|
|
16
|
+
import { _PdfDictionary, _PdfName, _PdfReference } from './pdf-primitives';
|
|
17
|
+
import { _checkRotation, _getPageIndex, _parseColor } from './utils';
|
|
18
|
+
/**
|
|
19
|
+
* Represents a base class for all bookmark objects.
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Load an existing PDF document
|
|
22
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
23
|
+
* // Get bookmarks
|
|
24
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
25
|
+
* // Destroy the document
|
|
26
|
+
* document.destroy();
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
var PdfBookmarkBase = /** @class */ (function () {
|
|
30
|
+
/**
|
|
31
|
+
* Initializes a new instance of the `PdfBookmarkBase` class.
|
|
32
|
+
*
|
|
33
|
+
* @private
|
|
34
|
+
* @param {_PdfDictionary} dictionary Outline dictionary.
|
|
35
|
+
* @param {_PdfCrossReference} crossReference Cross reference.
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
function PdfBookmarkBase(dictionary, crossReference) {
|
|
39
|
+
this._bookMarkList = [];
|
|
40
|
+
this._isExpanded = false;
|
|
41
|
+
this._isLoadedBookmark = false;
|
|
42
|
+
this._dictionary = dictionary;
|
|
43
|
+
this._crossReference = crossReference;
|
|
44
|
+
}
|
|
45
|
+
Object.defineProperty(PdfBookmarkBase.prototype, "count", {
|
|
46
|
+
/**
|
|
47
|
+
* Gets the bookmark count (Read only).
|
|
48
|
+
*
|
|
49
|
+
* @returns {number} Number of bookmarks.
|
|
50
|
+
*
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Load an existing PDF document
|
|
53
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
54
|
+
* // Get bookmarks
|
|
55
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
56
|
+
* // Get bookmark count
|
|
57
|
+
* let bookmarkCount: number = bookmarks.count;
|
|
58
|
+
* // Destroy the document
|
|
59
|
+
* document.destroy();
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
get: function () {
|
|
63
|
+
if (this._isLoadedBookmark && this._bookMarkList.length === 0) {
|
|
64
|
+
this._reproduceTree();
|
|
65
|
+
}
|
|
66
|
+
return this._bookMarkList.length;
|
|
67
|
+
},
|
|
68
|
+
enumerable: true,
|
|
69
|
+
configurable: true
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Gets the `PdfBookmark` at the specified index.
|
|
73
|
+
*
|
|
74
|
+
* @param {number} index Bookmark index.
|
|
75
|
+
* @returns {PdfBookmark} Bookmark at the specified index.
|
|
76
|
+
*
|
|
77
|
+
* ```typescript
|
|
78
|
+
* // Load an existing PDF document
|
|
79
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
80
|
+
* // Get bookmarks
|
|
81
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
82
|
+
* // Get bookmark at the specified index
|
|
83
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
84
|
+
* // Destroy the document
|
|
85
|
+
* document.destroy();
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
PdfBookmarkBase.prototype.at = function (index) {
|
|
89
|
+
var bookmark;
|
|
90
|
+
if (index < 0 || index >= this.count) {
|
|
91
|
+
throw Error('Index out of range.');
|
|
92
|
+
}
|
|
93
|
+
if (this._bookMarkList.length > 0 && index < this._bookMarkList.length) {
|
|
94
|
+
bookmark = this._bookMarkList[Number.parseInt(index.toString(), 10)];
|
|
95
|
+
}
|
|
96
|
+
return bookmark;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Gets the boolean flag indicating whether `PdfBookmark` is present or not.
|
|
100
|
+
*
|
|
101
|
+
* @param {PdfBookmark} outline Bookmark.
|
|
102
|
+
* @returns {boolean} whether the bookmark is present or not.
|
|
103
|
+
*
|
|
104
|
+
* ```typescript
|
|
105
|
+
* // Load an existing PDF document
|
|
106
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
107
|
+
* // Get the bookmarks
|
|
108
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
109
|
+
* // Get the bookmark at the specified index
|
|
110
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
111
|
+
* // Gets the boolean flag indicating whether `PdfBookmark` is present or not.
|
|
112
|
+
* let isPresent: boolean = bookmarks.contains(bookmark);
|
|
113
|
+
* // Destroy the document
|
|
114
|
+
* document.destroy();
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
PdfBookmarkBase.prototype.contains = function (outline) {
|
|
118
|
+
return this._bookMarkList.indexOf(outline) !== -1;
|
|
119
|
+
};
|
|
120
|
+
PdfBookmarkBase.prototype._reproduceTree = function () {
|
|
121
|
+
var bookmark = this._getFirstBookmark(this);
|
|
122
|
+
var isBookmark = (bookmark) ? true : false;
|
|
123
|
+
while (isBookmark && bookmark._dictionary) {
|
|
124
|
+
this._bookMarkList.push(bookmark);
|
|
125
|
+
bookmark = bookmark._next;
|
|
126
|
+
isBookmark = (bookmark) ? true : false;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
PdfBookmarkBase.prototype._getFirstBookmark = function (bookmarkBase) {
|
|
130
|
+
var bookmarkBaseDictionary = bookmarkBase._dictionary;
|
|
131
|
+
var bookMark;
|
|
132
|
+
if (bookmarkBaseDictionary && bookmarkBaseDictionary.has('First')) {
|
|
133
|
+
var bookMarkDictionary = bookmarkBaseDictionary.get('First');
|
|
134
|
+
if (bookMarkDictionary) {
|
|
135
|
+
bookMark = new PdfBookmark(bookMarkDictionary, this._crossReference);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return bookMark;
|
|
139
|
+
};
|
|
140
|
+
return PdfBookmarkBase;
|
|
141
|
+
}());
|
|
142
|
+
export { PdfBookmarkBase };
|
|
143
|
+
/**
|
|
144
|
+
* Represents a bookmark in a PDF document
|
|
145
|
+
*
|
|
146
|
+
* ```typescript
|
|
147
|
+
* // Load an existing PDF document
|
|
148
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
149
|
+
* // Get the bookmarks
|
|
150
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
151
|
+
* // Gets the bookmark at the specified index
|
|
152
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
153
|
+
* // Destroy the document
|
|
154
|
+
* document.destroy();
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
var PdfBookmark = /** @class */ (function (_super) {
|
|
158
|
+
__extends(PdfBookmark, _super);
|
|
159
|
+
/**
|
|
160
|
+
* Initializes a new instance of the `PdfBookmark` class.
|
|
161
|
+
*
|
|
162
|
+
* @private
|
|
163
|
+
* @param {_PdfDictionary} dictionary Bookmark dictionary.
|
|
164
|
+
* @param {_PdfCrossReference} crossReference Cross reference.
|
|
165
|
+
*
|
|
166
|
+
*/
|
|
167
|
+
function PdfBookmark(dictionary, crossReference) {
|
|
168
|
+
var _this = _super.call(this, dictionary, crossReference) || this;
|
|
169
|
+
if (!_this._dictionary.has('Dest') && _this._dictionary.has('A')) {
|
|
170
|
+
var actionDictionary = _this._dictionary.get('A');
|
|
171
|
+
if (actionDictionary && actionDictionary.has('D')) {
|
|
172
|
+
var destinationArray = actionDictionary.getRaw('D'); // eslint-disable-line
|
|
173
|
+
_this._dictionary.update('Dest', destinationArray);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
_this._isLoadedBookmark = true;
|
|
177
|
+
return _this;
|
|
178
|
+
}
|
|
179
|
+
Object.defineProperty(PdfBookmark.prototype, "destination", {
|
|
180
|
+
/**
|
|
181
|
+
* Gets the destination (Read only).
|
|
182
|
+
*
|
|
183
|
+
* @returns {PdfDestination} Page destination.
|
|
184
|
+
*
|
|
185
|
+
* ```typescript
|
|
186
|
+
* // Load an existing PDF document
|
|
187
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
188
|
+
* // Get the bookmarks
|
|
189
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
190
|
+
* // Gets the bookmark at the specified index
|
|
191
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
192
|
+
* // Gets the destination
|
|
193
|
+
* let destination: PdfDestination = bookmark.destination;
|
|
194
|
+
* // Destroy the document
|
|
195
|
+
* document.destroy();
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
get: function () {
|
|
199
|
+
var value;
|
|
200
|
+
var namedDestination = this._obtainNamedDestination();
|
|
201
|
+
if (namedDestination === null || typeof namedDestination === 'undefined') {
|
|
202
|
+
value = this._obtainDestination();
|
|
203
|
+
}
|
|
204
|
+
return value;
|
|
205
|
+
},
|
|
206
|
+
enumerable: true,
|
|
207
|
+
configurable: true
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(PdfBookmark.prototype, "namedDestination", {
|
|
210
|
+
/**
|
|
211
|
+
* Gets the named destination (Read only).
|
|
212
|
+
*
|
|
213
|
+
* @returns {PdfNamedDestination} Named destination.
|
|
214
|
+
*
|
|
215
|
+
* ```typescript
|
|
216
|
+
* // Load an existing PDF document
|
|
217
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
218
|
+
* // Get the bookmarks
|
|
219
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
220
|
+
* // Gets bookmark at the specified index
|
|
221
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
222
|
+
* // Gets the named destination
|
|
223
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
224
|
+
* // Destroy the document
|
|
225
|
+
* document.destroy();
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
get: function () {
|
|
229
|
+
if (this._namedDestination === null || typeof this._namedDestination === 'undefined') {
|
|
230
|
+
this._namedDestination = this._obtainNamedDestination();
|
|
231
|
+
}
|
|
232
|
+
return this._namedDestination;
|
|
233
|
+
},
|
|
234
|
+
enumerable: true,
|
|
235
|
+
configurable: true
|
|
236
|
+
});
|
|
237
|
+
Object.defineProperty(PdfBookmark.prototype, "title", {
|
|
238
|
+
/**
|
|
239
|
+
* Gets the bookmark title (Read only).
|
|
240
|
+
*
|
|
241
|
+
* @returns {string} Bookmark title.
|
|
242
|
+
*
|
|
243
|
+
* ```typescript
|
|
244
|
+
* // Load an existing PDF document
|
|
245
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
246
|
+
* // Get the bookmarks
|
|
247
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
248
|
+
* // Gets bookmark at the specified index
|
|
249
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
250
|
+
* // Gets the bookmark title
|
|
251
|
+
* let bookmarkTitle: string = bookmark.title;
|
|
252
|
+
* // Destroy the document
|
|
253
|
+
* document.destroy();
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
get: function () {
|
|
257
|
+
if (this._title === null || typeof this._title === 'undefined') {
|
|
258
|
+
this._title = this._obtainTitle();
|
|
259
|
+
}
|
|
260
|
+
return this._title;
|
|
261
|
+
},
|
|
262
|
+
enumerable: true,
|
|
263
|
+
configurable: true
|
|
264
|
+
});
|
|
265
|
+
Object.defineProperty(PdfBookmark.prototype, "color", {
|
|
266
|
+
/**
|
|
267
|
+
* Gets the bookmark color (Read only).
|
|
268
|
+
*
|
|
269
|
+
* @returns {number[]} Bookmark color.
|
|
270
|
+
*
|
|
271
|
+
* ```typescript
|
|
272
|
+
* // Load an existing PDF document
|
|
273
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
274
|
+
* // Get the bookmarks
|
|
275
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
276
|
+
* // Gets bookmark at the specified index
|
|
277
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
278
|
+
* // Gets the bookmark color
|
|
279
|
+
* let color: number[] = bookmark.color;
|
|
280
|
+
* // Destroy the document
|
|
281
|
+
* document.destroy();
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
get: function () {
|
|
285
|
+
if (this._color === null || typeof this._color === 'undefined') {
|
|
286
|
+
if (this._dictionary.has('C')) {
|
|
287
|
+
this._color = _parseColor(this._dictionary.getArray('C'));
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return (this._color) ? this._color : [0, 0, 0];
|
|
291
|
+
},
|
|
292
|
+
enumerable: true,
|
|
293
|
+
configurable: true
|
|
294
|
+
});
|
|
295
|
+
Object.defineProperty(PdfBookmark.prototype, "textStyle", {
|
|
296
|
+
/**
|
|
297
|
+
* Gets the textStyle (Read only).
|
|
298
|
+
*
|
|
299
|
+
* @returns {PdfTextStyle} Text style.
|
|
300
|
+
*
|
|
301
|
+
* ```typescript
|
|
302
|
+
* // Load an existing PDF document
|
|
303
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
304
|
+
* // Get the bookmarks
|
|
305
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
306
|
+
* // Gets bookmark at the specified index
|
|
307
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
308
|
+
* // Gets the textStyle
|
|
309
|
+
* let textStyle: PdfTextStyle = bookmark.textStyle;
|
|
310
|
+
* // Destroy the document
|
|
311
|
+
* document.destroy();
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
get: function () {
|
|
315
|
+
if (this._textStyle === null || typeof this._textStyle === 'undefined') {
|
|
316
|
+
this._textStyle = this._obtainTextStyle();
|
|
317
|
+
}
|
|
318
|
+
return this._textStyle;
|
|
319
|
+
},
|
|
320
|
+
enumerable: true,
|
|
321
|
+
configurable: true
|
|
322
|
+
});
|
|
323
|
+
Object.defineProperty(PdfBookmark.prototype, "isExpanded", {
|
|
324
|
+
/**
|
|
325
|
+
* Gets the boolean flag indicating whether the bookmark is expanded or not (Read only).
|
|
326
|
+
*
|
|
327
|
+
* @returns {boolean} whether the bookmark is expanded or not.
|
|
328
|
+
*
|
|
329
|
+
* ```typescript
|
|
330
|
+
* // Load an existing PDF document
|
|
331
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
332
|
+
* // Get the bookmarks
|
|
333
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
334
|
+
* // Gets bookmark at the specified index
|
|
335
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
336
|
+
* // Gets the boolean flag indicating whether the bookmark is expanded or not
|
|
337
|
+
* let isExpanded: boolean = bookmark.isExpanded;
|
|
338
|
+
* // Destroy the document
|
|
339
|
+
* document.destroy();
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
get: function () {
|
|
343
|
+
if (this._dictionary.has('Count')) {
|
|
344
|
+
var value = this._dictionary.get('Count');
|
|
345
|
+
if (value >= 0) {
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return this._isExpanded;
|
|
350
|
+
},
|
|
351
|
+
enumerable: true,
|
|
352
|
+
configurable: true
|
|
353
|
+
});
|
|
354
|
+
Object.defineProperty(PdfBookmark.prototype, "_next", {
|
|
355
|
+
get: function () {
|
|
356
|
+
var nextBookmark;
|
|
357
|
+
if (this._dictionary.has('Next')) {
|
|
358
|
+
var dictionary = this._dictionary.get('Next');
|
|
359
|
+
if (dictionary) {
|
|
360
|
+
nextBookmark = new PdfBookmark(dictionary, this._crossReference);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return nextBookmark;
|
|
364
|
+
},
|
|
365
|
+
enumerable: true,
|
|
366
|
+
configurable: true
|
|
367
|
+
});
|
|
368
|
+
PdfBookmark.prototype._obtainTextStyle = function () {
|
|
369
|
+
var style = PdfTextStyle.regular;
|
|
370
|
+
if (this._dictionary.has('F')) {
|
|
371
|
+
var flag = this._dictionary.get('F');
|
|
372
|
+
var flagValue = 0;
|
|
373
|
+
if (typeof flag !== 'undefined' && flag !== null) {
|
|
374
|
+
flagValue = flag;
|
|
375
|
+
}
|
|
376
|
+
style |= flagValue;
|
|
377
|
+
}
|
|
378
|
+
return style;
|
|
379
|
+
};
|
|
380
|
+
PdfBookmark.prototype._obtainTitle = function () {
|
|
381
|
+
var value = '';
|
|
382
|
+
if (this._dictionary.has('Title')) {
|
|
383
|
+
value = this._dictionary.get('Title');
|
|
384
|
+
}
|
|
385
|
+
return value;
|
|
386
|
+
};
|
|
387
|
+
PdfBookmark.prototype._obtainNamedDestination = function () {
|
|
388
|
+
var document = this._crossReference._document;
|
|
389
|
+
var destinationCollection;
|
|
390
|
+
if (document) {
|
|
391
|
+
destinationCollection = document._destinationCollection;
|
|
392
|
+
}
|
|
393
|
+
var destination; // eslint-disable-line
|
|
394
|
+
var namedDestination;
|
|
395
|
+
if (destinationCollection) {
|
|
396
|
+
var dictionary = this._dictionary;
|
|
397
|
+
if (dictionary.has('A')) {
|
|
398
|
+
var action = dictionary.get('A');
|
|
399
|
+
if (action.has('D')) {
|
|
400
|
+
destination = action.get('D');
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
else if (dictionary.has('Dest')) {
|
|
404
|
+
destination = dictionary.get('Dest');
|
|
405
|
+
}
|
|
406
|
+
if (destination) {
|
|
407
|
+
var value = void 0;
|
|
408
|
+
if (destination instanceof _PdfName) {
|
|
409
|
+
value = destination.name;
|
|
410
|
+
}
|
|
411
|
+
else if (typeof destination === 'string') {
|
|
412
|
+
value = destination;
|
|
413
|
+
}
|
|
414
|
+
if (value) {
|
|
415
|
+
var namedDestinations = destinationCollection._namedDestinations;
|
|
416
|
+
for (var i = 0; i < namedDestinations.length; i++) {
|
|
417
|
+
namedDestination = namedDestinations[Number.parseInt(i.toString(), 10)];
|
|
418
|
+
if (namedDestination._title === value) {
|
|
419
|
+
destination = namedDestination;
|
|
420
|
+
break;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
return namedDestination;
|
|
427
|
+
};
|
|
428
|
+
PdfBookmark.prototype._obtainDestination = function () {
|
|
429
|
+
var bookMarkDictionary = this._dictionary;
|
|
430
|
+
var page;
|
|
431
|
+
if (bookMarkDictionary && bookMarkDictionary.has('Dest')) {
|
|
432
|
+
var destinationArray = bookMarkDictionary.getArray('Dest'); // eslint-disable-line
|
|
433
|
+
var loadedDocument = this._crossReference._document;
|
|
434
|
+
var mode = void 0;
|
|
435
|
+
if (destinationArray && Array.isArray(destinationArray) && destinationArray.length > 0) {
|
|
436
|
+
var value = destinationArray[0]; // eslint-disable-line
|
|
437
|
+
var left = void 0;
|
|
438
|
+
var height = void 0;
|
|
439
|
+
var bottom = void 0;
|
|
440
|
+
var right = void 0;
|
|
441
|
+
var zoom = void 0;
|
|
442
|
+
if (typeof value === 'number') {
|
|
443
|
+
var pageNumber = destinationArray[0];
|
|
444
|
+
if (pageNumber >= 0) {
|
|
445
|
+
var document_1 = this._crossReference._document;
|
|
446
|
+
if (document_1 && document_1.pageCount > pageNumber) {
|
|
447
|
+
page = document_1.getPage(pageNumber);
|
|
448
|
+
}
|
|
449
|
+
if (destinationArray.length > 1) {
|
|
450
|
+
mode = destinationArray[1];
|
|
451
|
+
}
|
|
452
|
+
if (mode && mode.name === 'XYZ') {
|
|
453
|
+
if (destinationArray.length > 2) {
|
|
454
|
+
left = destinationArray[2];
|
|
455
|
+
}
|
|
456
|
+
if (destinationArray.length > 3) {
|
|
457
|
+
height = destinationArray[3];
|
|
458
|
+
}
|
|
459
|
+
if (destinationArray.length > 4) {
|
|
460
|
+
zoom = destinationArray[4];
|
|
461
|
+
}
|
|
462
|
+
if (page) {
|
|
463
|
+
var topValue = (height === null || typeof height === 'undefined') ? 0 : page.size[1] - height;
|
|
464
|
+
var leftValue = (left === null || typeof left === 'undefined') ? 0 : left;
|
|
465
|
+
if (page.rotation !== PdfRotationAngle.angle0) {
|
|
466
|
+
_checkRotation(page, height, left);
|
|
467
|
+
}
|
|
468
|
+
this._destination = new PdfDestination(page, [leftValue, topValue]);
|
|
469
|
+
this._destination._index = pageNumber;
|
|
470
|
+
this._destination.zoom = (typeof zoom !== 'undefined' && zoom !== null) ? zoom : 0;
|
|
471
|
+
if (left === null || height === null || zoom === null || typeof left === 'undefined'
|
|
472
|
+
|| typeof height === 'undefined' || typeof zoom === 'undefined') {
|
|
473
|
+
this._destination._setValidation(false);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
if (value instanceof _PdfDictionary) {
|
|
480
|
+
var pageDictionary = value;
|
|
481
|
+
var index = void 0;
|
|
482
|
+
if (loadedDocument && pageDictionary) {
|
|
483
|
+
index = _getPageIndex(loadedDocument, pageDictionary);
|
|
484
|
+
}
|
|
485
|
+
if (typeof index !== 'undefined' && index !== null && index >= 0) {
|
|
486
|
+
page = loadedDocument.getPage(index);
|
|
487
|
+
}
|
|
488
|
+
if (destinationArray.length > 1) {
|
|
489
|
+
mode = destinationArray[1];
|
|
490
|
+
}
|
|
491
|
+
if (mode) {
|
|
492
|
+
if (mode.name === 'XYZ') {
|
|
493
|
+
if (destinationArray.length > 2) {
|
|
494
|
+
left = destinationArray[2];
|
|
495
|
+
}
|
|
496
|
+
if (destinationArray.length > 3) {
|
|
497
|
+
height = destinationArray[3];
|
|
498
|
+
}
|
|
499
|
+
if (destinationArray.length > 4) {
|
|
500
|
+
zoom = destinationArray[4];
|
|
501
|
+
}
|
|
502
|
+
if (page) {
|
|
503
|
+
var topValue = (height === null || typeof height === 'undefined') ? 0 : page.size[1] - height;
|
|
504
|
+
var leftValue = (left === null || typeof left === 'undefined') ? 0 : left;
|
|
505
|
+
if (page.rotation !== PdfRotationAngle.angle0) {
|
|
506
|
+
topValue = _checkRotation(page, height, left);
|
|
507
|
+
}
|
|
508
|
+
this._destination = new PdfDestination(page, [leftValue, topValue]);
|
|
509
|
+
this._destination._index = index;
|
|
510
|
+
this._destination.zoom = (typeof zoom !== 'undefined' && zoom !== null) ? zoom : 0;
|
|
511
|
+
if (left === null || height === null || zoom === null || typeof left === 'undefined' ||
|
|
512
|
+
typeof height === 'undefined' || typeof zoom === 'undefined') {
|
|
513
|
+
this._destination._setValidation(false);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
if (mode.name === 'FitR') {
|
|
519
|
+
if (destinationArray.length > 2) {
|
|
520
|
+
left = destinationArray[2];
|
|
521
|
+
}
|
|
522
|
+
if (destinationArray.length > 3) {
|
|
523
|
+
bottom = destinationArray[3];
|
|
524
|
+
}
|
|
525
|
+
if (destinationArray.length > 4) {
|
|
526
|
+
right = destinationArray[4];
|
|
527
|
+
}
|
|
528
|
+
if (destinationArray.length > 5) {
|
|
529
|
+
height = destinationArray[5];
|
|
530
|
+
}
|
|
531
|
+
if (page) {
|
|
532
|
+
left = (left === null || typeof left === 'undefined') ? 0 : left;
|
|
533
|
+
bottom = (bottom === null || typeof bottom === 'undefined') ? 0 : bottom;
|
|
534
|
+
height = (height === null || typeof height === 'undefined') ? 0 : height;
|
|
535
|
+
right = (right === null || typeof right === 'undefined') ? 0 : right;
|
|
536
|
+
this._destination = new PdfDestination(page, [left, bottom, right, height]);
|
|
537
|
+
this._destination._index = index;
|
|
538
|
+
this._destination.mode = PdfDestinationMode.fitR;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
else if (mode.name === 'FitBH' || mode.name === 'FitH') {
|
|
542
|
+
if (destinationArray.length >= 3) {
|
|
543
|
+
height = destinationArray[2];
|
|
544
|
+
}
|
|
545
|
+
if (typeof index !== 'undefined' && index !== null && index >= 0) {
|
|
546
|
+
page = loadedDocument.getPage(index);
|
|
547
|
+
}
|
|
548
|
+
if (page && page.size) {
|
|
549
|
+
var topValue = (height === null || typeof height === 'undefined') ? 0 : page.size[1] - height;
|
|
550
|
+
this._destination = new PdfDestination(page, [0, topValue]);
|
|
551
|
+
this._destination._index = index;
|
|
552
|
+
this._destination.mode = PdfDestinationMode.fitH;
|
|
553
|
+
if (height === null || typeof height === 'undefined') {
|
|
554
|
+
this._destination._setValidation(false);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
if (page && mode.name === 'Fit') {
|
|
560
|
+
this._destination = new PdfDestination(page);
|
|
561
|
+
this._destination._index = index;
|
|
562
|
+
this._destination.mode = PdfDestinationMode.fitToPage;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return this._destination;
|
|
571
|
+
};
|
|
572
|
+
return PdfBookmark;
|
|
573
|
+
}(PdfBookmarkBase));
|
|
574
|
+
export { PdfBookmark };
|
|
575
|
+
/**
|
|
576
|
+
* Represents a named destination in a PDF document.
|
|
577
|
+
* ```typescript
|
|
578
|
+
* // Load an existing PDF document
|
|
579
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
580
|
+
* // Get the bookmarks
|
|
581
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
582
|
+
* // Gets the bookmark at the specified index
|
|
583
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
584
|
+
* // Gets the named destination
|
|
585
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
586
|
+
* // Destroy the document
|
|
587
|
+
* document.destroy();
|
|
588
|
+
* ```
|
|
589
|
+
*/
|
|
590
|
+
var PdfNamedDestination = /** @class */ (function () {
|
|
591
|
+
/**
|
|
592
|
+
* Initializes a new instance of the `PdfNamedDestination` class.
|
|
593
|
+
*
|
|
594
|
+
* @private
|
|
595
|
+
* @param {_PdfDictionary} dictionary Destination dictionary.
|
|
596
|
+
* @param {_PdfCrossReference} crossReference Cross reference.
|
|
597
|
+
*
|
|
598
|
+
*/
|
|
599
|
+
function PdfNamedDestination(dictionary, crossReference) {
|
|
600
|
+
this._dictionary = dictionary;
|
|
601
|
+
this._crossReference = crossReference;
|
|
602
|
+
}
|
|
603
|
+
Object.defineProperty(PdfNamedDestination.prototype, "destination", {
|
|
604
|
+
/**
|
|
605
|
+
* Gets the destination.
|
|
606
|
+
*
|
|
607
|
+
* @returns {PdfDestination} Page destination.
|
|
608
|
+
*
|
|
609
|
+
* ```typescript
|
|
610
|
+
* // Load an existing PDF document
|
|
611
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
612
|
+
* // Get the bookmarks
|
|
613
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
614
|
+
* // Gets the bookmark at the specified index
|
|
615
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
616
|
+
* // Gets the named destination
|
|
617
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
618
|
+
* // Gets the destination
|
|
619
|
+
* let destination: PdfDestination = namedDestination.destination;
|
|
620
|
+
* // Destroy the document
|
|
621
|
+
* document.destroy();
|
|
622
|
+
* ```
|
|
623
|
+
*/
|
|
624
|
+
get: function () {
|
|
625
|
+
return this._destination;
|
|
626
|
+
},
|
|
627
|
+
/**
|
|
628
|
+
* Sets the destination.
|
|
629
|
+
*
|
|
630
|
+
* @param {PdfDestination} value destination.
|
|
631
|
+
*
|
|
632
|
+
* ```typescript
|
|
633
|
+
* // Load an existing PDF document
|
|
634
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
635
|
+
* // Get the bookmarks
|
|
636
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
637
|
+
* // Gets the bookmark at the specified index
|
|
638
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
639
|
+
* // Gets the named destination
|
|
640
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
641
|
+
* // Set the destination
|
|
642
|
+
* namedDestination.destination = new PdfDestination(page, [100, 200]);
|
|
643
|
+
* // Save the document
|
|
644
|
+
* document.save('output.pdf');
|
|
645
|
+
* // Destroy the document
|
|
646
|
+
* document.destroy();
|
|
647
|
+
* ```
|
|
648
|
+
*/
|
|
649
|
+
set: function (value) {
|
|
650
|
+
if (value) {
|
|
651
|
+
value._parent = this;
|
|
652
|
+
this._destination = value;
|
|
653
|
+
this._destination._initializePrimitive();
|
|
654
|
+
}
|
|
655
|
+
},
|
|
656
|
+
enumerable: true,
|
|
657
|
+
configurable: true
|
|
658
|
+
});
|
|
659
|
+
Object.defineProperty(PdfNamedDestination.prototype, "title", {
|
|
660
|
+
/**
|
|
661
|
+
* Gets the title.
|
|
662
|
+
*
|
|
663
|
+
* @returns {string} title.
|
|
664
|
+
*
|
|
665
|
+
* ```typescript
|
|
666
|
+
* // Load an existing PDF document
|
|
667
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
668
|
+
* // Get the bookmarks
|
|
669
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
670
|
+
* // Gets the bookmark at the specified index
|
|
671
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
672
|
+
* // Gets the named destination
|
|
673
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
674
|
+
* // Gets the title
|
|
675
|
+
* let title: string = namedDestination.title;
|
|
676
|
+
* // Destroy the document
|
|
677
|
+
* document.destroy();
|
|
678
|
+
* ```
|
|
679
|
+
*/
|
|
680
|
+
get: function () {
|
|
681
|
+
return this._title;
|
|
682
|
+
},
|
|
683
|
+
/**
|
|
684
|
+
* Sets the title.
|
|
685
|
+
*
|
|
686
|
+
* @param {string} value title.
|
|
687
|
+
*
|
|
688
|
+
* ```typescript
|
|
689
|
+
* // Load an existing PDF document
|
|
690
|
+
* let document: PdfDocument = new PdfDocument(data, password);
|
|
691
|
+
* // Get the bookmarks
|
|
692
|
+
* let bookmarks: PdfBookmarkBase = document.bookmarks;
|
|
693
|
+
* // Gets the bookmark at the specified index
|
|
694
|
+
* let bookmark: PdfBookmark = bookmarks.at(0) as PdfBookmark;
|
|
695
|
+
* // Gets the named destination
|
|
696
|
+
* let namedDestination: PdfNamedDestination = bookmark.namedDestination;
|
|
697
|
+
* // Set the title
|
|
698
|
+
* namedDestination.title = 'Syncfusion';
|
|
699
|
+
* // Save the document
|
|
700
|
+
* document.save('output.pdf');
|
|
701
|
+
* // Destroy the document
|
|
702
|
+
* document.destroy();
|
|
703
|
+
* ```
|
|
704
|
+
*/
|
|
705
|
+
set: function (value) {
|
|
706
|
+
if (value !== this._title) {
|
|
707
|
+
this._title = value;
|
|
708
|
+
this._dictionary.update('Title', value);
|
|
709
|
+
this._dictionary._updated = true;
|
|
710
|
+
}
|
|
711
|
+
},
|
|
712
|
+
enumerable: true,
|
|
713
|
+
configurable: true
|
|
714
|
+
});
|
|
715
|
+
return PdfNamedDestination;
|
|
716
|
+
}());
|
|
717
|
+
export { PdfNamedDestination };
|
|
718
|
+
var _PdfNamedDestinationCollection = /** @class */ (function () {
|
|
719
|
+
function _PdfNamedDestinationCollection(dictionary, crossReference) {
|
|
720
|
+
this._namedDestinations = [];
|
|
721
|
+
if (dictionary) {
|
|
722
|
+
this._dictionary = dictionary;
|
|
723
|
+
}
|
|
724
|
+
if (crossReference) {
|
|
725
|
+
this._crossReference = crossReference;
|
|
726
|
+
}
|
|
727
|
+
if (dictionary && dictionary.has('Dests')) {
|
|
728
|
+
var destination = dictionary.get('Dests');
|
|
729
|
+
if (destination) {
|
|
730
|
+
if (destination.has('Names')) {
|
|
731
|
+
this._addCollection(destination);
|
|
732
|
+
}
|
|
733
|
+
else if (destination.has('Kids')) {
|
|
734
|
+
var destinationArray = destination.getArray('Kids'); // eslint-disable-line
|
|
735
|
+
for (var i = 0; i < destinationArray.length; i++) {
|
|
736
|
+
var destinationElement = destinationArray[Number.parseInt(i.toString(), 10)];
|
|
737
|
+
this._addCollection(destinationElement);
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
_PdfNamedDestinationCollection.prototype._addCollection = function (destination) {
|
|
744
|
+
var elements = destination.getRaw('Names'); // eslint-disable-line
|
|
745
|
+
var ref; // eslint-disable-line
|
|
746
|
+
var dictionary;
|
|
747
|
+
if (elements instanceof _PdfReference) {
|
|
748
|
+
ref = this._crossReference._fetch(elements);
|
|
749
|
+
}
|
|
750
|
+
if (ref && Array.isArray(ref) && ref.length > 0) {
|
|
751
|
+
elements = ref;
|
|
752
|
+
}
|
|
753
|
+
if (elements && Array.isArray(elements) && elements.length > 0) {
|
|
754
|
+
for (var i = 1; i < elements.length; i = i + 2) {
|
|
755
|
+
var reference = elements[i]; // eslint-disable-line
|
|
756
|
+
if (reference instanceof _PdfReference) {
|
|
757
|
+
var destinationArray = this._crossReference._fetch(reference); // eslint-disable-line
|
|
758
|
+
if (destinationArray && Array.isArray(destinationArray) && destinationArray.length > 0) {
|
|
759
|
+
dictionary = new _PdfDictionary();
|
|
760
|
+
dictionary.update('D', destinationArray);
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
dictionary = this._crossReference._fetch(reference);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
else if ((dictionary === null || typeof dictionary === 'undefined') && Array.isArray(reference)) {
|
|
767
|
+
dictionary = new _PdfDictionary();
|
|
768
|
+
dictionary.update('D', reference);
|
|
769
|
+
}
|
|
770
|
+
if (dictionary) {
|
|
771
|
+
var namedDestination = new PdfNamedDestination(dictionary, this._crossReference);
|
|
772
|
+
var value = elements[i - 1];
|
|
773
|
+
var destinationObject = void 0;
|
|
774
|
+
var destinationArray = void 0; // eslint-disable-line
|
|
775
|
+
if (value) {
|
|
776
|
+
namedDestination._title = value;
|
|
777
|
+
if (dictionary.has('D')) {
|
|
778
|
+
destinationArray = dictionary.get('D');
|
|
779
|
+
destinationObject = new PdfDestination();
|
|
780
|
+
var reference_1 = destinationArray[0];
|
|
781
|
+
if (destinationArray && destinationArray[0] instanceof _PdfReference) {
|
|
782
|
+
var pageDictionary = this._crossReference._fetch(reference_1);
|
|
783
|
+
var loadedDocument = this._crossReference._document;
|
|
784
|
+
var index = void 0;
|
|
785
|
+
if (loadedDocument && pageDictionary) {
|
|
786
|
+
index = _getPageIndex(loadedDocument, pageDictionary);
|
|
787
|
+
if (typeof index !== 'undefined' && index !== null && index >= 0) {
|
|
788
|
+
destinationObject._index = index;
|
|
789
|
+
destinationObject.page = loadedDocument.getPage(index);
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
if (destinationArray[1] instanceof _PdfName) {
|
|
796
|
+
var left = void 0;
|
|
797
|
+
var height = void 0;
|
|
798
|
+
var zoom = void 0;
|
|
799
|
+
var mode = destinationArray[1].name;
|
|
800
|
+
var page = destinationObject.page;
|
|
801
|
+
switch (mode) {
|
|
802
|
+
case 'Fit':
|
|
803
|
+
destinationObject._destinationMode = PdfDestinationMode.fitToPage;
|
|
804
|
+
break;
|
|
805
|
+
case 'XYZ':
|
|
806
|
+
destinationObject._destinationMode = PdfDestinationMode.location;
|
|
807
|
+
if (destinationArray.length > 2) {
|
|
808
|
+
left = destinationArray[2];
|
|
809
|
+
}
|
|
810
|
+
if (destinationArray.length > 3) {
|
|
811
|
+
height = destinationArray[3];
|
|
812
|
+
}
|
|
813
|
+
if (destinationArray.length > 4) {
|
|
814
|
+
zoom = destinationArray[4];
|
|
815
|
+
}
|
|
816
|
+
if (page) {
|
|
817
|
+
var size = page.size;
|
|
818
|
+
var topValue = (height === null || typeof height === 'undefined') ? 0 : size[1] - height;
|
|
819
|
+
var leftValue = (left === null || typeof left === 'undefined') ? 0 : left;
|
|
820
|
+
destinationObject._location = [leftValue, topValue];
|
|
821
|
+
if (page.rotation !== PdfRotationAngle.angle0) {
|
|
822
|
+
topValue = _checkRotation(page, height, left);
|
|
823
|
+
}
|
|
824
|
+
destinationObject._zoom = (typeof zoom !== 'undefined' && zoom !== null) ? zoom : 0;
|
|
825
|
+
if (left === null || height === null || zoom === null || typeof left === 'undefined'
|
|
826
|
+
|| typeof height === 'undefined' || typeof zoom === 'undefined') {
|
|
827
|
+
destinationObject._isValid = false;
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
break;
|
|
831
|
+
case 'FitH':
|
|
832
|
+
case 'FitBH':
|
|
833
|
+
destinationObject._destinationMode = PdfDestinationMode.fitH;
|
|
834
|
+
if (destinationArray.length >= 3) {
|
|
835
|
+
height = destinationArray[2];
|
|
836
|
+
}
|
|
837
|
+
if (page) {
|
|
838
|
+
var size = page.size;
|
|
839
|
+
var topValue = (height === null || typeof height === 'undefined') ? 0 : size[1] - height;
|
|
840
|
+
destinationObject._location = [0, topValue];
|
|
841
|
+
}
|
|
842
|
+
if (height === null || typeof height === 'undefined') {
|
|
843
|
+
destinationObject._isValid = false;
|
|
844
|
+
}
|
|
845
|
+
break;
|
|
846
|
+
case 'FitR':
|
|
847
|
+
destinationObject._destinationMode = PdfDestinationMode.fitR;
|
|
848
|
+
break;
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
destinationObject._parent = namedDestination;
|
|
852
|
+
namedDestination._destination = destinationObject;
|
|
853
|
+
this._namedDestinations.push(namedDestination);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
};
|
|
858
|
+
return _PdfNamedDestinationCollection;
|
|
859
|
+
}());
|
|
860
|
+
export { _PdfNamedDestinationCollection };
|