@syncfusion/ej2-pdf-export 20.3.56 → 20.4.38

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