@syncfusion/ej2-pdf-export 20.2.36 → 20.2.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.
- package/dist/ej2-pdf-export.umd.min.js +1 -1
- package/dist/global/ej2-pdf-export.min.js +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +6 -6
- package/dist/ts/implementation/actions/action.ts +0 -76
- package/dist/ts/implementation/actions/uri-action.ts +0 -52
- package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
- package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
- package/dist/ts/implementation/annotations/annotation.ts +0 -241
- package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
- package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
- package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
- package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
- package/dist/ts/implementation/collections/dictionary.ts +0 -150
- package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
- package/dist/ts/implementation/collections/utils.ts +0 -38
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
- package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
- package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
- package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
- package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
- package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
- package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
- package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
- package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
- package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
- package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
- package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
- package/dist/ts/implementation/document/pdf-document.ts +0 -342
- package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
- package/dist/ts/implementation/general/enum.ts +0 -21
- package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
- package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
- package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
- package/dist/ts/implementation/general/pdf-collection.ts +0 -41
- package/dist/ts/implementation/general/pdf-destination.ts +0 -170
- package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
- package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
- package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
- package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
- package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
- package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
- package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
- package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
- package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
- package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
- package/dist/ts/implementation/graphics/constants.ts +0 -31
- package/dist/ts/implementation/graphics/enum.ts +0 -413
- package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
- package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
- package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
- package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
- package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
- package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
- package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
- package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
- package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
- package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
- package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
- package/dist/ts/implementation/graphics/figures/path.ts +0 -646
- package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
- package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
- package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
- package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
- package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
- package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
- package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
- package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
- package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
- package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
- package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
- package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
- package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
- package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
- package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
- package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
- package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
- package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
- package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
- package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
- package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
- package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
- package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
- package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
- package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
- package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
- package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
- package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
- package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
- package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
- package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
- package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
- package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
- package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
- package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
- package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
- package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
- package/dist/ts/implementation/input-output/cross-table.ts +0 -21
- package/dist/ts/implementation/input-output/enum.ts +0 -16
- package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
- package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
- package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
- package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
- package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
- package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
- package/dist/ts/implementation/pages/enum.ts +0 -201
- package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
- package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
- package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
- package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
- package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
- package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
- package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
- package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
- package/dist/ts/implementation/pages/pdf-page.ts +0 -235
- package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
- package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
- package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
- package/dist/ts/implementation/pages/pdf-section.ts +0 -644
- package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
- package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
- package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
- package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
- package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
- package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
- package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
- package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
- package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
- package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
- package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
- package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
- package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
- package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
- package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
- package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
- package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
- package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
- package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
- package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfStream.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { IPdfWriter } from './../../interfaces/i-pdf-writer';
|
|
5
|
-
import { PdfDictionary } from './pdf-dictionary';
|
|
6
|
-
import { PdfNumber } from './pdf-number';
|
|
7
|
-
import { Operators } from './../input-output/pdf-operators';
|
|
8
|
-
import { PdfName } from './pdf-name';
|
|
9
|
-
import { PdfArray } from './pdf-array';
|
|
10
|
-
import { PdfReferenceHolder } from './pdf-reference';
|
|
11
|
-
import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
|
|
12
|
-
import { CompressedStreamWriter } from '@syncfusion/ej2-compression';
|
|
13
|
-
import { UnicodeTrueTypeFont } from './../graphics/fonts/unicode-true-type-font';
|
|
14
|
-
/**
|
|
15
|
-
* `PdfStream` class is used to perform stream related primitive operations.
|
|
16
|
-
* @private
|
|
17
|
-
*/
|
|
18
|
-
export class PdfStream extends PdfDictionary {
|
|
19
|
-
//Constants
|
|
20
|
-
/**
|
|
21
|
-
* @hidden
|
|
22
|
-
* @private
|
|
23
|
-
*/
|
|
24
|
-
private readonly dicPrefix : string = 'stream';
|
|
25
|
-
/**
|
|
26
|
-
* @hidden
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
private readonly dicSuffix : string = 'endstream';
|
|
30
|
-
//Fields
|
|
31
|
-
/**
|
|
32
|
-
* @hidden
|
|
33
|
-
* @private
|
|
34
|
-
*/
|
|
35
|
-
private dataStream2 : string[];
|
|
36
|
-
/**
|
|
37
|
-
* @hidden
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
private blockEncryption2 : boolean;
|
|
41
|
-
/**
|
|
42
|
-
* @hidden
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
private bDecrypted2 : boolean;
|
|
46
|
-
/**
|
|
47
|
-
* @hidden
|
|
48
|
-
* @private
|
|
49
|
-
*/
|
|
50
|
-
private bCompress2 : boolean;
|
|
51
|
-
/**
|
|
52
|
-
* @hidden
|
|
53
|
-
* @private
|
|
54
|
-
*/
|
|
55
|
-
private bEncrypted2 : boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Internal variable to hold `cloned object`.
|
|
58
|
-
* @private
|
|
59
|
-
*/
|
|
60
|
-
private clonedObject2 : PdfStream = null;
|
|
61
|
-
/**
|
|
62
|
-
* @hidden
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
private bCompress : boolean = true;
|
|
66
|
-
/**
|
|
67
|
-
* @hidden
|
|
68
|
-
* @private
|
|
69
|
-
*/
|
|
70
|
-
private isImageStream : boolean = false;
|
|
71
|
-
/**
|
|
72
|
-
* @hidden
|
|
73
|
-
* @private
|
|
74
|
-
*/
|
|
75
|
-
private isFontStream : boolean = false;
|
|
76
|
-
/**
|
|
77
|
-
* Event. Raise `before the object saves`.
|
|
78
|
-
* @private
|
|
79
|
-
*/
|
|
80
|
-
public cmapBeginSave : SaveCmapEventHandler;
|
|
81
|
-
/**
|
|
82
|
-
* Event. Raise `before the object saves`.
|
|
83
|
-
* @private
|
|
84
|
-
*/
|
|
85
|
-
public fontProgramBeginSave : SaveFontProgramEventHandler;
|
|
86
|
-
//Constructors
|
|
87
|
-
/**
|
|
88
|
-
* Initialize an instance for `PdfStream` class.
|
|
89
|
-
* @private
|
|
90
|
-
*/
|
|
91
|
-
public constructor()
|
|
92
|
-
/**
|
|
93
|
-
* Initialize an instance for `PdfStream` class.
|
|
94
|
-
* @private
|
|
95
|
-
*/
|
|
96
|
-
public constructor(dictionary : PdfDictionary, data : string[])
|
|
97
|
-
public constructor(dictionary? : PdfDictionary, data? : string[]) {
|
|
98
|
-
super(dictionary);
|
|
99
|
-
if (typeof dictionary !== 'undefined' || typeof data !== 'undefined') {
|
|
100
|
-
this.dataStream2 = [];
|
|
101
|
-
this.dataStream2 = data;
|
|
102
|
-
this.bCompress2 = false;
|
|
103
|
-
} else {
|
|
104
|
-
this.dataStream2 = [];
|
|
105
|
-
this.bCompress2 = true;
|
|
106
|
-
//Pending
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Gets the `internal` stream.
|
|
111
|
-
* @private
|
|
112
|
-
*/
|
|
113
|
-
public get internalStream() : string[] {
|
|
114
|
-
return this.dataStream2;
|
|
115
|
-
}
|
|
116
|
-
public set internalStream(value : string[]) {
|
|
117
|
-
this.dataStream2 = [];
|
|
118
|
-
this.dataStream2 = value;
|
|
119
|
-
this.modify();
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Gets or sets 'is image' flag.
|
|
123
|
-
* @private
|
|
124
|
-
*/
|
|
125
|
-
public get isImage() : boolean {
|
|
126
|
-
return this.isImageStream;
|
|
127
|
-
}
|
|
128
|
-
public set isImage(value : boolean) {
|
|
129
|
-
this.isImageStream = value;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Gets or sets 'is font' flag.
|
|
133
|
-
* @private
|
|
134
|
-
*/
|
|
135
|
-
public get isFont() : boolean {
|
|
136
|
-
return this.isFontStream;
|
|
137
|
-
}
|
|
138
|
-
public set isFont(value : boolean) {
|
|
139
|
-
this.isFontStream = value;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Gets or sets `compression` flag.
|
|
143
|
-
* @private
|
|
144
|
-
*/
|
|
145
|
-
public get compress() : boolean {
|
|
146
|
-
return this.bCompress;
|
|
147
|
-
}
|
|
148
|
-
public set compress(value : boolean) {
|
|
149
|
-
this.bCompress = value;
|
|
150
|
-
this.modify();
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Gets or sets the `data`.
|
|
154
|
-
* @private
|
|
155
|
-
*/
|
|
156
|
-
public get data() : string[] {
|
|
157
|
-
return this.dataStream2;
|
|
158
|
-
}
|
|
159
|
-
public set data(value : string[]) {
|
|
160
|
-
this.dataStream2 = [];
|
|
161
|
-
this.dataStream2 = value;
|
|
162
|
-
this.modify();
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* `Clear` the internal stream.
|
|
166
|
-
* @private
|
|
167
|
-
*/
|
|
168
|
-
public clearStream() : void {
|
|
169
|
-
this.internalStream = [];
|
|
170
|
-
if (this.items.containsKey(this.dictionaryProperties.filter)) {
|
|
171
|
-
this.remove(this.dictionaryProperties.filter);
|
|
172
|
-
}
|
|
173
|
-
this.bCompress = true;
|
|
174
|
-
this.modify();
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* `Writes` the specified string.
|
|
178
|
-
* @private
|
|
179
|
-
*/
|
|
180
|
-
public write(text : string) : void {
|
|
181
|
-
if (text == null) {
|
|
182
|
-
throw new Error('ArgumentNullException:text');
|
|
183
|
-
}
|
|
184
|
-
if (text.length <= 0) {
|
|
185
|
-
throw new Error('ArgumentException: Can not write an empty string, text');
|
|
186
|
-
}
|
|
187
|
-
this.dataStream2.push(text);
|
|
188
|
-
this.modify();
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* `Writes` the specified bytes.
|
|
192
|
-
* @private
|
|
193
|
-
*/
|
|
194
|
-
public writeBytes(data : number[]) : void {
|
|
195
|
-
if (data === null) {
|
|
196
|
-
throw new Error('ArgumentNullException:data');
|
|
197
|
-
}
|
|
198
|
-
if (data.length <= 0) {
|
|
199
|
-
throw new Error('ArgumentException: Can not write an empty bytes, data');
|
|
200
|
-
}
|
|
201
|
-
let text : string = '';
|
|
202
|
-
for (let i : number = 0; i < data.length; i++) {
|
|
203
|
-
text += String.fromCharCode(data[i]);
|
|
204
|
-
}
|
|
205
|
-
this.dataStream2.push(text);
|
|
206
|
-
this.modify();
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Raises event `Cmap BeginSave`.
|
|
210
|
-
* @private
|
|
211
|
-
*/
|
|
212
|
-
public onCmapBeginSave() : void {
|
|
213
|
-
(this.cmapBeginSave as SaveCmapEventHandler).sender.cmapBeginSave();
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Raises event `Font Program BeginSave`.
|
|
217
|
-
* @private
|
|
218
|
-
*/
|
|
219
|
-
protected onFontProgramBeginSave() : void {
|
|
220
|
-
(this.fontProgramBeginSave as SaveFontProgramEventHandler).sender.fontProgramBeginSave();
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* `Compresses the content` if it's required.
|
|
224
|
-
* @private
|
|
225
|
-
*/
|
|
226
|
-
private compressContent(data : string, writer : IPdfWriter) : string {
|
|
227
|
-
if (this.bCompress) {
|
|
228
|
-
let byteArray : number[] = [];
|
|
229
|
-
for (let i : number = 0; i < data.length; i++) {
|
|
230
|
-
byteArray.push(data.charCodeAt(i));
|
|
231
|
-
}
|
|
232
|
-
let dataArray : Uint8Array = new Uint8Array(byteArray);
|
|
233
|
-
let sw : CompressedStreamWriter = new CompressedStreamWriter();
|
|
234
|
-
// data = 'Hello World!!!';
|
|
235
|
-
sw.write(dataArray, 0, dataArray.length);
|
|
236
|
-
sw.close();
|
|
237
|
-
data = sw.getCompressedString;
|
|
238
|
-
this.addFilter(this.dictionaryProperties.flatedecode);
|
|
239
|
-
}
|
|
240
|
-
return data;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* `Adds a filter` to the filter array.
|
|
244
|
-
* @private
|
|
245
|
-
*/
|
|
246
|
-
public addFilter(filterName : string) : void {
|
|
247
|
-
let obj : IPdfPrimitive = this.items.getValue(this.dictionaryProperties.filter);
|
|
248
|
-
if (obj instanceof PdfReferenceHolder) {
|
|
249
|
-
let rh : PdfReferenceHolder = obj as PdfReferenceHolder;
|
|
250
|
-
obj = rh.object;
|
|
251
|
-
}
|
|
252
|
-
let array : PdfArray = obj as PdfArray;
|
|
253
|
-
let name : PdfName = obj as PdfName;
|
|
254
|
-
if (name != null) {
|
|
255
|
-
array = new PdfArray();
|
|
256
|
-
array.insert(0, name);
|
|
257
|
-
this.items.setValue(this.dictionaryProperties.filter, array);
|
|
258
|
-
}
|
|
259
|
-
name = new PdfName(filterName);
|
|
260
|
-
if (array == null) {
|
|
261
|
-
this.items.setValue(this.dictionaryProperties.filter, name);
|
|
262
|
-
} else {
|
|
263
|
-
array.insert(0, name);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* `Saves` the object using the specified writer.
|
|
268
|
-
* @private
|
|
269
|
-
*/
|
|
270
|
-
public save(writer : IPdfWriter) : void {
|
|
271
|
-
if (typeof this.cmapBeginSave !== 'undefined') {
|
|
272
|
-
this.onCmapBeginSave();
|
|
273
|
-
}
|
|
274
|
-
if (typeof this.fontProgramBeginSave !== 'undefined') {
|
|
275
|
-
this.onFontProgramBeginSave();
|
|
276
|
-
}
|
|
277
|
-
let data : string = '';
|
|
278
|
-
for (let i : number = 0; i < this.data.length; i++) {
|
|
279
|
-
data = data + this.data[i];
|
|
280
|
-
}
|
|
281
|
-
if (data.length > 1 && !this.isImage && !this.isFont) {
|
|
282
|
-
data = 'q\r\n' + data + 'Q\r\n';
|
|
283
|
-
}
|
|
284
|
-
data = this.compressContent(data, writer);
|
|
285
|
-
let length : number = data.length;
|
|
286
|
-
this.items.setValue(this.dictionaryProperties.length, new PdfNumber(length));
|
|
287
|
-
super.save(writer, false);
|
|
288
|
-
writer.write(this.dicPrefix);
|
|
289
|
-
writer.write(Operators.newLine);
|
|
290
|
-
if (data.length > 0) {
|
|
291
|
-
writer.write(data);
|
|
292
|
-
}
|
|
293
|
-
writer.write(Operators.newLine);
|
|
294
|
-
writer.write(this.dicSuffix);
|
|
295
|
-
writer.write(Operators.newLine);
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Converts `bytes to string`.
|
|
299
|
-
* @private
|
|
300
|
-
*/
|
|
301
|
-
public static bytesToString(byteArray : number[]) : string {
|
|
302
|
-
let output : string = '';
|
|
303
|
-
for (let i : number = 0; i < byteArray.length; i++ ) {
|
|
304
|
-
output = output + String.fromCharCode(byteArray[i]);
|
|
305
|
-
}
|
|
306
|
-
return output;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
export class SaveCmapEventHandler {
|
|
310
|
-
/**
|
|
311
|
-
* @hidden
|
|
312
|
-
* @private
|
|
313
|
-
*/
|
|
314
|
-
public sender : UnicodeTrueTypeFont;
|
|
315
|
-
/**
|
|
316
|
-
* New instance for `save section collection event handler` class.
|
|
317
|
-
* @private
|
|
318
|
-
*/
|
|
319
|
-
public constructor(sender : UnicodeTrueTypeFont) {
|
|
320
|
-
this.sender = sender;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
export class SaveFontProgramEventHandler {
|
|
324
|
-
/**
|
|
325
|
-
* @hidden
|
|
326
|
-
* @private
|
|
327
|
-
*/
|
|
328
|
-
public sender : UnicodeTrueTypeFont;
|
|
329
|
-
/**
|
|
330
|
-
* New instance for `save section collection event handler` class.
|
|
331
|
-
* @private
|
|
332
|
-
*/
|
|
333
|
-
public constructor(sender : UnicodeTrueTypeFont) {
|
|
334
|
-
this.sender = sender;
|
|
335
|
-
}
|
|
336
|
-
}
|