@syncfusion/ej2-pdf-export 20.3.47 → 20.4.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/.eslintrc.json +16 -1
- package/dist/ej2-pdf-export.min.js +1 -1
- 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 +7 -8
- 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,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfCompositeField.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfMultipleValueField } from './multiple-value-field';
|
|
5
|
-
import { PdfAutomaticField } from './automatic-field';
|
|
6
|
-
import { PdfFont } from './../../graphics/fonts/pdf-font';
|
|
7
|
-
import { PdfBrush } from './../../graphics/brushes/pdf-brush';
|
|
8
|
-
import { PdfGraphics } from './../../graphics/pdf-graphics';
|
|
9
|
-
/**
|
|
10
|
-
* Represents class which can concatenate multiple automatic fields into single string.
|
|
11
|
-
*/
|
|
12
|
-
export class PdfCompositeField extends PdfMultipleValueField {
|
|
13
|
-
// Fields
|
|
14
|
-
/**
|
|
15
|
-
* Stores the array of automatic fields.
|
|
16
|
-
* @private
|
|
17
|
-
*/
|
|
18
|
-
private internalAutomaticFields : PdfAutomaticField[] = null;
|
|
19
|
-
/**
|
|
20
|
-
* Stores the text value of the field.
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
private internalText : string = '';
|
|
24
|
-
// Constructor
|
|
25
|
-
/**
|
|
26
|
-
* Initialize a new instance of `PdfCompositeField` class.
|
|
27
|
-
* @param font Font of the field.
|
|
28
|
-
* @param brush Color of the field.
|
|
29
|
-
* @param text Content of the field.
|
|
30
|
-
* @param list List of the automatic fields in specific order based on the text content.
|
|
31
|
-
*/
|
|
32
|
-
public constructor(font : PdfFont, brush : PdfBrush, text : string, ...list : PdfAutomaticField[]) {
|
|
33
|
-
super();
|
|
34
|
-
this.font = font;
|
|
35
|
-
this.brush = brush;
|
|
36
|
-
this.text = text;
|
|
37
|
-
this.automaticFields = list;
|
|
38
|
-
}
|
|
39
|
-
// Properties
|
|
40
|
-
/**
|
|
41
|
-
* Gets and sets the content of the field.
|
|
42
|
-
* @public
|
|
43
|
-
*/
|
|
44
|
-
public get text() : string {
|
|
45
|
-
return this.internalText;
|
|
46
|
-
}
|
|
47
|
-
public set text(value : string) {
|
|
48
|
-
this.internalText = value;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Gets and sets the list of the field to drawn.
|
|
52
|
-
* @public
|
|
53
|
-
*/
|
|
54
|
-
public get automaticFields() : PdfAutomaticField[] {
|
|
55
|
-
return this.internalAutomaticFields;
|
|
56
|
-
}
|
|
57
|
-
public set automaticFields(value : PdfAutomaticField[]) {
|
|
58
|
-
this.internalAutomaticFields = value;
|
|
59
|
-
}
|
|
60
|
-
// Implementation
|
|
61
|
-
/**
|
|
62
|
-
* Return the actual value generated from the list of automatic fields.
|
|
63
|
-
* @public
|
|
64
|
-
*/
|
|
65
|
-
public getValue(graphics : PdfGraphics) : string {
|
|
66
|
-
let values : string[] = [];
|
|
67
|
-
let text : string = this.text.toString();
|
|
68
|
-
if (typeof this.automaticFields !== 'undefined' && this.automaticFields != null && this.automaticFields.length > 0) {
|
|
69
|
-
for (let i : number = 0; i < this.automaticFields.length; i++) {
|
|
70
|
-
let automaticField : PdfAutomaticField = this.automaticFields[i];
|
|
71
|
-
text = text.replace('{' + i + '}', automaticField.getValue(graphics));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return text;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfAutomaticField.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfAutomaticField } from './automatic-field';
|
|
5
|
-
import { TemporaryDictionary } from './../../collections/object-object-pair/dictionary';
|
|
6
|
-
import { PdfTemplateValuePair } from './pdf-template-value-pair';
|
|
7
|
-
import { PdfGraphics } from './../../graphics/pdf-graphics';
|
|
8
|
-
import { SizeF, PointF } from './../../drawing/pdf-drawing';
|
|
9
|
-
import { PdfTemplate } from './../../graphics/figures/pdf-template';
|
|
10
|
-
/**
|
|
11
|
-
* Represents automatic field which has the same value within the `PdfGraphics`.
|
|
12
|
-
*/
|
|
13
|
-
export abstract class PdfMultipleValueField extends PdfAutomaticField {
|
|
14
|
-
// Fields
|
|
15
|
-
/**
|
|
16
|
-
* Stores the instance of dictionary values of `graphics and template value pair`.
|
|
17
|
-
* @private
|
|
18
|
-
*/
|
|
19
|
-
private list : TemporaryDictionary<PdfGraphics, PdfTemplateValuePair> = new TemporaryDictionary<PdfGraphics, PdfTemplateValuePair>();
|
|
20
|
-
public constructor() {
|
|
21
|
-
super();
|
|
22
|
-
}
|
|
23
|
-
// Implementation
|
|
24
|
-
/* tslint:disable */
|
|
25
|
-
public performDraw(graphics : PdfGraphics, location : PointF, scalingX : number, scalingY : number) : void {
|
|
26
|
-
super.performDrawHelper(graphics, location, scalingX, scalingY);
|
|
27
|
-
let value : string = this.getValue(graphics);
|
|
28
|
-
let template : PdfTemplate = new PdfTemplate(this.getSize());
|
|
29
|
-
this.list.setValue(graphics, new PdfTemplateValuePair(template, value));
|
|
30
|
-
let g : PdfGraphics = template.graphics;
|
|
31
|
-
let size : SizeF = this.getSize();
|
|
32
|
-
template.graphics.drawString(value, this.getFont(), this.pen, this.getBrush(), 0, 0, size.width, size.height, this.stringFormat);
|
|
33
|
-
let drawLocation : PointF = new PointF(location.x + this.location.x, location.y + this.location.y);
|
|
34
|
-
graphics.drawPdfTemplate(template, drawLocation, new SizeF(template.width * scalingX, template.height * scalingY));
|
|
35
|
-
}
|
|
36
|
-
/* tslint:enable */
|
|
37
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfPageCountField.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfSingleValueField } from './single-value-field';
|
|
5
|
-
import { PdfNumberStyle } from './../../pages/enum';
|
|
6
|
-
import { PdfFont } from './../../graphics/fonts/pdf-font';
|
|
7
|
-
import { PdfBrush } from './../../graphics/brushes/pdf-brush';
|
|
8
|
-
import { RectangleF } from './../../drawing/pdf-drawing';
|
|
9
|
-
import { PdfGraphics } from './../../graphics/pdf-graphics';
|
|
10
|
-
import { PdfPage } from './../../pages/pdf-page';
|
|
11
|
-
import { PdfDocument } from './../pdf-document';
|
|
12
|
-
import { PdfNumbersConvertor } from './pdf-numbers-convertor';
|
|
13
|
-
/**
|
|
14
|
-
* Represents total PDF document page count automatic field.
|
|
15
|
-
*/
|
|
16
|
-
export class PdfPageCountField extends PdfSingleValueField {
|
|
17
|
-
// Fields
|
|
18
|
-
/**
|
|
19
|
-
* Stores the number style of the field.
|
|
20
|
-
* @private
|
|
21
|
-
*/
|
|
22
|
-
private internalNumberStyle : PdfNumberStyle = PdfNumberStyle.Numeric;
|
|
23
|
-
// Constructors
|
|
24
|
-
/**
|
|
25
|
-
* Initialize a new instance for page number field.
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
public constructor(font : PdfFont)
|
|
29
|
-
/**
|
|
30
|
-
* Initialize a new instance for page number field.
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
|
-
public constructor(font : PdfFont, bounds : RectangleF)
|
|
34
|
-
/**
|
|
35
|
-
* Initialize a new instance for page number field.
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
public constructor(font : PdfFont, brush: PdfBrush)
|
|
39
|
-
public constructor(font : PdfFont, arg2 ?: RectangleF|PdfBrush) {
|
|
40
|
-
super();
|
|
41
|
-
if (typeof arg2 === 'undefined') {
|
|
42
|
-
this.font = font;
|
|
43
|
-
} else if ( arg2 instanceof PdfBrush) {
|
|
44
|
-
this.font = font;
|
|
45
|
-
this.brush = arg2;
|
|
46
|
-
} else {
|
|
47
|
-
this.font = font;
|
|
48
|
-
this.bounds = arg2;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// Properties
|
|
52
|
-
/**
|
|
53
|
-
* Gets and sets the number style of the field.
|
|
54
|
-
* @public
|
|
55
|
-
*/
|
|
56
|
-
public get numberStyle() : PdfNumberStyle {
|
|
57
|
-
return this.internalNumberStyle;
|
|
58
|
-
}
|
|
59
|
-
public set numberStyle(value : PdfNumberStyle) {
|
|
60
|
-
this.internalNumberStyle = value;
|
|
61
|
-
}
|
|
62
|
-
// Implementation
|
|
63
|
-
/**
|
|
64
|
-
* Return the actual value of the content to drawn.
|
|
65
|
-
* @public
|
|
66
|
-
*/
|
|
67
|
-
public getValue(graphics : PdfGraphics) : string {
|
|
68
|
-
let result : string = null;
|
|
69
|
-
let page : PdfPage = this.getPageFromGraphics(graphics);
|
|
70
|
-
let document : PdfDocument = page.section.parent.document;
|
|
71
|
-
let count : number = document.pages.count;
|
|
72
|
-
result = PdfNumbersConvertor.convert(count, this.numberStyle);
|
|
73
|
-
return result;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
@@ -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
|
-
}
|