@syncfusion/ej2-pdf 1.0.23 → 23.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/.eslintrc.json +260 -0
  2. package/.gitleaksignore +1 -0
  3. package/CHANGELOG.md +17 -0
  4. package/README.md +17 -0
  5. package/dist/ej2-pdf.umd.min.js +4 -14
  6. package/dist/ej2-pdf.umd.min.js.map +1 -11
  7. package/dist/es6/ej2-pdf.es2015.js +48245 -0
  8. package/dist/es6/ej2-pdf.es2015.js.map +1 -0
  9. package/dist/es6/ej2-pdf.es5.js +50124 -0
  10. package/dist/es6/ej2-pdf.es5.js.map +1 -0
  11. package/dist/global/ej2-pdf.min.js +11 -0
  12. package/dist/global/ej2-pdf.min.js.map +1 -0
  13. package/dist/global/index.d.ts +14 -0
  14. package/index.js +4 -8
  15. package/license +10 -3
  16. package/package.json +58 -16
  17. package/pdf.d.ts +4 -0
  18. package/pdf.js +4 -0
  19. package/src/global.js +1 -0
  20. package/src/index.d.ts +45 -98
  21. package/src/index.js +45 -96
  22. package/src/pdf/core/annotations/annotation-collection.d.ts +289 -0
  23. package/src/pdf/core/annotations/annotation-collection.js +744 -0
  24. package/src/pdf/core/annotations/annotation.d.ts +5845 -0
  25. package/src/pdf/core/annotations/annotation.js +14195 -0
  26. package/src/pdf/core/annotations/index.d.ts +4 -0
  27. package/src/pdf/core/annotations/index.js +4 -0
  28. package/src/pdf/core/annotations/pdf-appearance.d.ts +102 -0
  29. package/src/pdf/core/annotations/pdf-appearance.js +124 -0
  30. package/src/pdf/core/annotations/pdf-paddings.d.ts +8 -0
  31. package/src/pdf/core/annotations/pdf-paddings.js +22 -0
  32. package/src/pdf/core/base-stream.d.ts +86 -0
  33. package/src/pdf/core/base-stream.js +332 -0
  34. package/src/pdf/core/content-parser.d.ts +38 -0
  35. package/src/pdf/core/content-parser.js +359 -0
  36. package/src/pdf/core/decode-stream.d.ts +21 -0
  37. package/src/pdf/core/decode-stream.js +120 -0
  38. package/src/pdf/core/decrypt-stream.d.ts +11 -0
  39. package/src/pdf/core/decrypt-stream.js +53 -0
  40. package/src/pdf/core/enumerator.d.ts +1668 -0
  41. package/src/pdf/core/enumerator.js +1717 -0
  42. package/src/pdf/core/flate-stream.d.ts +13 -0
  43. package/src/pdf/core/flate-stream.js +329 -0
  44. package/src/pdf/core/fonts/index.d.ts +7 -0
  45. package/{dist/es6/implementation/graphics → src/pdf/core}/fonts/index.js +3 -4
  46. package/src/pdf/core/fonts/pdf-font-metrics.d.ts +66 -0
  47. package/src/pdf/core/fonts/pdf-font-metrics.js +192 -0
  48. package/src/pdf/core/fonts/pdf-standard-font.d.ts +1023 -0
  49. package/src/pdf/core/fonts/pdf-standard-font.js +1682 -0
  50. package/src/pdf/core/fonts/pdf-string-format.d.ts +236 -0
  51. package/src/pdf/core/fonts/pdf-string-format.js +213 -0
  52. package/src/pdf/core/fonts/string-layouter.d.ts +68 -0
  53. package/src/pdf/core/fonts/string-layouter.js +437 -0
  54. package/src/pdf/core/fonts/ttf-reader.d.ts +167 -0
  55. package/src/pdf/core/fonts/ttf-reader.js +1150 -0
  56. package/src/pdf/core/fonts/ttf-table.d.ts +132 -0
  57. package/src/pdf/core/fonts/ttf-table.js +74 -0
  58. package/src/pdf/core/fonts/unicode-true-type-font.d.ts +50 -0
  59. package/src/pdf/core/fonts/unicode-true-type-font.js +289 -0
  60. package/src/pdf/core/form/field.d.ts +3011 -0
  61. package/src/pdf/core/form/field.js +6828 -0
  62. package/src/pdf/core/form/form.d.ts +279 -0
  63. package/src/pdf/core/form/form.js +782 -0
  64. package/src/pdf/core/form/index.d.ts +2 -0
  65. package/src/pdf/core/form/index.js +2 -0
  66. package/src/pdf/core/graphics/images/image-decoder.d.ts +31 -0
  67. package/src/pdf/core/graphics/images/image-decoder.js +130 -0
  68. package/src/{implementation → pdf/core}/graphics/images/index.d.ts +0 -5
  69. package/{dist/es6/implementation → src/pdf/core}/graphics/images/index.js +0 -1
  70. package/src/pdf/core/graphics/images/pdf-bitmap.d.ts +73 -0
  71. package/src/pdf/core/graphics/images/pdf-bitmap.js +68 -0
  72. package/src/pdf/core/graphics/images/pdf-image.d.ts +201 -0
  73. package/src/pdf/core/graphics/images/pdf-image.js +201 -0
  74. package/src/pdf/core/graphics/index.d.ts +10 -0
  75. package/src/pdf/core/graphics/index.js +10 -0
  76. package/src/pdf/core/graphics/pdf-graphics.d.ts +956 -0
  77. package/src/pdf/core/graphics/pdf-graphics.js +1860 -0
  78. package/src/pdf/core/graphics/pdf-path.d.ts +34 -0
  79. package/src/pdf/core/graphics/pdf-path.js +177 -0
  80. package/src/pdf/core/graphics/pdf-stream-writer.d.ts +56 -0
  81. package/src/pdf/core/graphics/pdf-stream-writer.js +231 -0
  82. package/src/pdf/core/graphics/pdf-template.d.ts +79 -0
  83. package/src/pdf/core/graphics/pdf-template.js +100 -0
  84. package/src/pdf/core/graphics/rightToLeft/bidirectional.d.ts +69 -0
  85. package/src/pdf/core/graphics/rightToLeft/bidirectional.js +831 -0
  86. package/src/pdf/core/graphics/rightToLeft/index.d.ts +3 -0
  87. package/src/pdf/core/graphics/rightToLeft/index.js +3 -0
  88. package/src/pdf/core/graphics/rightToLeft/text-renderer.d.ts +13 -0
  89. package/src/pdf/core/graphics/rightToLeft/text-renderer.js +116 -0
  90. package/src/pdf/core/graphics/rightToLeft/text-shape.d.ts +48 -0
  91. package/src/pdf/core/graphics/rightToLeft/text-shape.js +289 -0
  92. package/src/pdf/core/import-export/fdf-document.d.ts +37 -0
  93. package/src/pdf/core/import-export/fdf-document.js +667 -0
  94. package/src/pdf/core/import-export/index.d.ts +5 -0
  95. package/src/pdf/core/import-export/index.js +5 -0
  96. package/src/pdf/core/import-export/json-document.d.ts +47 -0
  97. package/src/pdf/core/import-export/json-document.js +1547 -0
  98. package/src/pdf/core/import-export/xfdf-document.d.ts +146 -0
  99. package/src/pdf/core/import-export/xfdf-document.js +2920 -0
  100. package/src/pdf/core/import-export/xml-document.d.ts +14 -0
  101. package/src/pdf/core/import-export/xml-document.js +166 -0
  102. package/src/pdf/core/import-export/xml-writer.d.ts +69 -0
  103. package/src/pdf/core/import-export/xml-writer.js +494 -0
  104. package/src/pdf/core/pdf-catalog.d.ts +18 -0
  105. package/src/pdf/core/pdf-catalog.js +166 -0
  106. package/src/pdf/core/pdf-cross-reference.d.ts +80 -0
  107. package/src/pdf/core/pdf-cross-reference.js +1049 -0
  108. package/src/pdf/core/pdf-document.d.ts +821 -0
  109. package/src/pdf/core/pdf-document.js +1022 -0
  110. package/src/pdf/core/pdf-file-structure.d.ts +54 -0
  111. package/src/pdf/core/pdf-file-structure.js +65 -0
  112. package/src/pdf/core/pdf-outline.d.ts +362 -0
  113. package/src/pdf/core/pdf-outline.js +860 -0
  114. package/src/pdf/core/pdf-page.d.ts +589 -0
  115. package/src/pdf/core/pdf-page.js +1049 -0
  116. package/src/pdf/core/pdf-parser.d.ts +62 -0
  117. package/src/pdf/core/pdf-parser.js +1035 -0
  118. package/src/pdf/core/pdf-primitives.d.ts +87 -0
  119. package/src/pdf/core/pdf-primitives.js +305 -0
  120. package/src/pdf/core/predictor-stream.d.ts +15 -0
  121. package/src/pdf/core/predictor-stream.js +214 -0
  122. package/src/pdf/core/security/encryptor.d.ts +140 -0
  123. package/src/pdf/core/security/encryptor.js +1616 -0
  124. package/src/pdf/core/security/index.d.ts +1 -0
  125. package/src/pdf/core/security/index.js +1 -0
  126. package/src/pdf/core/utils.d.ts +678 -0
  127. package/src/pdf/core/utils.js +3607 -0
  128. package/src/pdf/index.d.ts +44 -0
  129. package/src/pdf/index.js +44 -0
  130. package/tslint.json +111 -0
  131. package/ReadMe.md +0 -13
  132. package/dist/es6/implementation/actions/action.js +0 -44
  133. package/dist/es6/implementation/actions/index.js +0 -2
  134. package/dist/es6/implementation/actions/uri-action.js +0 -38
  135. package/dist/es6/implementation/annotations/action-link-annotation.js +0 -29
  136. package/dist/es6/implementation/annotations/annotation-collection.js +0 -93
  137. package/dist/es6/implementation/annotations/annotation.js +0 -156
  138. package/dist/es6/implementation/annotations/document-link-annotation.js +0 -48
  139. package/dist/es6/implementation/annotations/index.js +0 -7
  140. package/dist/es6/implementation/annotations/link-annotation.js +0 -31
  141. package/dist/es6/implementation/annotations/pdf-text-web-link.js +0 -178
  142. package/dist/es6/implementation/annotations/uri-annotation.js +0 -64
  143. package/dist/es6/implementation/collections/dictionary.js +0 -71
  144. package/dist/es6/implementation/collections/index.js +0 -3
  145. package/dist/es6/implementation/collections/object-object-pair/dictionary.js +0 -84
  146. package/dist/es6/implementation/collections/object-object-pair/index.js +0 -1
  147. package/dist/es6/implementation/collections/utils.js +0 -8
  148. package/dist/es6/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -17
  149. package/dist/es6/implementation/document/automatic-fields/automatic-field-info.js +0 -68
  150. package/dist/es6/implementation/document/automatic-fields/automatic-field.js +0 -145
  151. package/dist/es6/implementation/document/automatic-fields/composite-field.js +0 -61
  152. package/dist/es6/implementation/document/automatic-fields/index.js +0 -7
  153. package/dist/es6/implementation/document/automatic-fields/multiple-value-field.js +0 -36
  154. package/dist/es6/implementation/document/automatic-fields/page-count-field.js +0 -53
  155. package/dist/es6/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -91
  156. package/dist/es6/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
  157. package/dist/es6/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -34
  158. package/dist/es6/implementation/document/automatic-fields/single-value-field.js +0 -47
  159. package/dist/es6/implementation/document/index.js +0 -11
  160. package/dist/es6/implementation/document/pdf-catalog.js +0 -38
  161. package/dist/es6/implementation/document/pdf-document-base.js +0 -71
  162. package/dist/es6/implementation/document/pdf-document-template.js +0 -204
  163. package/dist/es6/implementation/document/pdf-document.js +0 -175
  164. package/dist/es6/implementation/drawing/index.js +0 -1
  165. package/dist/es6/implementation/drawing/pdf-drawing.js +0 -80
  166. package/dist/es6/implementation/general/enum.js +0 -6
  167. package/dist/es6/implementation/general/index.js +0 -3
  168. package/dist/es6/implementation/general/pdf-cache-collection.js +0 -24
  169. package/dist/es6/implementation/general/pdf-collection.js +0 -26
  170. package/dist/es6/implementation/general/pdf-destination.js +0 -107
  171. package/dist/es6/implementation/graphics/brushes/index.js +0 -2
  172. package/dist/es6/implementation/graphics/brushes/pdf-brush.js +0 -6
  173. package/dist/es6/implementation/graphics/brushes/pdf-solid-brush.js +0 -53
  174. package/dist/es6/implementation/graphics/constants.js +0 -11
  175. package/dist/es6/implementation/graphics/enum.js +0 -100
  176. package/dist/es6/implementation/graphics/figures/base/element-layouter.js +0 -154
  177. package/dist/es6/implementation/graphics/figures/base/graphics-element.js +0 -18
  178. package/dist/es6/implementation/graphics/figures/base/index.js +0 -3
  179. package/dist/es6/implementation/graphics/figures/base/pdf-shape-element.js +0 -32
  180. package/dist/es6/implementation/graphics/figures/base/shape-layouter.js +0 -55
  181. package/dist/es6/implementation/graphics/figures/base/text-layouter.js +0 -123
  182. package/dist/es6/implementation/graphics/figures/enum.js +0 -11
  183. package/dist/es6/implementation/graphics/figures/index.js +0 -5
  184. package/dist/es6/implementation/graphics/figures/layout-element.js +0 -41
  185. package/dist/es6/implementation/graphics/figures/pdf-template.js +0 -110
  186. package/dist/es6/implementation/graphics/figures/text-element.js +0 -298
  187. package/dist/es6/implementation/graphics/fonts/enum.js +0 -45
  188. package/dist/es6/implementation/graphics/fonts/pdf-font-metrics.js +0 -122
  189. package/dist/es6/implementation/graphics/fonts/pdf-font.js +0 -159
  190. package/dist/es6/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -357
  191. package/dist/es6/implementation/graphics/fonts/pdf-standard-font.js +0 -124
  192. package/dist/es6/implementation/graphics/fonts/pdf-string-format.js +0 -239
  193. package/dist/es6/implementation/graphics/fonts/string-layouter.js +0 -335
  194. package/dist/es6/implementation/graphics/fonts/string-tokenizer.js +0 -162
  195. package/dist/es6/implementation/graphics/images/byte-array.js +0 -82
  196. package/dist/es6/implementation/graphics/images/image-decoder.js +0 -167
  197. package/dist/es6/implementation/graphics/images/pdf-bitmap.js +0 -41
  198. package/dist/es6/implementation/graphics/images/pdf-image.js +0 -68
  199. package/dist/es6/implementation/graphics/index.js +0 -20
  200. package/dist/es6/implementation/graphics/pdf-color.js +0 -205
  201. package/dist/es6/implementation/graphics/pdf-graphics.js +0 -1034
  202. package/dist/es6/implementation/graphics/pdf-margins.js +0 -75
  203. package/dist/es6/implementation/graphics/pdf-pen.js +0 -180
  204. package/dist/es6/implementation/graphics/pdf-resources.js +0 -223
  205. package/dist/es6/implementation/graphics/pdf-transformation-matrix.js +0 -134
  206. package/dist/es6/implementation/graphics/pdf-transparency.js +0 -22
  207. package/dist/es6/implementation/graphics/unit-convertor.js +0 -33
  208. package/dist/es6/implementation/index.js +0 -85
  209. package/dist/es6/implementation/input-output/cross-table.js +0 -6
  210. package/dist/es6/implementation/input-output/enum.js +0 -5
  211. package/dist/es6/implementation/input-output/index.js +0 -8
  212. package/dist/es6/implementation/input-output/pdf-cross-table.js +0 -346
  213. package/dist/es6/implementation/input-output/pdf-dictionary-properties.js +0 -60
  214. package/dist/es6/implementation/input-output/pdf-main-object-collection.js +0 -115
  215. package/dist/es6/implementation/input-output/pdf-operators.js +0 -75
  216. package/dist/es6/implementation/input-output/pdf-stream-writer.js +0 -364
  217. package/dist/es6/implementation/input-output/pdf-writer.js +0 -44
  218. package/dist/es6/implementation/pages/enum.js +0 -51
  219. package/dist/es6/implementation/pages/index.js +0 -13
  220. package/dist/es6/implementation/pages/page-added-event-arguments.js +0 -19
  221. package/dist/es6/implementation/pages/pdf-document-page-collection.js +0 -120
  222. package/dist/es6/implementation/pages/pdf-page-base.js +0 -104
  223. package/dist/es6/implementation/pages/pdf-page-layer-collection.js +0 -115
  224. package/dist/es6/implementation/pages/pdf-page-layer.js +0 -160
  225. package/dist/es6/implementation/pages/pdf-page-settings.js +0 -126
  226. package/dist/es6/implementation/pages/pdf-page-size.js +0 -36
  227. package/dist/es6/implementation/pages/pdf-page-template-element.js +0 -510
  228. package/dist/es6/implementation/pages/pdf-page.js +0 -130
  229. package/dist/es6/implementation/pages/pdf-section-collection.js +0 -95
  230. package/dist/es6/implementation/pages/pdf-section-page-collection.js +0 -30
  231. package/dist/es6/implementation/pages/pdf-section-templates.js +0 -71
  232. package/dist/es6/implementation/pages/pdf-section.js +0 -388
  233. package/dist/es6/implementation/primitives/index.js +0 -8
  234. package/dist/es6/implementation/primitives/pdf-array.js +0 -199
  235. package/dist/es6/implementation/primitives/pdf-boolean.js +0 -66
  236. package/dist/es6/implementation/primitives/pdf-dictionary.js +0 -220
  237. package/dist/es6/implementation/primitives/pdf-name.js +0 -102
  238. package/dist/es6/implementation/primitives/pdf-number.js +0 -94
  239. package/dist/es6/implementation/primitives/pdf-reference.js +0 -195
  240. package/dist/es6/implementation/primitives/pdf-stream.js +0 -149
  241. package/dist/es6/implementation/primitives/pdf-string.js +0 -143
  242. package/dist/es6/implementation/structured-elements/grid/index.js +0 -1
  243. package/dist/es6/implementation/structured-elements/grid/pdf-grid-cell.js +0 -512
  244. package/dist/es6/implementation/structured-elements/grid/pdf-grid-column.js +0 -125
  245. package/dist/es6/implementation/structured-elements/grid/pdf-grid-row.js +0 -244
  246. package/dist/es6/implementation/structured-elements/grid/pdf-grid.js +0 -989
  247. package/dist/es6/implementation/structured-elements/grid/styles/index.js +0 -2
  248. package/dist/es6/implementation/structured-elements/grid/styles/pdf-borders.js +0 -145
  249. package/dist/es6/implementation/structured-elements/grid/styles/style.js +0 -267
  250. package/dist/es6/implementation/structured-elements/index.js +0 -1
  251. package/dist/es6/implementation/structured-elements/tables/light-tables/enum.js +0 -5
  252. package/dist/es6/index.js +0 -89
  253. package/dist/es6/interfaces/i-pdf-cache.js +0 -1
  254. package/dist/es6/interfaces/i-pdf-changable.js +0 -1
  255. package/dist/es6/interfaces/i-pdf-primitives.js +0 -1
  256. package/dist/es6/interfaces/i-pdf-wrapper.js +0 -1
  257. package/dist/es6/interfaces/i-pdf-writer.js +0 -1
  258. package/dist/es6/interfaces/index.js +0 -1
  259. package/dist/global/ej2-pdf-export.js +0 -15979
  260. package/implementation.d.ts +0 -4
  261. package/implementation.js +0 -8
  262. package/interfaces.d.ts +0 -4
  263. package/interfaces.js +0 -4
  264. package/src/implementation/actions/action.d.ts +0 -50
  265. package/src/implementation/actions/action.js +0 -44
  266. package/src/implementation/actions/index.d.ts +0 -6
  267. package/src/implementation/actions/index.js +0 -9
  268. package/src/implementation/actions/uri-action.d.ts +0 -33
  269. package/src/implementation/actions/uri-action.js +0 -39
  270. package/src/implementation/annotations/action-link-annotation.d.ts +0 -30
  271. package/src/implementation/annotations/action-link-annotation.js +0 -32
  272. package/src/implementation/annotations/annotation-collection.d.ts +0 -77
  273. package/src/implementation/annotations/annotation-collection.js +0 -91
  274. package/src/implementation/annotations/annotation.d.ts +0 -152
  275. package/src/implementation/annotations/annotation.js +0 -146
  276. package/src/implementation/annotations/document-link-annotation.d.ts +0 -89
  277. package/src/implementation/annotations/document-link-annotation.js +0 -51
  278. package/src/implementation/annotations/index.d.ts +0 -11
  279. package/src/implementation/annotations/index.js +0 -14
  280. package/src/implementation/annotations/link-annotation.d.ts +0 -23
  281. package/src/implementation/annotations/link-annotation.js +0 -33
  282. package/src/implementation/annotations/pdf-text-web-link.d.ts +0 -118
  283. package/src/implementation/annotations/pdf-text-web-link.js +0 -173
  284. package/src/implementation/annotations/uri-annotation.d.ts +0 -48
  285. package/src/implementation/annotations/uri-annotation.js +0 -65
  286. package/src/implementation/collections/dictionary.d.ts +0 -76
  287. package/src/implementation/collections/dictionary.js +0 -74
  288. package/src/implementation/collections/index.d.ts +0 -7
  289. package/src/implementation/collections/index.js +0 -10
  290. package/src/implementation/collections/object-object-pair/dictionary.d.ts +0 -62
  291. package/src/implementation/collections/object-object-pair/dictionary.js +0 -88
  292. package/src/implementation/collections/object-object-pair/index.d.ts +0 -5
  293. package/src/implementation/collections/object-object-pair/index.js +0 -8
  294. package/src/implementation/collections/utils.d.ts +0 -27
  295. package/src/implementation/collections/utils.js +0 -13
  296. package/src/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +0 -31
  297. package/src/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -21
  298. package/src/implementation/document/automatic-fields/automatic-field-info.d.ts +0 -67
  299. package/src/implementation/document/automatic-fields/automatic-field-info.js +0 -70
  300. package/src/implementation/document/automatic-fields/automatic-field.d.ts +0 -41
  301. package/src/implementation/document/automatic-fields/automatic-field.js +0 -143
  302. package/src/implementation/document/automatic-fields/composite-field.d.ts +0 -46
  303. package/src/implementation/document/automatic-fields/composite-field.js +0 -64
  304. package/src/implementation/document/automatic-fields/index.d.ts +0 -11
  305. package/src/implementation/document/automatic-fields/index.js +0 -14
  306. package/src/implementation/document/automatic-fields/multiple-value-field.d.ts +0 -18
  307. package/src/implementation/document/automatic-fields/multiple-value-field.js +0 -35
  308. package/src/implementation/document/automatic-fields/page-count-field.d.ts +0 -44
  309. package/src/implementation/document/automatic-fields/page-count-field.js +0 -53
  310. package/src/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +0 -53
  311. package/src/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -94
  312. package/src/implementation/document/automatic-fields/pdf-page-number-field.d.ts +0 -51
  313. package/src/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
  314. package/src/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +0 -38
  315. package/src/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -38
  316. package/src/implementation/document/automatic-fields/single-value-field.d.ts +0 -15
  317. package/src/implementation/document/automatic-fields/single-value-field.js +0 -46
  318. package/src/implementation/document/index.d.ts +0 -15
  319. package/src/implementation/document/index.js +0 -18
  320. package/src/implementation/document/pdf-catalog.d.ts +0 -32
  321. package/src/implementation/document/pdf-catalog.js +0 -38
  322. package/src/implementation/document/pdf-document-base.d.ts +0 -117
  323. package/src/implementation/document/pdf-document-base.js +0 -72
  324. package/src/implementation/document/pdf-document-template.d.ts +0 -166
  325. package/src/implementation/document/pdf-document-template.js +0 -207
  326. package/src/implementation/document/pdf-document.d.ts +0 -206
  327. package/src/implementation/document/pdf-document.js +0 -166
  328. package/src/implementation/drawing/index.d.ts +0 -5
  329. package/src/implementation/drawing/index.js +0 -8
  330. package/src/implementation/drawing/pdf-drawing.d.ts +0 -93
  331. package/src/implementation/drawing/pdf-drawing.js +0 -84
  332. package/src/implementation/general/enum.d.ts +0 -21
  333. package/src/implementation/general/enum.js +0 -10
  334. package/src/implementation/general/index.d.ts +0 -7
  335. package/src/implementation/general/index.js +0 -10
  336. package/src/implementation/general/pdf-cache-collection.d.ts +0 -33
  337. package/src/implementation/general/pdf-cache-collection.js +0 -27
  338. package/src/implementation/general/pdf-collection.d.ts +0 -26
  339. package/src/implementation/general/pdf-collection.js +0 -30
  340. package/src/implementation/general/pdf-destination.d.ts +0 -103
  341. package/src/implementation/general/pdf-destination.js +0 -103
  342. package/src/implementation/graphics/brushes/index.d.ts +0 -6
  343. package/src/implementation/graphics/brushes/index.js +0 -9
  344. package/src/implementation/graphics/brushes/pdf-brush.d.ts +0 -55
  345. package/src/implementation/graphics/brushes/pdf-brush.js +0 -10
  346. package/src/implementation/graphics/brushes/pdf-solid-brush.d.ts +0 -77
  347. package/src/implementation/graphics/brushes/pdf-solid-brush.js +0 -54
  348. package/src/implementation/graphics/constants.d.ts +0 -31
  349. package/src/implementation/graphics/constants.js +0 -15
  350. package/src/implementation/graphics/enum.d.ts +0 -392
  351. package/src/implementation/graphics/enum.js +0 -104
  352. package/src/implementation/graphics/figures/base/element-layouter.d.ts +0 -160
  353. package/src/implementation/graphics/figures/base/element-layouter.js +0 -156
  354. package/src/implementation/graphics/figures/base/graphics-element.d.ts +0 -16
  355. package/src/implementation/graphics/figures/base/graphics-element.js +0 -22
  356. package/src/implementation/graphics/figures/base/index.d.ts +0 -7
  357. package/src/implementation/graphics/figures/base/index.js +0 -10
  358. package/src/implementation/graphics/figures/base/pdf-shape-element.d.ts +0 -28
  359. package/src/implementation/graphics/figures/base/pdf-shape-element.js +0 -34
  360. package/src/implementation/graphics/figures/base/shape-layouter.d.ts +0 -80
  361. package/src/implementation/graphics/figures/base/shape-layouter.js +0 -57
  362. package/src/implementation/graphics/figures/base/text-layouter.d.ts +0 -107
  363. package/src/implementation/graphics/figures/base/text-layouter.js +0 -121
  364. package/src/implementation/graphics/figures/enum.d.ts +0 -37
  365. package/src/implementation/graphics/figures/enum.js +0 -15
  366. package/src/implementation/graphics/figures/index.d.ts +0 -9
  367. package/src/implementation/graphics/figures/index.js +0 -12
  368. package/src/implementation/graphics/figures/layout-element.d.ts +0 -57
  369. package/src/implementation/graphics/figures/layout-element.js +0 -43
  370. package/src/implementation/graphics/figures/pdf-template.d.ts +0 -113
  371. package/src/implementation/graphics/figures/pdf-template.js +0 -106
  372. package/src/implementation/graphics/figures/text-element.d.ts +0 -213
  373. package/src/implementation/graphics/figures/text-element.js +0 -289
  374. package/src/implementation/graphics/fonts/enum.d.ts +0 -179
  375. package/src/implementation/graphics/fonts/enum.js +0 -49
  376. package/src/implementation/graphics/fonts/index.d.ts +0 -12
  377. package/src/implementation/graphics/fonts/index.js +0 -15
  378. package/src/implementation/graphics/fonts/pdf-font-metrics.d.ts +0 -160
  379. package/src/implementation/graphics/fonts/pdf-font-metrics.js +0 -123
  380. package/src/implementation/graphics/fonts/pdf-font.d.ts +0 -187
  381. package/src/implementation/graphics/fonts/pdf-font.js +0 -158
  382. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +0 -301
  383. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -359
  384. package/src/implementation/graphics/fonts/pdf-standard-font.d.ts +0 -143
  385. package/src/implementation/graphics/fonts/pdf-standard-font.js +0 -121
  386. package/src/implementation/graphics/fonts/pdf-string-format.d.ts +0 -319
  387. package/src/implementation/graphics/fonts/pdf-string-format.js +0 -241
  388. package/src/implementation/graphics/fonts/string-layouter.d.ts +0 -255
  389. package/src/implementation/graphics/fonts/string-layouter.js +0 -336
  390. package/src/implementation/graphics/fonts/string-tokenizer.d.ts +0 -107
  391. package/src/implementation/graphics/fonts/string-tokenizer.js +0 -166
  392. package/src/implementation/graphics/images/byte-array.d.ts +0 -68
  393. package/src/implementation/graphics/images/byte-array.js +0 -86
  394. package/src/implementation/graphics/images/image-decoder.d.ts +0 -227
  395. package/src/implementation/graphics/images/image-decoder.js +0 -164
  396. package/src/implementation/graphics/images/index.js +0 -11
  397. package/src/implementation/graphics/images/pdf-bitmap.d.ts +0 -90
  398. package/src/implementation/graphics/images/pdf-bitmap.js +0 -41
  399. package/src/implementation/graphics/images/pdf-image.d.ts +0 -88
  400. package/src/implementation/graphics/images/pdf-image.js +0 -69
  401. package/src/implementation/graphics/index.d.ts +0 -24
  402. package/src/implementation/graphics/index.js +0 -27
  403. package/src/implementation/graphics/pdf-color.d.ts +0 -170
  404. package/src/implementation/graphics/pdf-color.js +0 -204
  405. package/src/implementation/graphics/pdf-graphics.d.ts +0 -1085
  406. package/src/implementation/graphics/pdf-graphics.js +0 -1017
  407. package/src/implementation/graphics/pdf-margins.d.ts +0 -82
  408. package/src/implementation/graphics/pdf-margins.js +0 -79
  409. package/src/implementation/graphics/pdf-pen.d.ts +0 -237
  410. package/src/implementation/graphics/pdf-pen.js +0 -181
  411. package/src/implementation/graphics/pdf-resources.d.ts +0 -147
  412. package/src/implementation/graphics/pdf-resources.js +0 -215
  413. package/src/implementation/graphics/pdf-transformation-matrix.d.ts +0 -143
  414. package/src/implementation/graphics/pdf-transformation-matrix.js +0 -136
  415. package/src/implementation/graphics/pdf-transparency.d.ts +0 -34
  416. package/src/implementation/graphics/pdf-transparency.js +0 -22
  417. package/src/implementation/graphics/unit-convertor.d.ts +0 -72
  418. package/src/implementation/graphics/unit-convertor.js +0 -37
  419. package/src/implementation/index.d.ts +0 -89
  420. package/src/implementation/index.js +0 -92
  421. package/src/implementation/input-output/cross-table.d.ts +0 -21
  422. package/src/implementation/input-output/cross-table.js +0 -10
  423. package/src/implementation/input-output/enum.d.ts +0 -16
  424. package/src/implementation/input-output/enum.js +0 -9
  425. package/src/implementation/input-output/index.d.ts +0 -12
  426. package/src/implementation/input-output/index.js +0 -15
  427. package/src/implementation/input-output/pdf-cross-table.d.ts +0 -249
  428. package/src/implementation/input-output/pdf-cross-table.js +0 -340
  429. package/src/implementation/input-output/pdf-dictionary-properties.d.ts +0 -283
  430. package/src/implementation/input-output/pdf-dictionary-properties.js +0 -64
  431. package/src/implementation/input-output/pdf-main-object-collection.d.ts +0 -120
  432. package/src/implementation/input-output/pdf-main-object-collection.js +0 -117
  433. package/src/implementation/input-output/pdf-operators.d.ts +0 -352
  434. package/src/implementation/input-output/pdf-operators.js +0 -79
  435. package/src/implementation/input-output/pdf-stream-writer.d.ts +0 -314
  436. package/src/implementation/input-output/pdf-stream-writer.js +0 -363
  437. package/src/implementation/input-output/pdf-writer.d.ts +0 -68
  438. package/src/implementation/input-output/pdf-writer.js +0 -48
  439. package/src/implementation/pages/enum.d.ts +0 -201
  440. package/src/implementation/pages/enum.js +0 -55
  441. package/src/implementation/pages/index.d.ts +0 -17
  442. package/src/implementation/pages/index.js +0 -20
  443. package/src/implementation/pages/page-added-event-arguments.d.ts +0 -30
  444. package/src/implementation/pages/page-added-event-arguments.js +0 -23
  445. package/src/implementation/pages/pdf-document-page-collection.d.ts +0 -92
  446. package/src/implementation/pages/pdf-document-page-collection.js +0 -121
  447. package/src/implementation/pages/pdf-page-base.d.ts +0 -121
  448. package/src/implementation/pages/pdf-page-base.js +0 -104
  449. package/src/implementation/pages/pdf-page-layer-collection.d.ts +0 -99
  450. package/src/implementation/pages/pdf-page-layer-collection.js +0 -113
  451. package/src/implementation/pages/pdf-page-layer.d.ts +0 -160
  452. package/src/implementation/pages/pdf-page-layer.js +0 -159
  453. package/src/implementation/pages/pdf-page-settings.d.ts +0 -111
  454. package/src/implementation/pages/pdf-page-settings.js +0 -126
  455. package/src/implementation/pages/pdf-page-size.d.ts +0 -159
  456. package/src/implementation/pages/pdf-page-size.js +0 -39
  457. package/src/implementation/pages/pdf-page-template-element.d.ts +0 -230
  458. package/src/implementation/pages/pdf-page-template-element.js +0 -509
  459. package/src/implementation/pages/pdf-page.d.ts +0 -153
  460. package/src/implementation/pages/pdf-page.js +0 -127
  461. package/src/implementation/pages/pdf-section-collection.d.ts +0 -109
  462. package/src/implementation/pages/pdf-section-collection.js +0 -91
  463. package/src/implementation/pages/pdf-section-page-collection.d.ts +0 -41
  464. package/src/implementation/pages/pdf-section-page-collection.js +0 -34
  465. package/src/implementation/pages/pdf-section-templates.d.ts +0 -64
  466. package/src/implementation/pages/pdf-section-templates.js +0 -74
  467. package/src/implementation/pages/pdf-section.d.ts +0 -319
  468. package/src/implementation/pages/pdf-section.js +0 -379
  469. package/src/implementation/primitives/index.d.ts +0 -12
  470. package/src/implementation/primitives/index.js +0 -15
  471. package/src/implementation/primitives/pdf-array.d.ts +0 -186
  472. package/src/implementation/primitives/pdf-array.js +0 -201
  473. package/src/implementation/primitives/pdf-boolean.d.ts +0 -84
  474. package/src/implementation/primitives/pdf-boolean.js +0 -70
  475. package/src/implementation/primitives/pdf-dictionary.d.ts +0 -311
  476. package/src/implementation/primitives/pdf-dictionary.js +0 -220
  477. package/src/implementation/primitives/pdf-name.d.ts +0 -121
  478. package/src/implementation/primitives/pdf-name.js +0 -106
  479. package/src/implementation/primitives/pdf-number.d.ts +0 -104
  480. package/src/implementation/primitives/pdf-number.js +0 -98
  481. package/src/implementation/primitives/pdf-reference.d.ts +0 -222
  482. package/src/implementation/primitives/pdf-reference.js +0 -192
  483. package/src/implementation/primitives/pdf-stream.d.ts +0 -111
  484. package/src/implementation/primitives/pdf-stream.js +0 -146
  485. package/src/implementation/primitives/pdf-string.d.ts +0 -212
  486. package/src/implementation/primitives/pdf-string.js +0 -147
  487. package/src/implementation/structured-elements/grid/index.d.ts +0 -0
  488. package/src/implementation/structured-elements/grid/index.js +0 -1
  489. package/src/implementation/structured-elements/grid/pdf-grid-cell.d.ts +0 -248
  490. package/src/implementation/structured-elements/grid/pdf-grid-cell.js +0 -504
  491. package/src/implementation/structured-elements/grid/pdf-grid-column.d.ts +0 -108
  492. package/src/implementation/structured-elements/grid/pdf-grid-column.js +0 -127
  493. package/src/implementation/structured-elements/grid/pdf-grid-row.d.ts +0 -207
  494. package/src/implementation/structured-elements/grid/pdf-grid-row.js +0 -246
  495. package/src/implementation/structured-elements/grid/pdf-grid.d.ts +0 -678
  496. package/src/implementation/structured-elements/grid/pdf-grid.js +0 -982
  497. package/src/implementation/structured-elements/grid/styles/index.d.ts +0 -5
  498. package/src/implementation/structured-elements/grid/styles/index.js +0 -9
  499. package/src/implementation/structured-elements/grid/styles/pdf-borders.d.ts +0 -126
  500. package/src/implementation/structured-elements/grid/styles/pdf-borders.js +0 -146
  501. package/src/implementation/structured-elements/grid/styles/style.d.ts +0 -250
  502. package/src/implementation/structured-elements/grid/styles/style.js +0 -269
  503. package/src/implementation/structured-elements/index.d.ts +0 -0
  504. package/src/implementation/structured-elements/index.js +0 -1
  505. package/src/implementation/structured-elements/tables/light-tables/enum.d.ts +0 -16
  506. package/src/implementation/structured-elements/tables/light-tables/enum.js +0 -9
  507. package/src/interfaces/i-pdf-cache.d.ts +0 -23
  508. package/src/interfaces/i-pdf-cache.js +0 -4
  509. package/src/interfaces/i-pdf-changable.d.ts +0 -17
  510. package/src/interfaces/i-pdf-changable.js +0 -4
  511. package/src/interfaces/i-pdf-primitives.d.ts +0 -45
  512. package/src/interfaces/i-pdf-primitives.js +0 -4
  513. package/src/interfaces/i-pdf-wrapper.d.ts +0 -13
  514. package/src/interfaces/i-pdf-wrapper.js +0 -4
  515. package/src/interfaces/i-pdf-writer.d.ts +0 -29
  516. package/src/interfaces/i-pdf-writer.js +0 -4
  517. package/src/interfaces/index.d.ts +0 -9
  518. package/src/interfaces/index.js +0 -4
