@syncfusion/ej2-pdf-export 24.1.41 → 24.2.3

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 (164) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/ej2-pdf-export.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js +2 -2
  4. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pdf-export.es2015.js +157 -28
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +157 -28
  8. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  9. package/dist/global/ej2-pdf-export.min.js +2 -2
  10. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +6 -6
  13. package/src/implementation/graphics/pdf-graphics.d.ts +35 -0
  14. package/src/implementation/graphics/pdf-graphics.js +157 -29
  15. package/dist/ts/implementation/actions/action.ts +0 -76
  16. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  17. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  18. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  19. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  20. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  21. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  22. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  23. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  24. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  25. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  26. package/dist/ts/implementation/collections/utils.ts +0 -38
  27. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  28. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  29. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  30. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  31. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  32. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  33. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  34. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  35. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  36. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  37. package/dist/ts/implementation/document/pdf-catalog.ts +0 -65
  38. package/dist/ts/implementation/document/pdf-document-base.ts +0 -180
  39. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  40. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  41. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +0 -578
  42. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  43. package/dist/ts/implementation/general/enum.ts +0 -21
  44. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  45. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -63
  46. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  47. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  48. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  49. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  50. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  51. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  52. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  53. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  54. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  55. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  56. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  57. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  58. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  59. package/dist/ts/implementation/graphics/constants.ts +0 -31
  60. package/dist/ts/implementation/graphics/enum.ts +0 -413
  61. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  62. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  63. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  64. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  65. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  66. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  67. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  68. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  69. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  70. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  71. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  72. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  73. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  75. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  76. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  77. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  78. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  79. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  80. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  81. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  82. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  83. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  84. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  85. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  86. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  87. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  88. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  89. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  90. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  91. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  92. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  93. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  94. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  95. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  96. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  97. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  98. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  99. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  100. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  101. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  102. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  103. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  104. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  105. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  106. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  107. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  108. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  109. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  110. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  111. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  112. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2429
  113. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  114. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  115. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  116. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  117. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  118. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  119. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  120. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  121. package/dist/ts/implementation/input-output/enum.ts +0 -16
  122. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  123. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -571
  124. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  125. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  126. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  127. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  128. package/dist/ts/implementation/pages/enum.ts +0 -201
  129. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  130. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  131. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  132. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  133. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  134. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  135. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  136. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -663
  137. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  138. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  139. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  140. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  141. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  142. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  143. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  144. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  145. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  146. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  147. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  148. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -306
  149. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  150. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  151. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  152. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  155. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  156. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  157. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  158. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  159. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  160. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  161. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  162. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  163. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  164. 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
- }