@syncfusion/ej2-pdf-export 19.4.42 → 19.4.43

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 (165) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/ej2-pdf-export.umd.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pdf-export.es2015.js +65 -17
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +65 -17
  7. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  8. package/dist/global/ej2-pdf-export.min.js +2 -2
  9. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +5 -6
  12. package/src/implementation/structured-elements/grid/layout/grid-layouter.d.ts +1 -0
  13. package/src/implementation/structured-elements/grid/layout/grid-layouter.js +47 -15
  14. package/src/implementation/structured-elements/grid/pdf-grid-row.d.ts +1 -0
  15. package/src/implementation/structured-elements/grid/pdf-grid-row.js +4 -2
  16. package/src/implementation/structured-elements/grid/pdf-grid.js +14 -0
  17. package/dist/ts/implementation/actions/action.ts +0 -76
  18. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  19. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  20. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  21. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  22. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  23. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  24. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  25. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  26. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  27. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  28. package/dist/ts/implementation/collections/utils.ts +0 -38
  29. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  30. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  31. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  32. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  33. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  34. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  35. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  36. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  37. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  38. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  39. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  40. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  41. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  42. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  43. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  44. package/dist/ts/implementation/general/enum.ts +0 -21
  45. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  46. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  47. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  48. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  49. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  50. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  51. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  52. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  53. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  54. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  55. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  56. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  57. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  58. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  59. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  60. package/dist/ts/implementation/graphics/constants.ts +0 -31
  61. package/dist/ts/implementation/graphics/enum.ts +0 -413
  62. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  63. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  64. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  65. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  66. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  67. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  68. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  69. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  70. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  71. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  72. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  73. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  74. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  75. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  76. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  77. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  78. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  79. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  80. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  81. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  82. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  83. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  84. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  85. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  86. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  87. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  88. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  89. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  90. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  91. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  92. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  93. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  94. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  95. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  96. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  97. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  98. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  99. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  100. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  101. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  102. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  103. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  104. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  105. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  106. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  107. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  108. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  109. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
  110. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  111. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  112. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  113. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  114. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  115. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  116. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  117. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  118. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  119. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  120. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  121. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  122. package/dist/ts/implementation/input-output/enum.ts +0 -16
  123. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  124. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  125. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  126. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  127. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  128. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  129. package/dist/ts/implementation/pages/enum.ts +0 -201
  130. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  131. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  132. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  133. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  134. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  135. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  136. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  137. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  138. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  139. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  140. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  141. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  142. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  143. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  144. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  145. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  146. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  147. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  148. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  149. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  150. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  151. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -1998
  152. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -468
  155. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -839
  156. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  157. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  158. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  159. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  160. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  161. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  162. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  163. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  164. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  165. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,342 +0,0 @@
