@syncfusion/ej2-pdf-export 22.1.34 → 22.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/ej2-pdf-export.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js +2 -2
  4. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pdf-export.es2015.js +748 -93
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +933 -225
  8. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  9. package/dist/global/ej2-pdf-export.min.js +2 -2
  10. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +5 -5
  13. package/src/implementation/document/pdf-catalog.d.ts +7 -0
  14. package/src/implementation/document/pdf-catalog.js +16 -0
  15. package/src/implementation/document/pdf-document-base.d.ts +13 -0
  16. package/src/implementation/document/pdf-document-base.js +18 -0
  17. package/src/implementation/document/pdf-viewer-preferences.d.ts +467 -0
  18. package/src/implementation/document/pdf-viewer-preferences.js +624 -0
  19. package/src/implementation/input-output/pdf-dictionary-properties.d.ts +55 -0
  20. package/src/implementation/input-output/pdf-dictionary-properties.js +55 -0
  21. package/dist/ts/implementation/actions/action.ts +0 -76
  22. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  23. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  24. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  25. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  26. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  27. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  28. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  29. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  30. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  31. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  32. package/dist/ts/implementation/collections/utils.ts +0 -38
  33. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  34. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  35. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  36. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  37. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  38. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  39. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  40. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  41. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  42. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  43. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  44. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  45. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  46. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  47. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  48. package/dist/ts/implementation/general/enum.ts +0 -21
  49. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  50. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  51. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  52. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  53. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  54. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  55. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  56. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  57. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  58. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  59. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  60. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  61. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  62. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  63. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  64. package/dist/ts/implementation/graphics/constants.ts +0 -31
  65. package/dist/ts/implementation/graphics/enum.ts +0 -413
  66. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  67. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  68. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  69. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  70. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  71. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  72. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  73. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  75. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  76. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  77. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  78. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  79. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  80. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  81. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  82. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  83. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  84. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  85. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  86. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  87. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  88. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  89. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  90. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  91. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  92. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  93. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  94. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  95. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  96. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  97. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  98. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  99. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  100. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  101. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  102. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  103. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  104. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  105. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  106. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  107. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  108. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  109. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  110. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  111. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  112. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  113. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  114. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  115. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  116. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  117. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  118. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  119. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  120. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  121. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  122. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  123. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  124. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  125. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  126. package/dist/ts/implementation/input-output/enum.ts +0 -16
  127. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  128. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  129. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  130. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  131. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  132. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  133. package/dist/ts/implementation/pages/enum.ts +0 -201
  134. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  135. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  136. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  137. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  138. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  139. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  140. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  141. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  142. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  143. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  144. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  145. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  146. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  147. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  148. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  149. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  150. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  151. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  152. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  153. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  154. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  155. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  156. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  157. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  158. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  159. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  160. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  161. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  162. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  163. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  164. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  165. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  166. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  167. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  168. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  169. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,125 +0,0 @@
