@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.
Files changed (372) hide show
  1. package/.eslintrc.json +3 -2
  2. package/dist/ej2-pdf-export.umd.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pdf-export.es2015.js +79 -72
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +169 -232
  7. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  8. package/dist/global/ej2-pdf-export.min.js +2 -2
  9. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/dist/ts/implementation/actions/action.d.ts +50 -0
  12. package/dist/ts/implementation/actions/action.ts +76 -0
  13. package/dist/ts/implementation/actions/index.d.ts +6 -0
  14. package/dist/ts/implementation/actions/index.ts +6 -0
  15. package/dist/ts/implementation/actions/uri-action.d.ts +33 -0
  16. package/dist/ts/implementation/actions/uri-action.ts +52 -0
  17. package/dist/ts/implementation/annotations/action-link-annotation.d.ts +30 -0
  18. package/dist/ts/implementation/annotations/action-link-annotation.ts +43 -0
  19. package/dist/ts/implementation/annotations/annotation-collection.d.ts +77 -0
  20. package/dist/ts/implementation/annotations/annotation-collection.ts +159 -0
  21. package/dist/ts/implementation/annotations/annotation.d.ts +152 -0
  22. package/dist/ts/implementation/annotations/annotation.ts +241 -0
  23. package/dist/ts/implementation/annotations/document-link-annotation.d.ts +89 -0
  24. package/dist/ts/implementation/annotations/document-link-annotation.ts +118 -0
  25. package/dist/ts/implementation/annotations/index.d.ts +11 -0
  26. package/dist/ts/implementation/annotations/index.ts +11 -0
  27. package/dist/ts/implementation/annotations/link-annotation.d.ts +23 -0
  28. package/dist/ts/implementation/annotations/link-annotation.ts +32 -0
  29. package/dist/ts/implementation/annotations/pdf-text-web-link.d.ts +118 -0
  30. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +265 -0
  31. package/dist/ts/implementation/annotations/uri-annotation.d.ts +48 -0
  32. package/dist/ts/implementation/annotations/uri-annotation.ts +86 -0
  33. package/dist/ts/implementation/collections/dictionary.d.ts +76 -0
  34. package/dist/ts/implementation/collections/dictionary.ts +150 -0
  35. package/dist/ts/implementation/collections/index.d.ts +7 -0
  36. package/dist/ts/implementation/collections/index.ts +7 -0
  37. package/dist/ts/implementation/collections/object-object-pair/dictionary.d.ts +62 -0
  38. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +125 -0
  39. package/dist/ts/implementation/collections/object-object-pair/index.d.ts +5 -0
  40. package/dist/ts/implementation/collections/object-object-pair/index.ts +5 -0
  41. package/dist/ts/implementation/collections/utils.d.ts +27 -0
  42. package/dist/ts/implementation/collections/utils.ts +38 -0
  43. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +31 -0
  44. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +39 -0
  45. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.d.ts +67 -0
  46. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +108 -0
  47. package/dist/ts/implementation/document/automatic-fields/automatic-field.d.ts +41 -0
  48. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +127 -0
  49. package/dist/ts/implementation/document/automatic-fields/composite-field.d.ts +46 -0
  50. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +76 -0
  51. package/dist/ts/implementation/document/automatic-fields/index.d.ts +11 -0
  52. package/dist/ts/implementation/document/automatic-fields/index.ts +11 -0
  53. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.d.ts +18 -0
  54. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +37 -0
  55. package/dist/ts/implementation/document/automatic-fields/page-count-field.d.ts +44 -0
  56. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +75 -0
  57. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +53 -0
  58. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +157 -0
  59. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.d.ts +51 -0
  60. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +82 -0
  61. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +38 -0
  62. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +60 -0
  63. package/dist/ts/implementation/document/automatic-fields/single-value-field.d.ts +15 -0
  64. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +48 -0
  65. package/dist/ts/implementation/document/index.d.ts +16 -0
  66. package/dist/ts/implementation/document/index.ts +16 -0
  67. package/dist/ts/implementation/document/pdf-catalog.d.ts +39 -0
  68. package/dist/ts/implementation/document/pdf-catalog.ts +65 -0
  69. package/dist/ts/implementation/document/pdf-document-base.d.ts +132 -0
  70. package/dist/ts/implementation/document/pdf-document-base.ts +180 -0
  71. package/dist/ts/implementation/document/pdf-document-template.d.ts +166 -0
  72. package/dist/ts/implementation/document/pdf-document-template.ts +310 -0
  73. package/dist/ts/implementation/document/pdf-document.d.ts +221 -0
  74. package/dist/ts/implementation/document/pdf-document.ts +342 -0
  75. package/dist/ts/implementation/document/pdf-viewer-preferences.d.ts +467 -0
  76. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +578 -0
  77. package/dist/ts/implementation/drawing/index.d.ts +5 -0
  78. package/dist/ts/implementation/drawing/index.ts +5 -0
  79. package/dist/ts/implementation/drawing/pdf-drawing.d.ts +141 -0
  80. package/dist/ts/implementation/drawing/pdf-drawing.ts +218 -0
  81. package/dist/ts/implementation/general/enum.d.ts +21 -0
  82. package/dist/ts/implementation/general/enum.ts +21 -0
  83. package/dist/ts/implementation/general/functions/index.d.ts +6 -0
  84. package/dist/ts/implementation/general/functions/index.ts +6 -0
  85. package/dist/ts/implementation/general/functions/pdf-function.d.ts +44 -0
  86. package/dist/ts/implementation/general/functions/pdf-function.ts +66 -0
  87. package/dist/ts/implementation/general/functions/pdf-sampled-function.d.ts +25 -0
  88. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +63 -0
  89. package/dist/ts/implementation/general/index.d.ts +9 -0
  90. package/dist/ts/implementation/general/index.ts +9 -0
  91. package/dist/ts/implementation/general/pdf-cache-collection.d.ts +42 -0
  92. package/dist/ts/implementation/general/pdf-cache-collection.ts +97 -0
  93. package/dist/ts/implementation/general/pdf-collection.d.ts +26 -0
  94. package/dist/ts/implementation/general/pdf-collection.ts +41 -0
  95. package/dist/ts/implementation/general/pdf-destination.d.ts +103 -0
  96. package/dist/ts/implementation/general/pdf-destination.ts +170 -0
  97. package/dist/ts/implementation/graphics/brushes/enum.d.ts +236 -0
  98. package/dist/ts/implementation/graphics/brushes/enum.ts +237 -0
  99. package/dist/ts/implementation/graphics/brushes/index.d.ts +13 -0
  100. package/dist/ts/implementation/graphics/brushes/index.ts +13 -0
  101. package/dist/ts/implementation/graphics/brushes/pdf-blend.d.ts +105 -0
  102. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +294 -0
  103. package/dist/ts/implementation/graphics/brushes/pdf-brush.d.ts +57 -0
  104. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +68 -0
  105. package/dist/ts/implementation/graphics/brushes/pdf-brushes.d.ts +726 -0
  106. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +2438 -0
  107. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.d.ts +113 -0
  108. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +295 -0
  109. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.d.ts +155 -0
  110. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +311 -0
  111. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.d.ts +147 -0
  112. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +406 -0
  113. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.d.ts +122 -0
  114. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +290 -0
  115. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.d.ts +77 -0
  116. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +107 -0
  117. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.d.ts +161 -0
  118. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +304 -0
  119. package/dist/ts/implementation/graphics/constants.d.ts +31 -0
  120. package/dist/ts/implementation/graphics/constants.ts +31 -0
  121. package/dist/ts/implementation/graphics/enum.d.ts +413 -0
  122. package/dist/ts/implementation/graphics/enum.ts +413 -0
  123. package/dist/ts/implementation/graphics/figures/arc.d.ts +87 -0
  124. package/dist/ts/implementation/graphics/figures/arc.ts +133 -0
  125. package/dist/ts/implementation/graphics/figures/base/draw-element.d.ts +30 -0
  126. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +59 -0
  127. package/dist/ts/implementation/graphics/figures/base/element-layouter.d.ts +161 -0
  128. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +260 -0
  129. package/dist/ts/implementation/graphics/figures/base/fill-element.d.ts +46 -0
  130. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +72 -0
  131. package/dist/ts/implementation/graphics/figures/base/graphics-element.d.ts +16 -0
  132. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +34 -0
  133. package/dist/ts/implementation/graphics/figures/base/index.d.ts +9 -0
  134. package/dist/ts/implementation/graphics/figures/base/index.ts +9 -0
  135. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.d.ts +40 -0
  136. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +69 -0
  137. package/dist/ts/implementation/graphics/figures/base/shape-layouter.d.ts +131 -0
  138. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +276 -0
  139. package/dist/ts/implementation/graphics/figures/base/text-layouter.d.ts +107 -0
  140. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +205 -0
  141. package/dist/ts/implementation/graphics/figures/ellipse-part.d.ts +48 -0
  142. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +76 -0
  143. package/dist/ts/implementation/graphics/figures/enum.d.ts +79 -0
  144. package/dist/ts/implementation/graphics/figures/enum.ts +80 -0
  145. package/dist/ts/implementation/graphics/figures/index.d.ts +13 -0
  146. package/dist/ts/implementation/graphics/figures/index.ts +13 -0
  147. package/dist/ts/implementation/graphics/figures/layout-element.d.ts +73 -0
  148. package/dist/ts/implementation/graphics/figures/layout-element.ts +132 -0
  149. package/dist/ts/implementation/graphics/figures/path.d.ts +319 -0
  150. package/dist/ts/implementation/graphics/figures/path.ts +646 -0
  151. package/dist/ts/implementation/graphics/figures/pdf-template.d.ts +113 -0
  152. package/dist/ts/implementation/graphics/figures/pdf-template.ts +205 -0
  153. package/dist/ts/implementation/graphics/figures/rectangle-area.d.ts +64 -0
  154. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +108 -0
  155. package/dist/ts/implementation/graphics/figures/text-element.d.ts +213 -0
  156. package/dist/ts/implementation/graphics/figures/text-element.ts +445 -0
  157. package/dist/ts/implementation/graphics/fonts/enum.d.ts +385 -0
  158. package/dist/ts/implementation/graphics/fonts/enum.ts +385 -0
  159. package/dist/ts/implementation/graphics/fonts/index.d.ts +16 -0
  160. package/dist/ts/implementation/graphics/fonts/index.ts +16 -0
  161. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.d.ts +164 -0
  162. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +248 -0
  163. package/dist/ts/implementation/graphics/fonts/pdf-font.d.ts +187 -0
  164. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +316 -0
  165. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +301 -0
  166. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +606 -0
  167. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.d.ts +143 -0
  168. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +243 -0
  169. package/dist/ts/implementation/graphics/fonts/pdf-string-format.d.ts +321 -0
  170. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +474 -0
  171. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.d.ts +49 -0
  172. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +165 -0
  173. package/dist/ts/implementation/graphics/fonts/rtl/index.d.ts +6 -0
  174. package/dist/ts/implementation/graphics/fonts/rtl/index.ts +6 -0
  175. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.d.ts +62 -0
  176. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +958 -0
  177. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.d.ts +68 -0
  178. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +374 -0
  179. package/dist/ts/implementation/graphics/fonts/rtl-renderer.d.ts +23 -0
  180. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +255 -0
  181. package/dist/ts/implementation/graphics/fonts/string-layouter.d.ts +254 -0
  182. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +617 -0
  183. package/dist/ts/implementation/graphics/fonts/string-tokenizer.d.ts +109 -0
  184. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +275 -0
  185. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.d.ts +204 -0
  186. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +206 -0
  187. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.d.ts +17 -0
  188. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +18 -0
  189. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.d.ts +17 -0
  190. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +18 -0
  191. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.d.ts +13 -0
  192. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +14 -0
  193. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.d.ts +25 -0
  194. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +26 -0
  195. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.d.ts +25 -0
  196. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +35 -0
  197. package/dist/ts/implementation/graphics/fonts/ttf-head-table.d.ts +94 -0
  198. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +94 -0
  199. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.d.ts +55 -0
  200. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +56 -0
  201. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.d.ts +9 -0
  202. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +10 -0
  203. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.d.ts +13 -0
  204. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +14 -0
  205. package/dist/ts/implementation/graphics/fonts/ttf-metrics.d.ts +101 -0
  206. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +106 -0
  207. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.d.ts +57 -0
  208. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +58 -0
  209. package/dist/ts/implementation/graphics/fonts/ttf-name-record.d.ts +33 -0
  210. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +33 -0
  211. package/dist/ts/implementation/graphics/fonts/ttf-name-table.d.ts +22 -0
  212. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +22 -0
  213. package/dist/ts/implementation/graphics/fonts/ttf-post-table.d.ts +41 -0
  214. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +42 -0
  215. package/dist/ts/implementation/graphics/fonts/ttf-reader.d.ts +225 -0
  216. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +1254 -0
  217. package/dist/ts/implementation/graphics/fonts/ttf-table-info.d.ts +22 -0
  218. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +26 -0
  219. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.d.ts +25 -0
  220. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +26 -0
  221. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.d.ts +213 -0
  222. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +577 -0
  223. package/dist/ts/implementation/graphics/images/byte-array.d.ts +74 -0
  224. package/dist/ts/implementation/graphics/images/byte-array.ts +137 -0
  225. package/dist/ts/implementation/graphics/images/image-decoder.d.ts +274 -0
  226. package/dist/ts/implementation/graphics/images/image-decoder.ts +439 -0
  227. package/dist/ts/implementation/graphics/images/index.d.ts +8 -0
  228. package/dist/ts/implementation/graphics/images/index.ts +8 -0
  229. package/dist/ts/implementation/graphics/images/pdf-bitmap.d.ts +90 -0
  230. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +110 -0
  231. package/dist/ts/implementation/graphics/images/pdf-image.d.ts +88 -0
  232. package/dist/ts/implementation/graphics/images/pdf-image.ts +132 -0
  233. package/dist/ts/implementation/graphics/index.d.ts +35 -0
  234. package/dist/ts/implementation/graphics/index.ts +46 -0
  235. package/dist/ts/implementation/graphics/pdf-color.d.ts +206 -0
  236. package/dist/ts/implementation/graphics/pdf-color.ts +478 -0
  237. package/dist/ts/implementation/graphics/pdf-graphics.d.ts +1210 -0
  238. package/dist/ts/implementation/graphics/pdf-graphics.ts +2554 -0
  239. package/dist/ts/implementation/graphics/pdf-margins.d.ts +82 -0
  240. package/dist/ts/implementation/graphics/pdf-margins.ts +124 -0
  241. package/dist/ts/implementation/graphics/pdf-pen.d.ts +237 -0
  242. package/dist/ts/implementation/graphics/pdf-pen.ts +370 -0
  243. package/dist/ts/implementation/graphics/pdf-resources.d.ts +122 -0
  244. package/dist/ts/implementation/graphics/pdf-resources.ts +300 -0
  245. package/dist/ts/implementation/graphics/pdf-transformation-matrix.d.ts +143 -0
  246. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +246 -0
  247. package/dist/ts/implementation/graphics/pdf-transparency.d.ts +34 -0
  248. package/dist/ts/implementation/graphics/pdf-transparency.ts +93 -0
  249. package/dist/ts/implementation/graphics/unit-convertor.d.ts +72 -0
  250. package/dist/ts/implementation/graphics/unit-convertor.ts +96 -0
  251. package/dist/ts/implementation/index.d.ts +103 -0
  252. package/dist/ts/implementation/index.ts +103 -0
  253. package/dist/ts/implementation/input-output/big-endian-writer.d.ts +59 -0
  254. package/dist/ts/implementation/input-output/big-endian-writer.ts +121 -0
  255. package/dist/ts/implementation/input-output/cross-table.d.ts +21 -0
  256. package/dist/ts/implementation/input-output/cross-table.ts +21 -0
  257. package/dist/ts/implementation/input-output/enum.d.ts +16 -0
  258. package/dist/ts/implementation/input-output/enum.ts +16 -0
  259. package/dist/ts/implementation/input-output/index.d.ts +12 -0
  260. package/dist/ts/implementation/input-output/index.ts +12 -0
  261. package/dist/ts/implementation/input-output/pdf-cross-table.d.ts +249 -0
  262. package/dist/ts/implementation/input-output/pdf-cross-table.ts +524 -0
  263. package/dist/ts/implementation/input-output/pdf-dictionary-properties.d.ts +568 -0
  264. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +571 -0
  265. package/dist/ts/implementation/input-output/pdf-main-object-collection.d.ts +120 -0
  266. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +194 -0
  267. package/dist/ts/implementation/input-output/pdf-operators.d.ts +361 -0
  268. package/dist/ts/implementation/input-output/pdf-operators.ts +363 -0
  269. package/dist/ts/implementation/input-output/pdf-stream-writer.d.ts +311 -0
  270. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +681 -0
  271. package/dist/ts/implementation/input-output/pdf-writer.d.ts +68 -0
  272. package/dist/ts/implementation/input-output/pdf-writer.ts +88 -0
  273. package/dist/ts/implementation/pages/enum.d.ts +201 -0
  274. package/dist/ts/implementation/pages/enum.ts +201 -0
  275. package/dist/ts/implementation/pages/index.d.ts +17 -0
  276. package/dist/ts/implementation/pages/index.ts +17 -0
  277. package/dist/ts/implementation/pages/page-added-event-arguments.d.ts +30 -0
  278. package/dist/ts/implementation/pages/page-added-event-arguments.ts +39 -0
  279. package/dist/ts/implementation/pages/pdf-document-page-collection.d.ts +86 -0
  280. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +180 -0
  281. package/dist/ts/implementation/pages/pdf-page-base.d.ts +121 -0
  282. package/dist/ts/implementation/pages/pdf-page-base.ts +181 -0
  283. package/dist/ts/implementation/pages/pdf-page-layer-collection.d.ts +99 -0
  284. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +348 -0
  285. package/dist/ts/implementation/pages/pdf-page-layer.d.ts +160 -0
  286. package/dist/ts/implementation/pages/pdf-page-layer.ts +271 -0
  287. package/dist/ts/implementation/pages/pdf-page-settings.d.ts +111 -0
  288. package/dist/ts/implementation/pages/pdf-page-settings.ts +192 -0
  289. package/dist/ts/implementation/pages/pdf-page-size.d.ts +159 -0
  290. package/dist/ts/implementation/pages/pdf-page-size.ts +162 -0
  291. package/dist/ts/implementation/pages/pdf-page-template-element.d.ts +240 -0
  292. package/dist/ts/implementation/pages/pdf-page-template-element.ts +663 -0
  293. package/dist/ts/implementation/pages/pdf-page.d.ts +153 -0
  294. package/dist/ts/implementation/pages/pdf-page.ts +235 -0
  295. package/dist/ts/implementation/pages/pdf-section-collection.d.ts +109 -0
  296. package/dist/ts/implementation/pages/pdf-section-collection.ts +187 -0
  297. package/dist/ts/implementation/pages/pdf-section-page-collection.d.ts +41 -0
  298. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +61 -0
  299. package/dist/ts/implementation/pages/pdf-section-templates.d.ts +64 -0
  300. package/dist/ts/implementation/pages/pdf-section-templates.ts +96 -0
  301. package/dist/ts/implementation/pages/pdf-section.d.ts +327 -0
  302. package/dist/ts/implementation/pages/pdf-section.ts +644 -0
  303. package/dist/ts/implementation/primitives/index.d.ts +12 -0
  304. package/dist/ts/implementation/primitives/index.ts +12 -0
  305. package/dist/ts/implementation/primitives/pdf-array.d.ts +192 -0
  306. package/dist/ts/implementation/primitives/pdf-array.ts +386 -0
  307. package/dist/ts/implementation/primitives/pdf-boolean.d.ts +84 -0
  308. package/dist/ts/implementation/primitives/pdf-boolean.ts +119 -0
  309. package/dist/ts/implementation/primitives/pdf-dictionary.d.ts +362 -0
  310. package/dist/ts/implementation/primitives/pdf-dictionary.ts +513 -0
  311. package/dist/ts/implementation/primitives/pdf-name.d.ts +121 -0
  312. package/dist/ts/implementation/primitives/pdf-name.ts +218 -0
  313. package/dist/ts/implementation/primitives/pdf-number.d.ts +104 -0
  314. package/dist/ts/implementation/primitives/pdf-number.ts +165 -0
  315. package/dist/ts/implementation/primitives/pdf-reference.d.ts +223 -0
  316. package/dist/ts/implementation/primitives/pdf-reference.ts +430 -0
  317. package/dist/ts/implementation/primitives/pdf-stream.d.ts +161 -0
  318. package/dist/ts/implementation/primitives/pdf-stream.ts +306 -0
  319. package/dist/ts/implementation/primitives/pdf-string.d.ts +235 -0
  320. package/dist/ts/implementation/primitives/pdf-string.ts +397 -0
  321. package/dist/ts/implementation/structured-elements/grid/index.d.ts +4 -0
  322. package/dist/ts/implementation/structured-elements/grid/index.ts +10 -0
  323. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.d.ts +597 -0
  324. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +2029 -0
  325. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.d.ts +288 -0
  326. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +1194 -0
  327. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.d.ts +108 -0
  328. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +206 -0
  329. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.d.ts +261 -0
  330. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +470 -0
  331. package/dist/ts/implementation/structured-elements/grid/pdf-grid.d.ts +292 -0
  332. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +853 -0
  333. package/dist/ts/implementation/structured-elements/grid/styles/index.d.ts +5 -0
  334. package/dist/ts/implementation/structured-elements/grid/styles/index.ts +5 -0
  335. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.d.ts +146 -0
  336. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +240 -0
  337. package/dist/ts/implementation/structured-elements/grid/styles/style.d.ts +272 -0
  338. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +424 -0
  339. package/dist/ts/implementation/structured-elements/index.d.ts +4 -0
  340. package/dist/ts/implementation/structured-elements/index.ts +10 -0
  341. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.d.ts +16 -0
  342. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +16 -0
  343. package/dist/ts/index.d.ts +116 -0
  344. package/dist/ts/index.ts +116 -0
  345. package/dist/ts/interfaces/i-pdf-cache.d.ts +23 -0
  346. package/dist/ts/interfaces/i-pdf-cache.ts +23 -0
  347. package/dist/ts/interfaces/i-pdf-changable.d.ts +17 -0
  348. package/dist/ts/interfaces/i-pdf-changable.ts +17 -0
  349. package/dist/ts/interfaces/i-pdf-clonable.d.ts +12 -0
  350. package/dist/ts/interfaces/i-pdf-clonable.ts +12 -0
  351. package/dist/ts/interfaces/i-pdf-primitives.d.ts +45 -0
  352. package/dist/ts/interfaces/i-pdf-primitives.ts +45 -0
  353. package/dist/ts/interfaces/i-pdf-true-type-font.d.ts +18 -0
  354. package/dist/ts/interfaces/i-pdf-true-type-font.ts +48 -0
  355. package/dist/ts/interfaces/i-pdf-wrapper.d.ts +13 -0
  356. package/dist/ts/interfaces/i-pdf-wrapper.ts +13 -0
  357. package/dist/ts/interfaces/i-pdf-writer.d.ts +29 -0
  358. package/dist/ts/interfaces/i-pdf-writer.ts +29 -0
  359. package/dist/ts/interfaces/index.d.ts +10 -0
  360. package/dist/ts/interfaces/index.ts +10 -0
  361. package/interfaces.js +0 -1
  362. package/package.json +7 -7
  363. package/src/interfaces/i-pdf-cache.js +0 -1
  364. package/src/interfaces/i-pdf-changable.js +0 -1
  365. package/src/interfaces/i-pdf-clonable.js +0 -1
  366. package/src/interfaces/i-pdf-primitives.js +0 -1
  367. package/src/interfaces/i-pdf-true-type-font.js +0 -1
  368. package/src/interfaces/i-pdf-wrapper.js +0 -1
  369. package/src/interfaces/i-pdf-writer.js +0 -1
  370. package/src/interfaces/index.js +0 -1
  371. package/CHANGELOG.md +0 -57
  372. package/dist/ej2-pdf-export.min.js +0 -10