1
- import { StreamWriter } from '@syncfusion/ej2-file-utils';
2
- import { PdfWriter } from './../input-output/pdf-writer';
3
- import { PdfMainObjectCollection } from './../input-output/pdf-main-object-collection';
4
- import { PdfDocumentBase } from './pdf-document-base';
5
- import { PdfCrossTable } from './../input-output/pdf-cross-table';
6
- import { PdfCatalog } from './pdf-catalog';
7
- import { PdfPageSettings } from './../pages/pdf-page-settings';
8
- import { PdfSectionCollection } from './../pages/pdf-section-collection';
9
- import { PdfDocumentPageCollection } from './../pages/pdf-document-page-collection';
10
- import { PdfCacheCollection } from './../general/pdf-cache-collection';
11
- import { PdfColorSpace } from './../graphics/enum';
12
- import { PdfDocumentTemplate } from './pdf-document-template';
13
- import { PdfFont } from './../graphics/fonts/pdf-font';
14
- import { PdfFontFamily } from './../graphics/fonts/enum';
15
- import { PdfStandardFont } from './../graphics/fonts/pdf-standard-font';
16
- /**
17
- * Represents a PDF document and can be used to create a new PDF document from the scratch.
18
- * ```typescript
19
- * // create a new PDF document
20
- * let document : PdfDocument = new PdfDocument();
21
- * // add a new page to the document
22
- * let page1 : PdfPage = document.pages.add();
23
- * // set the font
24
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
25
- * // create black brush
26
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
27
- * // draw the text
28
- * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
29
- * // save the document
30
- * document.save('output.pdf');
31
- * // destroy the document
32
- * document.destroy();
33
- * ```
34
- */
35
- export class PdfDocument extends PdfDocumentBase {
36
- //Fields
37
- /**
38
- * `Cache` of the objects.
39
- * @private
40
- */
41
- private static cacheCollection : PdfCacheCollection;
42
- /**
43
- * Default `margin` value.
44
- * @default 40.0
45
- * @private
46
- */
47
- public readonly defaultMargin : number = 40.0;
48
- /**
49
- * Default page `settings`.
50
- * @private
51
- */
52
- private settings : PdfPageSettings;
53
- /**
54
- * Internal variable to store document`s collection of `sections`.
55
- * @private
56
- */
57
- private sectionCollection : PdfSectionCollection;
58
- /**
59
- * Internal variable to store document`s collection of `pages`.
60
- * @private
61
- */
62
- private documentPageCollection : PdfDocumentPageCollection;
63
- /**
64
- * Internal variable to store instance of `StreamWriter` classes..
65
- * @default null
66
- * @private
67
- */
68
- public streamWriter : StreamWriter = null;
69
- /**
70
- * Defines the `color space` of the document
71
- * @private
72
- */
73
- private pdfColorSpace : PdfColorSpace;
74
- /**
75
- * Internal variable to store `template` which is applied to each page of the document.
76
- * @private
77
- */
78
- private pageTemplate : PdfDocumentTemplate;
79
- /**
80
- * `Font` used in complex objects to draw strings and text when it is not defined explicitly.
81
- * @default null
82
- * @private
83
- */
84
- private static defaultStandardFont : PdfFont = null;
85
- /**
86
- * Indicates whether enable cache or not
87
- * @default true
88
- * @private
89
- */
90
- private static isCacheEnabled : boolean = true;
91
- //Constructors
92
- /**
93
- * Initializes a new instance of the `PdfDocument` class.
94
- * @public
95
- */
96
- public constructor()
97
- /**
98
- * Initializes a new instance of the `PdfDocument` class.
99
- * @private
100
- */
101
- public constructor(isMerging : boolean)
102
- public constructor(isMerging? : boolean) {
103
- super();
104
- this.document = this;
105
- let isMerge : boolean = false;
106
- if (typeof isMerging === 'undefined') {
107
- PdfDocument.cacheCollection = new PdfCacheCollection();
108
- isMerge = false;
109
- } else {
110
- isMerge = isMerging;
111
- }
112
- let objects : PdfMainObjectCollection = new PdfMainObjectCollection();
113
- this.setMainObjectCollection(objects);
114
- let crossTable : PdfCrossTable = new PdfCrossTable();
115
- crossTable.isMerging = isMerge;
116
- crossTable.document = this;
117
- this.setCrossTable(crossTable);
118
- let catalog : PdfCatalog = new PdfCatalog();
119
- this.setCatalog(catalog);
120
- objects.add(catalog);
121
- catalog.position = -1;
122
- this.sectionCollection = new PdfSectionCollection(this);
123
- this.documentPageCollection = new PdfDocumentPageCollection(this);
124
- catalog.pages = this.sectionCollection;
125
- }
126
- //Properties
127
- /**
128
- * Gets the `default font`. It is used for complex objects when font is not explicitly defined.
129
- * @private
130
- */
131
- public static get defaultFont() : PdfFont {
132
- if (this.defaultStandardFont == null) {
133
- this.defaultStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 8);
134
- }
135
- return this.defaultStandardFont;
136
- }
137
- /**
138
- * Gets the collection of the `sections` in the document.
139
- * @private
140
- */
141
- public get sections() : PdfSectionCollection {
142
- return this.sectionCollection;
143
- }
144
- /**
145
- * Gets the document's page setting.
146
- * @public
147
- */
148
- public get pageSettings() : PdfPageSettings {
149
- if (this.settings == null) {
150
- this.settings = new PdfPageSettings(this.defaultMargin);
151
- }
152
- return this.settings;
153
- }
154
- /**
155
- * Sets the document's page setting.
156
- * ```typescript
157
- * // create a new PDF document
158
- * let document : PdfDocument = new PdfDocument();
159
- *
160
- * // sets the right margin of the page
161
- * document.pageSettings.margins.right = 0;
162
- * // set the page size.
163
- * document.pageSettings.size = new SizeF(500, 500);
164
- * // change the page orientation to landscape
165
- * document.pageSettings.orientation = PdfPageOrientation.Landscape;
166
- * // apply 90 degree rotation on the page
167
- * document.pageSettings.rotate = PdfPageRotateAngle.RotateAngle90;
168
- *
169
- * // add a pages to the document
170
- * let page1 : PdfPage = document.pages.add();
171
- * // set font
172
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
173
- * // set brush
174
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
175
- * // set the specified Point
176
- * let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);
177
- * // draw the text
178
- * page1.graphics.drawString('Hello World', font, blackBrush, point);
179
- * // save the document
180
- * document.save('output.pdf');
181
- * // destroy the document
182
- * document.destroy();
183
- * ```
184
- */
185
- public set pageSettings(value : PdfPageSettings) {
186
- this.settings = value;
187
- }
188
- /**
189
- * Represents the collection of pages in the PDF document.
190
- * ```typescript
191
- * // create a new PDF document
192
- * let document : PdfDocument = new PdfDocument();
193
- * //
194
- * // get the collection of pages in the document
195
- * let pageCollection : PdfDocumentPageCollection = document.pages;
196
- * //
197
- * // add pages
198
- * let page1 : PdfPage = pageCollection.add();
199
- * // save the document
200
- * document.save('output.pdf');
201
- * // destroy the document
202
- * document.destroy();
203
- * ```
204
- */
205
- public get pages() : PdfDocumentPageCollection {
206
- return this.documentPageCollection;
207
- }
208
- /**
209
- * Gets collection of the `cached objects`.
210
- * @private
211
- */
212
- public static get cache() : PdfCacheCollection {
213
- if (typeof PdfDocument.cacheCollection === 'undefined' || PdfDocument.cacheCollection == null) {
214
- return new PdfCacheCollection();
215
- }
216
- return PdfDocument.cacheCollection;
217
- }
218
- /**
219
- * Sets collection of the `cached objects`.
220
- * @private
221
- */
222
- public static set cache(value : PdfCacheCollection) {
223
- this.cacheCollection = value;
224
- }
225
- /**
226
- * Gets the value of enable cache.
227
- * @private
228
- */
229
- public static get enableCache() : boolean {
230
- return this.isCacheEnabled;
231
- }
232
- /**
233
- * Sets thie value of enable cache.
234
- * @private
235
- */
236
- public static set enableCache(value : boolean) {
237
- this.isCacheEnabled = value;
238
- }
239
- /* tslint:disable */
240
- /**
241
- * Gets or sets the `color space` of the document. This property can be used to create PDF document in RGB, Gray scale or CMYK color spaces.
242
- * @private
243
- */
244
- public get colorSpace() : PdfColorSpace {
245
- if ((this.pdfColorSpace === PdfColorSpace.Rgb) || ((this.pdfColorSpace === PdfColorSpace.Cmyk)
246
- || (this.pdfColorSpace === PdfColorSpace.GrayScale))) {
247
- return this.pdfColorSpace;
248
- } else {
249
- return PdfColorSpace.Rgb;
250
- }
251
- }
252
- public set colorSpace(value : PdfColorSpace) {
253
- if ((value === PdfColorSpace.Rgb) || ((value === PdfColorSpace.Cmyk) ||
254
- (value === PdfColorSpace.GrayScale))) {
255
- this.pdfColorSpace = value;
256
- } else {
257
- this.pdfColorSpace = PdfColorSpace.Rgb;
258
- }
259
- }
260
- /* tslint:enable */
261
- /**
262
- * Gets or sets a `template` to all pages in the document.
263
- * @private
264
- */
265
- public get template() : PdfDocumentTemplate {
266
- if (this.pageTemplate == null) {
267
- this.pageTemplate = new PdfDocumentTemplate();
268
- }
269
- return this.pageTemplate;
270
- }
271
- public set template(value : PdfDocumentTemplate) {
272
- this.pageTemplate = value;
273
- }
274
- // Public methods
275
- /**
276
- * Saves the document to the specified output stream and return the stream as Blob.
277
- * @private
278
- */
279
- public docSave(stream : StreamWriter, isBase : boolean) : Blob
280
- /**
281
- * Saves the document to the specified output stream.
282
- * @private
283
- */
284
- public docSave(stream : StreamWriter, filename : string, isBase : boolean) : void
285
- public docSave(stream : StreamWriter, arg2 : string | boolean, arg3 ?: boolean) : void | Blob {
286
- this.checkPagesPresence();
287
- if (stream === null) {
288
- throw new Error('ArgumentNullException : stream');
289
- }
290
- this.streamWriter = stream;
291
- let writer : PdfWriter = new PdfWriter(stream);
292
- writer.document = this;
293
- if (typeof arg2 === 'boolean' && typeof arg3 === 'undefined') {
294
- return this.crossTable.save(writer);
295
- } else {
296
- this.crossTable.save(writer, (arg2 as string));
297
- }
298
- }
299
- /**
300
- * Checks the pages `presence`.
301
- * @private
302
- */
303
- private checkPagesPresence() : void {
304
- if (this.pages.count === 0) {
305
- this.pages.add();
306
- }
307
- }
308
- /**
309
- * disposes the current instance of `PdfDocument` class.
310
- * ```typescript
311
- * // create a new PDF document
312
- * let document : PdfDocument = new PdfDocument();
313
- * // add a new page to the document
314
- * let page1 : PdfPage = document.pages.add();
315
- * // set the font
316
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
317
- * // create black brush
318
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
319
- * // draw the text
320
- * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
321
- * // save the document
322
- * document.save('output.pdf');
323
- * // destroy the document
324
- * document.destroy();
325
- * ```
326
- */
327
- public destroy() : void {
328
- this.catalog = undefined;
329
- this.colorSpace = undefined;
330
- this.currentSavingObj = undefined;
331
- this.documentPageCollection = undefined;
332
- this.isStreamCopied = undefined;
333
- this.pageSettings = undefined;
334
- this.pageTemplate = undefined;
335
- this.pdfColorSpace = undefined;
336
- this.sectionCollection = undefined;
337
- PdfDocument.cache.destroy();
338
- this.crossTable.pdfObjects.destroy();
339
- PdfDocument.cache = undefined;
340
- this.streamWriter.destroy();
341
- }
342
- }
@@ -1,218 +0,0 @@
1
- /**
2
- * Coordinates of Position for `PointF`.
3
- * @private
4
- */
5
- export class PointF {
6
- /**
7
- * Value of `X`.
8
- * @private
9
- */
10
- public x : number;
11
- /**
12
- * Value of `Y`.
13
- * @private
14
- */
15
- public y : number;
16
- //public static readonly empty : PointF = new PointF(0, 0);
17
- /**
18
- * Instance of `PointF` class.
19
- * @private
20
- */
21
- constructor()
22
- /**
23
- * Instance of `PointF` class with X, Y co-ordinates.
24
- * @private
25
- */
26
- constructor(x : number, y : number)
27
- constructor(x? : number, y? : number) {
28
- if (typeof x === 'undefined') {
29
- this.x = 0;
30
- this.y = 0;
31
- } else {
32
- if (x !== null) {
33
- this.x = x;
34
- } else {
35
- this.x = 0;
36
- }
37
- if (y !== null) {
38
- this.y = y;
39
- } else {
40
- this.y = 0;
41
- }
42
- }
43
- }
44
- }
45
- /**
46
- * Width and Height as `Size`.
47
- * @private
48
- */
49
- export class SizeF {
50
- /**
51
- * Value of ``Height``.
52
- * @private
53
- */
54
- public height : number;
55
- /**
56
- * Value of `Width`.
57
- * @private
58
- */
59
- public width : number;
60
- //public static readonly empty : SizeF = new SizeF(0, 0);
61
- /**
62
- * Instance of `SizeF` class.
63
- * @private
64
- */
65
- constructor()
66
- /**
67
- * Instance of `SizeF` class with Width and Height.
68
- * @private
69
- */
70
- constructor(width : number, height : number)
71
- constructor(width? : number, height? : number) {
72
- if (typeof height === 'undefined') {
73
- this.height = 0;
74
- this.width = 0;
75
- } else {
76
- if (height !== null) {
77
- this.height = height;
78
- } else {
79
- this.height = 0;
80
- }
81
- if (width !== null) {
82
- this.width = width;
83
- } else {
84
- this.width = 0;
85
- }
86
- }
87
- }
88
- }
89
- /**
90
- * `RectangleF` with Position and size.
91
- * @private
92
- */
93
- export class RectangleF {
94
- /**
95
- * Value of `X`.
96
- * @private
97
- */
98
- public x : number;
99
- /**
100
- * Value of `Y`.
101
- * @private
102
- */
103
- public y : number;
104
- /**
105
- * Value of `Height`.
106
- * @private
107
- */
108
- public height : number;
109
- /**
110
- * Value of `Width`.
111
- * @private
112
- */
113
- public width : number;
114
- /**
115
- * Instance of `RectangleF` class.
116
- * @private
117
- */
118
- public constructor()
119
- /**
120
- * Instance of `RectangleF` class with X, Y, Width and Height.
121
- * @private
122
- */
123
- public constructor(x : number, y : number, height : number, width : number)
124
- /**
125
- * Instance of `RectangleF` class with PointF, SizeF.
126
- * @private
127
- */
128
- public constructor(pointF : PointF, sizeF : SizeF)
129
- public constructor(arg1? : PointF | number, arg2? : SizeF | number, arg3 ?: number, arg4 ?: number ) {
130
- if (typeof arg1 === typeof arg1 && typeof arg1 === 'undefined') {
131
- this.x = 0;
132
- this.y = 0;
133
- this.height = 0;
134
- this.width = 0;
135
- } else {
136
- if (arg1 instanceof PointF && arg2 instanceof SizeF && typeof arg3 === 'undefined') {
137
- let pointf : PointF = arg1 as PointF;
138
- this.x = pointf.x;
139
- this.y = pointf.y;
140
- let sizef : SizeF = arg2 as SizeF;
141
- this.height = sizef.height;
142
- this.width = sizef.width;
143
- } else {
144
- let x : number = arg1 as number;
145
- let y : number = arg2 as number;
146
- let width : number = arg3 as number;
147
- let height : number = arg4 as number;
148
- this.x = x;
149
- this.y = y;
150
- this.height = height;
151
- this.width = width;
152
- }
153
- }
154
- }
155
- }
156
- /**
157
- * `Rectangle` with left, right, top and bottom.
158
- * @private
159
- */
160
- export class Rectangle {
161
- /**
162
- * Value of `left`.
163
- * @private
164
- */
165
- public left : number;
166
- /**
167
- * Value of `top`.
168
- * @private
169
- */
170
- public top : number;
171
- /**
172
- * Value of `right`.
173
- * @private
174
- */
175
- public right : number;
176
- /**
177
- * Value of `bottom`.
178
- * @private
179
- */
180
- public bottom : number;
181
- /**
182
- * Instance of `RectangleF` class with X, Y, Width and Height.
183
- * @private
184
- */
185
- public constructor(left : number, top : number, right : number, bottom : number) {
186
- this.left = left;
187
- this.top = top;
188
- this.right = right;
189
- this.bottom = bottom;
190
- }
191
- /**
192
- * Gets a value of width
193
- */
194
- public get width() : number {
195
- return this.right - this.left;
196
- }
197
- /**
198
- * Gets a value of height
199
- */
200
- public get height() : number {
201
- return this.bottom - this.top;
202
- }
203
- /**
204
- * Gets a value of Top and Left
205
- */
206
- public get topLeft() : PointF {
207
- return new PointF(this.left, this.top);
208
- }
209
- /**
210
- * Gets a value of size
211
- */
212
- public get size() : SizeF {
213
- return new SizeF(this.width, this.height);
214
- }
215
- public toString() : string {
216
- return this.topLeft + 'x' + this.size;
217
- }
218
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * public Enum for `PdfDestinationMode`.
3
- * @private
4
- */
5
- export enum PdfDestinationMode {
6
- /**
7
- * Specifies the type of `Location`.
8
- * @private
9
- */
10
- Location,
11
- /**
12
- * Specifies the type of `FitToPage`.
13
- * @private
14
- */
15
- FitToPage,
16
- /**
17
- * Specifies the type of `FitR`.
18
- * @private
19
- */
20
- FitR
21
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * PdfFunction.ts class for EJ2-PDF
3
- * Implements the base class for all functions.
4
- */
5
- import { PdfDictionary } from '../../primitives/pdf-dictionary';
6
- import { IPdfWrapper} from '../../../interfaces/i-pdf-wrapper';
7
- import { DictionaryProperties } from './../../input-output/pdf-dictionary-properties';
8
- import { PdfArray } from './../../primitives/pdf-array';
9
- import { IPdfPrimitive } from './../../../interfaces/i-pdf-primitives';
10
- export abstract class PdfFunction implements IPdfWrapper {
11
- //Field
12
- /**
13
- * Internal variable to store dictionary.
14
- * @private
15
- */
16
- private mDictionary: PdfDictionary = null;
17
- /**
18
- * Local variable to store the dictionary properties.
19
- * @private
20
- */
21
- protected mDictionaryProperties : DictionaryProperties = new DictionaryProperties();
22
- //Constructor
23
- /**
24
- * Initializes a new instance of the `PdfFunction` class.
25
- * @public
26
- */
27
- public constructor(dictionary: PdfDictionary) {
28
- this.mDictionary = dictionary;
29
- }
30
- //Properties
31
- /**
32
- * Gets or sets the domain of the function.
33
- * @public
34
- */
35
- protected get domain(): PdfArray {
36
- let domain: PdfArray = (<PdfArray>this.mDictionary.items.getValue(this.mDictionaryProperties.domain));
37
- return domain;
38
- }
39
- protected set domain(value: PdfArray) {
40
- this.mDictionary.items.setValue(this.mDictionaryProperties.domain, value);
41
- }
42
- /**
43
- * Gets or sets the range.
44
- * @public
45
- */
46
- protected get range(): PdfArray {
47
- let range: PdfArray = (<PdfArray>(this.mDictionary.items.getValue(this.mDictionaryProperties.range)));
48
- return range;
49
- }
50
- protected set range(value: PdfArray) {
51
- this.mDictionary.items.setValue(this.mDictionaryProperties.range, value);
52
- }
53
- /**
54
- * Gets the dictionary.
55
- */
56
- protected get dictionary(): PdfDictionary {
57
- return this.mDictionary;
58
- }
59
- //IPdfWrapper Members
60
- /**
61
- * Gets the element.
62
- */
63
- get element(): IPdfPrimitive {
64
- return this.mDictionary;
65
- }
66
- }
@@ -1,62 +0,0 @@
1
- /**
2
- * PdfSampledFunction.ts class for EJ2-PDF
3
- * Implements PDF Sampled Function.
4
- */
5
- import { PdfArray } from './../../primitives/pdf-array';
6
- import { PdfFunction} from './pdf-function';
7
- import { PdfStream } from './../../primitives/pdf-stream';
8
- import { PdfNumber} from './../../primitives/pdf-number';
9
- export class PdfSampledFunction extends PdfFunction {
10
- //Constructor
11
- /**
12
- * Initializes a new instance of the `PdfSampledFunction` class.
13
- * @public
14
- */
15
- public constructor()
16
- /**
17
- * Initializes a new instance of the `PdfSampledFunction` class.
18
- * @public
19
- */
20
- public constructor(domain: number[], range: number[], sizes: number[], samples: number[])
21
- /**
22
- * Initializes a new instance of the `PdfSampledFunction` class.
23
- * @public
24
- */
25
- public constructor(domain?: number[], range?: number[], sizes?: number[], samples?: number[]) {
26
- super(new PdfStream());
27
- if (typeof domain === 'undefined') {
28
- this.dictionary.items.setValue(this.mDictionaryProperties.functionType, new PdfNumber(0));
29
- } else {
30
- this.dictionary.items.setValue(this.mDictionaryProperties.functionType, new PdfNumber(0));
31
- this.checkParams(domain, range, sizes, samples);
32
- this.setDomainAndRange(domain, range);
33
- this.setSizeAndValues(sizes, samples);
34
- }
35
- }
36
- // Helper methods
37
- /**
38
- * Checks the input parameters.
39
- */
40
- private checkParams(domain: number[], range: number[], sizes: number[], samples: number[]) : void {
41
- let rLength: number = range.length;
42
- let dLength: number = domain.length;
43
- let sLength: number = samples.length;
44
- let frameLength: number = (rLength * (dLength / 4));
45
- }
46
- /**
47
- * Sets the domain and range.
48
- */
49
- private setDomainAndRange(domain: number[], range: number[]) : void {
50
- this.domain = new PdfArray(domain);
51
- this.range = new PdfArray(range);
52
- }
53
- /**
54
- * Sets the size and values.
55
- */
56
- private setSizeAndValues(sizes: number[], samples: number[]) : void {
57
- let s: PdfStream = (<PdfStream>(this.dictionary));
58
- this.dictionary.items.setValue(this.mDictionaryProperties.size, new PdfArray(sizes));
59
- this.dictionary.items.setValue(this.mDictionaryProperties.bitsPerSample, new PdfNumber(8));
60
- s.writeBytes(samples);
61
- }
62
- }