@@ -0,0 +1,34 @@
1
+ import { PdfPen } from './pdf-graphics';
2
+ import { PdfFillMode } from './../enumerator';
3
+ export declare class _PdfPath {
4
+ _fillMode: PdfFillMode;
5
+ _points: Array<number[]>;
6
+ _pathTypes: _PathPointType[];
7
+ _pen: PdfPen;
8
+ _isStart: boolean;
9
+ _isRoundedRectangle: boolean;
10
+ constructor();
11
+ readonly _lastPoint: number[];
12
+ _addLine(x1: number, y1: number, x2: number, y2: number): void;
13
+ _addLines(linePoints: Array<number[]>): void;
14
+ _addPoints(points: number[], type: _PathPointType, start?: number, end?: number): void;
15
+ _addPoint(points: number[], type: _PathPointType): void;
16
+ _addArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
17
+ _addRectangle(x: number, y: number, width: number, height: number): void;
18
+ _addPolygon(points: Array<number[]>): void;
19
+ _addEllipse(x: number, y: number, width: number, height: number): void;
20
+ _addBezierPoints(pointsCollection: number[][]): void;
21
+ _addBezier(x: number, y: number, firstX: number, firstY: number, secondX: number, secondY: number, endX: number, endY: number): void;
22
+ _closeFigure(index?: number): void;
23
+ _startFigure(): void;
24
+ _getBounds(): number[];
25
+ }
26
+ export declare enum _PathPointType {
27
+ start = 0,
28
+ line = 1,
29
+ bezier = 3,
30
+ pathTypeMask = 7,
31
+ dashMode = 16,
32
+ pathMarker = 32,
33
+ closePath = 128
34
+ }
@@ -0,0 +1,177 @@
1
+ import { _getBezierArc } from './../utils';
2
+ import { PdfFillMode } from './../enumerator';
3
+ var _PdfPath = /** @class */ (function () {
4
+ function _PdfPath() {
5
+ this._isRoundedRectangle = false;
6
+ this._fillMode = PdfFillMode.winding;
7
+ this._points = [];
8
+ this._pathTypes = [];
9
+ this._isStart = true;
10
+ }
11
+ Object.defineProperty(_PdfPath.prototype, "_lastPoint", {
12
+ get: function () {
13
+ var value = [0, 0];
14
+ var count = this._points.length;
15
+ if (this._points.length > 0) {
16
+ value[0] = this._points[(count - 1)][0];
17
+ value[1] = this._points[(count - 1)][0];
18
+ }
19
+ return value;
20
+ },
21
+ enumerable: true,
22
+ configurable: true
23
+ });
24
+ _PdfPath.prototype._addLine = function (x1, y1, x2, y2) {
25
+ this._addPoints([x1, y1, x2, y2], _PathPointType.line);
26
+ };
27
+ _PdfPath.prototype._addLines = function (linePoints) {
28
+ var start = linePoints[0];
29
+ if (linePoints.length === 1) {
30
+ this._addPoint(linePoints[0], _PathPointType.line);
31
+ }
32
+ else {
33
+ for (var i = 1; i < linePoints.length; i++) {
34
+ var last = linePoints[Number.parseInt(i.toString(), 10)];
35
+ this._addLine(start[0], start[1], last[0], last[1]);
36
+ start = last;
37
+ }
38
+ }
39
+ };
40
+ _PdfPath.prototype._addPoints = function (points, type, start, end) {
41
+ var startIndex = (typeof start !== 'undefined') ? start : 0;
42
+ var endIndex = (typeof end !== 'undefined') ? end : points.length;
43
+ for (var i = startIndex; i < endIndex; i++) {
44
+ var point = [points[Number.parseInt(i.toString(), 10)], points[i + 1]];
45
+ if (i === startIndex) {
46
+ if (this._points.length === 0 || this._isStart) {
47
+ this._addPoint(point, _PathPointType.start);
48
+ this._isStart = false;
49
+ }
50
+ else if (this._isRoundedRectangle && (point[0] !== this._lastPoint[0] || point[1] !== this._lastPoint[1])) {
51
+ this._addPoint(point, _PathPointType.line);
52
+ }
53
+ else if (point[0] !== this._lastPoint[0] && point[1] !== this._lastPoint[1]) {
54
+ this._addPoint(point, _PathPointType.line);
55
+ }
56
+ }
57
+ else {
58
+ this._addPoint(point, type);
59
+ }
60
+ i++;
61
+ }
62
+ };
63
+ _PdfPath.prototype._addPoint = function (points, type) {
64
+ this._points.push(points);
65
+ this._pathTypes.push(type);
66
+ };
67
+ _PdfPath.prototype._addArc = function (x, y, width, height, startAngle, sweepAngle) {
68
+ var points = _getBezierArc(x, y, x + width, y + height, startAngle, sweepAngle);
69
+ for (var i = 0; i < points.length; ++i) {
70
+ var list = [points[Number.parseInt(i.toString(), 10)],
71
+ points[++i],
72
+ points[++i],
73
+ points[++i],
74
+ points[++i],
75
+ points[++i],
76
+ points[++i],
77
+ points[++i]];
78
+ this._addPoints(list, _PathPointType.bezier);
79
+ }
80
+ };
81
+ _PdfPath.prototype._addRectangle = function (x, y, width, height) {
82
+ this._startFigure();
83
+ this._addPoints([x, y, x + width, y, x + width, y + height, x, y + height], _PathPointType.line);
84
+ this._closeFigure();
85
+ };
86
+ _PdfPath.prototype._addPolygon = function (points) {
87
+ var newPoints = [];
88
+ points.forEach(function (element) {
89
+ newPoints.push(element[0], element[1]);
90
+ });
91
+ this._startFigure();
92
+ this._addPoints(newPoints, _PathPointType.line);
93
+ this._closeFigure();
94
+ };
95
+ _PdfPath.prototype._addEllipse = function (x, y, width, height) {
96
+ this._startFigure();
97
+ this._addArc(x, y, width, height, 0, 360);
98
+ this._closeFigure();
99
+ };
100
+ _PdfPath.prototype._addBezierPoints = function (pointsCollection) {
101
+ if (pointsCollection.length < 4) {
102
+ throw Error('Incorrect size of array points');
103
+ }
104
+ var bound = 3;
105
+ var index = 0;
106
+ var start = pointsCollection[Number.parseInt(index.toString(), 10)];
107
+ index++;
108
+ while ((index + bound) <= pointsCollection.length) {
109
+ var inner1 = pointsCollection[Number.parseInt(index.toString(), 10)];
110
+ index++;
111
+ var inner2 = pointsCollection[Number.parseInt(index.toString(), 10)];
112
+ index++;
113
+ var end = pointsCollection[Number.parseInt(index.toString(), 10)];
114
+ index++;
115
+ this._addBezier(start[0], start[1], inner1[0], inner1[1], inner2[0], inner2[1], end[0], end[1]);
116
+ start = end;
117
+ }
118
+ };
119
+ _PdfPath.prototype._addBezier = function (x, y, firstX, firstY, secondX, secondY, endX, endY) {
120
+ var points = [];
121
+ points.push(x);
122
+ points.push(y);
123
+ points.push(firstX);
124
+ points.push(firstY);
125
+ points.push(secondX);
126
+ points.push(secondY);
127
+ points.push(endX);
128
+ points.push(endY);
129
+ this._addPoints(points, _PathPointType.bezier);
130
+ };
131
+ _PdfPath.prototype._closeFigure = function (index) {
132
+ if (typeof index !== 'undefined') {
133
+ var type = this._pathTypes[Number.parseInt(index.toString(), 10)];
134
+ type |= _PathPointType.closePath;
135
+ this._pathTypes[Number.parseInt(index.toString(), 10)] = type;
136
+ }
137
+ else {
138
+ if (this._points.length > 0) {
139
+ this._closeFigure(this._points.length - 1);
140
+ }
141
+ this._startFigure();
142
+ }
143
+ };
144
+ _PdfPath.prototype._startFigure = function () {
145
+ this._isStart = true;
146
+ };
147
+ _PdfPath.prototype._getBounds = function () {
148
+ var bounds = [0, 0, 0, 0];
149
+ if (this._points.length > 0) {
150
+ var xmin = this._points[0][0];
151
+ var xmax = this._points[0][0];
152
+ var ymin = this._points[0][1];
153
+ var ymax = this._points[0][1];
154
+ for (var i = 1; i < this._points.length; ++i) {
155
+ var point = this._points[Number.parseInt(i.toString(), 10)];
156
+ xmin = Math.min(point[0], xmin);
157
+ xmax = Math.max(point[0], xmax);
158
+ ymin = Math.min(point[1], ymin);
159
+ ymax = Math.max(point[1], ymax);
160
+ }
161
+ bounds = [xmin, ymin, xmax - xmin, ymax - ymin];
162
+ }
163
+ return bounds;
164
+ };
165
+ return _PdfPath;
166
+ }());
167
+ export { _PdfPath };
168
+ export var _PathPointType;
169
+ (function (_PathPointType) {
170
+ _PathPointType[_PathPointType["start"] = 0] = "start";
171
+ _PathPointType[_PathPointType["line"] = 1] = "line";
172
+ _PathPointType[_PathPointType["bezier"] = 3] = "bezier";
173
+ _PathPointType[_PathPointType["pathTypeMask"] = 7] = "pathTypeMask";
174
+ _PathPointType[_PathPointType["dashMode"] = 16] = "dashMode";
175
+ _PathPointType[_PathPointType["pathMarker"] = 32] = "pathMarker";
176
+ _PathPointType[_PathPointType["closePath"] = 128] = "closePath";
177
+ })(_PathPointType || (_PathPointType = {}));
@@ -0,0 +1,56 @@
1
+ import { _PdfContentStream } from './../base-stream';
2
+ import { _PdfTransformationMatrix } from './pdf-graphics';
3
+ import { _PdfName } from './../pdf-primitives';
4
+ export declare class _PdfStreamWriter {
5
+ _stream: _PdfContentStream;
6
+ _newLine: string;
7
+ _whiteSpace: string;
8
+ constructor(stream: _PdfContentStream);
9
+ _writeOperator(value: string): void;
10
+ _saveGraphicsState(): void;
11
+ _restoreGraphicsState(): void;
12
+ _writeComment(comment: string): void;
13
+ _setGraphicsState(value: _PdfName): void;
14
+ _modifyCtm(matrix: _PdfTransformationMatrix): void;
15
+ _modifyTM(matrix: _PdfTransformationMatrix): void;
16
+ _setColorSpace(value: string, forStroking: boolean): void;
17
+ _setColor(color: number[], forStroking: boolean): void;
18
+ _appendRectangle(x: number, y: number, width: number, height: number): void;
19
+ _writePoint(x: number, y: number): void;
20
+ _clipPath(isEvenOdd: boolean): void;
21
+ _fillPath(isEvenOdd: boolean): void;
22
+ _closeFillPath(isEvenOdd: boolean): void;
23
+ _strokePath(): void;
24
+ _closeStrokePath(): void;
25
+ _fillStrokePath(isEvenOdd: boolean): void;
26
+ _closeFillStrokePath(isEvenOdd: boolean): void;
27
+ _endPath(): void;
28
+ _setFont(name: string, size: number): void;
29
+ _setTextScaling(textScaling: number): void;
30
+ _closePath(): void;
31
+ _startNextLine(): void;
32
+ _startNextLine(x: number, y: number): void;
33
+ _showText(text: string): void;
34
+ _write(string: string): void;
35
+ _writeText(text: string): void;
36
+ _beginText(): void;
37
+ _endText(): void;
38
+ _beginPath(x: number, y: number): void;
39
+ _appendLineSegment(x: number, y: number): void;
40
+ _appendBezierSegment(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
41
+ _setTextRenderingMode(renderingMode: number): void;
42
+ _setCharacterSpacing(charSpacing: number): void;
43
+ _setWordSpacing(wordSpacing: number): void;
44
+ _showNextLineText(text: string): void;
45
+ _showNextLineText(text: string, unicode: boolean): void;
46
+ _setLineDashPattern(pattern: number[], patternOffset: number): void;
47
+ _setMiterLimit(miterLimit: number): void;
48
+ _setLineWidth(width: number): void;
49
+ _setLineCap(lineCapStyle: number): void;
50
+ _setLineJoin(lineJoinStyle: number): void;
51
+ _executeObject(name: _PdfName): void;
52
+ _beginMarkupSequence(name: string): void;
53
+ _endMarkupSequence(): void;
54
+ _clear(): void;
55
+ _escapeSymbols(value: string): number[];
56
+ }
@@ -0,0 +1,231 @@
1
+ import { _escapePdfName } from './../utils';
2
+ var _PdfStreamWriter = /** @class */ (function () {
3
+ function _PdfStreamWriter(stream) {
4
+ this._newLine = '\r\n';
5
+ this._whiteSpace = ' ';
6
+ this._stream = stream;
7
+ }
8
+ _PdfStreamWriter.prototype._writeOperator = function (value) {
9
+ this._stream.write(value);
10
+ this._stream.write(this._newLine);
11
+ };
12
+ _PdfStreamWriter.prototype._saveGraphicsState = function () {
13
+ this._writeOperator('q');
14
+ };
15
+ _PdfStreamWriter.prototype._restoreGraphicsState = function () {
16
+ this._writeOperator('Q');
17
+ };
18
+ _PdfStreamWriter.prototype._writeComment = function (comment) {
19
+ if (comment && comment.length > 0) {
20
+ this._writeOperator('% ' + comment);
21
+ }
22
+ };
23
+ _PdfStreamWriter.prototype._setGraphicsState = function (value) {
24
+ this._stream.write("/" + _escapePdfName(value.name) + " ");
25
+ this._writeOperator('gs');
26
+ };
27
+ _PdfStreamWriter.prototype._modifyCtm = function (matrix) {
28
+ this._stream.write(matrix._toString() + " ");
29
+ this._writeOperator('cm');
30
+ };
31
+ _PdfStreamWriter.prototype._modifyTM = function (matrix) {
32
+ this._stream.write(matrix._toString() + " ");
33
+ this._writeOperator('Tm');
34
+ };
35
+ _PdfStreamWriter.prototype._setColorSpace = function (value, forStroking) {
36
+ this._stream.write("/" + value + " ");
37
+ this._writeOperator(forStroking ? 'CS' : 'cs');
38
+ };
39
+ _PdfStreamWriter.prototype._setColor = function (color, forStroking) {
40
+ this._stream.write((color[0] / 255).toFixed(3) + " " + (color[1] / 255).toFixed(3) + " " + (color[2] / 255).toFixed(3) + " ");
41
+ this._writeOperator(forStroking ? 'RG' : 'rg');
42
+ };
43
+ _PdfStreamWriter.prototype._appendRectangle = function (x, y, width, height) {
44
+ this._writePoint(x, y);
45
+ this._writePoint(width, height);
46
+ this._writeOperator('re');
47
+ };
48
+ _PdfStreamWriter.prototype._writePoint = function (x, y) {
49
+ this._stream.write(x.toFixed(3) + " " + (-y).toFixed(3) + " ");
50
+ };
51
+ _PdfStreamWriter.prototype._clipPath = function (isEvenOdd) {
52
+ this._stream.write((isEvenOdd ? 'W*' : 'W') + " n" + this._newLine);
53
+ };
54
+ _PdfStreamWriter.prototype._fillPath = function (isEvenOdd) {
55
+ this._writeOperator(isEvenOdd ? 'f*' : 'f');
56
+ };
57
+ _PdfStreamWriter.prototype._closeFillPath = function (isEvenOdd) {
58
+ this._writeOperator('h');
59
+ this._fillPath(isEvenOdd);
60
+ };
61
+ _PdfStreamWriter.prototype._strokePath = function () {
62
+ this._writeOperator('S');
63
+ };
64
+ _PdfStreamWriter.prototype._closeStrokePath = function () {
65
+ this._writeOperator('s');
66
+ };
67
+ _PdfStreamWriter.prototype._fillStrokePath = function (isEvenOdd) {
68
+ this._writeOperator(isEvenOdd ? 'B*' : 'B');
69
+ };
70
+ _PdfStreamWriter.prototype._closeFillStrokePath = function (isEvenOdd) {
71
+ this._writeOperator(isEvenOdd ? 'b*' : 'b');
72
+ };
73
+ _PdfStreamWriter.prototype._endPath = function () {
74
+ this._writeOperator('n');
75
+ };
76
+ _PdfStreamWriter.prototype._setFont = function (name, size) {
77
+ this._stream.write("/" + name + " " + size.toFixed(3) + " ");
78
+ this._writeOperator('Tf');
79
+ };
80
+ _PdfStreamWriter.prototype._setTextScaling = function (textScaling) {
81
+ this._stream.write(textScaling.toFixed(3) + " ");
82
+ this._writeOperator('Tz');
83
+ };
84
+ _PdfStreamWriter.prototype._closePath = function () {
85
+ this._writeOperator('h');
86
+ };
87
+ _PdfStreamWriter.prototype._startNextLine = function (x, y) {
88
+ if (typeof x === 'undefined') {
89
+ this._writeOperator('T*');
90
+ }
91
+ else {
92
+ this._writePoint(x, y);
93
+ this._writeOperator('Td');
94
+ }
95
+ };
96
+ _PdfStreamWriter.prototype._showText = function (text) {
97
+ this._writeText(text);
98
+ this._writeOperator('Tj');
99
+ };
100
+ _PdfStreamWriter.prototype._write = function (string) {
101
+ var builder = '';
102
+ builder += string;
103
+ builder += '\r\n';
104
+ this._writeOperator(builder);
105
+ };
106
+ _PdfStreamWriter.prototype._writeText = function (text) {
107
+ var result = '';
108
+ var data = this._escapeSymbols(text);
109
+ for (var i = 0; i < data.length; i++) {
110
+ result += String.fromCharCode(data[i]); // eslint-disable-line
111
+ }
112
+ result = '(' + result + ')';
113
+ this._stream.write(result);
114
+ };
115
+ _PdfStreamWriter.prototype._beginText = function () {
116
+ this._writeOperator('BT');
117
+ };
118
+ _PdfStreamWriter.prototype._endText = function () {
119
+ this._writeOperator('ET');
120
+ };
121
+ _PdfStreamWriter.prototype._beginPath = function (x, y) {
122
+ this._writePoint(x, y);
123
+ this._writeOperator('m');
124
+ };
125
+ _PdfStreamWriter.prototype._appendLineSegment = function (x, y) {
126
+ this._writePoint(x, y);
127
+ this._writeOperator('l');
128
+ };
129
+ _PdfStreamWriter.prototype._appendBezierSegment = function (x1, y1, x2, y2, x3, y3) {
130
+ this._writePoint(x1, y1);
131
+ this._writePoint(x2, y2);
132
+ this._writePoint(x3, y3);
133
+ this._writeOperator('c');
134
+ };
135
+ _PdfStreamWriter.prototype._setTextRenderingMode = function (renderingMode) {
136
+ this._stream.write(renderingMode.toString() + " ");
137
+ this._writeOperator('Tr');
138
+ };
139
+ _PdfStreamWriter.prototype._setCharacterSpacing = function (charSpacing) {
140
+ this._stream.write(charSpacing.toFixed(3) + " ");
141
+ this._writeOperator('Tc');
142
+ };
143
+ _PdfStreamWriter.prototype._setWordSpacing = function (wordSpacing) {
144
+ this._stream.write(wordSpacing.toFixed(3) + " ");
145
+ this._writeOperator('Tw');
146
+ };
147
+ _PdfStreamWriter.prototype._showNextLineText = function (text, unicode) {
148
+ if (unicode !== null && typeof unicode !== 'undefined' && unicode) {
149
+ this._writeText(text);
150
+ this._writeOperator('\'');
151
+ }
152
+ else {
153
+ this._stream.write(text);
154
+ this._writeOperator('\'');
155
+ }
156
+ };
157
+ _PdfStreamWriter.prototype._setLineDashPattern = function (pattern, patternOffset) {
158
+ var tempPattern = '[';
159
+ if (pattern.length > 1) {
160
+ for (var index = 0; index < pattern.length; index++) {
161
+ if (index === pattern.length - 1) {
162
+ tempPattern += pattern[index].toString(); // eslint-disable-line
163
+ }
164
+ else {
165
+ tempPattern += pattern[index].toString() + ' '; // eslint-disable-line
166
+ }
167
+ }
168
+ }
169
+ tempPattern += '] ';
170
+ tempPattern += patternOffset.toString();
171
+ tempPattern += ' d';
172
+ this._writeOperator(tempPattern);
173
+ };
174
+ _PdfStreamWriter.prototype._setMiterLimit = function (miterLimit) {
175
+ this._stream.write(miterLimit.toFixed(3) + " ");
176
+ this._writeOperator('M');
177
+ };
178
+ _PdfStreamWriter.prototype._setLineWidth = function (width) {
179
+ this._stream.write(width.toFixed(3) + " ");
180
+ this._writeOperator('w');
181
+ };
182
+ _PdfStreamWriter.prototype._setLineCap = function (lineCapStyle) {
183
+ this._stream.write(lineCapStyle + " ");
184
+ this._writeOperator('J');
185
+ };
186
+ _PdfStreamWriter.prototype._setLineJoin = function (lineJoinStyle) {
187
+ this._stream.write(lineJoinStyle + " ");
188
+ this._writeOperator('j');
189
+ };
190
+ _PdfStreamWriter.prototype._executeObject = function (name) {
191
+ this._stream.write("/" + name.name + " ");
192
+ this._writeOperator('Do');
193
+ };
194
+ _PdfStreamWriter.prototype._beginMarkupSequence = function (name) {
195
+ this._stream.write("/" + name + " ");
196
+ this._writeOperator('BMC');
197
+ };
198
+ _PdfStreamWriter.prototype._endMarkupSequence = function () {
199
+ this._writeOperator('EMC');
200
+ };
201
+ _PdfStreamWriter.prototype._clear = function () {
202
+ this._stream._bytes = [];
203
+ };
204
+ _PdfStreamWriter.prototype._escapeSymbols = function (value) {
205
+ var data = [];
206
+ for (var i = 0; i < value.length; i++) {
207
+ var currentData = value.charCodeAt(i);
208
+ switch (currentData) {
209
+ case 40:
210
+ case 41:
211
+ data.push(92);
212
+ data.push(currentData);
213
+ break;
214
+ case 13:
215
+ data.push(92);
216
+ data.push(114);
217
+ break;
218
+ case 92:
219
+ data.push(92);
220
+ data.push(currentData);
221
+ break;
222
+ default:
223
+ data.push(currentData);
224
+ break;
225
+ }
226
+ }
227
+ return data;
228
+ };
229
+ return _PdfStreamWriter;
230
+ }());
231
+ export { _PdfStreamWriter };
@@ -0,0 +1,79 @@
1
+ import { _PdfBaseStream } from './../base-stream';
2
+ import { PdfGraphics } from './pdf-graphics';
3
+ import { _PdfCrossReference } from './../pdf-cross-reference';
4
+ /**
5
+ * `PdfTemplate` class represents the template of the PDF.
6
+ * ```typescript
7
+ * // Load an existing PDF document
8
+ * let document: PdfDocument = new PdfDocument(data, password);
9
+ * // Get the first page
10
+ * let page: PdfPage = document.getPage(0) as PdfPage;
11
+ * // Create a new rubber stamp annotation
12
+ * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
13
+ * // Get the normal appearance of the annotation
14
+ * let normalAppearance: PdfTemplate = annotation.appearance.normal;
15
+ * // Create new image object by using JPEG image data as Base64 string format
16
+ * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
17
+ * // Draw the image as the custom appearance for the annotation
18
+ * normalAppearance.graphics.drawImage(image, 0, 0, 100, 50);
19
+ * // Add annotation to the page
20
+ * page.annotations.add(annotation);
21
+ * // Save the document
22
+ * document.save('output.pdf');
23
+ * // Destroy the document
24
+ * document.destroy();
25
+ * ```
26
+ */
27
+ export declare class PdfTemplate {
28
+ _content: any;
29
+ _size: number[];
30
+ _writeTransformation: boolean;
31
+ _isReadOnly: boolean;
32
+ _isAnnotationTemplate: boolean;
33
+ _needScale: boolean;
34
+ _g: PdfGraphics;
35
+ _crossReference: _PdfCrossReference;
36
+ /**
37
+ * Initializes a new instance of the `PdfTemplate` class.
38
+ *
39
+ * @param {_PdfBaseStream} appearance - The appearance stream.
40
+ * @param {_PdfCrossReference} crossReference - The cross reference object.
41
+ * @private
42
+ */
43
+ constructor(appearance: _PdfBaseStream, crossReference: _PdfCrossReference);
44
+ /**
45
+ * Initializes a new instance of the `PdfTemplate` class.
46
+ *
47
+ * @param {number[]} bounds - The bounds.
48
+ * @param {_PdfCrossReference} crossReference - The cross reference object.
49
+ * @private
50
+ */
51
+ constructor(bounds: number[], crossReference: _PdfCrossReference);
52
+ /**
53
+ * Get the graphics of the PDF template.
54
+ *
55
+ * @returns {PdfGraphics} The graphics object of the PDF template.
56
+ * ```typescript
57
+ * // Load an existing PDF document
58
+ * let document: PdfDocument = new PdfDocument(data, password);
59
+ * // Get the first page
60
+ * let page: PdfPage = document.getPage(0) as PdfPage;
61
+ * // Create a new rubber stamp annotation
62
+ * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
63
+ * // Access the graphics of the normal appearance
64
+ * let graphics: PdfGraphics = annotation.appearance.normal.graphics;
65
+ * // Create new image object by using JPEG image data as Base64 string format
66
+ * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
67
+ * // Draw the image as the custom appearance for the annotation
68
+ * graphics.drawImage(image, 0, 0, 100, 50);
69
+ * // Add annotation to the page
70
+ * page.annotations.add(annotation);
71
+ * // Save the document
72
+ * document.save('output.pdf');
73
+ * // Destroy the document
74
+ * document.destroy();
75
+ * ```
76
+ */
77
+ readonly graphics: PdfGraphics;
78
+ _initialize(): void;
79
+ }
@@ -0,0 +1,100 @@
1
+ import { _PdfName } from './../pdf-primitives';
2
+ import { _PdfBaseStream, _PdfContentStream } from './../base-stream';
3
+ import { PdfGraphics } from './pdf-graphics';
4
+ import { _toRectangle } from './../utils';
5
+ /**
6
+ * `PdfTemplate` class represents the template of the PDF.
7
+ * ```typescript
8
+ * // Load an existing PDF document
9
+ * let document: PdfDocument = new PdfDocument(data, password);
10
+ * // Get the first page
11
+ * let page: PdfPage = document.getPage(0) as PdfPage;
12
+ * // Create a new rubber stamp annotation
13
+ * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
14
+ * // Get the normal appearance of the annotation
15
+ * let normalAppearance: PdfTemplate = annotation.appearance.normal;
16
+ * // Create new image object by using JPEG image data as Base64 string format
17
+ * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
18
+ * // Draw the image as the custom appearance for the annotation
19
+ * normalAppearance.graphics.drawImage(image, 0, 0, 100, 50);
20
+ * // Add annotation to the page
21
+ * page.annotations.add(annotation);
22
+ * // Save the document
23
+ * document.save('output.pdf');
24
+ * // Destroy the document
25
+ * document.destroy();
26
+ * ```
27
+ */
28
+ var PdfTemplate = /** @class */ (function () {
29
+ function PdfTemplate(value, crossReference) {
30
+ this._crossReference = crossReference;
31
+ if (value instanceof _PdfBaseStream) {
32
+ this._content = value;
33
+ if (!this._content.dictionary.has('Type') || !this._content.dictionary.has('Subtype')) {
34
+ this._initialize();
35
+ }
36
+ var bounds = this._content.dictionary.getArray('BBox');
37
+ if (bounds && bounds.length > 3) {
38
+ var rect = _toRectangle(bounds);
39
+ this._size = [rect.width, rect.height];
40
+ }
41
+ this._isReadOnly = true;
42
+ }
43
+ else {
44
+ this._size = [value[2], value[3]];
45
+ this._content = new _PdfContentStream([]);
46
+ this._content.dictionary._crossReference = this._crossReference;
47
+ this._initialize();
48
+ this._content.dictionary.set('BBox', [value[0], value[1], value[0] + value[2], value[1] + value[3]]);
49
+ }
50
+ this._writeTransformation = true;
51
+ }
52
+ Object.defineProperty(PdfTemplate.prototype, "graphics", {
53
+ /**
54
+ * Get the graphics of the PDF template.
55
+ *
56
+ * @returns {PdfGraphics} The graphics object of the PDF template.
57
+ * ```typescript
58
+ * // Load an existing PDF document
59
+ * let document: PdfDocument = new PdfDocument(data, password);
60
+ * // Get the first page
61
+ * let page: PdfPage = document.getPage(0) as PdfPage;
62
+ * // Create a new rubber stamp annotation
63
+ * const annotation: PdfRubberStampAnnotation = new PdfRubberStampAnnotation(50, 100, 100, 50);
64
+ * // Access the graphics of the normal appearance
65
+ * let graphics: PdfGraphics = annotation.appearance.normal.graphics;
66
+ * // Create new image object by using JPEG image data as Base64 string format
67
+ * let image: PdfImage = new PdfBitmap('/9j/4AAQSkZJRgABAQEAkACQAAD/4....QB//Z');
68
+ * // Draw the image as the custom appearance for the annotation
69
+ * graphics.drawImage(image, 0, 0, 100, 50);
70
+ * // Add annotation to the page
71
+ * page.annotations.add(annotation);
72
+ * // Save the document
73
+ * document.save('output.pdf');
74
+ * // Destroy the document
75
+ * document.destroy();
76
+ * ```
77
+ */
78
+ get: function () {
79
+ if (this._isReadOnly) {
80
+ return null;
81
+ }
82
+ if (typeof this._g === 'undefined') {
83
+ this._g = new PdfGraphics(this._size, this._content, this._crossReference, this);
84
+ if (this._writeTransformation) {
85
+ this._g._initializeCoordinates();
86
+ }
87
+ this._g._isTemplateGraphics = true;
88
+ }
89
+ return this._g;
90
+ },
91
+ enumerable: true,
92
+ configurable: true
93
+ });
94
+ PdfTemplate.prototype._initialize = function () {
95
+ this._content.dictionary.set('Type', _PdfName.get('XObject'));
96
+ this._content.dictionary.set('Subtype', _PdfName.get('Form'));
97
+ };
98
+ return PdfTemplate;
99
+ }());
100
+ export { PdfTemplate };