@syncfusion/ej2-pdf-export 19.3.43 → 19.3.53

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