@syncfusion/ej2-pdf-export 20.1.47 → 20.1.55

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 (153) hide show
  1. package/dist/ej2-pdf-export.umd.min.js +1 -1
  2. package/dist/global/ej2-pdf-export.min.js +1 -1
  3. package/dist/global/index.d.ts +1 -1
  4. package/package.json +6 -6
  5. package/dist/ts/implementation/actions/action.ts +0 -76
  6. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  7. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  8. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  9. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  10. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  11. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  12. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  13. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  14. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  15. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  16. package/dist/ts/implementation/collections/utils.ts +0 -38
  17. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  18. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  19. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  20. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  21. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  22. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  23. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  24. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  25. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  26. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  27. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  28. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  29. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  30. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  31. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  32. package/dist/ts/implementation/general/enum.ts +0 -21
  33. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  34. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  35. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  36. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  37. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  38. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  39. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  40. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  41. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  42. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  43. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  44. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  45. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  46. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  47. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  48. package/dist/ts/implementation/graphics/constants.ts +0 -31
  49. package/dist/ts/implementation/graphics/enum.ts +0 -413
  50. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  51. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  52. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  53. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  54. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  55. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  56. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  57. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  58. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  59. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  60. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  61. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  62. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  63. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  64. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  65. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  66. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  67. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  68. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  69. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  70. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  71. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  72. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  73. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  74. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  75. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  76. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  77. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  78. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  79. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  80. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  81. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  82. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  83. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  84. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  85. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  86. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  87. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  88. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  89. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  90. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  91. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  92. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  93. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  94. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  95. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  96. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  97. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
  98. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  99. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  100. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  101. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  102. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  103. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  104. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  105. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  106. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  107. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  108. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  109. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  110. package/dist/ts/implementation/input-output/enum.ts +0 -16
  111. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  112. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  113. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  114. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  115. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  116. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  117. package/dist/ts/implementation/pages/enum.ts +0 -201
  118. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  119. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  120. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  121. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  122. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  123. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  124. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  125. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  126. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  127. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  128. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  129. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  130. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  131. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  132. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  133. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  134. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  135. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  136. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  137. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  138. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  139. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  140. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
  141. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  142. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  143. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  144. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  145. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  146. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  147. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  148. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  149. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  150. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  151. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  152. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  153. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,397 +0,0 @@