@@ -0,0 +1,663 @@
1
+ /**
2
+ * PdfPageTemplateElement.ts class for EJ2-Pdf
3
+ */
4
+ import { PdfDockStyle, PdfAlignmentStyle, TemplateType } from './enum';
5
+ import { PointF, SizeF } from './../drawing/pdf-drawing';
6
+ import { PdfGraphics } from './../graphics/pdf-graphics';
7
+ import { PdfTemplate } from './../graphics/figures/pdf-template';
8
+ import { PdfPageLayer } from './pdf-page-layer';
9
+ import { PdfPage } from './pdf-page';
10
+ import { PdfDocument } from './../document/pdf-document';
11
+ import { RectangleF } from './../drawing/pdf-drawing';
12
+ import { PdfSection } from './pdf-section';
13
+ /**
14
+ * Describes a `page template` object that can be used as header/footer, watermark or stamp.
15
+ */
16
+ export class PdfPageTemplateElement {
17
+ // Fields
18
+ /**
19
+ * `Layer type` of the template.
20
+ * @private
21
+ */
22
+ private isForeground : boolean;
23
+ /**
24
+ * `Docking style`.
25
+ * @private
26
+ */
27
+ private dockStyle : PdfDockStyle;
28
+ /**
29
+ * `Alignment style`.
30
+ * @private
31
+ */
32
+ private alignmentStyle : PdfAlignmentStyle;
33
+ /**
34
+ * `PdfTemplate` object.
35
+ * @private
36
+ */
37
+ private pdfTemplate : PdfTemplate;
38
+ /**
39
+ * Usage `type` of this template.
40
+ * @private
41
+ */
42
+ private templateType : TemplateType;
43
+ /**
44
+ * `Location` of the template on the page.
45
+ * @private
46
+ */
47
+ private currentLocation : PointF;
48
+ // Properties
49
+ /**
50
+ * Gets or sets the `dock style` of the page template element.
51
+ * @private
52
+ */
53
+ public get dock() : PdfDockStyle {
54
+ return this.dockStyle;
55
+ }
56
+ public set dock(value : PdfDockStyle) {
57
+ // if (this.dockStyle !== value && this.Type === TemplateType.None) {
58
+ this.dockStyle = value;
59
+ // Reset alignment.
60
+ this.resetAlignment();
61
+ // }
62
+ }
63
+ /**
64
+ * Gets or sets `alignment` of the page template element.
65
+ * @private
66
+ */
67
+ public get alignment() : PdfAlignmentStyle {
68
+ return this.alignmentStyle;
69
+ }
70
+ public set alignment(value : PdfAlignmentStyle) {
71
+ // if (this.alignmentStyle !== value) {
72
+ this.setAlignment(value);
73
+ // }
74
+ }
75
+ /**
76
+ * Indicates whether the page template is located `in front of the page layers or behind of it`.
77
+ * @private
78
+ */
79
+ public get foreground() : boolean {
80
+ return this.isForeground;
81
+ }
82
+ public set foreground(value : boolean) {
83
+ // if (this.foreground !== value) {
84
+ this.isForeground = value;
85
+ // }
86
+ }
87
+ /**
88
+ * Indicates whether the page template is located `behind of the page layers or in front of it`.
89
+ * @private
90
+ */
91
+ public get background() : boolean {
92
+ return !this.isForeground;
93
+ }
94
+ public set background(value : boolean) {
95
+ this.isForeground = !value;
96
+ }
97
+ /**
98
+ * Gets or sets `location` of the page template element.
99
+ * @private
100
+ */
101
+ public get location() : PointF {
102
+ return this.currentLocation;
103
+ }
104
+ public set location(value : PointF) {
105
+ if (this.type === TemplateType.None) {
106
+ this.currentLocation = value;
107
+ } else {
108
+ //
109
+ }
110
+ }
111
+ /**
112
+ * Gets or sets `X` co-ordinate of the template element on the page.
113
+ * @private
114
+ */
115
+ public get x() : number {
116
+ let value : number = (typeof this.currentLocation !== 'undefined') ? this.currentLocation.x : 0;
117
+ return value;
118
+ }
119
+ public set x(value : number) {
120
+ if (this.type === TemplateType.None) {
121
+ this.currentLocation.x = value;
122
+ } else {
123
+ //
124
+ }
125
+ }
126
+ /**
127
+ * Gets or sets `Y` co-ordinate of the template element on the page.
128
+ * @private
129
+ */
130
+ public get y() : number {
131
+ let value : number = (typeof this.currentLocation !== 'undefined') ? this.currentLocation.y : 0;
132
+ return value;
133
+ }
134
+ public set y(value : number) {
135
+ if (this.type === TemplateType.None) {
136
+ this.currentLocation.y = value;
137
+ } else {
138
+ //
139
+ }
140
+ }
141
+ /**
142
+ * Gets or sets `size` of the page template element.
143
+ * @private
144
+ */
145
+ public get size() : SizeF {
146
+ return this.template.size;
147
+ }
148
+ public set size(value : SizeF) {
149
+ if (this.type === TemplateType.None) {
150
+ this.template.reset(value);
151
+ }
152
+ }
153
+ /**
154
+ * Gets or sets `width` of the page template element.
155
+ * @private
156
+ */
157
+ public get width() : number {
158
+ return this.template.width;
159
+ }
160
+ public set width(value : number) {
161
+ if (this.template.width !== value && this.type === TemplateType.None) {
162
+ let size : SizeF = this.template.size;
163
+ size.width = value;
164
+ this.template.reset(size);
165
+ }
166
+ }
167
+ /**
168
+ * Gets or sets `height` of the page template element.
169
+ * @private
170
+ */
171
+ public get height() : number {
172
+ return this.template.height;
173
+ }
174
+ public set height(value : number) {
175
+ if (this.template.height !== value && this.type === TemplateType.None) {
176
+ let size : SizeF = this.template.size;
177
+ size.height = value;
178
+ this.template.reset(size);
179
+ }
180
+ }
181
+ /**
182
+ * Gets `graphics` context of the page template element.
183
+ * @private
184
+ */
185
+ public get graphics() : PdfGraphics {
186
+ return this.template.graphics;
187
+ }
188
+ /**
189
+ * Gets Pdf `template` object.
190
+ * @private
191
+ */
192
+ public get template() : PdfTemplate {
193
+ // if (typeof this.pdfTemplate === 'undefined' || this.pdfTemplate == null) {
194
+ // this.pdfTemplate = new PdfTemplate(this.size);
195
+ // }
196
+ return this.pdfTemplate;
197
+ }
198
+ /**
199
+ * Gets or sets `type` of the usage of this page template.
200
+ * @private
201
+ */
202
+ public get type() : TemplateType {
203
+ return this.templateType;
204
+ }
205
+ public set type(value : TemplateType) {
206
+ this.updateDocking(value);
207
+ this.templateType = value;
208
+ }
209
+ /**
210
+ * Gets or sets `bounds` of the page template.
211
+ * @public
212
+ */
213
+ public get bounds() : RectangleF {
214
+ return new RectangleF(new PointF(this.x, this.y), this.size);
215
+ }
216
+ public set bounds(value : RectangleF) {
217
+ if (this.type === TemplateType.None) {
218
+ this.location = new PointF(value.x, value.y);
219
+ this.size = new SizeF(value.width, value.height);
220
+ }
221
+ }
222
+
223
+ // constructor
224
+ /**
225
+ * Creates a new page template.
226
+ * @param bounds Bounds of the template.
227
+ */
228
+ public constructor(bounds : RectangleF)
229
+ /**
230
+ * Creates a new page template.
231
+ * @param bounds Bounds of the template.
232
+ * @param page Page of the template.
233
+ */
234
+ public constructor(bounds : RectangleF, page : PdfPage)
235
+ /**
236
+ * Creates a new page template.
237
+ * @param location Location of the template.
238
+ * @param size Size of the template.
239
+ */
240
+ public constructor(location : PointF, size : SizeF)
241
+ /**
242
+ * Creates a new page template.
243
+ * @param location Location of the template.
244
+ * @param size Size of the template.
245
+ * @param page Page of the template.
246
+ */
247
+ public constructor(location : PointF, size : SizeF, page : PdfPage)
248
+ /**
249
+ * Creates a new page template.
250
+ * @param size Size of the template.
251
+ */
252
+ public constructor(size : SizeF)
253
+ /**
254
+ * Creates a new page template.
255
+ * @param width Width of the template.
256
+ * @param height Height of the template.
257
+ */
258
+ public constructor(width : number, height : number)
259
+ /**
260
+ * Creates a new page template.
261
+ * @param width Width of the template.
262
+ * @param height Height of the template.
263
+ * @param page The Current Page object.
264
+ */
265
+ public constructor(width : number, height : number, page : PdfPage)
266
+ /**
267
+ * Creates a new page template.
268
+ * @param x X co-ordinate of the template.
269
+ * @param y Y co-ordinate of the template.
270
+ * @param width Width of the template.
271
+ * @param height Height of the template.
272
+ */
273
+ public constructor(x : number, y : number, width : number, height : number)
274
+ /**
275
+ * Creates a new page template.
276
+ * @param x X co-ordinate of the template.
277
+ * @param y Y co-ordinate of the template.
278
+ * @param width Width of the template.
279
+ * @param height Height of the template.
280
+ * @param page The Current Page object.
281
+ */
282
+ public constructor(x : number, y : number, width : number, height : number, page : PdfPage)
283
+ /* tslint:disable */
284
+ public constructor(arg1 : number|PointF|SizeF|RectangleF, arg2 ?: number|SizeF|PdfPage, arg3 ?: number|PdfPage, arg4 ?: number, arg5 ?: PdfPage) {
285
+ if (arg1 instanceof RectangleF && typeof arg2 === 'undefined') {
286
+ this.InitiateBounds(arg1.x, arg1.y, arg1.width, arg1.height, null);
287
+ } else if (arg1 instanceof RectangleF && arg2 instanceof PdfPage && typeof arg3 === 'undefined') {
288
+ this.InitiateBounds(arg1.x, arg1.y, arg1.width, arg1.height, arg2);
289
+ } else if (arg1 instanceof PointF && arg2 instanceof SizeF && typeof arg3 === 'undefined') {
290
+ this.InitiateBounds(arg1.x, arg1.y, arg2.width, arg2.height, null);
291
+ } else if (arg1 instanceof PointF && arg2 instanceof SizeF && arg3 instanceof PdfPage && typeof arg4 === 'undefined') {
292
+ this.InitiateBounds(arg1.x, arg1.y, arg2.width, arg2.height, arg3);
293
+ } else if (arg1 instanceof SizeF && typeof arg2 === 'undefined') {
294
+ this.InitiateBounds(0, 0, arg1.width, arg1.height , null);
295
+ } else if (typeof arg1 === 'number' && typeof arg2 === 'number' && typeof arg3 === 'undefined') {
296
+ this.InitiateBounds(0, 0, arg1, arg2, null);
297
+ } else if (typeof arg1 === 'number' && typeof arg2 === 'number' && arg3 instanceof PdfPage && typeof arg4 === 'undefined') {
298
+ this.InitiateBounds(0, 0, arg1, arg2, arg3);
299
+ } else if (typeof arg1 === 'number' && typeof arg2 === 'number' && typeof arg3 === 'number' && typeof arg4 === 'number' && typeof arg5 === 'undefined') {
300
+ this.InitiateBounds(arg1, arg2, arg3, arg4, null);
301
+ } else {
302
+ this.InitiateBounds(arg1 as number, arg2 as number, arg3 as number, arg4 as number, null);
303
+ // this.graphics.colorSpace = this.page.document.colorSpace;
304
+ }
305
+ /* tslint:enable */
306
+ }
307
+ /**
308
+ * `Initialize Bounds` Initialize the bounds value of the template.
309
+ * @private
310
+ */
311
+ private InitiateBounds(arg1 : number, arg2 : number, arg3 : number, arg4 : number , arg5 : PdfPage) : void {
312
+ this.x = arg1 as number;
313
+ this.y = arg2 as number;
314
+ this.pdfTemplate = new PdfTemplate(arg3 as number, arg4 as number);
315
+ // this.graphics.colorSpace = this.page.document.colorSpace;
316
+ }
317
+ /**
318
+ * `Updates Dock` property if template is used as header/footer.
319
+ * @private
320
+ */
321
+ private updateDocking(type : TemplateType) : void {
322
+ if (type !== TemplateType.None) {
323
+ switch (type) {
324
+ case TemplateType.Top:
325
+ this.dock = PdfDockStyle.Top;
326
+ break;
327
+ case TemplateType.Bottom:
328
+ this.dock = PdfDockStyle.Bottom;
329
+ break;
330
+ case TemplateType.Left:
331
+ this.dock = PdfDockStyle.Left;
332
+ break;
333
+ case TemplateType.Right:
334
+ this.dock = PdfDockStyle.Right;
335
+ break;
336
+ }
337
+ this.resetAlignment();
338
+ }
339
+ }
340
+ /**
341
+ * `Resets alignment` of the template.
342
+ * @private
343
+ */
344
+ private resetAlignment() : void {
345
+ this.alignment = PdfAlignmentStyle.None;
346
+ }
347
+ /**
348
+ * `Sets alignment` of the template.
349
+ * @private
350
+ */
351
+ private setAlignment(alignment : PdfAlignmentStyle) : void {
352
+ if (this.dock === PdfDockStyle.None) {
353
+ this.alignmentStyle = alignment;
354
+ } else {
355
+ // Template is docked and alignment has been changed.
356
+ let canBeSet : boolean = false;
357
+ switch (this.dock) {
358
+ case PdfDockStyle.Left:
359
+ canBeSet = (alignment === PdfAlignmentStyle.TopLeft || alignment === PdfAlignmentStyle.MiddleLeft ||
360
+ alignment === PdfAlignmentStyle.BottomLeft || alignment === PdfAlignmentStyle.None);
361
+ break;
362
+ case PdfDockStyle.Top:
363
+ canBeSet = (alignment === PdfAlignmentStyle.TopLeft || alignment === PdfAlignmentStyle.TopCenter ||
364
+ alignment === PdfAlignmentStyle.TopRight || alignment === PdfAlignmentStyle.None);
365
+ break;
366
+ case PdfDockStyle.Right:
367
+ canBeSet = (alignment === PdfAlignmentStyle.TopRight || alignment === PdfAlignmentStyle.MiddleRight ||
368
+ alignment === PdfAlignmentStyle.BottomRight || alignment === PdfAlignmentStyle.None);
369
+ break;
370
+ case PdfDockStyle.Bottom:
371
+ canBeSet = (alignment === PdfAlignmentStyle.BottomLeft || alignment === PdfAlignmentStyle.BottomCenter
372
+ || alignment === PdfAlignmentStyle.BottomRight || alignment === PdfAlignmentStyle.None);
373
+ break;
374
+ case PdfDockStyle.Fill:
375
+ canBeSet = (alignment === PdfAlignmentStyle.MiddleCenter || alignment === PdfAlignmentStyle.None);
376
+ break;
377
+ }
378
+ if (canBeSet) {
379
+ this.alignmentStyle = alignment;
380
+ }
381
+ }
382
+ }
383
+ /**
384
+ * Draws the template.
385
+ * @private
386
+ */
387
+ public draw(layer : PdfPageLayer, document : PdfDocument) : void {
388
+ let page : PdfPage = layer.page as PdfPage;
389
+ let bounds : RectangleF = this.calculateBounds(page, document);
390
+ layer.graphics.drawPdfTemplate(this.template, new PointF(bounds.x, bounds.y), new SizeF(bounds.width, bounds.height));
391
+ }
392
+ /**
393
+ * Calculates bounds of the page template.
394
+ * @private
395
+ */
396
+ private calculateBounds(page : PdfPage, document : PdfDocument) : RectangleF {
397
+ let result : RectangleF = this.bounds;
398
+ if (this.alignmentStyle !== PdfAlignmentStyle.None) {
399
+ result = this.getAlignmentBounds(page, document);
400
+ } else if (this.dockStyle !== PdfDockStyle.None) {
401
+ result = this.getDockBounds(page, document);
402
+ }
403
+ return result;
404
+ }
405
+ /**
406
+ * Calculates bounds according to the alignment.
407
+ * @private
408
+ */
409
+ private getAlignmentBounds(page : PdfPage, document : PdfDocument) : RectangleF {
410
+ let result : RectangleF = this.bounds;
411
+ if (this.type === TemplateType.None) {
412
+ result = this.getSimpleAlignmentBounds(page, document);
413
+ } else {
414
+ result = this.getTemplateAlignmentBounds(page, document);
415
+ }
416
+ return result;
417
+ }
418
+ /**
419
+ * Calculates bounds according to the alignment.
420
+ * @private
421
+ */
422
+ private getSimpleAlignmentBounds(page : PdfPage, document : PdfDocument) : RectangleF {
423
+ let bounds : RectangleF = this.bounds;
424
+ let pdfSection : PdfSection = page.section;
425
+ let actualBounds : RectangleF = pdfSection.getActualBounds(document, page, false);
426
+ let x : number = this.x as number;
427
+ let y : number = this.y as number;
428
+ switch (this.alignmentStyle) {
429
+ case PdfAlignmentStyle.TopLeft:
430
+ x = 0;
431
+ y = 0;
432
+ break;
433
+ case PdfAlignmentStyle.TopCenter:
434
+ x = (actualBounds.width - this.width) / 2;
435
+ y = 0;
436
+ break;
437
+ case PdfAlignmentStyle.TopRight:
438
+ x = actualBounds.width - this.width;
439
+ y = 0;
440
+ break;
441
+ case PdfAlignmentStyle.MiddleLeft:
442
+ x = 0;
443
+ y = (actualBounds.height - this.height) / 2;
444
+ break;
445
+ case PdfAlignmentStyle.MiddleCenter:
446
+ x = (actualBounds.width - this.width) / 2;
447
+ y = (actualBounds.height - this.height) / 2;
448
+ break;
449
+ case PdfAlignmentStyle.MiddleRight:
450
+ x = actualBounds.width - this.width;
451
+ y = (actualBounds.height - this.height) / 2;
452
+ break;
453
+ case PdfAlignmentStyle.BottomLeft:
454
+ x = 0;
455
+ y = actualBounds.height - this.height;
456
+ break;
457
+ case PdfAlignmentStyle.BottomCenter:
458
+ x = (actualBounds.width - this.width) / 2;
459
+ y = actualBounds.height - this.height;
460
+ break;
461
+ case PdfAlignmentStyle.BottomRight:
462
+ x = actualBounds.width - this.width;
463
+ y = actualBounds.height - this.height;
464
+ break;
465
+ }
466
+ bounds.x = x;
467
+ bounds.y = y;
468
+ return bounds;
469
+ }
470
+ /**
471
+ * Calculates bounds according to the alignment.
472
+ * @private
473
+ */
474
+ private getTemplateAlignmentBounds(page : PdfPage, document : PdfDocument) : RectangleF {
475
+ let result : RectangleF = this.bounds;
476
+ let section : PdfSection = page.section;
477
+ let actualBounds : RectangleF = section.getActualBounds(document, page, false);
478
+ let x : number = this.x;
479
+ let y : number = this.y;
480
+ switch (this.alignmentStyle) {
481
+ case PdfAlignmentStyle.TopLeft:
482
+ if (this.type === TemplateType.Left) {
483
+ x = this.convertSign(actualBounds.x);
484
+ y = 0;
485
+ } else if (this.type === TemplateType.Top) {
486
+ x = this.convertSign(actualBounds.x);
487
+ y = this.convertSign(actualBounds.y);
488
+ }
489
+ break;
490
+ case PdfAlignmentStyle.TopCenter:
491
+ x = (actualBounds.width - this.width) / 2;
492
+ y = this.convertSign(actualBounds.y);
493
+ break;
494
+ case PdfAlignmentStyle.TopRight:
495
+ if (this.type === TemplateType.Right) {
496
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
497
+ y = 0;
498
+ } else if (this.type === TemplateType.Top) {
499
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
500
+ y = this.convertSign(actualBounds.y);
501
+ }
502
+ break;
503
+ case PdfAlignmentStyle.MiddleLeft:
504
+ x = this.convertSign(actualBounds.x);
505
+ y = (actualBounds.height - this.height) / 2;
506
+ break;
507
+ case PdfAlignmentStyle.MiddleCenter:
508
+ x = (actualBounds.width - this.width) / 2;
509
+ y = (actualBounds.height - this.height) / 2;
510
+ break;
511
+ case PdfAlignmentStyle.MiddleRight:
512
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
513
+ y = (actualBounds.height - this.height) / 2;
514
+ break;
515
+ case PdfAlignmentStyle.BottomLeft:
516
+ if (this.type === TemplateType.Left) {
517
+ x = this.convertSign(actualBounds.x);
518
+ y = actualBounds.height - this.height;
519
+ } else if (this.type === TemplateType.Bottom) {
520
+ x = this.convertSign(actualBounds.x);
521
+ y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;
522
+ }
523
+ break;
524
+ case PdfAlignmentStyle.BottomCenter:
525
+ x = (actualBounds.width - this.width) / 2;
526
+ y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;
527
+ break;
528
+ case PdfAlignmentStyle.BottomRight:
529
+ if (this.type === TemplateType.Right) {
530
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
531
+ y = actualBounds.height - this.height;
532
+ } else if (this.type === TemplateType.Bottom) {
533
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
534
+ y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;
535
+ }
536
+ break;
537
+ }
538
+ result.x = x;
539
+ result.y = y;
540
+ return result;
541
+ }
542
+ /**
543
+ * Calculates bounds according to the docking.
544
+ * @private
545
+ */
546
+ private getDockBounds(page : PdfPage, document : PdfDocument) : RectangleF {
547
+ let result : RectangleF = this.bounds;
548
+ if (this.type === TemplateType.None) {
549
+ result = this.getSimpleDockBounds(page, document);
550
+ } else {
551
+ result = this.getTemplateDockBounds(page, document);
552
+ }
553
+ return result;
554
+ }
555
+ /**
556
+ * Calculates bounds according to the docking.
557
+ * @private
558
+ */
559
+ private getSimpleDockBounds(page : PdfPage, document : PdfDocument) : RectangleF {
560
+ let result : RectangleF = this.bounds;
561
+ let section : PdfSection = page.section;
562
+ let actualBounds : RectangleF = section.getActualBounds(document, page, false);
563
+ let x : number = this.x;
564
+ let y : number = this.y;
565
+ let width : number = this.width;
566
+ let height : number = this.height;
567
+ switch (this.dockStyle) {
568
+ case PdfDockStyle.Left:
569
+ x = 0;
570
+ y = 0;
571
+ width = this.width;
572
+ height = actualBounds.height;
573
+ break;
574
+ case PdfDockStyle.Top:
575
+ x = 0;
576
+ y = 0;
577
+ width = actualBounds.width;
578
+ height = this.height;
579
+ break;
580
+ case PdfDockStyle.Right:
581
+ x = actualBounds.width - this.width;
582
+ y = 0;
583
+ width = this.width;
584
+ height = actualBounds.height;
585
+ break;
586
+ case PdfDockStyle.Bottom:
587
+ x = 0;
588
+ y = actualBounds.height - this.height;
589
+ width = actualBounds.width;
590
+ height = this.height;
591
+ break;
592
+ case PdfDockStyle.Fill:
593
+ x = 0;
594
+ x = 0;
595
+ width = actualBounds.width;
596
+ height = actualBounds.height;
597
+ break;
598
+ }
599
+ result = new RectangleF(x, y, width, height);
600
+ return result;
601
+ }
602
+ /**
603
+ * Calculates template bounds basing on docking if template is a page template.
604
+ * @private
605
+ */
606
+ private getTemplateDockBounds(page : PdfPage, document : PdfDocument) : RectangleF {
607
+ let result : RectangleF = this.bounds;
608
+ let section : PdfSection = page.section;
609
+ let actualBounds : RectangleF = section.getActualBounds(document, page, false);
610
+ let actualSize : SizeF = section.pageSettings.getActualSize();
611
+ let x : number = this.x;
612
+ let y : number = this.y;
613
+ let width : number = this.width;
614
+ let height : number = this.height;
615
+ switch (this.dockStyle) {
616
+ case PdfDockStyle.Left:
617
+ x = this.convertSign(actualBounds.x);
618
+ y = 0;
619
+ width = this.width;
620
+ height = actualBounds.height;
621
+ break;
622
+ case PdfDockStyle.Top:
623
+ x = this.convertSign(actualBounds.x);
624
+ y = this.convertSign(actualBounds.y);
625
+ width = actualSize.width;
626
+ height = this.height;
627
+ if (actualBounds.height < 0) {
628
+ y = actualSize.height - actualBounds.y;
629
+ }
630
+ break;
631
+ case PdfDockStyle.Right:
632
+ x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;
633
+ y = 0;
634
+ width = this.width;
635
+ height = actualBounds.height;
636
+ break;
637
+ case PdfDockStyle.Bottom:
638
+ x = this.convertSign(actualBounds.x);
639
+ y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;
640
+ width = actualSize.width;
641
+ height = this.height;
642
+ if (actualBounds.height < 0) {
643
+ y -= actualSize.height;
644
+ }
645
+ break;
646
+ case PdfDockStyle.Fill:
647
+ x = 0;
648
+ x = 0;
649
+ width = actualBounds.width;
650
+ height = actualBounds.height;
651
+ break;
652
+ }
653
+ result = new RectangleF(x, y, width, height);
654
+ return result;
655
+ }
656
+ /**
657
+ * Ignore value zero, otherwise convert sign.
658
+ * @private
659
+ */
660
+ private convertSign(value : number) : number {
661
+ return (value !== 0 || (value === 0 && 1 / value === -Infinity)) ? -value : value;
662
+ }
663
+ }