@syncfusion/ej2-pdf-export 19.3.43 → 19.3.53

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 (166) hide show
  1. package/.eslintrc.json +1 -1
  2. package/CHANGELOG.md +167 -0
  3. package/README.md +1 -10
  4. package/dist/ej2-pdf-export.umd.min.js +1 -1
  5. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es2015.js +1 -2
  7. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  8. package/dist/es6/ej2-pdf-export.es5.js +1 -2
  9. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  10. package/dist/global/ej2-pdf-export.min.js +1 -1
  11. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/license +3 -0
  14. package/package.json +15 -7
  15. package/src/implementation/pages/pdf-section.d.ts +0 -1
  16. package/src/implementation/pages/pdf-section.js +0 -1
  17. package/src/implementation/structured-elements/grid/pdf-grid-cell.js +1 -1
  18. package/dist/ts/implementation/actions/action.ts +0 -76
  19. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  20. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  21. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  22. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  23. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  24. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  25. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  26. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  27. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  28. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  29. package/dist/ts/implementation/collections/utils.ts +0 -38
  30. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  31. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  32. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  33. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  34. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  35. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  36. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  37. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  38. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  39. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  40. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  41. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  42. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  43. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  44. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  45. package/dist/ts/implementation/general/enum.ts +0 -21
  46. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  47. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  48. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  49. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  50. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  51. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  52. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  53. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  54. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  55. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  56. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  57. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  58. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  59. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  60. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  61. package/dist/ts/implementation/graphics/constants.ts +0 -31
  62. package/dist/ts/implementation/graphics/enum.ts +0 -413
  63. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  64. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  65. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  66. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  67. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  68. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  69. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  70. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  71. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  72. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  73. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  74. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  75. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  76. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  77. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  78. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  79. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  80. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  81. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  82. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  83. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  84. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  85. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  86. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  87. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  88. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  89. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  90. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  91. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  92. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  93. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  94. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  95. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  96. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  97. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  98. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  99. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  100. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  101. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  102. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  103. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  104. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  105. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  106. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  107. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  108. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  109. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  110. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
  111. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  112. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  113. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  114. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  115. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  116. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  117. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  118. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  119. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  120. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  121. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  122. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  123. package/dist/ts/implementation/input-output/enum.ts +0 -16
  124. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  125. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  126. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  127. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  128. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  129. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  130. package/dist/ts/implementation/pages/enum.ts +0 -201
  131. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  132. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  133. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  134. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  135. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  136. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  137. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  138. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  139. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  140. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  141. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  142. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  143. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  144. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  145. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  146. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  147. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  148. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  149. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  150. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  151. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  152. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -1998
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  155. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -468
  156. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -839
  157. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  158. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  159. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  160. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  161. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  162. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  163. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  164. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  165. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  166. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -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
