@syncfusion/ej2-pdf-export 25.2.3 → 26.1.35
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 +3 -2
- package/dist/ej2-pdf-export.umd.min.js +2 -2
- package/dist/ej2-pdf-export.umd.min.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es2015.js +79 -72
- package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es5.js +169 -232
- package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
- package/dist/global/ej2-pdf-export.min.js +2 -2
- package/dist/global/ej2-pdf-export.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/dist/ts/implementation/actions/action.d.ts +50 -0
- package/dist/ts/implementation/actions/action.ts +76 -0
- package/dist/ts/implementation/actions/index.d.ts +6 -0
- package/dist/ts/implementation/actions/index.ts +6 -0
- package/dist/ts/implementation/actions/uri-action.d.ts +33 -0
- package/dist/ts/implementation/actions/uri-action.ts +52 -0
- package/dist/ts/implementation/annotations/action-link-annotation.d.ts +30 -0
- package/dist/ts/implementation/annotations/action-link-annotation.ts +43 -0
- package/dist/ts/implementation/annotations/annotation-collection.d.ts +77 -0
- package/dist/ts/implementation/annotations/annotation-collection.ts +159 -0
- package/dist/ts/implementation/annotations/annotation.d.ts +152 -0
- package/dist/ts/implementation/annotations/annotation.ts +241 -0
- package/dist/ts/implementation/annotations/document-link-annotation.d.ts +89 -0
- package/dist/ts/implementation/annotations/document-link-annotation.ts +118 -0
- package/dist/ts/implementation/annotations/index.d.ts +11 -0
- package/dist/ts/implementation/annotations/index.ts +11 -0
- package/dist/ts/implementation/annotations/link-annotation.d.ts +23 -0
- package/dist/ts/implementation/annotations/link-annotation.ts +32 -0
- package/dist/ts/implementation/annotations/pdf-text-web-link.d.ts +118 -0
- package/dist/ts/implementation/annotations/pdf-text-web-link.ts +265 -0
- package/dist/ts/implementation/annotations/uri-annotation.d.ts +48 -0
- package/dist/ts/implementation/annotations/uri-annotation.ts +86 -0
- package/dist/ts/implementation/collections/dictionary.d.ts +76 -0
- package/dist/ts/implementation/collections/dictionary.ts +150 -0
- package/dist/ts/implementation/collections/index.d.ts +7 -0
- package/dist/ts/implementation/collections/index.ts +7 -0
- package/dist/ts/implementation/collections/object-object-pair/dictionary.d.ts +62 -0
- package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +125 -0
- package/dist/ts/implementation/collections/object-object-pair/index.d.ts +5 -0
- package/dist/ts/implementation/collections/object-object-pair/index.ts +5 -0
- package/dist/ts/implementation/collections/utils.d.ts +27 -0
- package/dist/ts/implementation/collections/utils.ts +38 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +31 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +39 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info.d.ts +67 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +108 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field.d.ts +41 -0
- package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +127 -0
- package/dist/ts/implementation/document/automatic-fields/composite-field.d.ts +46 -0
- package/dist/ts/implementation/document/automatic-fields/composite-field.ts +76 -0
- package/dist/ts/implementation/document/automatic-fields/index.d.ts +11 -0
- package/dist/ts/implementation/document/automatic-fields/index.ts +11 -0
- package/dist/ts/implementation/document/automatic-fields/multiple-value-field.d.ts +18 -0
- package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +37 -0
- package/dist/ts/implementation/document/automatic-fields/page-count-field.d.ts +44 -0
- package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +75 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +53 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +157 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.d.ts +51 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +82 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +38 -0
- package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +60 -0
- package/dist/ts/implementation/document/automatic-fields/single-value-field.d.ts +15 -0
- package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +48 -0
- package/dist/ts/implementation/document/index.d.ts +16 -0
- package/dist/ts/implementation/document/index.ts +16 -0
- package/dist/ts/implementation/document/pdf-catalog.d.ts +39 -0
- package/dist/ts/implementation/document/pdf-catalog.ts +65 -0
- package/dist/ts/implementation/document/pdf-document-base.d.ts +132 -0
- package/dist/ts/implementation/document/pdf-document-base.ts +180 -0
- package/dist/ts/implementation/document/pdf-document-template.d.ts +166 -0
- package/dist/ts/implementation/document/pdf-document-template.ts +310 -0
- package/dist/ts/implementation/document/pdf-document.d.ts +221 -0
- package/dist/ts/implementation/document/pdf-document.ts +342 -0
- package/dist/ts/implementation/document/pdf-viewer-preferences.d.ts +467 -0
- package/dist/ts/implementation/document/pdf-viewer-preferences.ts +578 -0
- package/dist/ts/implementation/drawing/index.d.ts +5 -0
- package/dist/ts/implementation/drawing/index.ts +5 -0
- package/dist/ts/implementation/drawing/pdf-drawing.d.ts +141 -0
- package/dist/ts/implementation/drawing/pdf-drawing.ts +218 -0
- package/dist/ts/implementation/general/enum.d.ts +21 -0
- package/dist/ts/implementation/general/enum.ts +21 -0
- package/dist/ts/implementation/general/functions/index.d.ts +6 -0
- package/dist/ts/implementation/general/functions/index.ts +6 -0
- package/dist/ts/implementation/general/functions/pdf-function.d.ts +44 -0
- package/dist/ts/implementation/general/functions/pdf-function.ts +66 -0
- package/dist/ts/implementation/general/functions/pdf-sampled-function.d.ts +25 -0
- package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +63 -0
- package/dist/ts/implementation/general/index.d.ts +9 -0
- package/dist/ts/implementation/general/index.ts +9 -0
- package/dist/ts/implementation/general/pdf-cache-collection.d.ts +42 -0
- package/dist/ts/implementation/general/pdf-cache-collection.ts +97 -0
- package/dist/ts/implementation/general/pdf-collection.d.ts +26 -0
- package/dist/ts/implementation/general/pdf-collection.ts +41 -0
- package/dist/ts/implementation/general/pdf-destination.d.ts +103 -0
- package/dist/ts/implementation/general/pdf-destination.ts +170 -0
- package/dist/ts/implementation/graphics/brushes/enum.d.ts +236 -0
- package/dist/ts/implementation/graphics/brushes/enum.ts +237 -0
- package/dist/ts/implementation/graphics/brushes/index.d.ts +13 -0
- package/dist/ts/implementation/graphics/brushes/index.ts +13 -0
- package/dist/ts/implementation/graphics/brushes/pdf-blend.d.ts +105 -0
- package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +294 -0
- package/dist/ts/implementation/graphics/brushes/pdf-brush.d.ts +57 -0
- package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +68 -0
- package/dist/ts/implementation/graphics/brushes/pdf-brushes.d.ts +726 -0
- package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +2438 -0
- package/dist/ts/implementation/graphics/brushes/pdf-color-blend.d.ts +113 -0
- package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +295 -0
- package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.d.ts +155 -0
- package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +311 -0
- package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.d.ts +147 -0
- package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +406 -0
- package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.d.ts +122 -0
- package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +290 -0
- package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.d.ts +77 -0
- package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +107 -0
- package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.d.ts +161 -0
- package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +304 -0
- package/dist/ts/implementation/graphics/constants.d.ts +31 -0
- package/dist/ts/implementation/graphics/constants.ts +31 -0
- package/dist/ts/implementation/graphics/enum.d.ts +413 -0
- package/dist/ts/implementation/graphics/enum.ts +413 -0
- package/dist/ts/implementation/graphics/figures/arc.d.ts +87 -0
- package/dist/ts/implementation/graphics/figures/arc.ts +133 -0
- package/dist/ts/implementation/graphics/figures/base/draw-element.d.ts +30 -0
- package/dist/ts/implementation/graphics/figures/base/draw-element.ts +59 -0
- package/dist/ts/implementation/graphics/figures/base/element-layouter.d.ts +161 -0
- package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +260 -0
- package/dist/ts/implementation/graphics/figures/base/fill-element.d.ts +46 -0
- package/dist/ts/implementation/graphics/figures/base/fill-element.ts +72 -0
- package/dist/ts/implementation/graphics/figures/base/graphics-element.d.ts +16 -0
- package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +34 -0
- package/dist/ts/implementation/graphics/figures/base/index.d.ts +9 -0
- package/dist/ts/implementation/graphics/figures/base/index.ts +9 -0
- package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.d.ts +40 -0
- package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +69 -0
- package/dist/ts/implementation/graphics/figures/base/shape-layouter.d.ts +131 -0
- package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +276 -0
- package/dist/ts/implementation/graphics/figures/base/text-layouter.d.ts +107 -0
- package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +205 -0
- package/dist/ts/implementation/graphics/figures/ellipse-part.d.ts +48 -0
- package/dist/ts/implementation/graphics/figures/ellipse-part.ts +76 -0
- package/dist/ts/implementation/graphics/figures/enum.d.ts +79 -0
- package/dist/ts/implementation/graphics/figures/enum.ts +80 -0
- package/dist/ts/implementation/graphics/figures/index.d.ts +13 -0
- package/dist/ts/implementation/graphics/figures/index.ts +13 -0
- package/dist/ts/implementation/graphics/figures/layout-element.d.ts +73 -0
- package/dist/ts/implementation/graphics/figures/layout-element.ts +132 -0
- package/dist/ts/implementation/graphics/figures/path.d.ts +319 -0
- package/dist/ts/implementation/graphics/figures/path.ts +646 -0
- package/dist/ts/implementation/graphics/figures/pdf-template.d.ts +113 -0
- package/dist/ts/implementation/graphics/figures/pdf-template.ts +205 -0
- package/dist/ts/implementation/graphics/figures/rectangle-area.d.ts +64 -0
- package/dist/ts/implementation/graphics/figures/rectangle-area.ts +108 -0
- package/dist/ts/implementation/graphics/figures/text-element.d.ts +213 -0
- package/dist/ts/implementation/graphics/figures/text-element.ts +445 -0
- package/dist/ts/implementation/graphics/fonts/enum.d.ts +385 -0
- package/dist/ts/implementation/graphics/fonts/enum.ts +385 -0
- package/dist/ts/implementation/graphics/fonts/index.d.ts +16 -0
- package/dist/ts/implementation/graphics/fonts/index.ts +16 -0
- package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.d.ts +164 -0
- package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +248 -0
- package/dist/ts/implementation/graphics/fonts/pdf-font.d.ts +187 -0
- package/dist/ts/implementation/graphics/fonts/pdf-font.ts +316 -0
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +301 -0
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +606 -0
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font.d.ts +143 -0
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +243 -0
- package/dist/ts/implementation/graphics/fonts/pdf-string-format.d.ts +321 -0
- package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +474 -0
- package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.d.ts +49 -0
- package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +165 -0
- package/dist/ts/implementation/graphics/fonts/rtl/index.d.ts +6 -0
- package/dist/ts/implementation/graphics/fonts/rtl/index.ts +6 -0
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.d.ts +62 -0
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +958 -0
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.d.ts +68 -0
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +374 -0
- package/dist/ts/implementation/graphics/fonts/rtl-renderer.d.ts +23 -0
- package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +255 -0
- package/dist/ts/implementation/graphics/fonts/string-layouter.d.ts +254 -0
- package/dist/ts/implementation/graphics/fonts/string-layouter.ts +617 -0
- package/dist/ts/implementation/graphics/fonts/string-tokenizer.d.ts +109 -0
- package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +275 -0
- package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.d.ts +204 -0
- package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +206 -0
- package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.d.ts +17 -0
- package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +18 -0
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.d.ts +17 -0
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +18 -0
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.d.ts +13 -0
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +14 -0
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.d.ts +25 -0
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +26 -0
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.d.ts +25 -0
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +35 -0
- package/dist/ts/implementation/graphics/fonts/ttf-head-table.d.ts +94 -0
- package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +94 -0
- package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.d.ts +55 -0
- package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +56 -0
- package/dist/ts/implementation/graphics/fonts/ttf-loca-table.d.ts +9 -0
- package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +10 -0
- package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.d.ts +13 -0
- package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +14 -0
- package/dist/ts/implementation/graphics/fonts/ttf-metrics.d.ts +101 -0
- package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +106 -0
- package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.d.ts +57 -0
- package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +58 -0
- package/dist/ts/implementation/graphics/fonts/ttf-name-record.d.ts +33 -0
- package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +33 -0
- package/dist/ts/implementation/graphics/fonts/ttf-name-table.d.ts +22 -0
- package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +22 -0
- package/dist/ts/implementation/graphics/fonts/ttf-post-table.d.ts +41 -0
- package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +42 -0
- package/dist/ts/implementation/graphics/fonts/ttf-reader.d.ts +225 -0
- package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +1254 -0
- package/dist/ts/implementation/graphics/fonts/ttf-table-info.d.ts +22 -0
- package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +26 -0
- package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.d.ts +25 -0
- package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +26 -0
- package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.d.ts +213 -0
- package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +577 -0
- package/dist/ts/implementation/graphics/images/byte-array.d.ts +74 -0
- package/dist/ts/implementation/graphics/images/byte-array.ts +137 -0
- package/dist/ts/implementation/graphics/images/image-decoder.d.ts +274 -0
- package/dist/ts/implementation/graphics/images/image-decoder.ts +439 -0
- package/dist/ts/implementation/graphics/images/index.d.ts +8 -0
- package/dist/ts/implementation/graphics/images/index.ts +8 -0
- package/dist/ts/implementation/graphics/images/pdf-bitmap.d.ts +90 -0
- package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +110 -0
- package/dist/ts/implementation/graphics/images/pdf-image.d.ts +88 -0
- package/dist/ts/implementation/graphics/images/pdf-image.ts +132 -0
- package/dist/ts/implementation/graphics/index.d.ts +35 -0
- package/dist/ts/implementation/graphics/index.ts +46 -0
- package/dist/ts/implementation/graphics/pdf-color.d.ts +206 -0
- package/dist/ts/implementation/graphics/pdf-color.ts +478 -0
- package/dist/ts/implementation/graphics/pdf-graphics.d.ts +1210 -0
- package/dist/ts/implementation/graphics/pdf-graphics.ts +2554 -0
- package/dist/ts/implementation/graphics/pdf-margins.d.ts +82 -0
- package/dist/ts/implementation/graphics/pdf-margins.ts +124 -0
- package/dist/ts/implementation/graphics/pdf-pen.d.ts +237 -0
- package/dist/ts/implementation/graphics/pdf-pen.ts +370 -0
- package/dist/ts/implementation/graphics/pdf-resources.d.ts +122 -0
- package/dist/ts/implementation/graphics/pdf-resources.ts +300 -0
- package/dist/ts/implementation/graphics/pdf-transformation-matrix.d.ts +143 -0
- package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +246 -0
- package/dist/ts/implementation/graphics/pdf-transparency.d.ts +34 -0
- package/dist/ts/implementation/graphics/pdf-transparency.ts +93 -0
- package/dist/ts/implementation/graphics/unit-convertor.d.ts +72 -0
- package/dist/ts/implementation/graphics/unit-convertor.ts +96 -0
- package/dist/ts/implementation/index.d.ts +103 -0
- package/dist/ts/implementation/index.ts +103 -0
- package/dist/ts/implementation/input-output/big-endian-writer.d.ts +59 -0
- package/dist/ts/implementation/input-output/big-endian-writer.ts +121 -0
- package/dist/ts/implementation/input-output/cross-table.d.ts +21 -0
- package/dist/ts/implementation/input-output/cross-table.ts +21 -0
- package/dist/ts/implementation/input-output/enum.d.ts +16 -0
- package/dist/ts/implementation/input-output/enum.ts +16 -0
- package/dist/ts/implementation/input-output/index.d.ts +12 -0
- package/dist/ts/implementation/input-output/index.ts +12 -0
- package/dist/ts/implementation/input-output/pdf-cross-table.d.ts +249 -0
- package/dist/ts/implementation/input-output/pdf-cross-table.ts +524 -0
- package/dist/ts/implementation/input-output/pdf-dictionary-properties.d.ts +568 -0
- package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +571 -0
- package/dist/ts/implementation/input-output/pdf-main-object-collection.d.ts +120 -0
- package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +194 -0
- package/dist/ts/implementation/input-output/pdf-operators.d.ts +361 -0
- package/dist/ts/implementation/input-output/pdf-operators.ts +363 -0
- package/dist/ts/implementation/input-output/pdf-stream-writer.d.ts +311 -0
- package/dist/ts/implementation/input-output/pdf-stream-writer.ts +681 -0
- package/dist/ts/implementation/input-output/pdf-writer.d.ts +68 -0
- package/dist/ts/implementation/input-output/pdf-writer.ts +88 -0
- package/dist/ts/implementation/pages/enum.d.ts +201 -0
- package/dist/ts/implementation/pages/enum.ts +201 -0
- package/dist/ts/implementation/pages/index.d.ts +17 -0
- package/dist/ts/implementation/pages/index.ts +17 -0
- package/dist/ts/implementation/pages/page-added-event-arguments.d.ts +30 -0
- package/dist/ts/implementation/pages/page-added-event-arguments.ts +39 -0
- package/dist/ts/implementation/pages/pdf-document-page-collection.d.ts +86 -0
- package/dist/ts/implementation/pages/pdf-document-page-collection.ts +180 -0
- package/dist/ts/implementation/pages/pdf-page-base.d.ts +121 -0
- package/dist/ts/implementation/pages/pdf-page-base.ts +181 -0
- package/dist/ts/implementation/pages/pdf-page-layer-collection.d.ts +99 -0
- package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +348 -0
- package/dist/ts/implementation/pages/pdf-page-layer.d.ts +160 -0
- package/dist/ts/implementation/pages/pdf-page-layer.ts +271 -0
- package/dist/ts/implementation/pages/pdf-page-settings.d.ts +111 -0
- package/dist/ts/implementation/pages/pdf-page-settings.ts +192 -0
- package/dist/ts/implementation/pages/pdf-page-size.d.ts +159 -0
- package/dist/ts/implementation/pages/pdf-page-size.ts +162 -0
- package/dist/ts/implementation/pages/pdf-page-template-element.d.ts +240 -0
- package/dist/ts/implementation/pages/pdf-page-template-element.ts +663 -0
- package/dist/ts/implementation/pages/pdf-page.d.ts +153 -0
- package/dist/ts/implementation/pages/pdf-page.ts +235 -0
- package/dist/ts/implementation/pages/pdf-section-collection.d.ts +109 -0
- package/dist/ts/implementation/pages/pdf-section-collection.ts +187 -0
- package/dist/ts/implementation/pages/pdf-section-page-collection.d.ts +41 -0
- package/dist/ts/implementation/pages/pdf-section-page-collection.ts +61 -0
- package/dist/ts/implementation/pages/pdf-section-templates.d.ts +64 -0
- package/dist/ts/implementation/pages/pdf-section-templates.ts +96 -0
- package/dist/ts/implementation/pages/pdf-section.d.ts +327 -0
- package/dist/ts/implementation/pages/pdf-section.ts +644 -0
- package/dist/ts/implementation/primitives/index.d.ts +12 -0
- package/dist/ts/implementation/primitives/index.ts +12 -0
- package/dist/ts/implementation/primitives/pdf-array.d.ts +192 -0
- package/dist/ts/implementation/primitives/pdf-array.ts +386 -0
- package/dist/ts/implementation/primitives/pdf-boolean.d.ts +84 -0
- package/dist/ts/implementation/primitives/pdf-boolean.ts +119 -0
- package/dist/ts/implementation/primitives/pdf-dictionary.d.ts +362 -0
- package/dist/ts/implementation/primitives/pdf-dictionary.ts +513 -0
- package/dist/ts/implementation/primitives/pdf-name.d.ts +121 -0
- package/dist/ts/implementation/primitives/pdf-name.ts +218 -0
- package/dist/ts/implementation/primitives/pdf-number.d.ts +104 -0
- package/dist/ts/implementation/primitives/pdf-number.ts +165 -0
- package/dist/ts/implementation/primitives/pdf-reference.d.ts +223 -0
- package/dist/ts/implementation/primitives/pdf-reference.ts +430 -0
- package/dist/ts/implementation/primitives/pdf-stream.d.ts +161 -0
- package/dist/ts/implementation/primitives/pdf-stream.ts +306 -0
- package/dist/ts/implementation/primitives/pdf-string.d.ts +235 -0
- package/dist/ts/implementation/primitives/pdf-string.ts +397 -0
- package/dist/ts/implementation/structured-elements/grid/index.d.ts +4 -0
- package/dist/ts/implementation/structured-elements/grid/index.ts +10 -0
- package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.d.ts +597 -0
- package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +2029 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.d.ts +288 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +1194 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.d.ts +108 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +206 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.d.ts +261 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +470 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid.d.ts +292 -0
- package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +853 -0
- package/dist/ts/implementation/structured-elements/grid/styles/index.d.ts +5 -0
- package/dist/ts/implementation/structured-elements/grid/styles/index.ts +5 -0
- package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.d.ts +146 -0
- package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +240 -0
- package/dist/ts/implementation/structured-elements/grid/styles/style.d.ts +272 -0
- package/dist/ts/implementation/structured-elements/grid/styles/style.ts +424 -0
- package/dist/ts/implementation/structured-elements/index.d.ts +4 -0
- package/dist/ts/implementation/structured-elements/index.ts +10 -0
- package/dist/ts/implementation/structured-elements/tables/light-tables/enum.d.ts +16 -0
- package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +16 -0
- package/dist/ts/index.d.ts +116 -0
- package/dist/ts/index.ts +116 -0
- package/dist/ts/interfaces/i-pdf-cache.d.ts +23 -0
- package/dist/ts/interfaces/i-pdf-cache.ts +23 -0
- package/dist/ts/interfaces/i-pdf-changable.d.ts +17 -0
- package/dist/ts/interfaces/i-pdf-changable.ts +17 -0
- package/dist/ts/interfaces/i-pdf-clonable.d.ts +12 -0
- package/dist/ts/interfaces/i-pdf-clonable.ts +12 -0
- package/dist/ts/interfaces/i-pdf-primitives.d.ts +45 -0
- package/dist/ts/interfaces/i-pdf-primitives.ts +45 -0
- package/dist/ts/interfaces/i-pdf-true-type-font.d.ts +18 -0
- package/dist/ts/interfaces/i-pdf-true-type-font.ts +48 -0
- package/dist/ts/interfaces/i-pdf-wrapper.d.ts +13 -0
- package/dist/ts/interfaces/i-pdf-wrapper.ts +13 -0
- package/dist/ts/interfaces/i-pdf-writer.d.ts +29 -0
- package/dist/ts/interfaces/i-pdf-writer.ts +29 -0
- package/dist/ts/interfaces/index.d.ts +10 -0
- package/dist/ts/interfaces/index.ts +10 -0
- package/interfaces.js +0 -1
- package/package.json +7 -7
- package/src/interfaces/i-pdf-cache.js +0 -1
- package/src/interfaces/i-pdf-changable.js +0 -1
- package/src/interfaces/i-pdf-clonable.js +0 -1
- package/src/interfaces/i-pdf-primitives.js +0 -1
- package/src/interfaces/i-pdf-true-type-font.js +0 -1
- package/src/interfaces/i-pdf-wrapper.js +0 -1
- package/src/interfaces/i-pdf-writer.js +0 -1
- package/src/interfaces/index.js +0 -1
- package/CHANGELOG.md +0 -57
- package/dist/ej2-pdf-export.min.js +0 -10
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PdfShapeElement.ts class for EJ2-PDF
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
import { PdfLayoutResult, PdfLayoutParams } from './element-layouter';
|
|
6
|
+
import { RectangleF, PointF } from './../../../drawing/pdf-drawing';
|
|
7
|
+
import { PdfLayoutElement } from './../layout-element';
|
|
8
|
+
import { PdfGraphics } from './../../pdf-graphics';
|
|
9
|
+
/**
|
|
10
|
+
* Base class for the main shapes.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class PdfShapeElement extends PdfLayoutElement {
|
|
14
|
+
/**
|
|
15
|
+
* Gets the bounds.
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
getBounds(): RectangleF;
|
|
19
|
+
/**
|
|
20
|
+
* `drawGraphicsHelper` the graphics.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
drawGraphicsHelper(graphics: PdfGraphics, location: PointF): void;
|
|
24
|
+
/**
|
|
25
|
+
* `drawShapeHelper` the graphics.
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
private drawShapeHelper;
|
|
29
|
+
protected abstract drawInternal(graphics: PdfGraphics): void;
|
|
30
|
+
/**
|
|
31
|
+
* Returns a rectangle that bounds this element.
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
protected abstract getBoundsInternal(): RectangleF;
|
|
35
|
+
/**
|
|
36
|
+
* Layouts the element.
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
protected layout(param: PdfLayoutParams): PdfLayoutResult;
|
|
40
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PdfShapeElement.ts class for EJ2-PDF
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
import { PdfLayoutResult, PdfLayoutParams } from './element-layouter';
|
|
6
|
+
import { RectangleF, PointF } from './../../../drawing/pdf-drawing';
|
|
7
|
+
import { PdfLayoutElement } from './../layout-element';
|
|
8
|
+
import { ShapeLayouter } from './shape-layouter';
|
|
9
|
+
import { PdfGraphics, PdfGraphicsState } from './../../pdf-graphics';
|
|
10
|
+
/**
|
|
11
|
+
* Base class for the main shapes.
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
export abstract class PdfShapeElement extends PdfLayoutElement {
|
|
15
|
+
// methods
|
|
16
|
+
/**
|
|
17
|
+
* Gets the bounds.
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
public getBounds() : RectangleF {
|
|
21
|
+
let rect : RectangleF = this.getBoundsInternal();
|
|
22
|
+
return rect;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* `drawGraphicsHelper` the graphics.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
public drawGraphicsHelper(graphics: PdfGraphics, location: PointF) : void {
|
|
29
|
+
if ((graphics == null)) {
|
|
30
|
+
throw new Error('ArgumentNullException :graphics');
|
|
31
|
+
}
|
|
32
|
+
this.drawShapeHelper(graphics, location.x, location.y);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* `drawShapeHelper` the graphics.
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
private drawShapeHelper(graphics : PdfGraphics, x : number, y : number) : void {
|
|
39
|
+
let bNeedSave : boolean = (x !== 0.5 || y !== 0.5);
|
|
40
|
+
let gState : PdfGraphicsState = null;
|
|
41
|
+
// Translate co-ordinates.
|
|
42
|
+
if (bNeedSave) {
|
|
43
|
+
// Save state.
|
|
44
|
+
gState = graphics.save();
|
|
45
|
+
graphics.translateTransform((x as number), y);
|
|
46
|
+
}
|
|
47
|
+
this.drawInternal(graphics);
|
|
48
|
+
if (bNeedSave) {
|
|
49
|
+
// Restore state.
|
|
50
|
+
graphics.restore(gState);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Implementation
|
|
54
|
+
protected abstract drawInternal(graphics : PdfGraphics) : void;
|
|
55
|
+
/**
|
|
56
|
+
* Returns a rectangle that bounds this element.
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
protected abstract getBoundsInternal() : RectangleF;
|
|
60
|
+
/**
|
|
61
|
+
* Layouts the element.
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
protected layout(param : PdfLayoutParams) : PdfLayoutResult {
|
|
65
|
+
let layouter : ShapeLayouter = new ShapeLayouter(this);
|
|
66
|
+
let result : PdfLayoutResult = layouter.layout(param);
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ShapeLayouter.ts class for EJ2-PDF
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
import { ElementLayouter, PdfLayoutResult, PdfLayoutParams } from './element-layouter';
|
|
6
|
+
import { RectangleF } from './../../../drawing/pdf-drawing';
|
|
7
|
+
import { PdfPage } from './../../../pages/pdf-page';
|
|
8
|
+
import { PdfShapeElement } from './pdf-shape-element';
|
|
9
|
+
/**
|
|
10
|
+
* ShapeLayouter class.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
export declare class ShapeLayouter extends ElementLayouter {
|
|
14
|
+
/**
|
|
15
|
+
* Initializes the object to store `older form elements` of previous page.
|
|
16
|
+
* @default 0
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
olderPdfForm: number;
|
|
20
|
+
/**
|
|
21
|
+
* Initializes the offset `index`.
|
|
22
|
+
* * @default 0
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private static index;
|
|
26
|
+
/**
|
|
27
|
+
* Initializes the `difference in page height`.
|
|
28
|
+
* * @default 0
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
private static splitDiff;
|
|
32
|
+
/**
|
|
33
|
+
* Determines the `end of Vertical offset` values.
|
|
34
|
+
* * @default false
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
private static last;
|
|
38
|
+
/**
|
|
39
|
+
* Determines the document link annotation `border width`.
|
|
40
|
+
* * @default 0
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
private static readonly borderWidth;
|
|
44
|
+
/**
|
|
45
|
+
* Checks weather `is pdf grid` or not.
|
|
46
|
+
* @private
|
|
47
|
+
*/
|
|
48
|
+
isPdfGrid: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The `bounds` of the shape element.
|
|
51
|
+
* * @default new RectangleF()
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
shapeBounds: RectangleF;
|
|
55
|
+
/**
|
|
56
|
+
* The `bottom cell padding`.
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
bottomCellPadding: number;
|
|
60
|
+
/**
|
|
61
|
+
* Total Page size of the web page.
|
|
62
|
+
* * @default 0
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
private totalPageSize;
|
|
66
|
+
/**
|
|
67
|
+
* Initializes a new instance of the `ShapeLayouter` class.
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
constructor(element: PdfShapeElement);
|
|
71
|
+
/**
|
|
72
|
+
* Gets shape element.
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
readonly element: PdfShapeElement;
|
|
76
|
+
/**
|
|
77
|
+
* Layouts the element.
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
|
|
81
|
+
/**
|
|
82
|
+
* Raises BeforePageLayout event.
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private raiseBeforePageLayout;
|
|
86
|
+
/**
|
|
87
|
+
* Raises PageLayout event if needed.
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
private raiseEndPageLayout;
|
|
91
|
+
/**
|
|
92
|
+
* Creates layout result.
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private getLayoutResult;
|
|
96
|
+
/**
|
|
97
|
+
* Calculates the next active shape bounds.
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
private getNextShapeBounds;
|
|
101
|
+
/**
|
|
102
|
+
* Layouts the element on the current page.
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
private layoutOnPage;
|
|
106
|
+
/**
|
|
107
|
+
* Returns Rectangle for element drawing on the page.
|
|
108
|
+
* @private
|
|
109
|
+
*/
|
|
110
|
+
private getDrawBounds;
|
|
111
|
+
/**
|
|
112
|
+
* Draws the shape.
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
private drawShape;
|
|
116
|
+
/**
|
|
117
|
+
* Corrects current bounds on the page.
|
|
118
|
+
* @protected
|
|
119
|
+
*/
|
|
120
|
+
protected checkCorrectCurrentBounds(currentPage: PdfPage, curBounds: RectangleF, param: PdfLayoutParams): RectangleF;
|
|
121
|
+
/**
|
|
122
|
+
* Calculates bounds where the shape was layout on the page.
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
private getPageResultBounds;
|
|
126
|
+
/**
|
|
127
|
+
* Checks whether shape rectangle fits to the lay outing bounds.
|
|
128
|
+
* @private
|
|
129
|
+
*/
|
|
130
|
+
private fitsToBounds;
|
|
131
|
+
}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ShapeLayouter.ts class for EJ2-PDF
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
import { ElementLayouter, PdfLayoutResult, PdfLayoutParams } from './element-layouter';
|
|
6
|
+
import { RectangleF, SizeF, PointF } from './../../../drawing/pdf-drawing';
|
|
7
|
+
import { PdfPage } from './../../../pages/pdf-page';
|
|
8
|
+
import { PdfShapeElement } from './pdf-shape-element';
|
|
9
|
+
import { PdfLayoutBreakType, PdfLayoutType } from './../../figures/enum';
|
|
10
|
+
import { BeginPageLayoutEventArgs, EndPageLayoutEventArgs } from './../../../structured-elements/grid/layout/grid-layouter';
|
|
11
|
+
import { PdfGraphics, PdfGraphicsState } from './../../pdf-graphics';
|
|
12
|
+
/**
|
|
13
|
+
* ShapeLayouter class.
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export class ShapeLayouter extends ElementLayouter {
|
|
17
|
+
// Fields
|
|
18
|
+
/**
|
|
19
|
+
* Initializes the object to store `older form elements` of previous page.
|
|
20
|
+
* @default 0
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
public olderPdfForm : number = 0;
|
|
24
|
+
/**
|
|
25
|
+
* Initializes the offset `index`.
|
|
26
|
+
* * @default 0
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
private static index : number = 0;
|
|
30
|
+
/**
|
|
31
|
+
* Initializes the `difference in page height`.
|
|
32
|
+
* * @default 0
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
private static splitDiff : number = 0;
|
|
36
|
+
/**
|
|
37
|
+
* Determines the `end of Vertical offset` values.
|
|
38
|
+
* * @default false
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
private static last : boolean = false;
|
|
42
|
+
/**
|
|
43
|
+
* Determines the document link annotation `border width`.
|
|
44
|
+
* * @default 0
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
private static readonly borderWidth : number = 0;
|
|
48
|
+
/**
|
|
49
|
+
* Checks weather `is pdf grid` or not.
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
public isPdfGrid : boolean;
|
|
53
|
+
/**
|
|
54
|
+
* The `bounds` of the shape element.
|
|
55
|
+
* * @default new RectangleF()
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
public shapeBounds : RectangleF = new RectangleF();
|
|
59
|
+
/**
|
|
60
|
+
* The `bottom cell padding`.
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
public bottomCellPadding : number;
|
|
64
|
+
/**
|
|
65
|
+
* Total Page size of the web page.
|
|
66
|
+
* * @default 0
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
private totalPageSize : number = 0;
|
|
70
|
+
|
|
71
|
+
// Constructors
|
|
72
|
+
/**
|
|
73
|
+
* Initializes a new instance of the `ShapeLayouter` class.
|
|
74
|
+
* @private
|
|
75
|
+
*/
|
|
76
|
+
public constructor(element : PdfShapeElement) {
|
|
77
|
+
super(element);
|
|
78
|
+
}
|
|
79
|
+
// Properties
|
|
80
|
+
/**
|
|
81
|
+
* Gets shape element.
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
public get element() : PdfShapeElement {
|
|
85
|
+
return (this.elements as PdfShapeElement);
|
|
86
|
+
}
|
|
87
|
+
// Implementation
|
|
88
|
+
/**
|
|
89
|
+
* Layouts the element.
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
protected layoutInternal(param : PdfLayoutParams) : PdfLayoutResult {
|
|
93
|
+
let currentPage : PdfPage = param.page;
|
|
94
|
+
let currentBounds : RectangleF = param.bounds;
|
|
95
|
+
let shapeLayoutBounds : RectangleF = this.element.getBounds();
|
|
96
|
+
shapeLayoutBounds.x = 0;
|
|
97
|
+
shapeLayoutBounds.y = 0;
|
|
98
|
+
/* tslint:disable */
|
|
99
|
+
let isEmpty : boolean = (this.shapeBounds.x === this.shapeBounds.y && this.shapeBounds.y === this.shapeBounds.width && this.shapeBounds.width === this.shapeBounds.height && this.shapeBounds.height === 0) ? true : false;
|
|
100
|
+
/* tslint:enable */
|
|
101
|
+
if ((this.isPdfGrid) && (!(isEmpty))) {
|
|
102
|
+
shapeLayoutBounds = this.shapeBounds;
|
|
103
|
+
}
|
|
104
|
+
let result : PdfLayoutResult = null;
|
|
105
|
+
let pageResult : ShapeLayoutResult = new ShapeLayoutResult();
|
|
106
|
+
pageResult.page = currentPage;
|
|
107
|
+
/*tslint:disable:no-constant-condition */
|
|
108
|
+
while (true) {
|
|
109
|
+
// Raise event.
|
|
110
|
+
let result1 : { currentBounds: RectangleF, cancel : boolean } = this.raiseBeforePageLayout(currentPage, currentBounds);
|
|
111
|
+
currentBounds = result1.currentBounds;
|
|
112
|
+
let endArgs : EndPageLayoutEventArgs = null;
|
|
113
|
+
if (!result1.cancel) {
|
|
114
|
+
pageResult = this.layoutOnPage(currentPage, currentBounds, shapeLayoutBounds, param);
|
|
115
|
+
// Raise event.
|
|
116
|
+
endArgs = this.raiseEndPageLayout(pageResult);
|
|
117
|
+
result1.cancel = (endArgs === null) ? false : endArgs.cancel;
|
|
118
|
+
}
|
|
119
|
+
if (!pageResult.end && !result1.cancel) {
|
|
120
|
+
currentBounds = this.getPaginateBounds(param);
|
|
121
|
+
shapeLayoutBounds = this.getNextShapeBounds(shapeLayoutBounds, pageResult);
|
|
122
|
+
currentPage = (endArgs === null || endArgs.nextPage === null) ?
|
|
123
|
+
this.getNextPage(currentPage) : endArgs.nextPage;
|
|
124
|
+
if (this.isPdfGrid) {
|
|
125
|
+
result = this.getLayoutResult(pageResult);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
result = this.getLayoutResult(pageResult);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Raises BeforePageLayout event.
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
private raiseBeforePageLayout(currentPage: PdfPage, currentBounds: RectangleF): { currentBounds : RectangleF, cancel : boolean } {
|
|
140
|
+
let cancel: boolean = false;
|
|
141
|
+
if (this.element.raiseBeginPageLayout) {
|
|
142
|
+
let args: BeginPageLayoutEventArgs = new BeginPageLayoutEventArgs(currentBounds, currentPage);
|
|
143
|
+
this.element.onBeginPageLayout(args);
|
|
144
|
+
cancel = args.cancel;
|
|
145
|
+
currentBounds = args.bounds;
|
|
146
|
+
}
|
|
147
|
+
return { currentBounds : currentBounds, cancel : cancel};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Raises PageLayout event if needed.
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
153
|
+
private raiseEndPageLayout(pageResult: ShapeLayoutResult): EndPageLayoutEventArgs {
|
|
154
|
+
let args: EndPageLayoutEventArgs = null;
|
|
155
|
+
if (this.element.raiseEndPageLayout) {
|
|
156
|
+
let res: PdfLayoutResult = this.getLayoutResult(pageResult);
|
|
157
|
+
args = new EndPageLayoutEventArgs(res);
|
|
158
|
+
this.element.onEndPageLayout(args);
|
|
159
|
+
}
|
|
160
|
+
return args;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Creates layout result.
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
private getLayoutResult(pageResult: ShapeLayoutResult): PdfLayoutResult {
|
|
167
|
+
let result: PdfLayoutResult = new PdfLayoutResult(pageResult.page, pageResult.bounds);
|
|
168
|
+
return result;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Calculates the next active shape bounds.
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
private getNextShapeBounds(shapeLayoutBounds: RectangleF, pageResult: ShapeLayoutResult): RectangleF {
|
|
175
|
+
let layoutedBounds: RectangleF = pageResult.bounds;
|
|
176
|
+
shapeLayoutBounds.y = (shapeLayoutBounds.y + layoutedBounds.height);
|
|
177
|
+
shapeLayoutBounds.height = (shapeLayoutBounds.height - layoutedBounds.height);
|
|
178
|
+
return shapeLayoutBounds;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Layouts the element on the current page.
|
|
182
|
+
* @private
|
|
183
|
+
*/
|
|
184
|
+
private layoutOnPage(currentPage: PdfPage, curBounds: RectangleF, sBounds: RectangleF, param: PdfLayoutParams): ShapeLayoutResult {
|
|
185
|
+
let result: ShapeLayoutResult = new ShapeLayoutResult();
|
|
186
|
+
curBounds = this.checkCorrectCurrentBounds(currentPage, curBounds, param);
|
|
187
|
+
let fitToPage: boolean = this.fitsToBounds(curBounds, sBounds);
|
|
188
|
+
let canDraw: boolean = !((param.format.break === PdfLayoutBreakType.FitElement)
|
|
189
|
+
&& (!fitToPage && (currentPage === param.page)));
|
|
190
|
+
let shapeFinished: boolean = false;
|
|
191
|
+
if (canDraw) {
|
|
192
|
+
let drawRectangle: RectangleF = this.getDrawBounds(curBounds, sBounds);
|
|
193
|
+
this.drawShape(currentPage.graphics, curBounds, drawRectangle);
|
|
194
|
+
result.bounds = this.getPageResultBounds(curBounds, sBounds);
|
|
195
|
+
shapeFinished = ((<number>(curBounds.height)) >= (<number>(sBounds.height)));
|
|
196
|
+
}
|
|
197
|
+
result.end = (shapeFinished || (param.format.layout === PdfLayoutType.OnePage));
|
|
198
|
+
result.page = currentPage;
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Returns Rectangle for element drawing on the page.
|
|
203
|
+
* @private
|
|
204
|
+
*/
|
|
205
|
+
private getDrawBounds(currentBounds: RectangleF, shapeLayoutBounds: RectangleF): RectangleF {
|
|
206
|
+
let result: RectangleF = currentBounds;
|
|
207
|
+
result.y = (result.y - shapeLayoutBounds.y);
|
|
208
|
+
result.height = (result.height + shapeLayoutBounds.y);
|
|
209
|
+
return result;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Draws the shape.
|
|
213
|
+
* @private
|
|
214
|
+
*/
|
|
215
|
+
private drawShape(g: PdfGraphics, currentBounds: RectangleF, drawRectangle: RectangleF): void {
|
|
216
|
+
let gState: PdfGraphicsState = g.save();
|
|
217
|
+
try {
|
|
218
|
+
g.setClip(currentBounds);
|
|
219
|
+
this.element.drawGraphicsHelper(g, new PointF(drawRectangle.x, drawRectangle.y));
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
g.restore(gState);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Corrects current bounds on the page.
|
|
227
|
+
* @protected
|
|
228
|
+
*/
|
|
229
|
+
protected checkCorrectCurrentBounds(currentPage: PdfPage, curBounds: RectangleF, param: PdfLayoutParams): RectangleF {
|
|
230
|
+
let pageSize: SizeF = currentPage.graphics.clientSize;
|
|
231
|
+
curBounds.width = (curBounds.width > 0) ? curBounds.width : (pageSize.width - curBounds.x);
|
|
232
|
+
curBounds.height = (curBounds.height > 0) ? curBounds.height : (pageSize.height - curBounds.y);
|
|
233
|
+
if (this.isPdfGrid) {
|
|
234
|
+
curBounds.height = (curBounds.height - this.bottomCellPadding);
|
|
235
|
+
}
|
|
236
|
+
return curBounds;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Calculates bounds where the shape was layout on the page.
|
|
240
|
+
* @private
|
|
241
|
+
*/
|
|
242
|
+
private getPageResultBounds(currentBounds: RectangleF, shapeLayoutBounds: RectangleF): RectangleF {
|
|
243
|
+
let result: RectangleF = currentBounds;
|
|
244
|
+
result.height = Math.min(result.height, shapeLayoutBounds.height);
|
|
245
|
+
return result;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Checks whether shape rectangle fits to the lay outing bounds.
|
|
249
|
+
* @private
|
|
250
|
+
*/
|
|
251
|
+
private fitsToBounds(currentBounds: RectangleF, shapeLayoutBounds: RectangleF): boolean {
|
|
252
|
+
let fits: boolean = (shapeLayoutBounds.height <= currentBounds.height);
|
|
253
|
+
return fits;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Contains lay outing result settings.
|
|
258
|
+
* @private
|
|
259
|
+
*/
|
|
260
|
+
class ShapeLayoutResult {
|
|
261
|
+
/**
|
|
262
|
+
* The last page where the element was drawn.
|
|
263
|
+
* @private
|
|
264
|
+
*/
|
|
265
|
+
public page : PdfPage;
|
|
266
|
+
/**
|
|
267
|
+
* The bounds of the element on the last page where it was drawn.
|
|
268
|
+
* @private
|
|
269
|
+
*/
|
|
270
|
+
public bounds : RectangleF;
|
|
271
|
+
/**
|
|
272
|
+
* Indicates whether the lay outing has been finished.
|
|
273
|
+
* @private
|
|
274
|
+
*/
|
|
275
|
+
public end : boolean;
|
|
276
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextLayouter.ts class for EJ2-PDF
|
|
3
|
+
*/
|
|
4
|
+
import { ElementLayouter, PdfLayoutParams, PdfLayoutResult } from './element-layouter';
|
|
5
|
+
import { PdfTextElement } from './../text-element';
|
|
6
|
+
import { PdfPage } from './../../../pages/pdf-page';
|
|
7
|
+
import { RectangleF } from './../../../drawing/pdf-drawing';
|
|
8
|
+
/**
|
|
9
|
+
* Class that `layouts the text`.
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
export declare class TextLayouter extends ElementLayouter {
|
|
13
|
+
/**
|
|
14
|
+
* String `format`.
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
private format;
|
|
18
|
+
/**
|
|
19
|
+
* Gets the layout `element`.
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
readonly element: PdfTextElement;
|
|
23
|
+
/**
|
|
24
|
+
* Initializes a new instance of the `TextLayouter` class.
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
constructor(element: PdfTextElement);
|
|
28
|
+
/**
|
|
29
|
+
* `Layouts` the element.
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
|
|
33
|
+
/**
|
|
34
|
+
* Raises `PageLayout` event if needed.
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
private getLayoutResult;
|
|
38
|
+
/**
|
|
39
|
+
* `Layouts` the text on the page.
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
private layoutOnPage;
|
|
43
|
+
/**
|
|
44
|
+
* `Corrects current bounds` on the page.
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
private checkCorrectBounds;
|
|
48
|
+
/**
|
|
49
|
+
* Returns a `rectangle` where the text was printed on the page.
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
private getTextPageBounds;
|
|
53
|
+
}
|
|
54
|
+
export declare class TextPageLayoutResult {
|
|
55
|
+
/**
|
|
56
|
+
* The last `page` where the text was drawn.
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
page: PdfPage;
|
|
60
|
+
/**
|
|
61
|
+
* The `bounds` of the element on the last page where it was drawn.
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
bounds: RectangleF;
|
|
65
|
+
/**
|
|
66
|
+
* Indicates whether the lay outing has been finished [`end`].
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
end: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* The `text` that was not printed.
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
remainder: string;
|
|
75
|
+
/**
|
|
76
|
+
* Gets or sets a `bounds` of the last text line that was printed.
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
lastLineBounds: RectangleF;
|
|
80
|
+
}
|
|
81
|
+
export declare class PdfTextLayoutResult extends PdfLayoutResult {
|
|
82
|
+
/**
|
|
83
|
+
* The `text` that was not printed.
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
private remainderText;
|
|
87
|
+
/**
|
|
88
|
+
* The `bounds` of the last line that was printed.
|
|
89
|
+
* @private
|
|
90
|
+
*/
|
|
91
|
+
private lastLineTextBounds;
|
|
92
|
+
/**
|
|
93
|
+
* Gets a value that contains the `text` that was not printed.
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
readonly remainder: string;
|
|
97
|
+
/**
|
|
98
|
+
* Gets a value that indicates the `bounds` of the last line that was printed on the page.
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
readonly lastLineBounds: RectangleF;
|
|
102
|
+
/**
|
|
103
|
+
* Initializes the new instance of `PdfTextLayoutResult` class.
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
constructor(page: PdfPage, bounds: RectangleF, remainder: string, lastLineBounds: RectangleF);
|
|
107
|
+
}
|