@syncfusion/ej2-pdf-export 25.2.3 → 26.2.4

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,474 @@
1
+ /**
2
+ * PdfStringFormat.ts class for EJ2-PDF
3
+ */
4
+ import { PdfTextAlignment, PdfVerticalAlignment, PdfTextDirection } from './../../graphics/enum';
5
+ import { PdfSubSuperScript, PdfWordWrapType } from './../../graphics/fonts/enum';
6
+ /**
7
+ * `PdfStringFormat` class represents the text layout information on PDF.
8
+ * ```typescript
9
+ * // create a new PDF document
10
+ * let document : PdfDocument = new PdfDocument();
11
+ * // add a pages to the document
12
+ * let page1 : PdfPage = document.pages.add();
13
+ * // set font
14
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
15
+ * // set brush
16
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
17
+ * //
18
+ * // set the format for string
19
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
20
+ * // set the text alignment
21
+ * stringFormat.alignment = PdfTextAlignment.Center;
22
+ * // set the vertical alignment
23
+ * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;
24
+ * //
25
+ * // draw the text
26
+ * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
27
+ * // save the document
28
+ * document.save('output.pdf');
29
+ * // destroy the document
30
+ * document.destroy();
31
+ * ```
32
+ */
33
+ export class PdfStringFormat {
34
+ // Fields
35
+ /**
36
+ * `Horizontal text alignment`.
37
+ * @private
38
+ */
39
+ private textAlignment : PdfTextAlignment;
40
+ /**
41
+ * `Vertical text alignment`.
42
+ * @private
43
+ */
44
+ private verticalAlignment : PdfVerticalAlignment;
45
+ /**
46
+ * Indicates whether `RTL` should be checked.
47
+ * @private
48
+ */
49
+ private isRightToLeft : boolean;
50
+ /**
51
+ * `Character spacing` value.
52
+ * @private
53
+ */
54
+ private internalCharacterSpacing : number;
55
+ /**
56
+ * `Word spacing` value.
57
+ * @private
58
+ */
59
+ private internalWordSpacing : number;
60
+ /**
61
+ * Text `leading`.
62
+ * @private
63
+ */
64
+ private leading : number;
65
+ /**
66
+ * Shows if the text should be a part of the current `clipping` path.
67
+ * @private
68
+ */
69
+ private clip : boolean;
70
+ /**
71
+ * Indicates whether the text is in `subscript or superscript` mode.
72
+ * @private
73
+ */
74
+ private pdfSubSuperScript : PdfSubSuperScript;
75
+ /**
76
+ * The `scaling factor` of the text being drawn.
77
+ * @private
78
+ */
79
+ private scalingFactor : number = 100.0;
80
+ /**
81
+ * Indent of the `first line` in the text.
82
+ * @private
83
+ */
84
+ private initialLineIndent : number;
85
+ /**
86
+ * Indent of the `first line` in the paragraph.
87
+ * @private
88
+ */
89
+ private internalParagraphIndent : number;
90
+ /**
91
+ * Indicates whether entire lines are laid out in the formatting rectangle only or not[`line limit`].
92
+ * @private
93
+ */
94
+ private internalLineLimit : boolean;
95
+ /**
96
+ * Indicates whether spaces at the end of the line should be left or removed[`measure trailing spaces`].
97
+ * @private
98
+ */
99
+ private trailingSpaces : boolean;
100
+ /**
101
+ * Indicates whether the text region should be `clipped` or not.
102
+ * @private
103
+ */
104
+ private isNoClip : boolean;
105
+ /**
106
+ * Indicates text `wrapping` type.
107
+ * @private
108
+ */
109
+ public wordWrapType : PdfWordWrapType = PdfWordWrapType.Word;
110
+ private direction : PdfTextDirection ;
111
+ //Constructors
112
+ /**
113
+ * Initializes a new instance of the `PdfStringFormat` class.
114
+ * @private
115
+ */
116
+ public constructor()
117
+ /**
118
+ * Initializes a new instance of the `PdfStringFormat` class with horizontal alignment of a text.
119
+ * @private
120
+ */
121
+ public constructor(alignment : PdfTextAlignment)
122
+ /**
123
+ * Initializes a new instance of the `PdfStringFormat` class with column format.
124
+ * @private
125
+ */
126
+ public constructor(columnFormat : string)
127
+ /**
128
+ * Initializes a new instance of the `PdfStringFormat` class with horizontal and vertical alignment.
129
+ * @private
130
+ */
131
+ public constructor(alignment : PdfTextAlignment, lineAlignment : PdfVerticalAlignment)
132
+ public constructor(arg1? : PdfTextAlignment|string, arg2? : PdfVerticalAlignment) {
133
+ this.internalLineLimit = true;
134
+ this.wordWrapType = PdfWordWrapType.Word;
135
+ if ((typeof arg1 !== 'undefined') && (typeof arg1 !== 'string') ) {
136
+ this.textAlignment = arg1;
137
+ }
138
+ if (typeof arg2 !== 'undefined') {
139
+ this.verticalAlignment = arg2;
140
+ }
141
+ }
142
+ //Properties
143
+ /**
144
+ * Gets or sets the `horizontal` text alignment
145
+ * ```typescript
146
+ * // create a new PDF document
147
+ * let document : PdfDocument = new PdfDocument();
148
+ * // add a pages to the document
149
+ * let page1 : PdfPage = document.pages.add();
150
+ * // set font
151
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
152
+ * // set brush
153
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
154
+ * //
155
+ * // set the format for string
156
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
157
+ * // set the text alignment
158
+ * stringFormat.alignment = PdfTextAlignment.Center;
159
+ * //
160
+ * // draw the text
161
+ * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
162
+ * // save the document
163
+ * document.save('output.pdf');
164
+ * // destroy the document
165
+ * document.destroy();
166
+ * ```
167
+ */
168
+ public get alignment() : PdfTextAlignment {
169
+ return this.textAlignment;
170
+ }
171
+ public set alignment(value : PdfTextAlignment) {
172
+ this.textAlignment = value;
173
+ }
174
+ public get textDirection() : PdfTextDirection {
175
+ return this.direction;
176
+ }
177
+ public set textDirection(value : PdfTextDirection) {
178
+ this.direction = value;
179
+ }
180
+ /**
181
+ * Gets or sets the `vertical` text alignment.
182
+ * ```typescript
183
+ * // create a new PDF document
184
+ * let document : PdfDocument = new PdfDocument();
185
+ * // add a pages to the document
186
+ * let page1 : PdfPage = document.pages.add();
187
+ * // set font
188
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
189
+ * // set brush
190
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
191
+ * //
192
+ * // set the format for string
193
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
194
+ * // set the vertical alignment
195
+ * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;
196
+ * //
197
+ * // draw the text
198
+ * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
199
+ * // save the document
200
+ * document.save('output.pdf');
201
+ * // destroy the document
202
+ * document.destroy();
203
+ * ```
204
+ */
205
+ public get lineAlignment() : PdfVerticalAlignment {
206
+ if (typeof this.verticalAlignment === 'undefined' || this.verticalAlignment == null) {
207
+ return PdfVerticalAlignment.Top;
208
+ } else {
209
+ return this.verticalAlignment;
210
+ }
211
+ }
212
+ public set lineAlignment(value : PdfVerticalAlignment) {
213
+ this.verticalAlignment = value;
214
+ }
215
+ /**
216
+ * Gets or sets the value that indicates text `direction` mode.
217
+ * @private
218
+ */
219
+ public get rightToLeft() : boolean {
220
+ if (typeof this.isRightToLeft === 'undefined' || this.isRightToLeft == null) {
221
+ return false;
222
+ } else {
223
+ return this.isRightToLeft;
224
+ }
225
+ }
226
+ public set rightToLeft(value : boolean) {
227
+ this.isRightToLeft = value;
228
+ }
229
+ /**
230
+ * Gets or sets value that indicates a `size` among the characters in the text.
231
+ * ```typescript
232
+ * // create a new PDF document
233
+ * let document : PdfDocument = new PdfDocument();
234
+ * // add a pages to the document
235
+ * let page1 : PdfPage = document.pages.add();
236
+ * // set font
237
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
238
+ * // set brush
239
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
240
+ * //
241
+ * // set the format for string
242
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
243
+ * // set character spacing
244
+ * stringFormat.characterSpacing = 10;
245
+ * //
246
+ * // draw the text
247
+ * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
248
+ * // save the document
249
+ * document.save('output.pdf');
250
+ * // destroy the document
251
+ * document.destroy();
252
+ * ```
253
+ */
254
+ public get characterSpacing() : number {
255
+ if (typeof this.internalCharacterSpacing === 'undefined' || this.internalCharacterSpacing == null) {
256
+ return 0;
257
+ } else {
258
+ return this.internalCharacterSpacing;
259
+ }
260
+ }
261
+ public set characterSpacing(value : number) {
262
+ this.internalCharacterSpacing = value;
263
+ }
264
+ /**
265
+ * Gets or sets value that indicates a `size` among the words in the text.
266
+ * ```typescript
267
+ * // create a new PDF document
268
+ * let document : PdfDocument = new PdfDocument();
269
+ * // add a pages to the document
270
+ * let page1 : PdfPage = document.pages.add();
271
+ * // set font
272
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
273
+ * // set brush
274
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
275
+ * //
276
+ * // set the format for string
277
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
278
+ * // set word spacing
279
+ * stringFormat.wordSpacing = 10;
280
+ * //
281
+ * // draw the text
282
+ * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
283
+ * // save the document
284
+ * document.save('output.pdf');
285
+ * // destroy the document
286
+ * document.destroy();
287
+ * ```
288
+ */
289
+ public get wordSpacing() : number {
290
+ if (typeof this.internalWordSpacing === 'undefined' || this.internalWordSpacing == null) {
291
+ return 0;
292
+ } else {
293
+ return this.internalWordSpacing;
294
+ }
295
+ }
296
+ public set wordSpacing(value : number) {
297
+ this.internalWordSpacing = value;
298
+ }
299
+ /**
300
+ * Gets or sets value that indicates the `vertical distance` between the baselines of adjacent lines of text.
301
+ * ```typescript
302
+ * // create a new PDF document
303
+ * let document : PdfDocument = new PdfDocument();
304
+ * // add a pages to the document
305
+ * let page1 : PdfPage = document.pages.add();
306
+ * // set font
307
+ * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
308
+ * // set brush
309
+ * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
310
+ * // set string
311
+ * let text : string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
312
+ * incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitati';
313
+ * // set rectangle bounds
314
+ * let rectangle : RectangleF = new RectangleF({x : 0, y : 0}, {width : 300, height : 100})
315
+ * //
316
+ * // set the format for string
317
+ * let stringFormat : PdfStringFormat = new PdfStringFormat();
318
+ * // set line spacing
319
+ * stringFormat.lineSpacing = 10;
320
+ * //
321
+ * // draw the text
322
+ * page1.graphics.drawString(text, font, blackBrush, rectangle, stringFormat);
323
+ * // save the document
324
+ * document.save('output.pdf');
325
+ * // destroy the document
326
+ * document.destroy();
327
+ * ```
328
+ */
329
+ public get lineSpacing() : number {
330
+ if (typeof this.leading === 'undefined' || this.leading == null) {
331
+ return 0;
332
+ } else {
333
+ return this.leading;
334
+ }
335
+ }
336
+ public set lineSpacing(value : number) {
337
+ this.leading = value;
338
+ }
339
+ /**
340
+ * Gets or sets a value indicating whether the text is `clipped` or not.
341
+ * @private
342
+ */
343
+ public get clipPath() : boolean {
344
+ if (typeof this.clip === 'undefined' || this.clip == null) {
345
+ return false;
346
+ } else {
347
+ return this.clip;
348
+ }
349
+ }
350
+ public set clipPath(value : boolean) {
351
+ this.clip = value;
352
+ }
353
+ /**
354
+ * Gets or sets value indicating whether the text is in `subscript or superscript` mode.
355
+ * @private
356
+ */
357
+ public get subSuperScript() : PdfSubSuperScript {
358
+ if (typeof this.pdfSubSuperScript === 'undefined' || this.pdfSubSuperScript == null) {
359
+ return PdfSubSuperScript.None;
360
+ } else {
361
+ return this.pdfSubSuperScript;
362
+ }
363
+ }
364
+ public set subSuperScript(value : PdfSubSuperScript) {
365
+ this.pdfSubSuperScript = value;
366
+ }
367
+ /**
368
+ * Gets or sets the `indent` of the first line in the paragraph.
369
+ * @private
370
+ */
371
+ public get paragraphIndent() : number {
372
+ if (typeof this.internalParagraphIndent === 'undefined' || this.internalParagraphIndent == null) {
373
+ return 0;
374
+ } else {
375
+ return this.internalParagraphIndent;
376
+ }
377
+ }
378
+ public set paragraphIndent(value : number) {
379
+ this.internalParagraphIndent = value;
380
+ this.firstLineIndent = value;
381
+ }
382
+ /**
383
+ * Gets or sets a value indicating whether [`line limit`].
384
+ * @private
385
+ */
386
+ public get lineLimit() : boolean {
387
+ return this.internalLineLimit;
388
+ }
389
+ public set lineLimit(value : boolean) {
390
+ this.internalLineLimit = value;
391
+ }
392
+ /**
393
+ * Gets or sets a value indicating whether [`measure trailing spaces`].
394
+ * @private
395
+ */
396
+ public get measureTrailingSpaces() : boolean {
397
+ if (typeof this.trailingSpaces === 'undefined' || this.trailingSpaces == null) {
398
+ return false;
399
+ } else {
400
+ return this.trailingSpaces;
401
+ }
402
+ }
403
+ public set measureTrailingSpaces(value : boolean) {
404
+ this.trailingSpaces = value;
405
+ }
406
+ /**
407
+ * Gets or sets a value indicating whether [`no clip`].
408
+ * @private
409
+ */
410
+ public get noClip() : boolean {
411
+ if (typeof this.isNoClip === 'undefined' || this.isNoClip == null) {
412
+ return false;
413
+ } else {
414
+ return this.isNoClip;
415
+ }
416
+ }
417
+ public set noClip(value : boolean) {
418
+ this.isNoClip = value;
419
+ }
420
+ /**
421
+ * Gets or sets value indicating type of the text `wrapping`.
422
+ * @private
423
+ */
424
+ public get wordWrap() : PdfWordWrapType {
425
+ // if (typeof this.wrapType === 'undefined' || this.wrapType == null) {
426
+ // return PdfWordWrapType.Word;
427
+ // } else {
428
+ return this.wordWrapType;
429
+ // }
430
+ }
431
+ public set wordWrap(value : PdfWordWrapType) {
432
+ this.wordWrapType = value;
433
+ }
434
+ /**
435
+ * Gets or sets the `scaling factor`.
436
+ * @private
437
+ */
438
+ public get horizontalScalingFactor() : number {
439
+ // if (typeof this.scalingFactor === 'undefined' || this.scalingFactor == null) {
440
+ // return 100;
441
+ // } else {
442
+ return this.scalingFactor;
443
+ // }
444
+ }
445
+ public set horizontalScalingFactor(value : number) {
446
+ if (value <= 0) {
447
+ throw new Error('ArgumentOutOfRangeException:The scaling factor cant be less of equal to zero, ScalingFactor');
448
+ }
449
+ this.scalingFactor = value;
450
+ }
451
+ /**
452
+ * Gets or sets the `indent` of the first line in the text.
453
+ * @private
454
+ */
455
+ public get firstLineIndent() : number {
456
+ if (typeof this.initialLineIndent === 'undefined' || this.initialLineIndent == null) {
457
+ return 0;
458
+ } else {
459
+ return this.initialLineIndent;
460
+ }
461
+ }
462
+ public set firstLineIndent(value : number) {
463
+ this.initialLineIndent = value;
464
+ }
465
+ /**
466
+ * `Clones` the object.
467
+ * @private
468
+ */
469
+ //IClonable implementation
470
+ public clone() : Object {
471
+ let format : PdfStringFormat = this;
472
+ return format;
473
+ }
474
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * PdfTrueTypeFont.ts class for EJ2-PDF
3
+ */
4
+ import { UnicodeTrueTypeFont } from './unicode-true-type-font';
5
+ import { PdfFont } from './pdf-font';
6
+ import { PdfStringFormat } from './pdf-string-format';
7
+ import { PdfFontStyle } from './enum';
8
+ export declare class PdfTrueTypeFont extends PdfFont {
9
+ /**
10
+ * Internal font object.
11
+ * @private
12
+ */
13
+ fontInternal: UnicodeTrueTypeFont;
14
+ /**
15
+ * Indicates whether the font is embedded or not.
16
+ * @private
17
+ */
18
+ isEmbedFont: boolean;
19
+ /**
20
+ * Indicates whether the font is unicoded or not.
21
+ * @private
22
+ */
23
+ isUnicode: boolean;
24
+ /**
25
+ * Initializes a new instance of the `PdfTrueTypeFont` class.
26
+ * @private
27
+ */
28
+ constructor(base64String: string, size: number);
29
+ constructor(base64String: string, size: number, style: PdfFontStyle);
30
+ protected equalsToFont(font: PdfFont): boolean;
31
+ getLineWidth(line: string, format: PdfStringFormat): number;
32
+ /**
33
+ * Returns width of the char.
34
+ */
35
+ getCharWidth(charCode: string, format: PdfStringFormat): number;
36
+ createFontInternal(base64String: string, style: PdfFontStyle): void;
37
+ private calculateStyle;
38
+ private initializeInternals;
39
+ /**
40
+ * Stores used symbols.
41
+ */
42
+ setSymbols(text: string): void;
43
+ /**
44
+ * Property
45
+ *
46
+ */
47
+ readonly Unicode: boolean;
48
+ private getUnicodeLineWidth;
49
+ }
@@ -0,0 +1,165 @@
1
+ /**
2
+ * PdfTrueTypeFont.ts class for EJ2-PDF
3
+ */
4
+ import { UnicodeTrueTypeFont } from './unicode-true-type-font';
5
+ import { PdfFont } from './pdf-font';
6
+ import { PdfStringFormat } from './pdf-string-format';
7
+ import { PdfFontStyle } from './enum';
8
+ import { IPdfCache } from './../../../interfaces/i-pdf-cache';
9
+ import { PdfDocument } from './../../document/pdf-document';
10
+ import { IPdfPrimitive } from './../../../interfaces/i-pdf-primitives';
11
+ import { PdfFontMetrics } from './pdf-font-metrics';
12
+ import { PdfTextDirection } from './../enum';
13
+ import { RtlRenderer} from './rtl-renderer';
14
+ import { TtfReader } from './ttf-reader';
15
+ import { TtfGlyphInfo } from './ttf-glyph-info';
16
+ //https://www.giftofspeed.com/base64-encoder/
17
+ export class PdfTrueTypeFont extends PdfFont {
18
+ // Fields
19
+ /**
20
+ * Internal font object.
21
+ * @private
22
+ */
23
+ public fontInternal : UnicodeTrueTypeFont;
24
+ /**
25
+ * Indicates whether the font is embedded or not.
26
+ * @private
27
+ */
28
+ public isEmbedFont : boolean = false;
29
+ /**
30
+ * Indicates whether the font is unicoded or not.
31
+ * @private
32
+ */
33
+ public isUnicode : boolean = true;
34
+ //Constructors
35
+ /**
36
+ * Initializes a new instance of the `PdfTrueTypeFont` class.
37
+ * @private
38
+ */
39
+ public constructor(base64String : string, size : number)
40
+ public constructor(base64String : string, size : number, style : PdfFontStyle)
41
+ public constructor(base64String : string, size : number, style ?: PdfFontStyle) {
42
+ super(size);
43
+ if (style !== undefined) {
44
+ this.createFontInternal(base64String, style);
45
+ } else {
46
+ this.createFontInternal(base64String, PdfFontStyle.Regular);
47
+ }
48
+ }
49
+ protected equalsToFont(font : PdfFont) : boolean {
50
+ let result : boolean = false;
51
+ //let result : boolean = this.fontInternal.equalsToFont(font);
52
+ return result;
53
+ }
54
+ public getLineWidth(line : string, format : PdfStringFormat) : number {
55
+ let width : number = 0;
56
+ if (format !== null && typeof format !== 'undefined' && format.textDirection !== PdfTextDirection.None) {
57
+ let returnValue : {success : boolean , width : number } = this.getUnicodeLineWidth(line, /*out*/ width, format);
58
+ width = returnValue.width;
59
+ } else {
60
+ width = this.fontInternal.getLineWidth(line);
61
+ }
62
+ let size : number = this.metrics.getSize(format);
63
+ width *= (PdfFont.charSizeMultiplier * size);
64
+ width = this.applyFormatSettings(line, format, width);
65
+ return width;
66
+ }
67
+ /**
68
+ * Returns width of the char.
69
+ */
70
+ public getCharWidth(charCode : string, format : PdfStringFormat) : number {
71
+ let codeWidth : number = this.fontInternal.getCharWidth(charCode);
72
+ let size : number = this.metrics.getSize(format);
73
+ codeWidth *= (0.001 * size);
74
+
75
+ return codeWidth;
76
+ }
77
+ //Implementation
78
+ public createFontInternal(base64String : string, style : PdfFontStyle) : void {
79
+ this.fontInternal = new UnicodeTrueTypeFont(base64String, this.size);
80
+ this.calculateStyle(style);
81
+ this.initializeInternals();
82
+ }
83
+ private calculateStyle(style : PdfFontStyle) : void {
84
+ let iStyle : number = this.fontInternal.ttfMetrics.macStyle;
85
+ if ((style & PdfFontStyle.Underline) !== 0) {
86
+ iStyle |= PdfFontStyle.Underline;
87
+ }
88
+ if ((style & PdfFontStyle.Strikeout) !== 0) {
89
+ iStyle |= PdfFontStyle.Strikeout;
90
+ }
91
+ this.setStyle(iStyle);
92
+ }
93
+ private initializeInternals() : void {
94
+ let equalFont : IPdfCache = null;
95
+ if (PdfDocument.enableCache) {
96
+ // Search for the similar fonts.
97
+ equalFont = PdfDocument.cache.search(this);
98
+ }
99
+ let internals : IPdfPrimitive = null;
100
+ // There is not equal font in the cache.
101
+ if (equalFont !== null && equalFont !== undefined) {
102
+ // Get the settings from the cached font.
103
+ internals = (equalFont as IPdfCache).getInternals();
104
+ let metrics : PdfFontMetrics = (equalFont as PdfFont).metrics;
105
+ metrics = (metrics as PdfFontMetrics).clone();
106
+ metrics.size = this.size;
107
+ this.metrics = metrics;
108
+ this.fontInternal = (equalFont as PdfTrueTypeFont).fontInternal;
109
+ } else {
110
+ if (equalFont == null) {
111
+ if (this.fontInternal instanceof UnicodeTrueTypeFont) {
112
+ (this.fontInternal as UnicodeTrueTypeFont).isEmbed = this.isEmbedFont;
113
+ }
114
+ this.fontInternal.createInternals();
115
+ internals = this.fontInternal.getInternals();
116
+ this.metrics = this.fontInternal.metrics;
117
+ }
118
+ }
119
+ this.metrics.isUnicodeFont = true;
120
+ this.setInternals(internals);
121
+ //this.ttfReader = (this.fontInternal as UnicodeTrueTypeFont).ttfReader;
122
+ }
123
+ /**
124
+ * Stores used symbols.
125
+ */
126
+ public setSymbols(text : string) : void {
127
+ let internalFont : UnicodeTrueTypeFont = this.fontInternal as UnicodeTrueTypeFont;
128
+ if (internalFont != null) {
129
+ internalFont.setSymbols(text);
130
+ }
131
+ }
132
+ /**
133
+ * Property
134
+ *
135
+ */
136
+ public get Unicode() : boolean {
137
+ return this.isUnicode;
138
+ }
139
+ // public get Font() : UnicodeTrueTypeFont {
140
+ // return this.fontInternal as UnicodeTrueTypeFont;
141
+ // }
142
+ private getUnicodeLineWidth(line : string, /*out*/ width : number , format : PdfStringFormat) : { success : boolean, width : number } {
143
+ // if (line == null) {
144
+ // throw new Error('ArgumentNullException : line');
145
+ // }
146
+ width = 0;
147
+ let glyphIndices : Uint16Array = null;
148
+ let rtlRender : RtlRenderer = new RtlRenderer();
149
+ /* tslint:disable-next-line:max-line-length */
150
+ let result : { success : boolean, glyphs : Uint16Array } = rtlRender.getGlyphIndex(line, this, (format.textDirection === PdfTextDirection.RightToLeft) ? true : false, /*out*/ glyphIndices, true);
151
+ let resultGlyph : boolean = result.success;
152
+ glyphIndices = result.glyphs;
153
+ if (resultGlyph && glyphIndices !== null) {
154
+ let ttfReader : TtfReader = (this.fontInternal as UnicodeTrueTypeFont).ttfReader;
155
+ for (let i : number = 0, len : number = glyphIndices.length; i < len; i++) {
156
+ let glyphIndex : number = glyphIndices[i];
157
+ let glyph : TtfGlyphInfo = ttfReader.getGlyph(glyphIndex);
158
+ if (glyph !== null && typeof glyph !== 'undefined') {
159
+ width += glyph.width;
160
+ }
161
+ }
162
+ }
163
+ return { success : resultGlyph, width : width };
164
+ }
165
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Figures Base classes
3
+ * @hidden
4
+ */
5
+ export * from './rtl-text-shape';
6
+ export * from './rtl-bidirectional';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Figures Base classes
3
+ * @hidden
4
+ */
5
+ export * from './rtl-text-shape';
6
+ export * from './rtl-bidirectional';