@syncfusion/ej2-pdf-export 22.1.34 → 22.1.37
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 +8 -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 +748 -93
- package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es5.js +933 -225
- 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 +5 -5
- package/src/implementation/document/pdf-catalog.d.ts +7 -0
- package/src/implementation/document/pdf-catalog.js +16 -0
- package/src/implementation/document/pdf-document-base.d.ts +13 -0
- package/src/implementation/document/pdf-document-base.js +18 -0
- package/src/implementation/document/pdf-viewer-preferences.d.ts +467 -0
- package/src/implementation/document/pdf-viewer-preferences.js +624 -0
- package/src/implementation/input-output/pdf-dictionary-properties.d.ts +55 -0
- package/src/implementation/input-output/pdf-dictionary-properties.js +55 -0
- 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 -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 -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 -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,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfNumbersConvertor.ts class for EJ2-PDF
|
|
3
|
-
* @private
|
|
4
|
-
*/
|
|
5
|
-
import { PdfNumberStyle } from './../../pages/enum';
|
|
6
|
-
/**
|
|
7
|
-
* `PdfNumbersConvertor` for convert page number into numbers, roman letters, etc.,
|
|
8
|
-
* @private
|
|
9
|
-
*/
|
|
10
|
-
export class PdfNumbersConvertor {
|
|
11
|
-
// Fields
|
|
12
|
-
/**
|
|
13
|
-
* numbers of letters in english [readonly].
|
|
14
|
-
* @default = 26.0
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
private static readonly letterLimit : number = 26.0;
|
|
18
|
-
/**
|
|
19
|
-
* Resturns `acsii start index` value.
|
|
20
|
-
* @default 64
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
private static readonly acsiiStartIndex : number = <number>(65 - 1);
|
|
24
|
-
// Static methods
|
|
25
|
-
/**
|
|
26
|
-
* Convert string value from page number with correct format.
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
public static convert(intArabic : number, numberStyle : PdfNumberStyle) : string {
|
|
30
|
-
let result : string = '';
|
|
31
|
-
switch (numberStyle) {
|
|
32
|
-
case PdfNumberStyle.None:
|
|
33
|
-
result = '';
|
|
34
|
-
break;
|
|
35
|
-
case PdfNumberStyle.Numeric:
|
|
36
|
-
result = intArabic.toString();
|
|
37
|
-
break;
|
|
38
|
-
case PdfNumberStyle.LowerLatin:
|
|
39
|
-
result = this.arabicToLetter(intArabic).toLowerCase();
|
|
40
|
-
break;
|
|
41
|
-
case PdfNumberStyle.LowerRoman:
|
|
42
|
-
result = this.arabicToRoman(intArabic).toLowerCase();
|
|
43
|
-
break;
|
|
44
|
-
case PdfNumberStyle.UpperLatin:
|
|
45
|
-
result = this.arabicToLetter(intArabic);
|
|
46
|
-
break;
|
|
47
|
-
case PdfNumberStyle.UpperRoman:
|
|
48
|
-
result = this.arabicToRoman(intArabic);
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Converts `arabic to roman` letters.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
private static arabicToRoman(intArabic : number) : string {
|
|
58
|
-
let retval : string = '';
|
|
59
|
-
let retvalM : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 1000, 'M');
|
|
60
|
-
retval += retvalM.returnValue;
|
|
61
|
-
intArabic = retvalM.intArabic;
|
|
62
|
-
let retvalCM : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 900, 'CM');
|
|
63
|
-
retval += retvalCM.returnValue;
|
|
64
|
-
intArabic = retvalCM.intArabic;
|
|
65
|
-
let retvalD : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 500, 'D');
|
|
66
|
-
retval += retvalD.returnValue;
|
|
67
|
-
intArabic = retvalD.intArabic;
|
|
68
|
-
let retvalCD : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 400, 'CD');
|
|
69
|
-
retval += retvalCD.returnValue;
|
|
70
|
-
intArabic = retvalCD.intArabic;
|
|
71
|
-
let retvalC : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 100, 'C');
|
|
72
|
-
retval += retvalC.returnValue;
|
|
73
|
-
intArabic = retvalC.intArabic;
|
|
74
|
-
let retvalXC : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 90, 'XC');
|
|
75
|
-
retval += retvalXC.returnValue;
|
|
76
|
-
intArabic = retvalXC.intArabic;
|
|
77
|
-
let retvalL : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 50, 'L');
|
|
78
|
-
retval += retvalL.returnValue;
|
|
79
|
-
intArabic = retvalL.intArabic;
|
|
80
|
-
let retvalXL : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 40, 'XL');
|
|
81
|
-
retval += retvalXL.returnValue;
|
|
82
|
-
intArabic = retvalXL.intArabic;
|
|
83
|
-
let retvalX : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 10, 'X');
|
|
84
|
-
retval += retvalX.returnValue;
|
|
85
|
-
intArabic = retvalX.intArabic;
|
|
86
|
-
let retvalIX : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 9, 'IX');
|
|
87
|
-
retval += retvalIX.returnValue;
|
|
88
|
-
intArabic = retvalIX.intArabic;
|
|
89
|
-
let retvalV : {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 5, 'V');
|
|
90
|
-
retval += retvalV.returnValue;
|
|
91
|
-
intArabic = retvalV.intArabic;
|
|
92
|
-
let retvalIV: {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 4, 'IV');
|
|
93
|
-
retval += retvalIV.returnValue;
|
|
94
|
-
intArabic = retvalIV.intArabic;
|
|
95
|
-
let retvalI: {returnValue : string , intArabic : number } = this.generateNumber(intArabic, 1, 'I');
|
|
96
|
-
retval += retvalI.returnValue;
|
|
97
|
-
intArabic = retvalI.intArabic;
|
|
98
|
-
|
|
99
|
-
return retval.toString();
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Converts `arabic to normal letters`.
|
|
103
|
-
* @private
|
|
104
|
-
*/
|
|
105
|
-
private static arabicToLetter(arabic : number) : string {
|
|
106
|
-
let stack : number[] = this.convertToLetter(arabic);
|
|
107
|
-
let result : string = '';
|
|
108
|
-
while (stack.length > 0) {
|
|
109
|
-
let num : number = stack.pop();
|
|
110
|
-
result = this.appendChar(result, num);
|
|
111
|
-
}
|
|
112
|
-
return result.toString();
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Generate a string value of an input number.
|
|
116
|
-
* @private
|
|
117
|
-
*/
|
|
118
|
-
private static generateNumber(value : number, magnitude : number, letter : string) : { returnValue : string, intArabic : number } {
|
|
119
|
-
let numberstring : string = '';
|
|
120
|
-
while (value >= magnitude) {
|
|
121
|
-
value -= magnitude;
|
|
122
|
-
numberstring += letter;
|
|
123
|
-
}
|
|
124
|
-
return {returnValue : numberstring.toString(), intArabic : value };
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Convert a input number into letters.
|
|
128
|
-
* @private
|
|
129
|
-
*/
|
|
130
|
-
private static convertToLetter(arabic : number) : number[] {
|
|
131
|
-
if (arabic <= 0) {
|
|
132
|
-
throw Error('ArgumentOutOfRangeException-arabic, Value can not be less 0');
|
|
133
|
-
}
|
|
134
|
-
let stack : number[] = [];
|
|
135
|
-
while ((arabic as number) > this.letterLimit) {
|
|
136
|
-
let remainder : number = arabic % this.letterLimit;
|
|
137
|
-
if (remainder === 0.0) {
|
|
138
|
-
arabic = arabic / this.letterLimit - 1;
|
|
139
|
-
remainder = this.letterLimit;
|
|
140
|
-
} else {
|
|
141
|
-
arabic /= this.letterLimit;
|
|
142
|
-
}
|
|
143
|
-
stack.push(remainder as number);
|
|
144
|
-
}
|
|
145
|
-
stack.push(arabic as number);
|
|
146
|
-
return stack;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Convert number to actual string value.
|
|
150
|
-
* @private
|
|
151
|
-
*/
|
|
152
|
-
private static appendChar(builder : string, value : number) : string {
|
|
153
|
-
let letter : string = String.fromCharCode(PdfNumbersConvertor.acsiiStartIndex + value);
|
|
154
|
-
builder += letter;
|
|
155
|
-
return builder;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfPageNumberField.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfFont } from './../../graphics/fonts/pdf-font';
|
|
5
|
-
import { PdfBrush } from './../../graphics/brushes/pdf-brush';
|
|
6
|
-
import { PdfPage } from './../../pages/pdf-page';
|
|
7
|
-
import { PdfGraphics } from './../../graphics/pdf-graphics';
|
|
8
|
-
import { PdfDocument } from './../pdf-document';
|
|
9
|
-
import { RectangleF } from './../../drawing/pdf-drawing';
|
|
10
|
-
import { PdfNumberStyle } from './../../pages/enum';
|
|
11
|
-
import { PdfNumbersConvertor } from './pdf-numbers-convertor';
|
|
12
|
-
import { PdfMultipleValueField } from './multiple-value-field';
|
|
13
|
-
/**
|
|
14
|
-
* Represents PDF document `page number field`.
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
export class PdfPageNumberField extends PdfMultipleValueField {
|
|
18
|
-
// Constructors
|
|
19
|
-
/**
|
|
20
|
-
* Initialize a new instance for page number field.
|
|
21
|
-
* @public
|
|
22
|
-
*/
|
|
23
|
-
public constructor(font : PdfFont)
|
|
24
|
-
/**
|
|
25
|
-
* Initialize a new instance for page number field.
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
public constructor(font : PdfFont, bounds : RectangleF)
|
|
29
|
-
/**
|
|
30
|
-
* Initialize a new instance for page number field.
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
|
-
public constructor(font : PdfFont, brush: PdfBrush)
|
|
34
|
-
public constructor(font : PdfFont, arg2 ?: RectangleF|PdfBrush) {
|
|
35
|
-
super();
|
|
36
|
-
if (typeof arg2 === 'undefined') {
|
|
37
|
-
this.font = font;
|
|
38
|
-
} else if ( arg2 instanceof PdfBrush) {
|
|
39
|
-
this.font = font;
|
|
40
|
-
this.brush = arg2;
|
|
41
|
-
} else {
|
|
42
|
-
this.font = font;
|
|
43
|
-
this.bounds = arg2;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Fields
|
|
47
|
-
/**
|
|
48
|
-
* Stores the number style of the page number field.
|
|
49
|
-
* @private
|
|
50
|
-
*/
|
|
51
|
-
private internalNumberStyle : PdfNumberStyle = PdfNumberStyle.Numeric;
|
|
52
|
-
// Properties
|
|
53
|
-
/**
|
|
54
|
-
* Gets and sets the number style of the page number field.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
public get numberStyle() : PdfNumberStyle {
|
|
58
|
-
return this.internalNumberStyle;
|
|
59
|
-
}
|
|
60
|
-
public set numberStyle(value : PdfNumberStyle) {
|
|
61
|
-
this.internalNumberStyle = value;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Return the `string` value of page number field.
|
|
65
|
-
* @public
|
|
66
|
-
*/
|
|
67
|
-
public getValue(graphics : PdfGraphics) : string {
|
|
68
|
-
let result : string = null;
|
|
69
|
-
let page : PdfPage = this.getPageFromGraphics(graphics);
|
|
70
|
-
result = this.internalGetValue(page);
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Internal method to `get actual value of page number`.
|
|
75
|
-
* @private
|
|
76
|
-
*/
|
|
77
|
-
protected internalGetValue(page : PdfPage) : string {
|
|
78
|
-
let document : PdfDocument = page.document;
|
|
79
|
-
let pageIndex : number = document.pages.indexOf(page) + 1;
|
|
80
|
-
return PdfNumbersConvertor.convert(pageIndex, this.numberStyle);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfTemplateValuePair.ts class for EJ2-PDF
|
|
3
|
-
* @private
|
|
4
|
-
*/
|
|
5
|
-
import { PdfTemplate } from './../../graphics/figures/pdf-template';
|
|
6
|
-
/**
|
|
7
|
-
* Represent class to store information about `template and value pairs`.
|
|
8
|
-
* @private
|
|
9
|
-
*/
|
|
10
|
-
export class PdfTemplateValuePair {
|
|
11
|
-
// Fields
|
|
12
|
-
/**
|
|
13
|
-
* Internal variable to store template.
|
|
14
|
-
* @default null
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
private pdfTemplate : PdfTemplate = null;
|
|
18
|
-
/**
|
|
19
|
-
* Intenal variable to store value.
|
|
20
|
-
* @private
|
|
21
|
-
*/
|
|
22
|
-
private content : string = '';
|
|
23
|
-
|
|
24
|
-
// Constructors
|
|
25
|
-
/**
|
|
26
|
-
* Initializes a new instance of the 'PdfTemplateValuePair' class.
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
public constructor()
|
|
30
|
-
public constructor(template : PdfTemplate, value : string)
|
|
31
|
-
public constructor(template ?: PdfTemplate, value ?: string) {
|
|
32
|
-
if (typeof template === 'undefined') {
|
|
33
|
-
//
|
|
34
|
-
} else {
|
|
35
|
-
this.template = template;
|
|
36
|
-
this.value = value;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
// Properties
|
|
40
|
-
/**
|
|
41
|
-
* Gets or sets the template.
|
|
42
|
-
* @private
|
|
43
|
-
*/
|
|
44
|
-
public get template() : PdfTemplate {
|
|
45
|
-
return this.pdfTemplate;
|
|
46
|
-
}
|
|
47
|
-
public set template(value : PdfTemplate) {
|
|
48
|
-
this.pdfTemplate = value;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Gets or sets the value.
|
|
52
|
-
* @private
|
|
53
|
-
*/
|
|
54
|
-
public get value() : string {
|
|
55
|
-
return this.content;
|
|
56
|
-
}
|
|
57
|
-
public set value(value : string) {
|
|
58
|
-
this.content = value;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfSingleValueField.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfAutomaticField } from './automatic-field';
|
|
5
|
-
import { PdfGraphics } from './../../graphics/pdf-graphics';
|
|
6
|
-
import { TemporaryDictionary } from './../../collections/object-object-pair/dictionary';
|
|
7
|
-
import { PdfTemplateValuePair } from './pdf-template-value-pair';
|
|
8
|
-
import { PdfDocumentBase } from './../pdf-document-base';
|
|
9
|
-
import { PdfDocument } from './../pdf-document';
|
|
10
|
-
import { PdfPage } from './../../pages/pdf-page';
|
|
11
|
-
import { PointF, SizeF} from './../../drawing/pdf-drawing';
|
|
12
|
-
import { PdfTemplate } from './../../graphics/figures/pdf-template';
|
|
13
|
-
/**
|
|
14
|
-
* Represents automatic field which has the same value in the whole document.
|
|
15
|
-
*/
|
|
16
|
-
export abstract class PdfSingleValueField extends PdfAutomaticField {
|
|
17
|
-
// Fields
|
|
18
|
-
/* tslint:disable */
|
|
19
|
-
private list : TemporaryDictionary<PdfDocumentBase, PdfTemplateValuePair> = new TemporaryDictionary<PdfDocumentBase, PdfTemplateValuePair>();
|
|
20
|
-
/* tslint:enable */
|
|
21
|
-
private painterGraphics : PdfGraphics[] = [];
|
|
22
|
-
// Constructors
|
|
23
|
-
public constructor() {
|
|
24
|
-
super();
|
|
25
|
-
}
|
|
26
|
-
public performDraw(graphics : PdfGraphics, location : PointF, scalingX : number, scalingY : number) : void {
|
|
27
|
-
super.performDrawHelper(graphics, location, scalingX, scalingY);
|
|
28
|
-
let page : PdfPage = this.getPageFromGraphics(graphics);
|
|
29
|
-
let document : PdfDocument = page.document;
|
|
30
|
-
let textValue : string = this.getValue(graphics);
|
|
31
|
-
/* tslint:disable */
|
|
32
|
-
if (this.list.containsKey(document)) {
|
|
33
|
-
let pair : PdfTemplateValuePair = this.list.getValue(document) as PdfTemplateValuePair;
|
|
34
|
-
let drawLocation : PointF = new PointF(location.x + this.location.x, location.y + this.location.y);
|
|
35
|
-
graphics.drawPdfTemplate(pair.template, drawLocation, new SizeF(pair.template.width * scalingX, pair.template.height * scalingY));
|
|
36
|
-
this.painterGraphics.push(graphics);
|
|
37
|
-
} else {
|
|
38
|
-
let size : SizeF = this.getSize();
|
|
39
|
-
let template : PdfTemplate = new PdfTemplate(size);
|
|
40
|
-
this.list.setValue(document, new PdfTemplateValuePair(template, textValue));
|
|
41
|
-
template.graphics.drawString(textValue, this.getFont(), this.pen, this.getBrush(), 0, 0, size.width, size.height, this.stringFormat);
|
|
42
|
-
let drawLocation : PointF = new PointF(location.x + this.location.x, location.y + this.location.y);
|
|
43
|
-
graphics.drawPdfTemplate(template, drawLocation, new SizeF(template.width * scalingX, template.height * scalingY));
|
|
44
|
-
this.painterGraphics.push(graphics);
|
|
45
|
-
}
|
|
46
|
-
/* tslint:enable */
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfCatalog.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfDictionary } from './../primitives/pdf-dictionary';
|
|
5
|
-
import { PdfSectionCollection } from './../pages/pdf-section-collection';
|
|
6
|
-
import { DictionaryProperties } from './../input-output/pdf-dictionary-properties';
|
|
7
|
-
import { PdfName } from './../primitives/pdf-name';
|
|
8
|
-
import { PdfReferenceHolder } from './../primitives/pdf-reference';
|
|
9
|
-
/**
|
|
10
|
-
* `PdfCatalog` class represents internal catalog of the Pdf document.
|
|
11
|
-
* @private
|
|
12
|
-
*/
|
|
13
|
-
export class PdfCatalog extends PdfDictionary {
|
|
14
|
-
//fields
|
|
15
|
-
/**
|
|
16
|
-
* Internal variable to store collection of `sections`.
|
|
17
|
-
* @default null
|
|
18
|
-
* @private
|
|
19
|
-
*/
|
|
20
|
-
private sections : PdfSectionCollection = null;
|
|
21
|
-
/**
|
|
22
|
-
* Internal variable for accessing fields from `DictionryProperties` class.
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
private tempDictionaryProperties : DictionaryProperties = new DictionaryProperties();
|
|
26
|
-
//constructor
|
|
27
|
-
/**
|
|
28
|
-
* Initializes a new instance of the `PdfCatalog` class.
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
public constructor() {
|
|
32
|
-
super();
|
|
33
|
-
this.items.setValue(new DictionaryProperties().type, new PdfName('Catalog'));
|
|
34
|
-
}
|
|
35
|
-
//Properties
|
|
36
|
-
/**
|
|
37
|
-
* Gets or sets the sections, which contain `pages`.
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
public get pages() : PdfSectionCollection {
|
|
41
|
-
return this.sections;
|
|
42
|
-
}
|
|
43
|
-
public set pages(value : PdfSectionCollection) {
|
|
44
|
-
let dictionary : PdfDictionary = value.element as PdfDictionary;
|
|
45
|
-
// if (this.sections !== value) {
|
|
46
|
-
// this.sections = value;
|
|
47
|
-
// this.Items.setValue(this.tempDictionaryProperties.pages, new PdfReferenceHolder(value));
|
|
48
|
-
// }
|
|
49
|
-
this.sections = value;
|
|
50
|
-
this.items.setValue(this.tempDictionaryProperties.pages, new PdfReferenceHolder(value));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfDocumentBase.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfMainObjectCollection } from './../input-output/pdf-main-object-collection';
|
|
5
|
-
import { PdfCrossTable } from './../input-output/pdf-cross-table';
|
|
6
|
-
import { PdfCatalog } from './pdf-catalog';
|
|
7
|
-
import { StreamWriter } from '@syncfusion/ej2-file-utils';
|
|
8
|
-
import { Encoding } from '@syncfusion/ej2-file-utils';
|
|
9
|
-
import { PdfDocument } from './pdf-document';
|
|
10
|
-
import { PdfReference } from './../primitives/pdf-reference';
|
|
11
|
-
/**
|
|
12
|
-
* `PdfDocumentBase` class represent common properties of PdfDocument classes.
|
|
13
|
-
* @private
|
|
14
|
-
*/
|
|
15
|
-
export class PdfDocumentBase {
|
|
16
|
-
//Fields
|
|
17
|
-
/**
|
|
18
|
-
* Collection of the main `objects`.
|
|
19
|
-
* @private
|
|
20
|
-
*/
|
|
21
|
-
private objects : PdfMainObjectCollection;
|
|
22
|
-
/**
|
|
23
|
-
* The `cross table`.
|
|
24
|
-
* @private
|
|
25
|
-
*/
|
|
26
|
-
private pdfCrossTable : PdfCrossTable;
|
|
27
|
-
/**
|
|
28
|
-
* `Object` that is saving currently.
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
private currentSavingObject : PdfReference;
|
|
32
|
-
/**
|
|
33
|
-
* Document `catlog`.
|
|
34
|
-
* @private
|
|
35
|
-
*/
|
|
36
|
-
private pdfCatalog : PdfCatalog;
|
|
37
|
-
/**
|
|
38
|
-
* If the stream is copied, then it specifies true.
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
public isStreamCopied : boolean = false;
|
|
42
|
-
/**
|
|
43
|
-
* Instance of parent `document`.
|
|
44
|
-
* @private
|
|
45
|
-
*/
|
|
46
|
-
public document : PdfDocument;
|
|
47
|
-
//constructor
|
|
48
|
-
/**
|
|
49
|
-
* Initializes a new instance of the `PdfDocumentBase` class.
|
|
50
|
-
* @private
|
|
51
|
-
*/
|
|
52
|
-
public constructor()
|
|
53
|
-
/**
|
|
54
|
-
* Initializes a new instance of the `PdfDocumentBase` class with instance of PdfDocument as argument.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
public constructor(document : PdfDocument)
|
|
58
|
-
public constructor(document? : PdfDocument) {
|
|
59
|
-
if (document instanceof PdfDocument) {
|
|
60
|
-
this.document = document;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//Prpperties
|
|
64
|
-
/**
|
|
65
|
-
* Gets the `PDF objects` collection, which stores all objects and references to it..
|
|
66
|
-
* @private
|
|
67
|
-
*/
|
|
68
|
-
public get pdfObjects() : PdfMainObjectCollection {
|
|
69
|
-
return this.objects;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Gets the `cross-reference` table.
|
|
73
|
-
* @private
|
|
74
|
-
*/
|
|
75
|
-
public get crossTable() : PdfCrossTable {
|
|
76
|
-
return this.pdfCrossTable;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Gets or sets the current saving `object number`.
|
|
80
|
-
* @private
|
|
81
|
-
*/
|
|
82
|
-
public get currentSavingObj() : PdfReference {
|
|
83
|
-
return this.currentSavingObject;
|
|
84
|
-
}
|
|
85
|
-
public set currentSavingObj(value : PdfReference) {
|
|
86
|
-
this.currentSavingObject = value;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Gets the PDF document `catalog`.
|
|
90
|
-
* @private
|
|
91
|
-
*/
|
|
92
|
-
public get catalog() : PdfCatalog {
|
|
93
|
-
return this.pdfCatalog;
|
|
94
|
-
}
|
|
95
|
-
public set catalog(value : PdfCatalog) {
|
|
96
|
-
this.pdfCatalog = value;
|
|
97
|
-
}
|
|
98
|
-
//Public methods
|
|
99
|
-
/**
|
|
100
|
-
* Sets the `main object collection`.
|
|
101
|
-
* @private
|
|
102
|
-
*/
|
|
103
|
-
public setMainObjectCollection(mainObjectCollection : PdfMainObjectCollection) : void {
|
|
104
|
-
this.objects = mainObjectCollection;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Sets the `cross table`.
|
|
108
|
-
* @private
|
|
109
|
-
*/
|
|
110
|
-
public setCrossTable(cTable : PdfCrossTable) : void {
|
|
111
|
-
this.pdfCrossTable = cTable;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Sets the `catalog`.
|
|
115
|
-
* @private
|
|
116
|
-
*/
|
|
117
|
-
public setCatalog(catalog : PdfCatalog) : void {
|
|
118
|
-
this.pdfCatalog = catalog;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* `Saves` the document to the specified filename.
|
|
122
|
-
* @private
|
|
123
|
-
*/
|
|
124
|
-
public save(): Promise<{blobData: Blob}>
|
|
125
|
-
/**
|
|
126
|
-
* `Saves` the document to the specified filename.
|
|
127
|
-
* @public
|
|
128
|
-
* ```typescript
|
|
129
|
-
* // create a new PDF document
|
|
130
|
-
* let document : PdfDocument = new PdfDocument();
|
|
131
|
-
* // add a pages to the document
|
|
132
|
-
* let page1 : PdfPage = document.pages.add();
|
|
133
|
-
* //
|
|
134
|
-
* // save the document
|
|
135
|
-
* document.save('output.pdf');
|
|
136
|
-
* //
|
|
137
|
-
* // destroy the document
|
|
138
|
-
* document.destroy();
|
|
139
|
-
* ```
|
|
140
|
-
* @param filename Specifies the file name to save the output pdf document.
|
|
141
|
-
*/
|
|
142
|
-
public save(filename : string) : void
|
|
143
|
-
public save(filename ?: string) : Promise<{blobData: Blob}> | void {
|
|
144
|
-
let encoding: Encoding = new Encoding(true);
|
|
145
|
-
let SW : StreamWriter = new StreamWriter(encoding);
|
|
146
|
-
if (typeof filename === 'undefined') {
|
|
147
|
-
let encoding: Encoding = new Encoding(true);
|
|
148
|
-
let SW: StreamWriter = new StreamWriter(encoding);
|
|
149
|
-
return new Promise((resolve: Function, reject: Function) => {
|
|
150
|
-
/* tslint:disable-next-line:no-any */
|
|
151
|
-
let obj: any = {};
|
|
152
|
-
obj.blobData = new Blob([this.document.docSave(SW, true)], {type : 'application/pdf'});
|
|
153
|
-
resolve(obj);
|
|
154
|
-
});
|
|
155
|
-
} else {
|
|
156
|
-
this.document.docSave(SW, filename, true);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* `Clone` of parent object - PdfDocument.
|
|
161
|
-
* @private
|
|
162
|
-
*/
|
|
163
|
-
public clone() : PdfDocument {
|
|
164
|
-
return this.document;
|
|
165
|
-
}
|
|
166
|
-
}
|