@syncfusion/ej2-pdf-export 22.1.34 → 22.1.39

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