@syncfusion/ej2-pdf-export 20.3.47 → 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 +7 -8
  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,681 +0,0 @@
1
- /**
2
- * PdfStreamWriter.ts class for EJ2-PDF
3
- */
4
- import { IPdfWriter } from './../../interfaces/i-pdf-writer';
5
- import { PdfStream } from './../primitives/pdf-stream';
6
- import { Operators } from './pdf-operators';
7
- import { PdfNumber } from './../primitives/pdf-number';
8
- import { PointF, RectangleF } from './../drawing/pdf-drawing';
9
- import { TextRenderingMode, PdfLineCap, PdfLineJoin, PdfColorSpace } from './../graphics/enum';
10
- import { PdfString } from './../primitives/pdf-string';
11
- import { PdfName } from './../primitives/pdf-name';
12
- import { PdfFont } from './../graphics/fonts/pdf-font';
13
- import { PdfTransformationMatrix } from './../graphics/pdf-transformation-matrix';
14
- import { PdfColor } from './../graphics/pdf-color';
15
- import { PdfArray } from './../primitives/pdf-array';
16
- import { PdfDocument } from './../document/pdf-document';
17
- /**
18
- * Helper class to `write PDF graphic streams` easily.
19
- * @private
20
- */
21
- export class PdfStreamWriter implements IPdfWriter {
22
- //Fields
23
- /**
24
- * The PDF `stream` where the data should be write into.
25
- * @private
26
- */
27
- private stream : PdfStream;
28
- /**
29
- * Initialize an instance of `PdfStreamWriter` class.
30
- * @private
31
- */
32
- public constructor(stream : PdfStream) {
33
- if (stream == null) {
34
- throw new Error('ArgumentNullException:stream');
35
- }
36
- this.stream = stream;
37
- }
38
- //Implementation
39
- /**
40
- * `Clear` the stream.
41
- * @public
42
- */
43
- public clear() : void {
44
- this.stream.clearStream();
45
- }
46
- /**
47
- * Sets the `graphics state`.
48
- * @private
49
- */
50
- public setGraphicsState(dictionaryName : PdfName) : void
51
- /**
52
- * Sets the `graphics state`.
53
- * @private
54
- */
55
- public setGraphicsState(dictionaryName : string) : void
56
- public setGraphicsState(dictionaryName : PdfName|string) : void {
57
- if (dictionaryName instanceof PdfName) {
58
- this.stream.write(dictionaryName.toString());
59
- this.stream.write(Operators.whiteSpace);
60
- this.writeOperator(Operators.setGraphicsState);
61
- } else {
62
- this.stream.write(Operators.slash);
63
- this.stream.write(dictionaryName);
64
- this.stream.write(Operators.whiteSpace);
65
- this.writeOperator(Operators.setGraphicsState);
66
- }
67
- }
68
- /**
69
- * `Executes the XObject`.
70
- * @private
71
- */
72
- public executeObject(name : PdfName) : void {
73
- this.stream.write(name.toString());
74
- this.stream.write(Operators.whiteSpace);
75
- this.writeOperator(Operators.paintXObject);
76
- this.stream.write(Operators.newLine);
77
- }
78
- /**
79
- * `Closes path object`.
80
- * @private
81
- */
82
- public closePath() : void {
83
- this.writeOperator(Operators.closePath);
84
- }
85
- /**
86
- * `Clips the path`.
87
- * @private
88
- */
89
- public clipPath(useEvenOddRule : boolean) : void {
90
- this.stream.write(Operators.clipPath);
91
- if (useEvenOddRule) {
92
- this.stream.write(Operators.evenOdd);
93
- }
94
- this.stream.write(Operators.whiteSpace);
95
- this.stream.write(Operators.endPath);
96
- this.stream.write(Operators.newLine);
97
- }
98
- /**
99
- * `Closes, then fills and strokes the path`.
100
- * @private
101
- */
102
- public closeFillStrokePath(useEvenOddRule : boolean) : void {
103
- this.stream.write(Operators.closeFillStrokePath);
104
- if (useEvenOddRule) {
105
- this.stream.write(Operators.evenOdd);
106
- this.stream.write(Operators.newLine);
107
- } else {
108
- this.stream.write(Operators.newLine);
109
- }
110
- }
111
- /**
112
- * `Fills and strokes path`.
113
- * @private
114
- */
115
- public fillStrokePath(useEvenOddRule : boolean) : void {
116
- this.stream.write(Operators.fillStroke);
117
- if (useEvenOddRule) {
118
- this.stream.write(Operators.evenOdd);
119
- this.stream.write(Operators.newLine);
120
- } else {
121
- this.stream.write(Operators.newLine);
122
- }
123
- }
124
- /**
125
- * `Fills path`.
126
- * @private
127
- */
128
- public fillPath(useEvenOddRule : boolean) : void {
129
- this.stream.write(Operators.fill);
130
- if (useEvenOddRule) {
131
- this.stream.write(Operators.evenOdd);
132
- this.stream.write(Operators.newLine);
133
- } else {
134
- this.stream.write(Operators.newLine);
135
- }
136
- }
137
- /**
138
- * `Ends the path`.
139
- * @private
140
- */
141
- public endPath() : void {
142
- this.writeOperator(Operators.n);
143
- }
144
- /**
145
- * `Closes and fills the path`.
146
- * @private
147
- */
148
- public closeFillPath(useEvenOddRule : boolean) : void {
149
- this.writeOperator(Operators.closePath);
150
- this.stream.write(Operators.fill);
151
- if (useEvenOddRule) {
152
- this.stream.write(Operators.evenOdd);
153
- this.stream.write(Operators.newLine);
154
- } else {
155
- this.stream.write(Operators.newLine);
156
- }
157
- }
158
- /**
159
- * `Closes and strokes the path`.
160
- * @private
161
- */
162
- public closeStrokePath() : void {
163
- this.writeOperator(Operators.closeStrokePath);
164
- }
165
- /**
166
- * `Sets the text scaling`.
167
- * @private
168
- */
169
- public setTextScaling(textScaling : number) : void {
170
- this.stream.write(PdfNumber.floatToString(textScaling));
171
- this.stream.write(Operators.whiteSpace);
172
- this.writeOperator(Operators.setTextScaling);
173
- }
174
- /**
175
- * `Strokes path`.
176
- * @private
177
- */
178
- public strokePath() : void {
179
- this.writeOperator(Operators.stroke);
180
- }
181
- /**
182
- * `Restores` the graphics state.
183
- * @private
184
- */
185
- public restoreGraphicsState() : void {
186
- this.writeOperator(Operators.restoreState);
187
- }
188
- /**
189
- * `Saves` the graphics state.
190
- * @private
191
- */
192
- public saveGraphicsState() : void {
193
- this.writeOperator(Operators.saveState);
194
- }
195
- /**
196
- * `Shifts the text to the point`.
197
- * @private
198
- */
199
- public startNextLine() : void
200
- /**
201
- * `Shifts the text to the point`.
202
- * @private
203
- */
204
- public startNextLine(point : PointF) : void
205
- /**
206
- * `Shifts the text to the point`.
207
- * @private
208
- */
209
- public startNextLine(x : number, y : number) : void
210
- public startNextLine(arg1 ?: PointF | number, arg2 ?: number) : void {
211
- if (typeof arg1 === 'undefined') {
212
- this.writeOperator(Operators.goToNextLine);
213
- } else if (arg1 instanceof PointF) {
214
- this.writePoint(arg1);
215
- this.writeOperator(Operators.setCoords);
216
- } else {
217
- this.writePoint(arg1, arg2);
218
- this.writeOperator(Operators.setCoords);
219
- }
220
- }
221
- /**
222
- * Shows the `text`.
223
- * @private
224
- */
225
- public showText(text : PdfString) : void {
226
- this.checkTextParam(text);
227
- this.writeText(text);
228
- this.writeOperator(Operators.setText);
229
- }
230
- /**
231
- * Sets `text leading`.
232
- * @private
233
- */
234
- public setLeading(leading : number) : void {
235
- this.stream.write(PdfNumber.floatToString(leading));
236
- this.stream.write(Operators.whiteSpace);
237
- this.writeOperator(Operators.setTextLeading);
238
- }
239
- /**
240
- * `Begins the path`.
241
- * @private
242
- */
243
- public beginPath(x : number, y : number) : void {
244
- this.writePoint(x, y);
245
- this.writeOperator(Operators.beginPath);
246
- }
247
- /**
248
- * `Begins text`.
249
- * @private
250
- */
251
- public beginText() : void {
252
- this.writeOperator(Operators.beginText);
253
- }
254
- /**
255
- * `Ends text`.
256
- * @private
257
- */
258
- public endText() : void {
259
- this.writeOperator(Operators.endText);
260
- }
261
- /**
262
- * `Appends the rectangle`.
263
- * @private
264
- */
265
- public appendRectangle(rectangle : RectangleF) : void
266
- /**
267
- * `Appends the rectangle`.
268
- * @private
269
- */
270
- public appendRectangle(x : number, y : number, width : number, height : number) : void
271
- public appendRectangle(arg1 : number|RectangleF, arg2 ?: number, arg3 ?: number, arg4 ?: number) : void {
272
- if (arg1 instanceof RectangleF) {
273
- this.appendRectangle(arg1.x, arg1.y, arg1.width, arg1.height);
274
- } else {
275
- this.writePoint(arg1 as number, arg2);
276
- this.writePoint(arg3, arg4);
277
- this.writeOperator(Operators.appendRectangle);
278
- }
279
- }
280
- /**
281
- * `Appends a line segment`.
282
- * @private
283
- */
284
- public appendLineSegment(point : PointF) : void
285
- /**
286
- * `Appends a line segment`.
287
- * @private
288
- */
289
- public appendLineSegment(x : number, y : number) : void
290
- public appendLineSegment(arg1 : number | PointF, arg2 ?: number) : void {
291
- if (arg1 instanceof PointF) {
292
- this.appendLineSegment(arg1.x, arg1.y);
293
- } else {
294
- this.writePoint(arg1, arg2);
295
- this.writeOperator(Operators.appendLineSegment);
296
- }
297
- }
298
- /**
299
- * Sets the `text rendering mode`.
300
- * @private
301
- */
302
- public setTextRenderingMode(renderingMode : TextRenderingMode) : void {
303
- this.stream.write((<number>renderingMode).toString());
304
- this.stream.write(Operators.whiteSpace);
305
- this.writeOperator(Operators.setRenderingMode);
306
- }
307
- /**
308
- * Sets the `character spacing`.
309
- * @private
310
- */
311
- public setCharacterSpacing(charSpacing : number) : void {
312
- this.stream.write(PdfNumber.floatToString(charSpacing));
313
- this.stream.write(Operators.whiteSpace);
314
- this.stream.write(Operators.setCharacterSpace);
315
- this.stream.write(Operators.newLine);
316
- }
317
- /**
318
- * Sets the `word spacing`.
319
- * @private
320
- */
321
- public setWordSpacing(wordSpacing : number) : void {
322
- this.stream.write(PdfNumber.floatToString(wordSpacing));
323
- this.stream.write(Operators.whiteSpace);
324
- this.writeOperator(Operators.setWordSpace);
325
- }
326
- // public showNextLineText(text : number[], hex : boolean) : void
327
- /**
328
- * Shows the `next line text`.
329
- * @private
330
- */
331
- public showNextLineText(text : string, hex : boolean) : void
332
- /**
333
- * Shows the `next line text`.
334
- * @private
335
- */
336
- public showNextLineText(text : PdfString) : void
337
- public showNextLineText(arg1 ?: PdfString|string , arg2 ?: boolean) : void {
338
- if (arg1 instanceof PdfString) {
339
- this.checkTextParam(arg1);
340
- this.writeText(arg1);
341
- this.writeOperator(Operators.setTextOnNewLine);
342
- } else {
343
- this.checkTextParam(arg1);
344
- this.writeText(arg1, arg2);
345
- this.writeOperator(Operators.setTextOnNewLine);
346
- }
347
- }
348
- /**
349
- * Set the `color space`.
350
- * @private
351
- */
352
- public setColorSpace(name : string, forStroking : boolean) : void
353
- /**
354
- * Set the `color space`.
355
- * @private
356
- */
357
- public setColorSpace(name : PdfName, forStroking : boolean) : void
358
- public setColorSpace(arg1 : PdfName|string, arg2 : boolean|PdfName) : void {
359
- if (arg1 instanceof PdfName && typeof arg2 === 'boolean') {
360
- let temparg1 : PdfName = arg1 as PdfName;
361
- let temparg2 : boolean = arg2 as boolean;
362
- // if (temparg1 == null) {
363
- // throw new Error('ArgumentNullException:name');
364
- // }
365
- let op : string = (temparg2) ? Operators.selectcolorspaceforstroking : Operators.selectcolorspacefornonstroking;
366
- this.stream.write(temparg1.toString());
367
- this.stream.write(Operators.whiteSpace);
368
- this.stream.write(op);
369
- this.stream.write(Operators.newLine);
370
- } else {
371
- let temparg1 : string = arg1 as string;
372
- let temparg2 : boolean = arg2 as boolean;
373
- this.setColorSpace(new PdfName(temparg1), temparg2);
374
- }
375
- }
376
- /**
377
- * Modifies current `transformation matrix`.
378
- * @private
379
- */
380
- public modifyCtm(matrix : PdfTransformationMatrix) : void {
381
- if (matrix == null) {
382
- throw new Error('ArgumentNullException:matrix');
383
- }
384
- this.stream.write(matrix.toString());
385
- this.stream.write(Operators.whiteSpace);
386
- this.writeOperator(Operators.modifyCtm);
387
- }
388
- /**
389
- * Sets `font`.
390
- * @private
391
- */
392
- public setFont(font : PdfFont, name : string, size : number) : void
393
- /**
394
- * Sets `font`.
395
- * @private
396
- */
397
- public setFont(font : PdfFont, name : PdfName, size : number) : void
398
- public setFont(font : PdfFont, name : PdfName|string, size : number) : void {
399
- if (typeof name === 'string') {
400
- this.setFont(font, new PdfName(name), size);
401
- } else {
402
- if (font == null) {
403
- throw new Error('ArgumentNullException:font');
404
- }
405
- this.stream.write(name.toString());
406
- this.stream.write(Operators.whiteSpace);
407
- this.stream.write(PdfNumber.floatToString(size));
408
- this.stream.write(Operators.whiteSpace);
409
- this.writeOperator(Operators.setFont);
410
- }
411
- }
412
- /**
413
- * `Writes the operator`.
414
- * @private
415
- */
416
- private writeOperator(opcode : string) : void {
417
- this.stream.write(opcode);
418
- this.stream.write(Operators.newLine);
419
- }
420
- /**
421
- * Checks the `text param`.
422
- * @private
423
- */
424
- private checkTextParam(text : string) : void
425
- /**
426
- * Checks the `text param`.
427
- * @private
428
- */
429
- private checkTextParam(text : PdfString) : void
430
- private checkTextParam(text : PdfString|string) : void {
431
- if (text == null) {
432
- throw new Error('ArgumentNullException:text');
433
- }
434
- if (typeof text === 'string' && text === '') {
435
- throw new Error('ArgumentException:The text can not be an empty string, text');
436
- }
437
- }
438
- /**
439
- * `Writes the text`.
440
- * @private
441
- */
442
- private writeText(text : string, hex : boolean) : void
443
- /**
444
- * `Writes the text`.
445
- * @private
446
- */
447
- private writeText(text : PdfString) : void
448
- private writeText(arg1 : PdfString|string, arg2 ?: boolean) : void {
449
- if ((arg1 instanceof PdfString) && (typeof arg2 === 'undefined')) {
450
- this.stream.write(arg1.pdfEncode());
451
- } else {
452
- let start : string;
453
- let end : string;
454
- if (arg2) {
455
- start = PdfString.hexStringMark[0];
456
- end = PdfString.hexStringMark[1];
457
- } else {
458
- start = PdfString.stringMark[0];
459
- end = PdfString.stringMark[1];
460
- }
461
- this.stream.write(start);
462
- this.stream.write(arg1 as string);
463
- this.stream.write(end);
464
- }
465
- }
466
- /**
467
- * `Writes the point`.
468
- * @private
469
- */
470
- private writePoint(point : PointF) : void
471
- /**
472
- * `Writes the point`.
473
- * @private
474
- */
475
- private writePoint(x : number, y : number) : void
476
- private writePoint(arg1 : number|PointF, arg2 ?: number) : void {
477
- if ((arg1 instanceof PointF) && (typeof arg2 === 'undefined')) {
478
- this.writePoint(arg1.x, arg1.y);
479
- } else {
480
- let temparg1 : number = arg1 as number;
481
- this.stream.write(PdfNumber.floatToString(temparg1));
482
- this.stream.write(Operators.whiteSpace);
483
- // NOTE: Change Y co-ordinate because we shifted co-ordinate system only.
484
- arg2 = this.updateY(arg2);
485
- this.stream.write(PdfNumber.floatToString(arg2));
486
- this.stream.write(Operators.whiteSpace);
487
- }
488
- }
489
- /**
490
- * `Updates y` co-ordinate.
491
- * @private
492
- */
493
- public updateY(arg : number) : number {
494
- return -arg;
495
- }
496
- /**
497
- * `Writes string` to the file.
498
- * @private
499
- */
500
- public write(string : string) : void {
501
- let builder : string = '';
502
- builder += string;
503
- builder += Operators.newLine;
504
- this.writeOperator(builder);
505
- }
506
- /**
507
- * `Writes comment` to the file.
508
- * @private
509
- */
510
- public writeComment(comment : string) : void {
511
- if (comment != null && comment.length > 0) {
512
- let builder : string = '';
513
- builder += Operators.comment;
514
- builder += Operators.whiteSpace;
515
- builder += comment;
516
- //builder.Append( Operators.NewLine );
517
- this.writeOperator(builder);
518
- } else {
519
- throw new Error('Invalid comment');
520
- }
521
- }
522
- /**
523
- * Sets the `color and space`.
524
- * @private
525
- */
526
- public setColorAndSpace(color : PdfColor, colorSpace : PdfColorSpace, forStroking : boolean) : void {
527
- if (!color.isEmpty) {
528
- // bool test = color is PdfExtendedColor;
529
- this.stream.write(color.toString(colorSpace, forStroking));
530
- this.stream.write(Operators.newLine);
531
- }
532
- }
533
- // public setLineDashPattern(pattern : number[], patternOffset : number) : void
534
- // {
535
- // let pat : PdfArray = new PdfArray(pattern);
536
- // let off : PdfNumber = new PdfNumber(patternOffset);
537
- // this.setLineDashPatternHelper(pat, off);
538
- // }
539
- // private setLineDashPatternHelper(pattern : PdfArray, patternOffset : PdfNumber) : void
540
- // {
541
- // pattern.Save(this);
542
- // this.m_stream.write(Operators.whiteSpace);
543
- // patternOffset.Save(this);
544
- // this.m_stream.write(Operators.whiteSpace);
545
- // this.writeOperator(Operators.setDashPattern);
546
- // }
547
- /**
548
- * Sets the `line dash pattern`.
549
- * @private
550
- */
551
- public setLineDashPattern(pattern : number[], patternOffset : number) : void {
552
- // let pat : PdfArray = new PdfArray(pattern);
553
- // let off : PdfNumber = new PdfNumber(patternOffset);
554
- // this.setLineDashPatternHelper(pat, off);
555
- this.setLineDashPatternHelper(pattern, patternOffset);
556
-
557
- }
558
- /**
559
- * Sets the `line dash pattern`.
560
- * @private
561
- */
562
- private setLineDashPatternHelper(pattern : number[], patternOffset : number) : void {
563
- let tempPattern : string = '[';
564
- if (pattern.length > 1) {
565
- for (let index : number = 0; index < pattern.length; index++) {
566
- if (index === pattern.length - 1) {
567
- tempPattern += pattern[index].toString();
568
- } else {
569
- tempPattern += pattern[index].toString() + ' ';
570
- }
571
- }
572
- }
573
- tempPattern += '] ';
574
- tempPattern += patternOffset.toString();
575
- tempPattern += ' ' + Operators.setDashPattern;
576
- this.stream.write(tempPattern);
577
- this.stream.write(Operators.newLine);
578
- }
579
- /**
580
- * Sets the `miter limit`.
581
- * @private
582
- */
583
- public setMiterLimit(miterLimit : number) : void {
584
- this.stream.write(PdfNumber.floatToString(miterLimit));
585
- this.stream.write(Operators.whiteSpace);
586
- this.writeOperator(Operators.setMiterLimit);
587
- }
588
- /**
589
- * Sets the `width of the line`.
590
- * @private
591
- */
592
- public setLineWidth(width : number) : void {
593
- this.stream.write(PdfNumber.floatToString(width));
594
- this.stream.write(Operators.whiteSpace);
595
- this.writeOperator(Operators.setLineWidth);
596
- }
597
- /**
598
- * Sets the `line cap`.
599
- * @private
600
- */
601
- public setLineCap(lineCapStyle : PdfLineCap) : void {
602
- this.stream.write((lineCapStyle).toString());
603
- this.stream.write(Operators.whiteSpace);
604
- this.writeOperator(Operators.setLineCapStyle);
605
- }
606
- /**
607
- * Sets the `line join`.
608
- * @private
609
- */
610
- public setLineJoin(lineJoinStyle : PdfLineJoin) : void {
611
- this.stream.write((lineJoinStyle).toString());
612
- this.stream.write(Operators.whiteSpace);
613
- this.writeOperator(Operators.setLineJoinStyle);
614
- }
615
- //IPdfWriter members
616
- /**
617
- * Gets or sets the current `position` within the stream.
618
- * @private
619
- */
620
- public get position() : number {
621
- return this.stream.position;
622
- }
623
- /**
624
- * Gets `stream length`.
625
- * @private
626
- */
627
- public get length() : number {
628
- let returnValue : number = 0;
629
- if (this.stream.data.length !== 0 && this.stream.data.length !== -1) {
630
- for (let index : number = 0; index < this.stream.data.length; index++) {
631
- returnValue += this.stream.data[index].length;
632
- }
633
- }
634
- return returnValue;
635
- }
636
- /**
637
- * Gets and Sets the `current document`.
638
- * @private
639
- */
640
- public get document() : PdfDocument {
641
- return null;
642
- }
643
- /**
644
- * `Appends a line segment`.
645
- * @public
646
- */
647
- public appendBezierSegment(arg1 : PointF, arg2 : PointF, arg3 : PointF) : void
648
- public appendBezierSegment(x1 : number, y1 : number, x2 : number, y2 : number, x3 : number, y3 : number ) : void
649
- /* tslint:disable-next-line:max-line-length */
650
- public appendBezierSegment(arg1 : number|PointF, arg2 : number|PointF, arg3 : number|PointF, arg4 ?: number, arg5 ?: number, arg6 ?: number ) : void {
651
- if (arg1 instanceof PointF && arg2 instanceof PointF && arg3 instanceof PointF) {
652
- this.writePoint(arg1.x, arg1.y);
653
- this.writePoint(arg2.x, arg2.y);
654
- this.writePoint(arg3.x, arg3.y);
655
- } else {
656
- this.writePoint(arg1 as number, arg2 as number);
657
- this.writePoint(arg3 as number, arg4 as number);
658
- this.writePoint(arg5 as number, arg6 as number);
659
- }
660
- this.writeOperator(Operators.appendbeziercurve);
661
- }
662
- public setColourWithPattern(colours: number[], patternName: PdfName, forStroking: boolean) : void {
663
- if ((colours != null)) {
664
- let count: number = colours.length;
665
- let i : number = 0;
666
- for (i = 0; i < count; ++i) {
667
- this.stream.write(colours[i].toString());
668
- this.stream.write(Operators.whiteSpace);
669
- }
670
- }
671
- if ((patternName != null)) {
672
- this.stream.write(patternName.toString());
673
- this.stream.write(Operators.whiteSpace);
674
- }
675
- if (forStroking) {
676
- this.writeOperator(Operators.setColorAndPatternStroking);
677
- } else {
678
- this.writeOperator(Operators.setColorAndPattern);
679
- }
680
- }
681
- }