@syncfusion/ej2-pdf-export 24.1.41 → 24.2.3
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/CHANGELOG.md +10 -0
- package/dist/ej2-pdf-export.min.js +2 -2
- package/dist/ej2-pdf-export.umd.min.js +2 -2
- package/dist/ej2-pdf-export.umd.min.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es2015.js +157 -28
- package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es5.js +157 -28
- package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
- package/dist/global/ej2-pdf-export.min.js +2 -2
- package/dist/global/ej2-pdf-export.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +6 -6
- package/src/implementation/graphics/pdf-graphics.d.ts +35 -0
- package/src/implementation/graphics/pdf-graphics.js +157 -29
- 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 -65
- package/dist/ts/implementation/document/pdf-document-base.ts +0 -180
- 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/document/pdf-viewer-preferences.ts +0 -578
- 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 -63
- 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 -439
- 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 -2429
- 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 -571
- 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 -663
- 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 -306
- 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 -1193
- 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,342 +0,0 @@
|
|
|
1
|
-
import { StreamWriter } from '@syncfusion/ej2-file-utils';
|
|
2
|
-
import { PdfWriter } from './../input-output/pdf-writer';
|
|
3
|
-
import { PdfMainObjectCollection } from './../input-output/pdf-main-object-collection';
|
|
4
|
-
import { PdfDocumentBase } from './pdf-document-base';
|
|
5
|
-
import { PdfCrossTable } from './../input-output/pdf-cross-table';
|
|
6
|
-
import { PdfCatalog } from './pdf-catalog';
|
|
7
|
-
import { PdfPageSettings } from './../pages/pdf-page-settings';
|
|
8
|
-
import { PdfSectionCollection } from './../pages/pdf-section-collection';
|
|
9
|
-
import { PdfDocumentPageCollection } from './../pages/pdf-document-page-collection';
|
|
10
|
-
import { PdfCacheCollection } from './../general/pdf-cache-collection';
|
|
11
|
-
import { PdfColorSpace } from './../graphics/enum';
|
|
12
|
-
import { PdfDocumentTemplate } from './pdf-document-template';
|
|
13
|
-
import { PdfFont } from './../graphics/fonts/pdf-font';
|
|
14
|
-
import { PdfFontFamily } from './../graphics/fonts/enum';
|
|
15
|
-
import { PdfStandardFont } from './../graphics/fonts/pdf-standard-font';
|
|
16
|
-
/**
|
|
17
|
-
* Represents a PDF document and can be used to create a new PDF document from the scratch.
|
|
18
|
-
* ```typescript
|
|
19
|
-
* // create a new PDF document
|
|
20
|
-
* let document : PdfDocument = new PdfDocument();
|
|
21
|
-
* // add a new page to the document
|
|
22
|
-
* let page1 : PdfPage = document.pages.add();
|
|
23
|
-
* // set the font
|
|
24
|
-
* let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
|
|
25
|
-
* // create black brush
|
|
26
|
-
* let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
|
|
27
|
-
* // draw the text
|
|
28
|
-
* page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
|
|
29
|
-
* // save the document
|
|
30
|
-
* document.save('output.pdf');
|
|
31
|
-
* // destroy the document
|
|
32
|
-
* document.destroy();
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export class PdfDocument extends PdfDocumentBase {
|
|
36
|
-
//Fields
|
|
37
|
-
/**
|
|
38
|
-
* `Cache` of the objects.
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
private static cacheCollection : PdfCacheCollection;
|
|
42
|
-
/**
|
|
43
|
-
* Default `margin` value.
|
|
44
|
-
* @default 40.0
|
|
45
|
-
* @private
|
|
46
|
-
*/
|
|
47
|
-
public readonly defaultMargin : number = 40.0;
|
|
48
|
-
/**
|
|
49
|
-
* Default page `settings`.
|
|
50
|
-
* @private
|
|
51
|
-
*/
|
|
52
|
-
private settings : PdfPageSettings;
|
|
53
|
-
/**
|
|
54
|
-
* Internal variable to store document`s collection of `sections`.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
private sectionCollection : PdfSectionCollection;
|
|
58
|
-
/**
|
|
59
|
-
* Internal variable to store document`s collection of `pages`.
|
|
60
|
-
* @private
|
|
61
|
-
*/
|
|
62
|
-
private documentPageCollection : PdfDocumentPageCollection;
|
|
63
|
-
/**
|
|
64
|
-
* Internal variable to store instance of `StreamWriter` classes..
|
|
65
|
-
* @default null
|
|
66
|
-
* @private
|
|
67
|
-
*/
|
|
68
|
-
public streamWriter : StreamWriter = null;
|
|
69
|
-
/**
|
|
70
|
-
* Defines the `color space` of the document
|
|
71
|
-
* @private
|
|
72
|
-
*/
|
|
73
|
-
private pdfColorSpace : PdfColorSpace;
|
|
74
|
-
/**
|
|
75
|
-
* Internal variable to store `template` which is applied to each page of the document.
|
|
76
|
-
* @private
|
|
77
|
-
*/
|
|
78
|
-
private pageTemplate : PdfDocumentTemplate;
|
|
79
|
-
/**
|
|
80
|
-
* `Font` used in complex objects to draw strings and text when it is not defined explicitly.
|
|
81
|
-
* @default null
|
|
82
|
-
* @private
|
|
83
|
-
*/
|
|
84
|
-
private static defaultStandardFont : PdfFont = null;
|
|
85
|
-
/**
|
|
86
|
-
* Indicates whether enable cache or not
|
|
87
|
-
* @default true
|
|
88
|
-
* @private
|
|
89
|
-
*/
|
|
90
|
-
private static isCacheEnabled : boolean = true;
|
|
91
|
-
//Constructors
|
|
92
|
-
/**
|
|
93
|
-
* Initializes a new instance of the `PdfDocument` class.
|
|
94
|
-
* @public
|
|
95
|
-
*/
|
|
96
|
-
public constructor()
|
|
97
|
-
/**
|
|
98
|
-
* Initializes a new instance of the `PdfDocument` class.
|
|
99
|
-
* @private
|
|
100
|
-
*/
|
|
101
|
-
public constructor(isMerging : boolean)
|
|
102
|
-
public constructor(isMerging? : boolean) {
|
|
103
|
-
super();
|
|
104
|
-
this.document = this;
|
|
105
|
-
let isMerge : boolean = false;
|
|
106
|
-
if (typeof isMerging === 'undefined') {
|
|
107
|
-
PdfDocument.cacheCollection = new PdfCacheCollection();
|
|
108
|
-
isMerge = false;
|
|
109
|
-
} else {
|
|
110
|
-
isMerge = isMerging;
|
|
111
|
-
}
|
|
112
|
-
let objects : PdfMainObjectCollection = new PdfMainObjectCollection();
|
|
113
|
-
this.setMainObjectCollection(objects);
|
|
114
|
-
let crossTable : PdfCrossTable = new PdfCrossTable();
|
|
115
|
-
crossTable.isMerging = isMerge;
|
|
116
|
-
crossTable.document = this;
|
|
117
|
-
this.setCrossTable(crossTable);
|
|
118
|
-
let catalog : PdfCatalog = new PdfCatalog();
|
|
119
|
-
this.setCatalog(catalog);
|
|
120
|
-
objects.add(catalog);
|
|
121
|
-
catalog.position = -1;
|
|
122
|
-
this.sectionCollection = new PdfSectionCollection(this);
|
|
123
|
-
this.documentPageCollection = new PdfDocumentPageCollection(this);
|
|
124
|
-
catalog.pages = this.sectionCollection;
|
|
125
|
-
}
|
|
126
|
-
//Properties
|
|
127
|
-
/**
|
|
128
|
-
* Gets the `default font`. It is used for complex objects when font is not explicitly defined.
|
|
129
|
-
* @private
|
|
130
|
-
*/
|
|
131
|
-
public static get defaultFont() : PdfFont {
|
|
132
|
-
if (this.defaultStandardFont == null) {
|
|
133
|
-
this.defaultStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 8);
|
|
134
|
-
}
|
|
135
|
-
return this.defaultStandardFont;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Gets the collection of the `sections` in the document.
|
|
139
|
-
* @private
|
|
140
|
-
*/
|
|
141
|
-
public get sections() : PdfSectionCollection {
|
|
142
|
-
return this.sectionCollection;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Gets the document's page setting.
|
|
146
|
-
* @public
|
|
147
|
-
*/
|
|
148
|
-
public get pageSettings() : PdfPageSettings {
|
|
149
|
-
if (this.settings == null) {
|
|
150
|
-
this.settings = new PdfPageSettings(this.defaultMargin);
|
|
151
|
-
}
|
|
152
|
-
return this.settings;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Sets the document's page setting.
|
|
156
|
-
* ```typescript
|
|
157
|
-
* // create a new PDF document
|
|
158
|
-
* let document : PdfDocument = new PdfDocument();
|
|
159
|
-
*
|
|
160
|
-
* // sets the right margin of the page
|
|
161
|
-
* document.pageSettings.margins.right = 0;
|
|
162
|
-
* // set the page size.
|
|
163
|
-
* document.pageSettings.size = new SizeF(500, 500);
|
|
164
|
-
* // change the page orientation to landscape
|
|
165
|
-
* document.pageSettings.orientation = PdfPageOrientation.Landscape;
|
|
166
|
-
* // apply 90 degree rotation on the page
|
|
167
|
-
* document.pageSettings.rotate = PdfPageRotateAngle.RotateAngle90;
|
|
168
|
-
*
|
|
169
|
-
* // add a pages to the document
|
|
170
|
-
* let page1 : PdfPage = document.pages.add();
|
|
171
|
-
* // set font
|
|
172
|
-
* let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
|
|
173
|
-
* // set brush
|
|
174
|
-
* let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
|
|
175
|
-
* // set the specified Point
|
|
176
|
-
* let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);
|
|
177
|
-
* // draw the text
|
|
178
|
-
* page1.graphics.drawString('Hello World', font, blackBrush, point);
|
|
179
|
-
* // save the document
|
|
180
|
-
* document.save('output.pdf');
|
|
181
|
-
* // destroy the document
|
|
182
|
-
* document.destroy();
|
|
183
|
-
* ```
|
|
184
|
-
*/
|
|
185
|
-
public set pageSettings(value : PdfPageSettings) {
|
|
186
|
-
this.settings = value;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Represents the collection of pages in the PDF document.
|
|
190
|
-
* ```typescript
|
|
191
|
-
* // create a new PDF document
|
|
192
|
-
* let document : PdfDocument = new PdfDocument();
|
|
193
|
-
* //
|
|
194
|
-
* // get the collection of pages in the document
|
|
195
|
-
* let pageCollection : PdfDocumentPageCollection = document.pages;
|
|
196
|
-
* //
|
|
197
|
-
* // add pages
|
|
198
|
-
* let page1 : PdfPage = pageCollection.add();
|
|
199
|
-
* // save the document
|
|
200
|
-
* document.save('output.pdf');
|
|
201
|
-
* // destroy the document
|
|
202
|
-
* document.destroy();
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
public get pages() : PdfDocumentPageCollection {
|
|
206
|
-
return this.documentPageCollection;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Gets collection of the `cached objects`.
|
|
210
|
-
* @private
|
|
211
|
-
*/
|
|
212
|
-
public static get cache() : PdfCacheCollection {
|
|
213
|
-
if (typeof PdfDocument.cacheCollection === 'undefined' || PdfDocument.cacheCollection == null) {
|
|
214
|
-
return new PdfCacheCollection();
|
|
215
|
-
}
|
|
216
|
-
return PdfDocument.cacheCollection;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Sets collection of the `cached objects`.
|
|
220
|
-
* @private
|
|
221
|
-
*/
|
|
222
|
-
public static set cache(value : PdfCacheCollection) {
|
|
223
|
-
this.cacheCollection = value;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Gets the value of enable cache.
|
|
227
|
-
* @private
|
|
228
|
-
*/
|
|
229
|
-
public static get enableCache() : boolean {
|
|
230
|
-
return this.isCacheEnabled;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Sets thie value of enable cache.
|
|
234
|
-
* @private
|
|
235
|
-
*/
|
|
236
|
-
public static set enableCache(value : boolean) {
|
|
237
|
-
this.isCacheEnabled = value;
|
|
238
|
-
}
|
|
239
|
-
/* tslint:disable */
|
|
240
|
-
/**
|
|
241
|
-
* Gets or sets the `color space` of the document. This property can be used to create PDF document in RGB, Gray scale or CMYK color spaces.
|
|
242
|
-
* @private
|
|
243
|
-
*/
|
|
244
|
-
public get colorSpace() : PdfColorSpace {
|
|
245
|
-
if ((this.pdfColorSpace === PdfColorSpace.Rgb) || ((this.pdfColorSpace === PdfColorSpace.Cmyk)
|
|
246
|
-
|| (this.pdfColorSpace === PdfColorSpace.GrayScale))) {
|
|
247
|
-
return this.pdfColorSpace;
|
|
248
|
-
} else {
|
|
249
|
-
return PdfColorSpace.Rgb;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
public set colorSpace(value : PdfColorSpace) {
|
|
253
|
-
if ((value === PdfColorSpace.Rgb) || ((value === PdfColorSpace.Cmyk) ||
|
|
254
|
-
(value === PdfColorSpace.GrayScale))) {
|
|
255
|
-
this.pdfColorSpace = value;
|
|
256
|
-
} else {
|
|
257
|
-
this.pdfColorSpace = PdfColorSpace.Rgb;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
/* tslint:enable */
|
|
261
|
-
/**
|
|
262
|
-
* Gets or sets a `template` to all pages in the document.
|
|
263
|
-
* @private
|
|
264
|
-
*/
|
|
265
|
-
public get template() : PdfDocumentTemplate {
|
|
266
|
-
if (this.pageTemplate == null) {
|
|
267
|
-
this.pageTemplate = new PdfDocumentTemplate();
|
|
268
|
-
}
|
|
269
|
-
return this.pageTemplate;
|
|
270
|
-
}
|
|
271
|
-
public set template(value : PdfDocumentTemplate) {
|
|
272
|
-
this.pageTemplate = value;
|
|
273
|
-
}
|
|
274
|
-
// Public methods
|
|
275
|
-
/**
|
|
276
|
-
* Saves the document to the specified output stream and return the stream as Blob.
|
|
277
|
-
* @private
|
|
278
|
-
*/
|
|
279
|
-
public docSave(stream : StreamWriter, isBase : boolean) : Blob
|
|
280
|
-
/**
|
|
281
|
-
* Saves the document to the specified output stream.
|
|
282
|
-
* @private
|
|
283
|
-
*/
|
|
284
|
-
public docSave(stream : StreamWriter, filename : string, isBase : boolean) : void
|
|
285
|
-
public docSave(stream : StreamWriter, arg2 : string | boolean, arg3 ?: boolean) : void | Blob {
|
|
286
|
-
this.checkPagesPresence();
|
|
287
|
-
if (stream === null) {
|
|
288
|
-
throw new Error('ArgumentNullException : stream');
|
|
289
|
-
}
|
|
290
|
-
this.streamWriter = stream;
|
|
291
|
-
let writer : PdfWriter = new PdfWriter(stream);
|
|
292
|
-
writer.document = this;
|
|
293
|
-
if (typeof arg2 === 'boolean' && typeof arg3 === 'undefined') {
|
|
294
|
-
return this.crossTable.save(writer);
|
|
295
|
-
} else {
|
|
296
|
-
this.crossTable.save(writer, (arg2 as string));
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Checks the pages `presence`.
|
|
301
|
-
* @private
|
|
302
|
-
*/
|
|
303
|
-
private checkPagesPresence() : void {
|
|
304
|
-
if (this.pages.count === 0) {
|
|
305
|
-
this.pages.add();
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* disposes the current instance of `PdfDocument` class.
|
|
310
|
-
* ```typescript
|
|
311
|
-
* // create a new PDF document
|
|
312
|
-
* let document : PdfDocument = new PdfDocument();
|
|
313
|
-
* // add a new page to the document
|
|
314
|
-
* let page1 : PdfPage = document.pages.add();
|
|
315
|
-
* // set the font
|
|
316
|
-
* let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
|
|
317
|
-
* // create black brush
|
|
318
|
-
* let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
|
|
319
|
-
* // draw the text
|
|
320
|
-
* page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
|
|
321
|
-
* // save the document
|
|
322
|
-
* document.save('output.pdf');
|
|
323
|
-
* // destroy the document
|
|
324
|
-
* document.destroy();
|
|
325
|
-
* ```
|
|
326
|
-
*/
|
|
327
|
-
public destroy() : void {
|
|
328
|
-
this.catalog = undefined;
|
|
329
|
-
this.colorSpace = undefined;
|
|
330
|
-
this.currentSavingObj = undefined;
|
|
331
|
-
this.documentPageCollection = undefined;
|
|
332
|
-
this.isStreamCopied = undefined;
|
|
333
|
-
this.pageSettings = undefined;
|
|
334
|
-
this.pageTemplate = undefined;
|
|
335
|
-
this.pdfColorSpace = undefined;
|
|
336
|
-
this.sectionCollection = undefined;
|
|
337
|
-
PdfDocument.cache.destroy();
|
|
338
|
-
this.crossTable.pdfObjects.destroy();
|
|
339
|
-
PdfDocument.cache = undefined;
|
|
340
|
-
this.streamWriter.destroy();
|
|
341
|
-
}
|
|
342
|
-
}
|