@syncfusion/ej2-pdf-export 19.3.43 → 19.4.43

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