1
- /**
2
- * Dictionary class
3
- * @private
4
- * @hidden
5
- */
6
- export class TemporaryDictionary<K, V> {
7
- /**
8
- * @hidden
9
- * @private
10
- */
11
- private mKeys: K[] = [];
12
- /**
13
- * @hidden
14
- * @private
15
- */
16
- private mValues: V[] = [];
17
- /**
18
- * @hidden
19
- * @private
20
- */
21
- public size(): number {
22
- return this.mKeys.length;
23
- }
24
- /**
25
- * @hidden
26
- * @private
27
- */
28
- public add(key: K, value: V): number {
29
- if (key === undefined || key === null || value === undefined || value === null) {
30
- throw new ReferenceError('Provided key or value is not valid.');
31
- }
32
- let index: number = this.mKeys.indexOf(key);
33
- if (index < 0) {
34
- this.mKeys.push(key);
35
- this.mValues.push(value);
36
- return 1;
37
- } else {
38
- throw new RangeError('An item with the same key has already been added.');
39
- }
40
- }
41
- /**
42
- * @hidden
43
- * @private
44
- */
45
- public keys(): K[] {
46
- return this.mKeys;
47
- }
48
- /**
49
- * @hidden
50
- * @private
51
- */
52
- public values(): V[] {
53
- return this.mValues;
54
- }
55
- /**
56
- * @hidden
57
- * @private
58
- */
59
- public getValue(key: K): V {
60
- if (key === undefined || key === null) {
61
- throw new ReferenceError('Provided key is not valid.');
62
- }
63
- let index: number = this.mKeys.indexOf(key);
64
- if (index < 0) {
65
- throw new RangeError('No item with the specified key has been added.');
66
- } else {
67
- return this.mValues[index];
68
- }
69
- }
70
- /**
71
- * @hidden
72
- * @private
73
- */
74
- public setValue(key: K, value: V): void {
75
- if (key === undefined || key === null) {
76
- throw new ReferenceError('Provided key is not valid.');
77
- }
78
- let index: number = this.mKeys.indexOf(key);
79
- if (index < 0) {
80
- this.mKeys.push(key);
81
- this.mValues.push(value);
82
- } else {
83
- this.mValues[index] = value;
84
- }
85
- }
86
- /**
87
- * @hidden
88
- * @private
89
- */
90
- public remove(key: K): boolean {
91
- if (key === undefined || key === null) {
92
- throw new ReferenceError('Provided key is not valid.');
93
- }
94
- let index: number = this.mKeys.indexOf(key);
95
- if (index < 0) {
96
- throw new RangeError('No item with the specified key has been added.');
97
- } else {
98
- this.mKeys.splice(index, 1);
99
- this.mValues.splice(index, 1);
100
- return true;
101
- }
102
- }
103
- /**
104
- * @hidden
105
- * @private
106
- */
107
- public containsKey(key: K): boolean {
108
- if (key === undefined || key === null) {
109
- throw new ReferenceError('Provided key is not valid.');
110
- }
111
- let index: number = this.mKeys.indexOf(key);
112
- if (index < 0) {
113
- return false;
114
- }
115
- return true;
116
- }
117
- /**
118
- * @hidden
119
- * @private
120
- */
121
- public clear(): void {
122
- this.mKeys = [];
123
- this.mValues = [];
124
- }
125
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Utils.ts class for EJ2-PDF
3
- * @private
4
- * @hidden
5
- */
6
- export interface ICompareFunction<T> {
7
- (a: T, b: T): number;
8
- }
9
- /**
10
- * @private
11
- * @hidden
12
- */
13
- export interface IEqualsFunction<T> {
14
- (a: T, b: T): boolean;
15
- }
16
- /**
17
- * @private
18
- * @hidden
19
- */
20
- export interface ILoopFunction<T> {
21
- (a: T): boolean | void;
22
- }
23
- /**
24
- * @private
25
- * @hidden
26
- */
27
- export function defaultToString(item: string|number|string[]|number[]|Object|Object[]|boolean): string {
28
- // if (item === null) {
29
- // return 'COLLECTION_NULL';
30
- // } else if (typeof item === 'undefined') {
31
- // return 'COLLECTION_UNDEFINED';
32
- // } else if (Object.prototype.toString.call(item) === '[object String]') {
33
- if (Object.prototype.toString.call(item) === '[object String]') {
34
- return '$s' + item;
35
- } else {
36
- return '$o' + item.toString();
37
- }
38
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * PdfAutomaticFieldInfoCollection.ts class for EJ2-PDF
3
- * @private
4
- */
5
- import { PdfAutomaticFieldInfo } from './automatic-field-info';
6
- /**
7
- * Represent a `collection of automatic fields information`.
8
- * @private
9
- */
10
- export class PdfAutomaticFieldInfoCollection {
11
- /**
12
- * Internal variable to store instance of `pageNumberFields` class.
13
- * @private
14
- */
15
- private automaticFieldsInformation : PdfAutomaticFieldInfo[] = [];
16
- /**
17
- * Gets the `page number fields collection`.
18
- * @private
19
- */
20
- public get automaticFields() : PdfAutomaticFieldInfo[] {
21
- return this.automaticFieldsInformation;
22
- }
23
- /**
24
- * Initializes a new instance of the 'PdfPageNumberFieldInfoCollection' class.
25
- * @private
26
- */
27
- public constructor() {
28
- //
29
- }
30
- // Public methods
31
- /// Adds the specified field info.
32
- /**
33
- * Add page number field into collection.
34
- * @private
35
- */
36
- public add(fieldInfo : PdfAutomaticFieldInfo) : number {
37
- return this.automaticFields.push(fieldInfo);
38
- }
39
- }
@@ -1,108 +0,0 @@
1
- /**
2
- * PdfAutomaticFieldInfo.ts class for EJ2-PDF
3
- * @private
4
- */
5
- import { PointF } from './../../drawing/pdf-drawing';
6
- import { PdfAutomaticField } from './automatic-field';
7
- /**
8
- * Represents information about the automatic field.
9
- * @private
10
- */
11
- export class PdfAutomaticFieldInfo {
12
- // Fields
13
- /**
14
- * Internal variable to store location of the field.
15
- * @private
16
- */
17
- private pageNumberFieldLocation : PointF = new PointF();
18
- /**
19
- * Internal variable to store field.
20
- * @private
21
- */
22
- private pageNumberField : PdfAutomaticField = null;
23
- /**
24
- * Internal variable to store x scaling factor.
25
- * @private
26
- */
27
- private scaleX : number = 1;
28
- /**
29
- * Internal variable to store y scaling factor.
30
- * @private
31
- */
32
- private scaleY : number = 1;
33
- // Constructor
34
- /**
35
- * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
36
- * @private
37
- */
38
- public constructor(field : PdfAutomaticFieldInfo)
39
- /**
40
- * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
41
- * @private
42
- */
43
- public constructor(field : PdfAutomaticField, location : PointF)
44
- /**
45
- * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
46
- * @private
47
- */
48
- /* tslint:disable */
49
- public constructor(field : PdfAutomaticField, location : PointF, scaleX : number, scaleY : number)
50
- public constructor(field : PdfAutomaticField | PdfAutomaticFieldInfo, location ?: PointF, scaleX ?: number, scaleY ?: number) {
51
- if (typeof location === 'undefined' && field instanceof PdfAutomaticFieldInfo) {
52
- this.pageNumberField = field.field;
53
- this.pageNumberFieldLocation = field.location;
54
- this.scaleX = field.scalingX;
55
- this.scaleY = field.scalingY;
56
- } else if (typeof scaleX === 'undefined' && location instanceof PointF && field instanceof PdfAutomaticField) {
57
- this.pageNumberField = field;
58
- this.pageNumberFieldLocation = location;
59
- } else {
60
- this.pageNumberField = field as PdfAutomaticField;
61
- this.pageNumberFieldLocation = location;
62
- this.scaleX = scaleX;
63
- this.scaleY = scaleY;
64
- }
65
- }
66
- /* tslint:enable */
67
- // Properties
68
- /**
69
- * Gets or sets the location.
70
- * @private
71
- */
72
- public get location() : PointF {
73
- return this.pageNumberFieldLocation;
74
- }
75
- public set location(value : PointF) {
76
- this.pageNumberFieldLocation = value;
77
- }
78
- /**
79
- * Gets or sets the field.
80
- * @private
81
- */
82
- public get field() : PdfAutomaticField {
83
- return this.pageNumberField;
84
- }
85
- public set field(value : PdfAutomaticField) {
86
- this.pageNumberField = value;
87
- }
88
- /**
89
- * Gets or sets the scaling X factor.
90
- * @private
91
- */
92
- public get scalingX() : number {
93
- return this.scaleX;
94
- }
95
- public set scalingX(value : number) {
96
- this.scaleX = value;
97
- }
98
- /**
99
- * Gets or sets the scaling Y factor.
100
- * @private
101
- */
102
- public get scalingY() : number {
103
- return this.scaleY;
104
- }
105
- public set scalingY(value : number) {
106
- this.scaleY = value;
107
- }
108
- }
@@ -1,127 +0,0 @@
1
- /**
2
- * PdfAutomaticField.ts class for EJ2-PDF
3
- */
4
- import { RectangleF, SizeF, PointF } from './../../drawing/pdf-drawing';
5
- import { PdfFont } from './../../graphics/fonts/pdf-font';
6
- import { PdfBrush } from './../../graphics/brushes/pdf-brush';
7
- import { PdfSolidBrush } from './../../graphics/brushes/pdf-solid-brush';
8
- import { PdfStringFormat } from './../../graphics/fonts/pdf-string-format';
9
- import { PdfPen } from './../../graphics/pdf-pen';
10
- import { PdfGraphics } from './../../graphics/pdf-graphics';
11
- import { PdfColor } from './../../graphics/pdf-color';
12
- import { PdfDocument } from './../pdf-document';
13
- import { PdfGraphicsElement } from './../../graphics/figures/base/graphics-element';
14
- import { PdfAutomaticFieldInfo } from './automatic-field-info';
15
- import { PdfPage } from './../../pages/pdf-page';
16
- /**
17
- * Represents a fields which is calculated before the document saves.
18
- */
19
- export abstract class PdfAutomaticField extends PdfGraphicsElement {
20
- // Fields
21
- private internalBounds : RectangleF = new RectangleF(0, 0, 0, 0);
22
- private internalFont : PdfFont;
23
- private internalBrush : PdfBrush;
24
- private internalPen : PdfPen;
25
- private internalStringFormat : PdfStringFormat;
26
- private internalTemplateSize : SizeF = new SizeF(0, 0);
27
- // Constructors
28
- protected constructor() {
29
- super();
30
- }
31
- // Properties
32
- public get bounds() : RectangleF {
33
- return this.internalBounds;
34
- }
35
- public set bounds(value : RectangleF) {
36
- this.internalBounds = value;
37
- }
38
- public get size() : SizeF {
39
- return new SizeF(this.bounds.width, this.bounds.height);
40
- }
41
- public set size(value : SizeF) {
42
- this.bounds.width = value.width;
43
- this.bounds.height = value.height;
44
- }
45
- public get location() : PointF {
46
- return new PointF(this.bounds.x, this.bounds.y);
47
- }
48
- public set location(value : PointF) {
49
- this.bounds.x = value.x;
50
- this.bounds.y = value.y;
51
- }
52
- public get font() : PdfFont {
53
- return this.internalFont;
54
- }
55
- public set font(value : PdfFont) {
56
- this.internalFont = value;
57
- }
58
- public get brush() : PdfBrush {
59
- return this.internalBrush;
60
- }
61
- public set brush(value : PdfBrush) {
62
- this.internalBrush = value;
63
- }
64
- public get pen() : PdfPen {
65
- return this.internalPen;
66
- }
67
- public set pen(value : PdfPen) {
68
- this.internalPen = value;
69
- }
70
- public get stringFormat() : PdfStringFormat {
71
- return this.internalStringFormat;
72
- }
73
- public set stringFormat(value : PdfStringFormat) {
74
- this.internalStringFormat = value;
75
- }
76
- // Implementation
77
- public abstract getValue(graphics : PdfGraphics) : string;
78
- public abstract performDraw(graphics : PdfGraphics, location : PointF, scalingX : number, scalingY : number) : void;
79
- public performDrawHelper(graphics : PdfGraphics, location : PointF, scalingX : number, scalingY : number) : void {
80
- if (this.bounds.height === 0 || this.bounds.width === 0) {
81
- let text : string = this.getValue(graphics);
82
- this.internalTemplateSize = this.getFont().measureString(text, this.size, this.stringFormat);
83
- }
84
- }
85
- public draw(graphics : PdfGraphics) : void
86
- public draw(graphics : PdfGraphics, location : PointF) : void
87
- public draw(graphics : PdfGraphics, x : number, y : number) : void
88
- public draw(arg1 ?: PdfGraphics, arg2 ?: number | PointF, arg3 ?: number) : void {
89
- if (typeof arg2 === 'undefined') {
90
- let location : PointF = new PointF(0, 0);
91
- this.draw(arg1, location);
92
- } else if (arg2 instanceof PointF) {
93
- this.draw(arg1, arg2.x, arg2.y);
94
- } else {
95
- this.drawHelper(arg1, arg2, arg3);
96
- let info : PdfAutomaticFieldInfo = new PdfAutomaticFieldInfo(this, new PointF(arg2, arg3));
97
- arg1.automaticFields.add(info);
98
- }
99
- }
100
- protected getSize() : SizeF {
101
- if (this.bounds.height === 0 || this.bounds.width === 0) {
102
- return this.internalTemplateSize;
103
- } else {
104
- return this.size;
105
- }
106
- }
107
- protected drawInternal(graphics : PdfGraphics) : void {
108
- //
109
- }
110
- /* tslint:disable */
111
- protected getBrush() : PdfBrush {
112
- return (typeof this.internalBrush === 'undefined' || this.internalBrush == null) ? new PdfSolidBrush(new PdfColor(0, 0, 0)) : this.internalBrush;
113
- }
114
- protected getFont() : PdfFont {
115
- return (typeof this.internalFont === 'undefined' || this.internalFont == null) ? PdfDocument.defaultFont : this.internalFont;
116
- }
117
- /* tslint:enable */
118
- public getPageFromGraphics(graphics : PdfGraphics) : PdfPage {
119
- if (typeof graphics.page !== 'undefined' && graphics.page !== null) {
120
- let page : PdfPage = graphics.page as PdfPage;
121
- return page;
122
- } else {
123
- let page : PdfPage = graphics.currentPage as PdfPage;
124
- return page;
125
- }
126
- }
127
- }
@@ -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
- }