@syncfusion/ej2-pdf-export 24.1.41 → 24.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/CHANGELOG.md +10 -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 +157 -28
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +157 -28
  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 +6 -6
  13. package/src/implementation/graphics/pdf-graphics.d.ts +35 -0
  14. package/src/implementation/graphics/pdf-graphics.js +157 -29
  15. package/dist/ts/implementation/actions/action.ts +0 -76
  16. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  17. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  18. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  19. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  20. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  21. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  22. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  23. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  24. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  25. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  26. package/dist/ts/implementation/collections/utils.ts +0 -38
  27. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  28. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  29. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  30. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  31. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  32. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  33. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  34. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  35. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  36. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  37. package/dist/ts/implementation/document/pdf-catalog.ts +0 -65
  38. package/dist/ts/implementation/document/pdf-document-base.ts +0 -180
  39. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  40. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  41. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +0 -578
  42. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  43. package/dist/ts/implementation/general/enum.ts +0 -21
  44. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  45. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -63
  46. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  47. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  48. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  49. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  50. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  51. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  52. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  53. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  54. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  55. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  56. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  57. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  58. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  59. package/dist/ts/implementation/graphics/constants.ts +0 -31
  60. package/dist/ts/implementation/graphics/enum.ts +0 -413
  61. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  62. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  63. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  64. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  65. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  66. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  67. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  68. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  69. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  70. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  71. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  72. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  73. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  75. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  76. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  77. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  78. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  79. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  80. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  81. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  82. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  83. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  84. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  85. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  86. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  87. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  88. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  89. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  90. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  91. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  92. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  93. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  94. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  95. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  96. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  97. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  98. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  99. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  100. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  101. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  102. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  103. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  104. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  105. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  106. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  107. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  108. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  109. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  110. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  111. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  112. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2429
  113. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  114. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  115. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  116. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  117. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  118. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  119. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  120. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  121. package/dist/ts/implementation/input-output/enum.ts +0 -16
  122. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  123. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -571
  124. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  125. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  126. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  127. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  128. package/dist/ts/implementation/pages/enum.ts +0 -201
  129. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  130. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  131. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  132. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  133. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  134. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  135. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  136. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -663
  137. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  138. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  139. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  140. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  141. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  142. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  143. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  144. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  145. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  146. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  147. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  148. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -306
  149. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  150. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  151. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  152. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  155. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  156. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  157. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  158. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  159. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  160. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  161. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  162. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  163. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  164. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -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
- }
@@ -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
- }