@syncfusion/ej2-pdf-export 31.1.17 → 31.2.12

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 (364) hide show
  1. package/dist/ej2-pdf-export.min.js +3 -3
  2. package/dist/ej2-pdf-export.umd.min.js +3 -3
  3. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pdf-export.es2015.js +142 -23
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +148 -21
  7. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  8. package/dist/global/ej2-pdf-export.min.js +3 -3
  9. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  10. package/dist/global/index.d.ts +2 -2
  11. package/package.json +8 -45
  12. package/src/implementation/input-output/pdf-cross-table.js +2 -1
  13. package/src/implementation/input-output/pdf-writer.d.ts +77 -14
  14. package/src/implementation/input-output/pdf-writer.js +146 -20
  15. package/dist/ts/implementation/actions/action.d.ts +0 -50
  16. package/dist/ts/implementation/actions/action.ts +0 -76
  17. package/dist/ts/implementation/actions/index.d.ts +0 -6
  18. package/dist/ts/implementation/actions/index.ts +0 -6
  19. package/dist/ts/implementation/actions/uri-action.d.ts +0 -33
  20. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  21. package/dist/ts/implementation/annotations/action-link-annotation.d.ts +0 -30
  22. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  23. package/dist/ts/implementation/annotations/annotation-collection.d.ts +0 -77
  24. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  25. package/dist/ts/implementation/annotations/annotation.d.ts +0 -152
  26. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  27. package/dist/ts/implementation/annotations/document-link-annotation.d.ts +0 -89
  28. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  29. package/dist/ts/implementation/annotations/index.d.ts +0 -11
  30. package/dist/ts/implementation/annotations/index.ts +0 -11
  31. package/dist/ts/implementation/annotations/link-annotation.d.ts +0 -23
  32. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  33. package/dist/ts/implementation/annotations/pdf-text-web-link.d.ts +0 -118
  34. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -268
  35. package/dist/ts/implementation/annotations/uri-annotation.d.ts +0 -48
  36. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  37. package/dist/ts/implementation/collections/dictionary.d.ts +0 -76
  38. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  39. package/dist/ts/implementation/collections/index.d.ts +0 -7
  40. package/dist/ts/implementation/collections/index.ts +0 -7
  41. package/dist/ts/implementation/collections/object-object-pair/dictionary.d.ts +0 -62
  42. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  43. package/dist/ts/implementation/collections/object-object-pair/index.d.ts +0 -5
  44. package/dist/ts/implementation/collections/object-object-pair/index.ts +0 -5
  45. package/dist/ts/implementation/collections/utils.d.ts +0 -27
  46. package/dist/ts/implementation/collections/utils.ts +0 -38
  47. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +0 -31
  48. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  49. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.d.ts +0 -67
  50. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  51. package/dist/ts/implementation/document/automatic-fields/automatic-field.d.ts +0 -41
  52. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  53. package/dist/ts/implementation/document/automatic-fields/composite-field.d.ts +0 -46
  54. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  55. package/dist/ts/implementation/document/automatic-fields/index.d.ts +0 -11
  56. package/dist/ts/implementation/document/automatic-fields/index.ts +0 -11
  57. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.d.ts +0 -18
  58. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  59. package/dist/ts/implementation/document/automatic-fields/page-count-field.d.ts +0 -44
  60. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  61. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +0 -53
  62. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  63. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.d.ts +0 -51
  64. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  65. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +0 -38
  66. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  67. package/dist/ts/implementation/document/automatic-fields/single-value-field.d.ts +0 -15
  68. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  69. package/dist/ts/implementation/document/index.d.ts +0 -16
  70. package/dist/ts/implementation/document/index.ts +0 -16
  71. package/dist/ts/implementation/document/pdf-catalog.d.ts +0 -39
  72. package/dist/ts/implementation/document/pdf-catalog.ts +0 -65
  73. package/dist/ts/implementation/document/pdf-document-base.d.ts +0 -137
  74. package/dist/ts/implementation/document/pdf-document-base.ts +0 -187
  75. package/dist/ts/implementation/document/pdf-document-template.d.ts +0 -166
  76. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  77. package/dist/ts/implementation/document/pdf-document.d.ts +0 -227
  78. package/dist/ts/implementation/document/pdf-document.ts +0 -361
  79. package/dist/ts/implementation/document/pdf-viewer-preferences.d.ts +0 -467
  80. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +0 -578
  81. package/dist/ts/implementation/drawing/index.d.ts +0 -5
  82. package/dist/ts/implementation/drawing/index.ts +0 -5
  83. package/dist/ts/implementation/drawing/pdf-drawing.d.ts +0 -141
  84. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  85. package/dist/ts/implementation/general/enum.d.ts +0 -21
  86. package/dist/ts/implementation/general/enum.ts +0 -21
  87. package/dist/ts/implementation/general/functions/index.d.ts +0 -6
  88. package/dist/ts/implementation/general/functions/index.ts +0 -6
  89. package/dist/ts/implementation/general/functions/pdf-function.d.ts +0 -44
  90. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  91. package/dist/ts/implementation/general/functions/pdf-sampled-function.d.ts +0 -25
  92. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -63
  93. package/dist/ts/implementation/general/index.d.ts +0 -9
  94. package/dist/ts/implementation/general/index.ts +0 -9
  95. package/dist/ts/implementation/general/pdf-cache-collection.d.ts +0 -42
  96. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  97. package/dist/ts/implementation/general/pdf-collection.d.ts +0 -26
  98. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  99. package/dist/ts/implementation/general/pdf-destination.d.ts +0 -103
  100. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  101. package/dist/ts/implementation/graphics/brushes/enum.d.ts +0 -236
  102. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  103. package/dist/ts/implementation/graphics/brushes/index.d.ts +0 -13
  104. package/dist/ts/implementation/graphics/brushes/index.ts +0 -13
  105. package/dist/ts/implementation/graphics/brushes/pdf-blend.d.ts +0 -105
  106. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  107. package/dist/ts/implementation/graphics/brushes/pdf-brush.d.ts +0 -51
  108. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -63
  109. package/dist/ts/implementation/graphics/brushes/pdf-brushes.d.ts +0 -726
  110. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  111. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.d.ts +0 -113
  112. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  113. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.d.ts +0 -155
  114. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  115. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.d.ts +0 -147
  116. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  117. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.d.ts +0 -122
  118. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  119. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.d.ts +0 -77
  120. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  121. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.d.ts +0 -161
  122. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  123. package/dist/ts/implementation/graphics/constants.d.ts +0 -31
  124. package/dist/ts/implementation/graphics/constants.ts +0 -31
  125. package/dist/ts/implementation/graphics/enum.d.ts +0 -413
  126. package/dist/ts/implementation/graphics/enum.ts +0 -413
  127. package/dist/ts/implementation/graphics/figures/arc.d.ts +0 -87
  128. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  129. package/dist/ts/implementation/graphics/figures/base/draw-element.d.ts +0 -30
  130. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  131. package/dist/ts/implementation/graphics/figures/base/element-layouter.d.ts +0 -161
  132. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  133. package/dist/ts/implementation/graphics/figures/base/fill-element.d.ts +0 -46
  134. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  135. package/dist/ts/implementation/graphics/figures/base/graphics-element.d.ts +0 -16
  136. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  137. package/dist/ts/implementation/graphics/figures/base/index.d.ts +0 -9
  138. package/dist/ts/implementation/graphics/figures/base/index.ts +0 -9
  139. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.d.ts +0 -40
  140. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  141. package/dist/ts/implementation/graphics/figures/base/shape-layouter.d.ts +0 -131
  142. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  143. package/dist/ts/implementation/graphics/figures/base/text-layouter.d.ts +0 -107
  144. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -212
  145. package/dist/ts/implementation/graphics/figures/ellipse-part.d.ts +0 -48
  146. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  147. package/dist/ts/implementation/graphics/figures/enum.d.ts +0 -79
  148. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  149. package/dist/ts/implementation/graphics/figures/index.d.ts +0 -13
  150. package/dist/ts/implementation/graphics/figures/index.ts +0 -13
  151. package/dist/ts/implementation/graphics/figures/layout-element.d.ts +0 -73
  152. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  153. package/dist/ts/implementation/graphics/figures/path.d.ts +0 -319
  154. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  155. package/dist/ts/implementation/graphics/figures/pdf-template.d.ts +0 -113
  156. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  157. package/dist/ts/implementation/graphics/figures/rectangle-area.d.ts +0 -64
  158. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  159. package/dist/ts/implementation/graphics/figures/text-element.d.ts +0 -214
  160. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -449
  161. package/dist/ts/implementation/graphics/fonts/enum.d.ts +0 -385
  162. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  163. package/dist/ts/implementation/graphics/fonts/index.d.ts +0 -16
  164. package/dist/ts/implementation/graphics/fonts/index.ts +0 -16
  165. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.d.ts +0 -164
  166. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  167. package/dist/ts/implementation/graphics/fonts/pdf-font.d.ts +0 -187
  168. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  169. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +0 -301
  170. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  171. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.d.ts +0 -143
  172. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  173. package/dist/ts/implementation/graphics/fonts/pdf-string-format.d.ts +0 -321
  174. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  175. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.d.ts +0 -49
  176. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  177. package/dist/ts/implementation/graphics/fonts/rtl/index.d.ts +0 -6
  178. package/dist/ts/implementation/graphics/fonts/rtl/index.ts +0 -6
  179. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.d.ts +0 -62
  180. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  181. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.d.ts +0 -68
  182. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  183. package/dist/ts/implementation/graphics/fonts/rtl-renderer.d.ts +0 -23
  184. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  185. package/dist/ts/implementation/graphics/fonts/string-layouter.d.ts +0 -254
  186. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  187. package/dist/ts/implementation/graphics/fonts/string-tokenizer.d.ts +0 -109
  188. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  189. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.d.ts +0 -204
  190. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  191. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.d.ts +0 -17
  192. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  193. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.d.ts +0 -17
  194. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  195. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.d.ts +0 -13
  196. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  197. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.d.ts +0 -25
  198. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  199. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.d.ts +0 -25
  200. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  201. package/dist/ts/implementation/graphics/fonts/ttf-head-table.d.ts +0 -94
  202. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  203. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.d.ts +0 -55
  204. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  205. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.d.ts +0 -9
  206. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  207. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.d.ts +0 -13
  208. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  209. package/dist/ts/implementation/graphics/fonts/ttf-metrics.d.ts +0 -101
  210. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  211. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.d.ts +0 -57
  212. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  213. package/dist/ts/implementation/graphics/fonts/ttf-name-record.d.ts +0 -33
  214. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  215. package/dist/ts/implementation/graphics/fonts/ttf-name-table.d.ts +0 -22
  216. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  217. package/dist/ts/implementation/graphics/fonts/ttf-post-table.d.ts +0 -41
  218. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  219. package/dist/ts/implementation/graphics/fonts/ttf-reader.d.ts +0 -227
  220. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1267
  221. package/dist/ts/implementation/graphics/fonts/ttf-table-info.d.ts +0 -22
  222. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  223. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.d.ts +0 -25
  224. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  225. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.d.ts +0 -213
  226. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -592
  227. package/dist/ts/implementation/graphics/images/byte-array.d.ts +0 -74
  228. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  229. package/dist/ts/implementation/graphics/images/image-decoder.d.ts +0 -274
  230. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  231. package/dist/ts/implementation/graphics/images/index.d.ts +0 -8
  232. package/dist/ts/implementation/graphics/images/index.ts +0 -8
  233. package/dist/ts/implementation/graphics/images/pdf-bitmap.d.ts +0 -90
  234. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  235. package/dist/ts/implementation/graphics/images/pdf-image.d.ts +0 -88
  236. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  237. package/dist/ts/implementation/graphics/index.d.ts +0 -35
  238. package/dist/ts/implementation/graphics/index.ts +0 -46
  239. package/dist/ts/implementation/graphics/pdf-color.d.ts +0 -206
  240. package/dist/ts/implementation/graphics/pdf-color.ts +0 -484
  241. package/dist/ts/implementation/graphics/pdf-graphics.d.ts +0 -1210
  242. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2556
  243. package/dist/ts/implementation/graphics/pdf-margins.d.ts +0 -82
  244. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  245. package/dist/ts/implementation/graphics/pdf-pen.d.ts +0 -237
  246. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  247. package/dist/ts/implementation/graphics/pdf-resources.d.ts +0 -122
  248. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  249. package/dist/ts/implementation/graphics/pdf-transformation-matrix.d.ts +0 -143
  250. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  251. package/dist/ts/implementation/graphics/pdf-transparency.d.ts +0 -34
  252. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  253. package/dist/ts/implementation/graphics/unit-convertor.d.ts +0 -72
  254. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  255. package/dist/ts/implementation/index.d.ts +0 -103
  256. package/dist/ts/implementation/index.ts +0 -103
  257. package/dist/ts/implementation/input-output/big-endian-writer.d.ts +0 -59
  258. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  259. package/dist/ts/implementation/input-output/cross-table.d.ts +0 -21
  260. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  261. package/dist/ts/implementation/input-output/enum.d.ts +0 -16
  262. package/dist/ts/implementation/input-output/enum.ts +0 -16
  263. package/dist/ts/implementation/input-output/index.d.ts +0 -12
  264. package/dist/ts/implementation/input-output/index.ts +0 -12
  265. package/dist/ts/implementation/input-output/pdf-cross-table.d.ts +0 -259
  266. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -536
  267. package/dist/ts/implementation/input-output/pdf-dictionary-properties.d.ts +0 -583
  268. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -586
  269. package/dist/ts/implementation/input-output/pdf-main-object-collection.d.ts +0 -120
  270. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  271. package/dist/ts/implementation/input-output/pdf-operators.d.ts +0 -361
  272. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  273. package/dist/ts/implementation/input-output/pdf-stream-writer.d.ts +0 -311
  274. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  275. package/dist/ts/implementation/input-output/pdf-writer.d.ts +0 -122
  276. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -164
  277. package/dist/ts/implementation/pages/enum.d.ts +0 -201
  278. package/dist/ts/implementation/pages/enum.ts +0 -201
  279. package/dist/ts/implementation/pages/index.d.ts +0 -17
  280. package/dist/ts/implementation/pages/index.ts +0 -17
  281. package/dist/ts/implementation/pages/page-added-event-arguments.d.ts +0 -30
  282. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  283. package/dist/ts/implementation/pages/pdf-document-page-collection.d.ts +0 -86
  284. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  285. package/dist/ts/implementation/pages/pdf-page-base.d.ts +0 -121
  286. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  287. package/dist/ts/implementation/pages/pdf-page-layer-collection.d.ts +0 -99
  288. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  289. package/dist/ts/implementation/pages/pdf-page-layer.d.ts +0 -160
  290. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  291. package/dist/ts/implementation/pages/pdf-page-settings.d.ts +0 -111
  292. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  293. package/dist/ts/implementation/pages/pdf-page-size.d.ts +0 -159
  294. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  295. package/dist/ts/implementation/pages/pdf-page-template-element.d.ts +0 -240
  296. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -663
  297. package/dist/ts/implementation/pages/pdf-page.d.ts +0 -153
  298. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  299. package/dist/ts/implementation/pages/pdf-section-collection.d.ts +0 -109
  300. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  301. package/dist/ts/implementation/pages/pdf-section-page-collection.d.ts +0 -41
  302. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  303. package/dist/ts/implementation/pages/pdf-section-templates.d.ts +0 -64
  304. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  305. package/dist/ts/implementation/pages/pdf-section.d.ts +0 -327
  306. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  307. package/dist/ts/implementation/primitives/index.d.ts +0 -12
  308. package/dist/ts/implementation/primitives/index.ts +0 -12
  309. package/dist/ts/implementation/primitives/pdf-array.d.ts +0 -192
  310. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  311. package/dist/ts/implementation/primitives/pdf-boolean.d.ts +0 -84
  312. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  313. package/dist/ts/implementation/primitives/pdf-dictionary.d.ts +0 -362
  314. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  315. package/dist/ts/implementation/primitives/pdf-name.d.ts +0 -121
  316. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  317. package/dist/ts/implementation/primitives/pdf-number.d.ts +0 -104
  318. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  319. package/dist/ts/implementation/primitives/pdf-reference.d.ts +0 -223
  320. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  321. package/dist/ts/implementation/primitives/pdf-stream.d.ts +0 -161
  322. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -306
  323. package/dist/ts/implementation/primitives/pdf-string.d.ts +0 -235
  324. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  325. package/dist/ts/implementation/structured-elements/grid/index.d.ts +0 -4
  326. package/dist/ts/implementation/structured-elements/grid/index.ts +0 -10
  327. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.d.ts +0 -597
  328. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2127
  329. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.d.ts +0 -288
  330. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1225
  331. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.d.ts +0 -108
  332. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  333. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.d.ts +0 -261
  334. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  335. package/dist/ts/implementation/structured-elements/grid/pdf-grid.d.ts +0 -292
  336. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  337. package/dist/ts/implementation/structured-elements/grid/styles/index.d.ts +0 -5
  338. package/dist/ts/implementation/structured-elements/grid/styles/index.ts +0 -5
  339. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.d.ts +0 -146
  340. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -238
  341. package/dist/ts/implementation/structured-elements/grid/styles/style.d.ts +0 -272
  342. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -423
  343. package/dist/ts/implementation/structured-elements/index.d.ts +0 -4
  344. package/dist/ts/implementation/structured-elements/index.ts +0 -10
  345. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.d.ts +0 -16
  346. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  347. package/dist/ts/index.d.ts +0 -116
  348. package/dist/ts/index.ts +0 -116
  349. package/dist/ts/interfaces/i-pdf-cache.d.ts +0 -23
  350. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  351. package/dist/ts/interfaces/i-pdf-changable.d.ts +0 -17
  352. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  353. package/dist/ts/interfaces/i-pdf-clonable.d.ts +0 -12
  354. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  355. package/dist/ts/interfaces/i-pdf-primitives.d.ts +0 -45
  356. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  357. package/dist/ts/interfaces/i-pdf-true-type-font.d.ts +0 -18
  358. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  359. package/dist/ts/interfaces/i-pdf-wrapper.d.ts +0 -13
  360. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  361. package/dist/ts/interfaces/i-pdf-writer.d.ts +0 -29
  362. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
  363. package/dist/ts/interfaces/index.d.ts +0 -10
  364. package/dist/ts/interfaces/index.ts +0 -10