- }
@@ -1,166 +0,0 @@
1
- /**
2
- * PdfDocumentBase.ts class for EJ2-PDF
3
- */
4
- import { PdfMainObjectCollection } from './../input-output/pdf-main-object-collection';
5
- import { PdfCrossTable } from './../input-output/pdf-cross-table';
6
- import { PdfCatalog } from './pdf-catalog';
7
- import { StreamWriter } from '@syncfusion/ej2-file-utils';
8
- import { Encoding } from '@syncfusion/ej2-file-utils';
9
- import { PdfDocument } from './pdf-document';
10
- import { PdfReference } from './../primitives/pdf-reference';
11
- /**
12
- * `PdfDocumentBase` class represent common properties of PdfDocument classes.
13
- * @private
14
- */
15
- export class PdfDocumentBase {
16
- //Fields
17
- /**
18
- * Collection of the main `objects`.
19
- * @private
20
- */
21
- private objects : PdfMainObjectCollection;
22
- /**
23
- * The `cross table`.
24
- * @private
25
- */
26
- private pdfCrossTable : PdfCrossTable;
27
- /**
28
- * `Object` that is saving currently.
29
- * @private
30
- */
31
- private currentSavingObject : PdfReference;
32
- /**
33
- * Document `catlog`.
34
- * @private
35
- */
36
- private pdfCatalog : PdfCatalog;
37
- /**
38
- * If the stream is copied, then it specifies true.
39
- * @private
40
- */
41
- public isStreamCopied : boolean = false;
42
- /**
43
- * Instance of parent `document`.
44
- * @private
45
- */
46
- public document : PdfDocument;
47
- //constructor
48
- /**
49
- * Initializes a new instance of the `PdfDocumentBase` class.
50
- * @private
51
- */
52
- public constructor()
53
- /**
54
- * Initializes a new instance of the `PdfDocumentBase` class with instance of PdfDocument as argument.
55
- * @private
56
- */
57
- public constructor(document : PdfDocument)
58
- public constructor(document? : PdfDocument) {
59
- if (document instanceof PdfDocument) {
60
- this.document = document;
61
- }
62
- }
63
- //Prpperties
64
- /**
65
- * Gets the `PDF objects` collection, which stores all objects and references to it..
66
- * @private
67
- */
68
- public get pdfObjects() : PdfMainObjectCollection {
69
- return this.objects;
70
- }
71
- /**
72
- * Gets the `cross-reference` table.
73
- * @private
74
- */
75
- public get crossTable() : PdfCrossTable {
76
- return this.pdfCrossTable;
77
- }
78
- /**
79
- * Gets or sets the current saving `object number`.
80
- * @private
81
- */
82
- public get currentSavingObj() : PdfReference {
83
- return this.currentSavingObject;
84
- }
85
- public set currentSavingObj(value : PdfReference) {
86
- this.currentSavingObject = value;
87
- }
88
- /**
89
- * Gets the PDF document `catalog`.
90
- * @private
91
- */
92
- public get catalog() : PdfCatalog {
93
- return this.pdfCatalog;
94
- }
95
- public set catalog(value : PdfCatalog) {
96
- this.pdfCatalog = value;
97
- }
98
- //Public methods
99
- /**
100
- * Sets the `main object collection`.
101
- * @private
102
- */
103
- public setMainObjectCollection(mainObjectCollection : PdfMainObjectCollection) : void {
104
- this.objects = mainObjectCollection;
105
- }
106
- /**
107
- * Sets the `cross table`.
108
- * @private
109
- */
110
- public setCrossTable(cTable : PdfCrossTable) : void {
111
- this.pdfCrossTable = cTable;
112
- }
113
- /**
114
- * Sets the `catalog`.
115
- * @private
116
- */
117
- public setCatalog(catalog : PdfCatalog) : void {
118
- this.pdfCatalog = catalog;
119
- }
120
- /**
121
- * `Saves` the document to the specified filename.
122
- * @private
123
- */
124
- public save(): Promise<{blobData: Blob}>
125
- /**
126
- * `Saves` the document to the specified filename.
127
- * @public
128
- * ```typescript
129
- * // create a new PDF document
130
- * let document : PdfDocument = new PdfDocument();
131
- * // add a pages to the document
132
- * let page1 : PdfPage = document.pages.add();
133
- * //
134
- * // save the document
135
- * document.save('output.pdf');
136
- * //
137
- * // destroy the document
138
- * document.destroy();
139
- * ```
140
- * @param filename Specifies the file name to save the output pdf document.
141
- */
142
- public save(filename : string) : void
143
- public save(filename ?: string) : Promise<{blobData: Blob}> | void {
144
- let encoding: Encoding = new Encoding(true);
145
- let SW : StreamWriter = new StreamWriter(encoding);
146
- if (typeof filename === 'undefined') {
147
- let encoding: Encoding = new Encoding(true);
148
- let SW: StreamWriter = new StreamWriter(encoding);
149
- return new Promise((resolve: Function, reject: Function) => {
150
- /* tslint:disable-next-line:no-any */
151
- let obj: any = {};
152
- obj.blobData = new Blob([this.document.docSave(SW, true)], {type : 'application/pdf'});
153
- resolve(obj);
154
- });
155
- } else {
156
- this.document.docSave(SW, filename, true);
157
- }
158
- }
159
- /**
160
- * `Clone` of parent object - PdfDocument.
161
- * @private
162
- */
163
- public clone() : PdfDocument {
164
- return this.document;
165
- }
166
- }