@syncfusion/ej2-pdf-export 20.3.56 → 20.4.40

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