@@ -1,592 +0,0 @@
1
- /**
2
- * TrueTypeFont.ts class for EJ2-PDF
3
- */
4
- import { ByteArray } from './../../graphics/images/index';
5
- import { TtfReader } from './ttf-reader';
6
- import { TtfMetrics } from './ttf-metrics';
7
- import { PdfDictionary, SaveDescendantFontEventHandler, SaveFontDictionaryEventHandler } from './../../primitives/pdf-dictionary';
8
- import { SaveFontProgramEventHandler, SaveCmapEventHandler } from './../../primitives/pdf-stream';
9
- import { PdfStream } from './../../primitives/pdf-stream';
10
- import { PdfArray } from './../../primitives/pdf-array';
11
- import { PdfName } from './../../primitives/pdf-name';
12
- import { PdfNumber } from './../../primitives/pdf-number';
13
- import { PdfString } from './../../primitives/pdf-string';
14
- import { PdfReferenceHolder } from './../../primitives/pdf-reference';
15
- import { PdfFontMetrics } from './pdf-font-metrics';
16
- import { IPdfPrimitive } from './../../../interfaces/i-pdf-primitives';
17
- import { StandardWidthTable } from './pdf-font-metrics';
18
- import { DictionaryProperties } from './../../input-output/pdf-dictionary-properties';
19
- import { Dictionary } from './../../collections/dictionary';
20
- import { FontDescriptorFlags } from './enum';
21
- import { RectangleF, Rectangle } from './../../drawing/pdf-drawing';
22
- import { TtfGlyphInfo } from './ttf-glyph-info';
23
- import { Operators } from './../../input-output/pdf-operators';
24
- export class UnicodeTrueTypeFont {
25
- // Fields
26
- private readonly nameString : string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
27
- /**
28
- * Name of the font subset.
29
- */
30
- private subsetName : string;
31
- /**
32
- * `Size` of the true type font.
33
- * @private
34
- */
35
- private fontSize : number;
36
- /**
37
- * `Base64 string` of the true type font.
38
- * @private
39
- */
40
- private fontString : string;
41
- /**
42
- * `font data` of the true type font.
43
- * @private
44
- */
45
- private fontData : Uint8Array;
46
- /**
47
- * `true type font` reader object.
48
- * @private
49
- */
50
- public ttfReader : TtfReader;
51
- /**
52
- * metrics of true type font.
53
- * @private
54
- */
55
- public ttfMetrics : TtfMetrics;
56
- /**
57
- * Indicates whether the font is embedded or not.
58
- * @private
59
- */
60
- public isEmbed : boolean;
61
- /**
62
- * Pdf primitive describing the font.
63
- */
64
- private fontDictionary : PdfDictionary;
65
- /**
66
- * Descendant font.
67
- */
68
- private descendantFont : PdfDictionary;
69
- /**
70
- * font descripter.
71
- */
72
- private fontDescriptor : PdfDictionary;
73
- /**
74
- * Font program.
75
- */
76
- private fontProgram : PdfStream;
77
- /**
78
- * Cmap stream.
79
- */
80
- private cmap : PdfStream;
81
- /**
82
- * C i d stream.
83
- */
84
- private cidStream : PdfStream;
85
- /**
86
- * Font metrics.
87
- */
88
- public metrics : PdfFontMetrics;
89
- /**
90
- * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
91
- * @private
92
- */
93
- private dictionaryProperties : DictionaryProperties = new DictionaryProperties();
94
- /**
95
- * Array of used chars.
96
- * @private
97
- */
98
- private usedChars : Dictionary<string, string>;
99
- /**
100
- * Indicates whether the font program is compressed or not.
101
- * @private
102
- */
103
- private isCompress : boolean = false;
104
- /**
105
- * Indicates whether the font is embedded or not.
106
- */
107
- private isEmbedFont : boolean = false;
108
- /**
109
- * Cmap table's start prefix.
110
- */
111
- /* tslint:disable */
112
- private readonly cmapPrefix : string = '/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap' + Operators.newLine + '/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0>> def\n/CMapName ' + '/Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange' + Operators.newLine;
113
- /* tslint:enable */
114
- /**
115
- * Cmap table's start suffix.
116
- */
117
- private readonly cmapEndCodespaceRange : string = 'endcodespacerange' + Operators.newLine;
118
- /**
119
- * Cmap's begin range marker.
120
- */
121
- private readonly cmapBeginRange : string = 'beginbfrange' + Operators.newLine;
122
- /**
123
- * Cmap's end range marker.
124
- */
125
- private readonly cmapEndRange : string = 'endbfrange' + Operators.newLine;
126
- /**
127
- * Cmap table's end
128
- */
129
- /* tslint:disable */
130
- private readonly cmapSuffix : string = 'endbfrange\nendcmap\nCMapName currentdict ' + '/CMap defineresource pop\nend end' + Operators.newLine;
131
- /* tslint:enable */
132
- //Constructors
133
- /**
134
- * Initializes a new instance of the `PdfTrueTypeFont` class.
135
- * @private
136
- */
137
- public constructor(base64String : string, size : number) {
138
- if (base64String === null || base64String === undefined) {
139
- throw new Error('ArgumentNullException:base64String');
140
- }
141
- this.fontSize = size;
142
- this.fontString = base64String;
143
- this.Initialize();
144
- }
145
- //Implementation
146
- /**
147
- * Returns width of the char symbol.
148
- */
149
- public getCharWidth(charCode : string) : number {
150
- let codeWidth : number = this.ttfReader.getCharWidth(charCode);
151
- return codeWidth;
152
- }
153
- /**
154
- * Returns width of the text line.
155
- */
156
- public getLineWidth( line : string) : number {
157
- // if (line == null) {
158
- // throw new Error('ArgumentNullException : line');
159
- // }
160
- let width : number = 0;
161
- for (let i : number = 0, len : number = line.length; i < len; i++) {
162
- let ch : string = line[i];
163
- let charWidth : number = this.getCharWidth(ch);
164
- width += charWidth;
165
- }
166
- return width;
167
- }
168
- /**
169
- * Initializes a new instance of the `PdfTrueTypeFont` class.
170
- * @private
171
- */
172
- private Initialize() : void {
173
- let byteArray : ByteArray = new ByteArray(this.fontString.length);
174
- byteArray.writeFromBase64String(this.fontString);
175
- this.fontData = byteArray.internalBuffer;
176
- this.ttfReader = new TtfReader(this.fontData);
177
- this.ttfMetrics = this.ttfReader.metrics;
178
- }
179
- public createInternals() : void {
180
- this.fontDictionary = new PdfDictionary();
181
- this.fontProgram = new PdfStream();
182
- this.cmap = new PdfStream();
183
- this.descendantFont = new PdfDictionary();
184
- this.metrics = new PdfFontMetrics();
185
- this.ttfReader.createInternals();
186
- this.ttfMetrics = this.ttfReader.metrics;
187
- this.initializeMetrics();
188
- // Create all the dictionaries of the font.
189
- this.subsetName = this.getFontName();
190
- this.createDescendantFont();
191
- this.createCmap();
192
- this.createFontDictionary();
193
- this.createFontProgram();
194
- }
195
- public getInternals() : IPdfPrimitive {
196
- return this.fontDictionary;
197
- }
198
- /**
199
- * Initializes metrics.
200
- */
201
- private initializeMetrics() : void {
202
- let ttfMetrics : TtfMetrics = this.ttfReader.metrics;
203
- this.metrics.ascent = ttfMetrics.macAscent;
204
- this.metrics.descent = ttfMetrics.macDescent;
205
- this.metrics.height = ttfMetrics.macAscent - ttfMetrics.macDescent + ttfMetrics.lineGap;
206
- this.metrics.name = ttfMetrics.fontFamily;
207
- this.metrics.postScriptName = ttfMetrics.postScriptName;
208
- this.metrics.size = this.fontSize;
209
- this.metrics.widthTable = new StandardWidthTable(ttfMetrics.widthTable);
210
- this.metrics.lineGap = ttfMetrics.lineGap;
211
- this.metrics.subScriptSizeFactor = ttfMetrics.subScriptSizeFactor;
212
- this.metrics.superscriptSizeFactor = ttfMetrics.superscriptSizeFactor;
213
- this.metrics.isBold = ttfMetrics.isBold;
214
- }
215
- /**
216
- * Gets random string.
217
- */
218
- private getFontName() : string {
219
- let builder : string = '';
220
- let name : string;
221
- // if (this.isEmbed === false) {
222
- for (let i : number = 0; i < 6; i++) {
223
- let index : number = Math.floor(Math.random() * (25 - 0 + 1)) + 0;
224
- builder += this.nameString[index];
225
- }
226
- builder += '+';
227
- // }
228
- builder += this.ttfReader.metrics.postScriptName;
229
- name = builder.toString();
230
- // if (name === '') {
231
- // name = this.ttfReader.metrics.fontFamily;
232
- // }
233
- name = this.formatName(name);
234
- return name;
235
- }
236
- /**
237
- * Generates name of the font.
238
- */
239
- private formatName(fontName : string) : string {
240
- // if (fontName === null) {
241
- // throw new Error('ArgumentNullException : fontName');
242
- // }
243
- // if (fontName === '') {
244
- // throw new Error('ArgumentOutOfRangeException : fontName, Parameter can not be empty');
245
- // }
246
- let ret : string = fontName.replace('(', '#28');
247
- ret = ret.replace(')', '#29');
248
- ret = ret.replace('[', '#5B');
249
- ret = ret.replace(']', '#5D');
250
- ret = ret.replace('<', '#3C');
251
- ret = ret.replace('>', '#3E');
252
- ret = ret.replace('{', '#7B');
253
- ret = ret.replace('}', '#7D');
254
- ret = ret.replace('/', '#2F');
255
- ret = ret.replace('%', '#25');
256
- return ret.replace(' ', '#20');
257
- }
258
- /**
259
- * Creates descendant font.
260
- */
261
- private createDescendantFont() : void {
262
- // Set property used to clone Font every time
263
- this.descendantFont.isResource = true;
264
- this.descendantFont.descendantFontBeginSave = new SaveDescendantFontEventHandler(this);
265
- this.descendantFont.items.setValue(this.dictionaryProperties.type, new PdfName(this.dictionaryProperties.font));
266
- if (this.ttfReader && this.ttfReader._isOpenTypeFont) {
267
- this.descendantFont.items.setValue(this.dictionaryProperties.subtype, new PdfName(this.dictionaryProperties.cIDFontType0));
268
- } else {
269
- this.descendantFont.items.setValue(this.dictionaryProperties.subtype, new PdfName(this.dictionaryProperties.cIDFontType2));
270
- }
271
- this.descendantFont.items.setValue(this.dictionaryProperties.baseFont, new PdfName(this.subsetName));
272
- this.descendantFont.items.setValue(this.dictionaryProperties.cIDToGIDMap, new PdfName(this.dictionaryProperties.identity));
273
- this.descendantFont.items.setValue(this.dictionaryProperties.dw, new PdfNumber(1000));
274
- this.fontDescriptor = this.createFontDescriptor();
275
- this.descendantFont.items.setValue(this.dictionaryProperties.fontDescriptor, new PdfReferenceHolder(this.fontDescriptor));
276
- let systemInfo : IPdfPrimitive = this.createSystemInfo();
277
- this.descendantFont.items.setValue(this.dictionaryProperties.cIDSystemInfo, systemInfo);
278
- }
279
- /**
280
- * Creates font descriptor.
281
- */
282
- private createFontDescriptor() : PdfDictionary {
283
- let descriptor : PdfDictionary = new PdfDictionary();
284
- let metrics : TtfMetrics = this.ttfReader.metrics;
285
- // Set property used to clone Font every time
286
- descriptor.isResource = true;
287
- descriptor.items.setValue(this.dictionaryProperties.type, new PdfName(this.dictionaryProperties.fontDescriptor));
288
- descriptor.items.setValue(this.dictionaryProperties.fontName, new PdfName(this.subsetName));
289
- descriptor.items.setValue(this.dictionaryProperties.flags, new PdfNumber(this.getDescriptorFlags()));
290
- descriptor.items.setValue(this.dictionaryProperties.fontBBox, PdfArray.fromRectangle(this.getBoundBox()));
291
- descriptor.items.setValue(this.dictionaryProperties.missingWidth, new PdfNumber(metrics.widthTable[32]));
292
- descriptor.items.setValue(this.dictionaryProperties.stemV, new PdfNumber(metrics.stemV));
293
- descriptor.items.setValue(this.dictionaryProperties.italicAngle, new PdfNumber(metrics.italicAngle));
294
- descriptor.items.setValue(this.dictionaryProperties.capHeight, new PdfNumber(metrics.capHeight));
295
- descriptor.items.setValue(this.dictionaryProperties.ascent, new PdfNumber(metrics.winAscent));
296
- descriptor.items.setValue(this.dictionaryProperties.descent, new PdfNumber(metrics.winDescent));
297
- descriptor.items.setValue(this.dictionaryProperties.leading, new PdfNumber(metrics.leading));
298
- descriptor.items.setValue(this.dictionaryProperties.avgWidth, new PdfNumber(metrics.widthTable[32]));
299
- if (this.ttfReader.metrics.contains) {
300
- descriptor.items.setValue(this.dictionaryProperties.fontFile3, new PdfReferenceHolder(this.fontProgram));
301
- this.fontProgram.items.setValue(this.dictionaryProperties.subtype, new PdfName(this.dictionaryProperties.cIDFontType0C));
302
- } else {
303
- descriptor.items.setValue(this.dictionaryProperties.fontFile2, new PdfReferenceHolder(this.fontProgram));
304
- }
305
- descriptor.items.setValue(this.dictionaryProperties.maxWidth, new PdfNumber(metrics.widthTable[32]));
306
- descriptor.items.setValue(this.dictionaryProperties.xHeight, new PdfNumber(0));
307
- descriptor.items.setValue(this.dictionaryProperties.stemH, new PdfNumber(0));
308
- return descriptor;
309
- }
310
- /**
311
- * Generates cmap.
312
- * @private
313
- */
314
- private createCmap() : void {
315
- this.cmap.cmapBeginSave = new SaveCmapEventHandler(this);
316
- }
317
- /**
318
- * Generates font dictionary.
319
- */
320
- private createFontDictionary() : void {
321
- // Set property used to clone Font every time
322
- this.fontDictionary.isResource = true;
323
- this.fontDictionary.fontDictionaryBeginSave = new SaveFontDictionaryEventHandler(this);
324
- this.fontDictionary.items.setValue(this.dictionaryProperties.type, new PdfName(this.dictionaryProperties.font));
325
- this.fontDictionary.items.setValue(this.dictionaryProperties.baseFont, new PdfName(this.subsetName));
326
- this.fontDictionary.items.setValue(this.dictionaryProperties.subtype, new PdfName(this.dictionaryProperties.type0));
327
- this.fontDictionary.items.setValue(this.dictionaryProperties.encoding, new PdfName(this.dictionaryProperties.identityH));
328
- let descFonts : PdfArray = new PdfArray();
329
- let reference : PdfReferenceHolder = new PdfReferenceHolder(this.descendantFont);
330
- // Set property used to clone Font every time
331
- descFonts.isFont = true;
332
- descFonts.add(reference);
333
- this.fontDictionary.items.setValue(this.dictionaryProperties.descendantFonts, descFonts);
334
- }
335
- /**
336
- * Creates font program.
337
- */
338
- private createFontProgram() : void {
339
- this.fontProgram.fontProgramBeginSave = new SaveFontProgramEventHandler(this);
340
- }
341
- /**
342
- * Creates system info dictionary for CID font.
343
- * @private
344
- */
345
- private createSystemInfo() : IPdfPrimitive {
346
- let systemInfo : PdfDictionary = new PdfDictionary();
347
- systemInfo.items.setValue(this.dictionaryProperties.registry, new PdfString('Adobe'));
348
- systemInfo.items.setValue(this.dictionaryProperties.ordering, new PdfString(this.dictionaryProperties.identity));
349
- systemInfo.items.setValue(this.dictionaryProperties.supplement, new PdfNumber(0));
350
- return systemInfo;
351
- }
352
- /**
353
- * Runs before font Dictionary will be saved.
354
- */
355
- public descendantFontBeginSave() : void {
356
- if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {
357
- let width : PdfArray = this.getDescendantWidth();
358
- if (width !== null) {
359
- this.descendantFont.items.setValue(this.dictionaryProperties.w, width);
360
- }
361
- }
362
- }
363
- /**
364
- * Runs before font Dictionary will be saved.
365
- */
366
- public cmapBeginSave() : void {
367
- this.generateCmap();
368
- }
369
- /**
370
- * Runs before font Dictionary will be saved.
371
- */
372
- /* tslint:disable */
373
- public fontDictionaryBeginSave() : void {
374
- if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0 && !this.fontDictionary.containsKey(this.dictionaryProperties.toUnicode)) {
375
- this.fontDictionary.items.setValue(this.dictionaryProperties.toUnicode, new PdfReferenceHolder(this.cmap));
376
- }
377
- }
378
- /* tslint:enable */
379
- /**
380
- * Runs before font program stream save.
381
- */
382
- public fontProgramBeginSave() : void {
383
- this.isCompress = true;
384
- this.generateFontProgram();
385
- }
386
- /**
387
- * Gets width description pad array for c i d font.
388
- */
389
- public getDescendantWidth() : PdfArray {
390
- let array : PdfArray = new PdfArray();
391
- if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {
392
- let glyphInfo : TtfGlyphInfo[] = [];
393
- // if (!this.isEmbedFont) {
394
- let keys : string[] = this.usedChars.keys();
395
- for (let i : number = 0; i < keys.length; i++) {
396
- let chLen : string = keys[i];
397
- let glyph : TtfGlyphInfo = this.ttfReader.getGlyph(chLen);
398
- if (glyph.empty) {
399
- continue;
400
- }
401
- glyphInfo.push(glyph);
402
- }
403
- // } else {
404
- // glyphInfo = this.ttfReader.getAllGlyphs();
405
- // }
406
- glyphInfo.sort((a : TtfGlyphInfo, b : TtfGlyphInfo) => a.index - b.index);
407
- let firstGlyphIndex : number = 0;
408
- let lastGlyphIndex : number = 0;
409
- let firstGlyphIndexWasSet : boolean = false;
410
- let widthDetails : PdfArray = new PdfArray();
411
- // if (!this.isEmbedFont) {
412
- for (let i : number = 0; i < glyphInfo.length; i++) {
413
- let glyph : TtfGlyphInfo = glyphInfo[i];
414
- if (!firstGlyphIndexWasSet) {
415
- firstGlyphIndexWasSet = true;
416
- firstGlyphIndex = glyph.index;
417
- lastGlyphIndex = glyph.index - 1;
418
- }
419
- if ((lastGlyphIndex + 1 !== glyph.index || (i + 1 === glyphInfo.length)) && glyphInfo.length > 1) {
420
- // Add glyph index / width.
421
- array.add(new PdfNumber(firstGlyphIndex));
422
- if (i !== 0) {
423
- array.add(widthDetails);
424
- }
425
- firstGlyphIndex = glyph.index;
426
- widthDetails = new PdfArray();
427
- }
428
- widthDetails.add(new PdfNumber(glyph.width));
429
- if (i + 1 === glyphInfo.length) {
430
- array.add(new PdfNumber(firstGlyphIndex));
431
- array.add(widthDetails);
432
- }
433
- lastGlyphIndex = glyph.index;
434
- }
435
- // } else {
436
- // for (let i : number = 0; i < glyphInfo.length; i++) {
437
- // let glyph : TtfGlyphInfo = glyphInfo[i];
438
- // if (!firstGlyphIndexWasSet) {
439
- // firstGlyphIndexWasSet = true;
440
- // lastGlyphIndex = glyph.index - 1;
441
- // }
442
- // firstGlyphIndex = glyph.index;
443
- // if ((lastGlyphIndex + 1 === glyph.index || (i + 1 === glyphInfo.length)) && glyphInfo.length > 1) {
444
- // // Add glyph index / width.
445
- // widthDetails.add(new PdfNumber(glyph.width));
446
- // array.add(new PdfNumber(firstGlyphIndex));
447
- // array.add(widthDetails);
448
- // widthDetails = new PdfArray();
449
- // }
450
- // lastGlyphIndex = glyph.index;
451
- // }
452
- // }
453
- }
454
- return array;
455
- }
456
- /**
457
- * Creates cmap.
458
- */
459
- private generateCmap() : void {
460
- if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {
461
- let glyphChars : Dictionary<number, number> = this.ttfReader.getGlyphChars(this.usedChars);
462
- if (glyphChars.size() > 0) {
463
- let keys : number[] = glyphChars.keys().sort();
464
- // add first and last glyph indexes
465
- let first : number = keys[0];
466
- let last : number = keys[keys.length - 1];
467
- let middlePart : string = this.toHexString(first, false) + this.toHexString(last, false) + Operators.newLine;
468
- let builder : string = '';
469
- builder += this.cmapPrefix;
470
- builder += middlePart;
471
- builder += this.cmapEndCodespaceRange;
472
- let nextRange : number = 0;
473
- for (let i : number = 0; i < keys.length; i++) {
474
- if (nextRange === 0) {
475
- if (i !== 0) {
476
- builder += this.cmapEndRange;
477
- }
478
- nextRange = Math.min(100, keys.length - i);
479
- builder += nextRange;
480
- builder += Operators.whiteSpace;
481
- builder += this.cmapBeginRange;
482
- }
483
- nextRange -= 1;
484
- let key : number = keys[i];
485
- /* tslint:disable */
486
- builder += this.toHexString(key, true) + this.toHexString(key, true) + this.toHexString(glyphChars.getValue(key), true) + '\n';
487
- /* tslint:enable */
488
- }
489
- builder += this.cmapSuffix;
490
- this.cmap.clearStream();
491
- this.cmap.isResource = true;
492
- this.cmap.write(builder);
493
- }
494
- }
495
- }
496
- /**
497
- * Generates font program.
498
- */
499
- private generateFontProgram() : void {
500
- this.usedChars = (this.usedChars === null || this.usedChars === undefined) ? new Dictionary<string, string>() : this.usedChars;
501
- this.ttfReader.setOffset(0);
502
- if (this.ttfReader.metrics.contains && this.ttfReader._isOpenTypeFont) {
503
- const cffData: number[] = this.ttfReader._readCompactFontFormatTable();
504
- this.fontProgram.clearStream();
505
- this.fontProgram.isResource = true;
506
- this.fontProgram.writeBytes(cffData);
507
- } else {
508
- const fontProgram: number[] = this.ttfReader.readFontProgram(this.usedChars);
509
- this.fontProgram.clearStream();
510
- this.fontProgram.isResource = true;
511
- this.fontProgram.writeBytes(fontProgram);
512
- }
513
- }
514
- /**
515
- * Calculates flags for the font descriptor.
516
- * @private
517
- */
518
- public getDescriptorFlags() : number {
519
- let flags : number = 0;
520
- let metrics : TtfMetrics = this.ttfReader.metrics;
521
- if (metrics.isFixedPitch) {
522
- flags |= FontDescriptorFlags.FixedPitch;
523
- }
524
- if (metrics.isSymbol) {
525
- flags |= FontDescriptorFlags.Symbolic;
526
- } else {
527
- flags |= FontDescriptorFlags.Nonsymbolic;
528
- }
529
- if (metrics.isItalic) {
530
- flags |= FontDescriptorFlags.Italic;
531
- }
532
- if (metrics.isBold) {
533
- flags |= FontDescriptorFlags.ForceBold;
534
- }
535
- return flags;
536
- }
537
- /**
538
- * Calculates BoundBox of the descriptor.
539
- * @private
540
- */
541
- private getBoundBox() : RectangleF {
542
- let rect : Rectangle = this.ttfReader.metrics.fontBox;
543
- let width : number = Math.abs(rect.right - rect.left);
544
- let height : number = Math.abs(rect.top - rect.bottom);
545
- let rectangle : RectangleF = new RectangleF(rect.left, rect.bottom, width, height);
546
- return rectangle;
547
- }
548
- /**
549
- * Converts integer of decimal system to hex integer.
550
- */
551
- private toHexString(n : number, isCaseChange : boolean) : string {
552
- let s : string = n.toString(16);
553
- if (isCaseChange) {
554
- s = s.toUpperCase();
555
- }
556
- return '<0000'.substring(0, 5 - s.length) + s + '>';
557
- }
558
- /**
559
- * Stores used symbols.
560
- */
561
- public setSymbols(text : string) : void {
562
- if (text === null) {
563
- throw new Error('Argument Null Exception : text');
564
- }
565
- if (this.usedChars === null || this.usedChars === undefined) {
566
- this.usedChars = new Dictionary<string, string>();
567
- }
568
- for (let i : number = 0; i < text.length; i++) {
569
- let ch : string = text[i];
570
- this.usedChars.setValue(ch, String.fromCharCode(0));
571
- }
572
- // else {
573
- // if (text === null) {
574
- // throw new Error('Argument Null Exception : glyphs');
575
- // }
576
- // if (this.usedChars === null || this.usedChars === undefined) {
577
- // this.usedChars = new Dictionary<string, string>();
578
- // }
579
- // for (let i : number = 0; i < text.length; i++) {
580
- // let glyphIndex : number = text[i];
581
- // let glyph : TtfGlyphInfo = this.ttfReader.getGlyph(glyphIndex);
582
- // if (!glyph == null) {
583
- // let c : string = glyph.charCode.toLocaleString();
584
- // this.usedChars.setValue(c, String.fromCharCode(0));
585
- // }
586
- // }
587
- // }
588
- if (this.isEmbedFont === false) {
589
- this.getDescendantWidth();
590
- }
591
- }
592
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * ByteArray class
3
- * Used to keep information about image stream as byte array.
4
- * @private
5
- */
6
- export declare class ByteArray {
7
- /**
8
- * Current stream `position`.
9
- * @default 0
10
- * @private
11
- */
12
- private mPosition;
13
- /**
14
- * Uint8Array for returing `buffer`.
15
- * @hidden
16
- * @private
17
- */
18
- private buffer;
19
- /**
20
- * Specifies the `data view`.
21
- * @hidden
22
- * @private
23
- */
24
- private dataView;
25
- /**
26
- * Initialize the new instance for `byte-array` class
27
- * @hidden
28
- * @private
29
- */
30
- constructor(length: number);
31
- /**
32
- * Gets and Sets a current `position` of byte array.
33
- * @hidden
34
- * @private
35
- */
36
- position: number;
37
- /**
38
- * `Read` from current stream position.
39
- * @default 0
40
- * @hidden
41
- * @private
42
- */
43
- read(buffer: ByteArray, offset: number, count: number): void;
44
- /**
45
- * @hidden
46
- */
47
- getBuffer(index: number): number;
48
- /**
49
- * @hidden
50
- */
51
- writeFromBase64String(base64: string): void;
52
- /**
53
- * @hidden
54
- */
55
- encodedString(input: string): Uint8Array;
56
- /**
57
- * @hidden
58
- */
59
- readByte(offset: number): number;
60
- /**
61
- * @hidden
62
- */
63
- readonly internalBuffer: Uint8Array;
64
- /**
65
- * @hidden
66
- */
67
- readonly count: number;
68
- /**
69
- * 'readNextTwoBytes' stream
70
- * @hidden
71
- * @private
72
- */
73
- readNextTwoBytes(stream: ByteArray): number;
74
- }