1
- /**
2
- * PdfString.ts class for EJ2-PDF
3
- */
4
- import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
5
- import { IPdfWriter } from './../../interfaces/i-pdf-writer';
6
- import { ObjectStatus } from './../input-output/enum';
7
- import { PdfCrossTable } from './../input-output/pdf-cross-table';
8
- /**
9
- * `PdfString` class is used to perform string related primitive operations.
10
- * @private
11
- */
12
- export namespace InternalEnum {
13
- //Internals
14
- /**
15
- * public Enum for `ForceEncoding`.
16
- * @private
17
- */
18
- export enum ForceEncoding {
19
- /**
20
- * Specifies the type of `None`.
21
- * @private
22
- */
23
- None,
24
- /**
25
- * Specifies the type of `Ascii`.
26
- * @private
27
- */
28
- Ascii,
29
- /**
30
- * Specifies the type of `Unicode`.
31
- * @private
32
- */
33
- Unicode
34
- }
35
- /**
36
- * public Enum for `SourceType`.
37
- * @private
38
- */
39
- enum SourceType {
40
- /**
41
- * Specifies the type of `StringValue`.
42
- * @private
43
- */
44
- StringValue,
45
- /**
46
- * Specifies the type of `ByteBuffer`.
47
- * @private
48
- */
49
- ByteBuffer,
50
- }
51
- }
52
- export class PdfString implements IPdfPrimitive {
53
- //constants = ;
54
- /**
55
- * `General markers` for string.
56
- * @private
57
- */
58
- public static readonly stringMark : string = '()';
59
- /**
60
- * `Hex markers` for string.
61
- * @private
62
- */
63
- public static readonly hexStringMark : string = '<>';
64
- /**
65
- * Format of password data.
66
- * @private
67
- */
68
- private static readonly hexFormatPattern : string = '{0:X2}';
69
- //Fields
70
- /**
71
- * Value of the object.
72
- * @private
73
- */
74
- private stringValue : string;
75
- /**
76
- * The byte data of the string.
77
- * @private
78
- */
79
- private data : number[];
80
- /**
81
- * Value indicating whether the string was converted to hex.
82
- * @default false
83
- * @private
84
- */
85
- private bHex : boolean = false;
86
- /**
87
- * Shows the type of object `status` whether it is object registered or other status;
88
- * @private
89
- */
90
- private status1 : ObjectStatus;
91
- /**
92
- * Indicates if the object is currently in `saving state or not`.
93
- * @private
94
- */
95
- private isSaving1 : boolean;
96
- /**
97
- * Internal variable to store the `position`.
98
- * @default -1
99
- * @private
100
- */
101
- private position1 : number = -1;
102
- /**
103
- * Internal variable to hold `PdfCrossTable` reference.
104
- * @private
105
- */
106
- private crossTable : PdfCrossTable;
107
- /**
108
- * Internal variable to hold `cloned object`.
109
- * @default null
110
- * @private
111
- */
112
- private clonedObject1 : PdfString = null;
113
- /**
114
- * Indicates whether to check if the value `has unicode characters`.
115
- * @private
116
- */
117
- private bConverted : boolean;
118
- /**
119
- * Indicates whether we should convert `data to Unicode`.
120
- * @private
121
- */
122
- private bForceEncoding : InternalEnum.ForceEncoding;
123
- /**
124
- * `Shows` if the data of the stream was decrypted.
125
- * @default false
126
- * @private
127
- */
128
- private bDecrypted : boolean = false;
129
- /**
130
- * Holds the `index` number of the object.
131
- * @private
132
- */
133
- private index1 : number;
134
- /**
135
- * Shows if the data of the stream `was decrypted`.
136
- * @default false
137
- * @private
138
- */
139
- private isParentDecrypted : boolean = false;
140
- /**
141
- * Gets a value indicating whether the object is `packed or not`.
142
- * @default false
143
- * @private
144
- */
145
- private isPacked : boolean = false;
146
- /**
147
- * @hidden
148
- * @private
149
- */
150
- public isFormField : boolean = false;
151
- /**
152
- * @hidden
153
- * @private
154
- */
155
- public isColorSpace : boolean = false;
156
- /**
157
- * @hidden
158
- * @private
159
- */
160
- public isHexString : boolean = true;
161
- /**
162
- * @hidden
163
- * @private
164
- */
165
- private encodedBytes : number[];
166
- //constructor
167
- /**
168
- * Initializes a new instance of the `PdfString` class.
169
- * @private
170
- */
171
- public constructor()
172
- /**
173
- * Initializes a new instance of the `PdfString` class.
174
- * @private
175
- */
176
- public constructor(value : string)
177
- public constructor(value? : string) {
178
- if (typeof value === 'undefined') {
179
- this.bHex = false;
180
- } else {
181
- if (!(value.length > 0 && value[0] === '0xfeff')) {
182
- this.stringValue = value;
183
- this.data = [];
184
- for (let i : number = 0; i < value.length; ++i) {
185
- this.data.push(value.charCodeAt(i));
186
- }
187
- }
188
- }
189
- }
190
- //Property
191
- /**
192
- * Gets a value indicating whether string is in `hex`.
193
- * @private
194
- */
195
- public get hex() : boolean {
196
- return this.bHex;
197
- }
198
- /**
199
- * Gets or sets string `value` of the object.
200
- * @private
201
- */
202
- public get value() : string {
203
- return this.stringValue;
204
- }
205
- public set value(value : string) {
206
- this.stringValue = value;
207
- this.data = null;
208
- }
209
- /**
210
- * Gets or sets the `Status` of the specified object.
211
- * @private
212
- */
213
- public get status() : ObjectStatus {
214
- return this.status1;
215
- }
216
- public set status(value : ObjectStatus) {
217
- this.status1 = value;
218
- }
219
- /**
220
- * Gets or sets a value indicating whether this document `is saving` or not.
221
- * @private
222
- */
223
- public get isSaving() : boolean {
224
- return this.isSaving1;
225
- }
226
- public set isSaving(value : boolean) {
227
- this.isSaving1 = value;
228
- }
229
- /**
230
- * Gets or sets the `index` value of the specified object.
231
- * @private
232
- */
233
- public get objectCollectionIndex() : number {
234
- return this.index1;
235
- }
236
- public set objectCollectionIndex(value : number) {
237
- this.index1 = value;
238
- }
239
- /**
240
- * Returns `cloned object`.
241
- * @private
242
- */
243
- public get clonedObject() : IPdfPrimitive {
244
- return this.clonedObject1;
245
- }
246
- /**
247
- * Gets or sets the `position` of the object.
248
- * @private
249
- */
250
- public get position() : number {
251
- return this.position1;
252
- }
253
- public set position(value : number) {
254
- this.position1 = value;
255
- }
256
- /**
257
- * Returns `PdfCrossTable` associated with the object.
258
- * @private
259
- */
260
- public get CrossTable() : PdfCrossTable {
261
- return this.crossTable;
262
- }
263
- /**
264
- * Gets a value indicating whether to check if the value has unicode characters.
265
- * @private
266
- */
267
- public get converted() : boolean {
268
- return this.bConverted;
269
- }
270
- /**
271
- * sets a value indicating whether to check if the value has unicode characters.
272
- * @private
273
- */
274
- public set converted(value : boolean) {
275
- this.bConverted = value;
276
- }
277
- /**
278
- * Gets value indicating whether we should convert data to Unicode.
279
- */
280
- public get encode() : InternalEnum.ForceEncoding {
281
- return this.bForceEncoding;
282
- }
283
- public set encode(value : InternalEnum.ForceEncoding) {
284
- this.bForceEncoding = value;
285
- }
286
- //Methods
287
- /**
288
- * Converts `bytes to string using hex format` for representing string.
289
- * @private
290
- */
291
- public static bytesToHex(bytes : number[]) : string {
292
- if (bytes == null) {
293
- return '';
294
- }
295
- let builder : string = '';
296
- return builder;
297
- }
298
- /**
299
- * `Saves` the object using the specified writer.
300
- * @private
301
- */
302
- public save(writer : IPdfWriter) : void {
303
- if (writer === null) {
304
- throw new Error('ArgumentNullException : writer');
305
- }
306
- if (this.encode !== undefined && this.encode === InternalEnum.ForceEncoding.Ascii) {
307
- writer.write(this.pdfEncode());
308
- } else {
309
- writer.write(PdfString.stringMark[0] + this.value + PdfString.stringMark[1]);
310
- }
311
- }
312
- public pdfEncode() : string {
313
- let result : string = '';
314
- if (this.encode !== undefined && this.encode === InternalEnum.ForceEncoding.Ascii) {
315
- let data : number[] = this.escapeSymbols(this.value);
316
- for (let i : number = 0; i < data.length; i++) {
317
- result += String.fromCharCode(data[i]);
318
- }
319
- result = PdfString.stringMark[0] + result + PdfString.stringMark[1];
320
- } else {
321
- result = this.value;
322
- }
323
- return result;
324
- }
325
- private escapeSymbols(value : string) : number[] {
326
- let data : number[] = [];
327
- for (let i : number = 0; i < value.length; i++) {
328
- let currentData : number = value.charCodeAt(i);
329
- switch (currentData) {
330
- case 40:
331
- case 41:
332
- data.push(92);
333
- data.push(currentData);
334
- break;
335
- case 13:
336
- data.push(92);
337
- data.push(114);
338
- break;
339
- case 92:
340
- data.push(92);
341
- data.push(currentData);
342
- break;
343
-
344
- default:
345
- data.push(currentData);
346
- break;
347
- }
348
- }
349
- return data;
350
- }
351
- /**
352
- * Creates a `copy of PdfString`.
353
- * @private
354
- */
355
- public clone(crossTable : PdfCrossTable) : IPdfPrimitive {
356
- if (this.clonedObject1 !== null && this.clonedObject1.CrossTable === crossTable) {
357
- return this.clonedObject1;
358
- } else {
359
- this.clonedObject1 = null;
360
- }
361
- let newString : PdfString = new PdfString(this.stringValue);
362
- newString.bHex = this.bHex;
363
- newString.crossTable = crossTable;
364
- newString.isColorSpace = this.isColorSpace;
365
- this.clonedObject1 = newString;
366
- return newString;
367
- }
368
- /**
369
- * Converts string to array of unicode symbols.
370
- */
371
- public static toUnicodeArray(value : string, bAddPrefix : boolean) : number[] {
372
- if (value == null) {
373
- throw new Error('Argument Null Exception : value');
374
- }
375
- let startIndex : number = 0;
376
- let output : number[] = [];
377
- for (let i : number = 0; i < value.length; i++) {
378
- let code : number = value.charCodeAt(i);
379
- output.push(code / 256 >>> 0);
380
- output.push(code & 0xff);
381
- }
382
- return output;
383
- }
384
- /**
385
- * Converts byte data to string.
386
- */
387
- public static byteToString(data : number[]) : string {
388
- if (data == null) {
389
- throw new Error('Argument Null Exception : stream');
390
- }
391
- let result : string = '';
392
- for (let i : number = 0; i < data.length; ++i) {
393
- result += String.fromCharCode(data[i]);
394
- }
395
- return result;
396
- }
397
- }