@syncfusion/ej2-pdf-export 24.1.41 → 24.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/ej2-pdf-export.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js +2 -2
  4. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pdf-export.es2015.js +157 -28
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +157 -28
  8. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  9. package/dist/global/ej2-pdf-export.min.js +2 -2
  10. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +6 -6
  13. package/src/implementation/graphics/pdf-graphics.d.ts +35 -0
  14. package/src/implementation/graphics/pdf-graphics.js +157 -29
  15. package/dist/ts/implementation/actions/action.ts +0 -76
  16. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  17. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  18. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  19. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  20. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  21. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  22. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  23. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  24. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  25. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  26. package/dist/ts/implementation/collections/utils.ts +0 -38
  27. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  28. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  29. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  30. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  31. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  32. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  33. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  34. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  35. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  36. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  37. package/dist/ts/implementation/document/pdf-catalog.ts +0 -65
  38. package/dist/ts/implementation/document/pdf-document-base.ts +0 -180
  39. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  40. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  41. package/dist/ts/implementation/document/pdf-viewer-preferences.ts +0 -578
  42. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  43. package/dist/ts/implementation/general/enum.ts +0 -21
  44. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  45. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -63
  46. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  47. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  48. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  49. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  50. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  51. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  52. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  53. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  54. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  55. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  56. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  57. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  58. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  59. package/dist/ts/implementation/graphics/constants.ts +0 -31
  60. package/dist/ts/implementation/graphics/enum.ts +0 -413
  61. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  62. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  63. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  64. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  65. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  66. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  67. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  68. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  69. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  70. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  71. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  72. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  73. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  75. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  76. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  77. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  78. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  79. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  80. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  81. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  82. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  83. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  84. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  85. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  86. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  87. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  88. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  89. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  90. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  91. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  92. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  93. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  94. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  95. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  96. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  97. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  98. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  99. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  100. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  101. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  102. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  103. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  104. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  105. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  106. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  107. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  108. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  109. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  110. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  111. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  112. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2429
  113. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  114. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  115. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  116. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  117. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  118. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  119. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  120. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  121. package/dist/ts/implementation/input-output/enum.ts +0 -16
  122. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  123. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -571
  124. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  125. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  126. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  127. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  128. package/dist/ts/implementation/pages/enum.ts +0 -201
  129. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  130. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  131. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  132. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  133. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  134. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  135. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  136. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -663
  137. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  138. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  139. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  140. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  141. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  142. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  143. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  144. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  145. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  146. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  147. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  148. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -306
  149. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  150. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  151. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  152. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  155. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  156. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  157. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  158. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  159. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  160. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  161. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  162. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  163. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  164. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,159 +0,0 @@
1
- import { IPdfWrapper } from './../../interfaces/i-pdf-wrapper';
2
- import { PdfPage } from './../pages/pdf-page';
3
- import { PdfArray } from './../primitives/pdf-array';
4
- import { PdfReferenceHolder } from './../primitives/pdf-reference';
5
- import { PdfAnnotation } from './../annotations/annotation';
6
- import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
7
- import { DictionaryProperties } from './../input-output/pdf-dictionary-properties';
8
- import { SizeF, RectangleF, PointF } from './../drawing/pdf-drawing';
9
- import { PdfStringLayouter, PdfStringLayoutResult } from './../graphics/fonts/string-layouter';
10
- import { PdfDocumentLinkAnnotation } from './document-link-annotation';
11
- import { PdfColorSpace } from './../graphics/enum';
12
- /**
13
- * `PdfAnnotationCollection` class represents the collection of 'PdfAnnotation' objects.
14
- * @private
15
- */
16
- export class PdfAnnotationCollection implements IPdfWrapper {
17
- // Constants
18
- /**
19
- * `Error` constant message.
20
- * @private
21
- */
22
- private alreadyExistsAnnotationError : string = 'This annotatation had been already added to page';
23
- /**
24
- * `Error` constant message.
25
- * @private
26
- */
27
- private missingAnnotationException : string = 'Annotation is not contained in collection.';
28
- /**
29
- * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
30
- * @private
31
- */
32
- protected dictionaryProperties : DictionaryProperties = new DictionaryProperties();
33
- /**
34
- * Parent `page` of the collection.
35
- * @private
36
- */
37
- private page : PdfPage;
38
- /**
39
- * Array of the `annotations`.
40
- * @private
41
- */
42
- private internalAnnotations : PdfArray = new PdfArray();
43
- /**
44
- * privte `list` for the annotations.
45
- * @private
46
- */
47
- public lists : PdfAnnotation[] = [];
48
- /**
49
- * Gets the `PdfAnnotation` object at the specified index. Read-Only.
50
- * @private
51
- */
52
- public get annotations() : PdfArray {
53
- return this.internalAnnotations;
54
- }
55
- public set annotations(value : PdfArray) {
56
- this.internalAnnotations = value;
57
- }
58
- // Constructors
59
- /**
60
- * Initializes a new instance of the `PdfAnnotationCollection` class.
61
- * @private
62
- */
63
- public constructor()
64
- /**
65
- * Initializes a new instance of the `PdfAnnotationCollection` class with the specified page.
66
- * @private
67
- */
68
- public constructor(page : PdfPage)
69
- public constructor(page ?: PdfPage) {
70
- if (typeof page !== 'undefined') {
71
- this.page = page;
72
- }
73
- }
74
- // Public methods
75
- /**
76
- * `Adds` a new annotation to the collection.
77
- * @private
78
- */
79
- public add(annotation : PdfAnnotation) : void | number {
80
- // this.SetPrint(annotation);
81
- this.doAdd(annotation);
82
- }
83
- /**
84
- * `Adds` a Annotation to collection.
85
- * @private
86
- */
87
- /* tslint:disable */
88
- protected doAdd(annotation : PdfAnnotation) : void | number {
89
- if (typeof (annotation as PdfDocumentLinkAnnotation).destination !== 'undefined') {
90
- let layout : PdfStringLayouter = new PdfStringLayouter();
91
- let layoutResult : PdfStringLayoutResult = layout.layout(annotation.text, annotation.font, annotation.stringFormat, new SizeF((annotation.bounds.width), 0), false, new SizeF(0, 0));
92
- let lastPosition : number = annotation.bounds.y;
93
- if (layoutResult.lines.length === 1) {
94
- let size : SizeF = annotation.font.measureString(layoutResult.lines[0].text);
95
- annotation.bounds = new RectangleF(new PointF(annotation.bounds.x, lastPosition), size);
96
- annotation.text = layoutResult.lines[0].text;
97
- //Draw Annotation Text.
98
- this.page.graphics.drawString(annotation.text, annotation.font, null, annotation.brush, annotation.bounds.x, annotation.bounds.y, annotation.bounds.width, annotation.bounds.height, null);
99
- //Add annotation to dictionary.
100
- annotation.setPage(this.page);
101
- this.setColor(annotation);
102
- this.internalAnnotations.add(new PdfReferenceHolder(annotation));
103
- this.lists.push(annotation);
104
- } else {
105
- for (let i : number = 0; i < layoutResult.lines.length; i++) {
106
- let size : SizeF = annotation.font.measureString(layoutResult.lines[i].text);
107
- if (i === 0) {
108
- annotation.bounds = new RectangleF(annotation.bounds.x, lastPosition, size.width, size.height);
109
- annotation.text = layoutResult.lines[i].text;
110
- //Draw Annotation Text.
111
- this.page.graphics.drawString(annotation.text, annotation.font, null, annotation.brush, annotation.bounds.x, lastPosition, size.width, size.height, null);
112
- //Add annotation to dictionary.
113
- annotation.setPage(this.page);
114
- this.setColor(annotation);
115
- this.internalAnnotations.add(new PdfReferenceHolder(annotation));
116
- this.lists.push(annotation);
117
- //Update y for drawing next line of the text.
118
- lastPosition += annotation.bounds.height;
119
- } else {
120
- let annot : PdfDocumentLinkAnnotation = (annotation as PdfDocumentLinkAnnotation).clone();
121
- annot.bounds = new RectangleF(new PointF(annotation.bounds.x, lastPosition), size);
122
- annot.text = layoutResult.lines[i].text;
123
- //Draw Annotation Text.
124
- this.page.graphics.drawString(annot.text, annot.font, null, annot.brush, annot.bounds.x, annot.bounds.y, annot.bounds.width, annot.bounds.height, null);
125
- //Add annotation to dictionary.
126
- annot.setPage(this.page);
127
- this.setColor(annot);
128
- this.internalAnnotations.add(new PdfReferenceHolder(annot));
129
- this.lists.push(annot);
130
- //Update y for drawing next line of the text.
131
- lastPosition += annot.bounds.height;
132
- }
133
- }
134
- }
135
- } else {
136
- annotation.setPage(this.page);
137
- this.internalAnnotations.add(new PdfReferenceHolder(annotation));
138
- return this.lists.push(annotation);
139
- }
140
- }
141
- /* tslint:enable */
142
- /**
143
- * `Set a color of an annotation`.
144
- * @private
145
- */
146
- private setColor(annotation : PdfAnnotation) : void {
147
- let cs : PdfColorSpace = PdfColorSpace.Rgb;
148
- let colours : PdfArray = annotation.color.toArray(cs);
149
- annotation.dictionary.items.setValue(this.dictionaryProperties.c, colours);
150
- }
151
- // IPdfWrapper Members
152
- /**
153
- * Gets the `Element` representing this object.
154
- * @private
155
- */
156
- public get element() : IPdfPrimitive {
157
- return this.internalAnnotations;
158
- }
159
- }
@@ -1,241 +0,0 @@
1
- import { IPdfWrapper } from './../../interfaces/i-pdf-wrapper';
2
- import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
3
- import { PdfColor } from './../graphics/pdf-color';
4
- import { RectangleF, PointF } from './../drawing/pdf-drawing';
5
- import { PdfPage } from './../pages/pdf-page';
6
- import { PdfPageBase } from './../pages/pdf-page-base';
7
- import { PdfDictionary, SaveAnnotationEventHandler } from './../primitives/pdf-dictionary';
8
- import { PdfArray } from './../primitives/pdf-array';
9
- import { PdfNumber } from './../primitives/pdf-number';
10
- import { PdfReferenceHolder } from './../primitives/pdf-reference';
11
- import { PdfString } from './../primitives/pdf-string';
12
- import { DictionaryProperties } from './../input-output/pdf-dictionary-properties';
13
- import { PdfName } from './../primitives/pdf-name';
14
- import { PdfSection } from './../pages/pdf-section';
15
- import { PdfBrush } from './../graphics/brushes/pdf-brush';
16
- import { PdfSolidBrush } from './../graphics/brushes/pdf-solid-brush';
17
- import { PdfStandardFont } from './../graphics/fonts/pdf-standard-font';
18
- import { PdfFont } from './../graphics/fonts/pdf-font';
19
- import { PdfFontFamily } from './../graphics/fonts/enum';
20
- import { PdfStringFormat } from './../graphics/fonts/pdf-string-format';
21
- import { PdfTextAlignment } from './../graphics/enum';
22
- /**
23
- * `PdfAnnotation` class represents the base class for annotation objects.
24
- * @private
25
- */
26
- export abstract class PdfAnnotation implements IPdfWrapper {
27
- // Fields
28
- /**
29
- * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
30
- * @private
31
- */
32
- protected dictionaryProperties : DictionaryProperties = new DictionaryProperties();
33
- /**
34
- * `Color` of the annotation
35
- * @private
36
- */
37
- private pdfColor : PdfColor = new PdfColor(255, 255, 255);
38
- /**
39
- * `Bounds` of the annotation.
40
- * @private
41
- */
42
- private rectangle : RectangleF = new RectangleF(0, 0, 0, 0);
43
- /**
44
- * Parent `page` of the annotation.
45
- * @private
46
- */
47
- private pdfPage : PdfPage = null;
48
- /**
49
- * `Brush of the text` of the annotation.
50
- * @default new PdfSolidBrush(new PdfColor(0, 0, 0))
51
- * @private
52
- */
53
- private textBrush : PdfBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
54
- /**
55
- * `Font of the text` of the annotation.
56
- * @default new PdfStandardFont(PdfFontFamily.TimesRoman, 10)
57
- * @private
58
- */
59
- private textFont : PdfFont = new PdfStandardFont(PdfFontFamily.TimesRoman, 10);
60
- /**
61
- * `StringFormat of the text` of the annotation.
62
- * @default new PdfStringFormat(PdfTextAlignment.Left)
63
- * @private
64
- */
65
- private format : PdfStringFormat = new PdfStringFormat(PdfTextAlignment.Left);
66
- /**
67
- * `Text` of the annotation.
68
- * @private
69
- */
70
- private content : string = '';
71
- /**
72
- * Internal variable to store `dictionary`.
73
- * @private
74
- */
75
- private pdfDictionary : PdfDictionary = new PdfDictionary();
76
- /**
77
- * To specifying the `Inner color` with which to fill the annotation
78
- * @private
79
- */
80
- private internalColor : PdfColor = new PdfColor();
81
- /**
82
- * `opacity or darkness` of the annotation.
83
- * @private
84
- * @default 1.0
85
- */
86
- private darkness : number = 1.0;
87
- // Properties
88
- /**
89
- * `Color` of the annotation
90
- * @private
91
- */
92
- public get color() : PdfColor {
93
- return this.pdfColor;
94
- }
95
- public set color(value : PdfColor) {
96
- this.pdfColor = value;
97
- }
98
- /**
99
- * To specifying the `Inner color` with which to fill the annotation
100
- * @private
101
- */
102
- public get innerColor() : PdfColor {
103
- return this.internalColor;
104
- }
105
- public set innerColor(value : PdfColor) {
106
- this.internalColor = value;
107
- }
108
- /**
109
- * `bounds` of the annotation.
110
- * @private
111
- */
112
- public get bounds() : RectangleF {
113
- return this.rectangle;
114
- }
115
- public set bounds(value : RectangleF) {
116
- this.rectangle = value;
117
- }
118
- /**
119
- * Parent `page` of the annotation.
120
- * @private
121
- */
122
- public get page() : PdfPage {
123
- return this.pdfPage;
124
- }
125
- /**
126
- * To specifying the `Font of the text` in the annotation.
127
- * @private
128
- */
129
- public get font() : PdfFont {
130
- return this.textFont;
131
- }
132
- public set font(value : PdfFont) {
133
- this.textFont = value;
134
- }
135
- /**
136
- * To specifying the `StringFormat of the text` in the annotation.
137
- * @private
138
- */
139
- public get stringFormat() : PdfStringFormat {
140
- return this.format;
141
- }
142
- public set stringFormat(value : PdfStringFormat) {
143
- this.format = value;
144
- }
145
- /**
146
- * To specifying the `Brush of the text` in the annotation.
147
- * @private
148
- */
149
- public get brush() : PdfBrush {
150
- return this.textBrush;
151
- }
152
- public set brush(value : PdfBrush) {
153
- this.textBrush = value;
154
- }
155
- /**
156
- * `Text` of the annotation.
157
- * @private
158
- */
159
- public get text() : string {
160
- return this.content;
161
- }
162
- public set text(value : string) {
163
- this.content = value;
164
- this.dictionary.items.setValue(this.dictionaryProperties.contents, new PdfString(this.content));
165
- }
166
- /**
167
- * Internal variable to store `dictionary`.
168
- * @hidden
169
- */
170
- public get dictionary() : PdfDictionary {
171
- return this.pdfDictionary;
172
- }
173
- public set dictionary(value : PdfDictionary) {
174
- this.pdfDictionary = value;
175
- }
176
- // Constructors
177
- /**
178
- * Object initialization for `Annotation` class
179
- * @private
180
- */
181
- public constructor()
182
- public constructor(bounds : RectangleF)
183
- public constructor(arg1 ?: RectangleF) {
184
- if (typeof arg1 === 'undefined') {
185
- this.initialize();
186
- } else {
187
- this.initialize();
188
- this.bounds = arg1;
189
- }
190
- }
191
- // Implementation
192
- /**
193
- * `Initialize` the annotation event handler and specifies the type of the annotation.
194
- * @private
195
- */
196
- protected initialize() : void {
197
- this.pdfDictionary.annotationBeginSave = new SaveAnnotationEventHandler(this);
198
- this.pdfDictionary.items.setValue(this.dictionaryProperties.type, new PdfName(this.dictionaryProperties.annot));
199
- }
200
- /**
201
- * Sets related `page` of the annotation.
202
- * @private
203
- */
204
- public setPage(page : PdfPageBase) : void {
205
- this.pdfPage = page as PdfPage;
206
- this.pdfDictionary.items.setValue(this.dictionaryProperties.p, new PdfReferenceHolder(this.pdfPage));
207
- }
208
- /**
209
- * Handles the `BeginSave` event of the Dictionary.
210
- * @private
211
- */
212
- public beginSave() : void {
213
- this.save();
214
- }
215
- /**
216
- * `Saves` an annotation.
217
- * @private
218
- */
219
- /* tslint:disable */
220
- protected save() : void {
221
- let nativeRectangle : RectangleF = new RectangleF(this.rectangle.x, this.rectangle.y, this.rectangle.width, this.rectangle.height);
222
- let section : PdfSection = this.pdfPage.section;
223
- let initialHeight : number = nativeRectangle.height;
224
- let tempLoacation : PointF = section.pointToNativePdf(this.page, new PointF(nativeRectangle.x, nativeRectangle.y));
225
- nativeRectangle.x = tempLoacation.x;
226
- nativeRectangle.width = tempLoacation.x + nativeRectangle.width;
227
- nativeRectangle.y = (tempLoacation.y - this.page.document.pageSettings.margins.top);
228
- nativeRectangle.height = nativeRectangle.y - initialHeight;
229
- this.pdfDictionary.items.setValue(this.dictionaryProperties.rect, PdfArray.fromRectangle(nativeRectangle));
230
- this.dictionary.items.setValue(this.dictionaryProperties.ca, new PdfNumber(this.darkness));
231
- }
232
- /* tslint:enable */
233
- // IPdfWrapper Members
234
- /**
235
- * Gets the `element`.
236
- * @private
237
- */
238
- public get element() : IPdfPrimitive {
239
- return this.pdfDictionary;
240
- }
241
- }
@@ -1,118 +0,0 @@
1
- import { PdfLinkAnnotation } from './link-annotation';
2
- import { RectangleF } from './../drawing/pdf-drawing';
3
- import { PdfDestination } from './../general/pdf-destination';
4
- /**
5
- * `PdfDocumentLinkAnnotation` class represents an annotation object with holds link on another location within a document.
6
- * ```typescript
7
- * // create a new PDF document
8
- * let document : PdfDocument = new PdfDocument();
9
- * // create new pages
10
- * let page1 : PdfPage = document.pages.add();
11
- * let page2 : PdfPage = document.pages.add();
12
- * // create a new rectangle
13
- * let bounds : RectangleF = new RectangleF({x : 10, y : 200}, {width : 300, height : 25});
14
- * //
15
- * // create a new document link annotation
16
- * let documentLinkAnnotation : PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(bounds);
17
- * // set the annotation text
18
- * documentLinkAnnotation.text = 'Document link annotation';
19
- * // set the destination
20
- * documentLinkAnnotation.destination = new PdfDestination(page2);
21
- * // set the documentlink annotation location
22
- * documentLinkAnnotation.destination.location = new PointF(10, 0);
23
- * // add this annotation to a new page
24
- * page1.annotations.add(documentLinkAnnotation);
25
- * //
26
- * // save the document to disk
27
- * document.save('output.pdf');
28
- * // destroy the document
29
- * document.destroy();
30
- * ```
31
- */
32
- export class PdfDocumentLinkAnnotation extends PdfLinkAnnotation {
33
- // Fields
34
- /**
35
- * `Destination` of the annotation.
36
- * @default null
37
- * @private
38
- */
39
- private pdfDestination : PdfDestination = null;
40
- // Properties
41
- /**
42
- * Gets or sets the `destination` of the annotation.
43
- * ```typescript
44
- * // create a new PDF document
45
- * let document : PdfDocument = new PdfDocument();
46
- * // create new pages
47
- * let page1 : PdfPage = document.pages.add();
48
- * let page2 : PdfPage = document.pages.add();
49
- * // create a new rectangle
50
- * let bounds : RectangleF = new RectangleF({x : 10, y : 200}, {width : 300, height : 25});
51
- * //
52
- * // create a new document link annotation
53
- * let documentLinkAnnotation : PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(bounds);
54
- * // set the annotation text
55
- * documentLinkAnnotation.text = 'Document link annotation';
56
- * // set the destination
57
- * documentLinkAnnotation.destination = new PdfDestination(page2);
58
- * // set the documentlink annotation location
59
- * documentLinkAnnotation.destination.location = new PointF(10, 0);
60
- * // add this annotation to a new page
61
- * page1.annotations.add(documentLinkAnnotation);
62
- * //
63
- * // save the document to disk
64
- * document.save('output.pdf');
65
- * // destroy the document
66
- * document.destroy();
67
- * ```
68
- * @default null
69
- */
70
- public get destination() : PdfDestination {
71
- return this.pdfDestination;
72
- }
73
- public set destination(value : PdfDestination) {
74
- // if (this.pdfDestination !== value) {
75
- this.pdfDestination = value;
76
- // }
77
- }
78
- // Constructors
79
- /**
80
- * Initializes new `PdfDocumentLinkAnnotation` instance with specified bounds.
81
- * @private
82
- */
83
- public constructor(rectangle : RectangleF)
84
- /**
85
- * Initializes new `PdfDocumentLinkAnnotation` instance with specified bounds and destination.
86
- * @private
87
- */
88
- public constructor(rectangle : RectangleF, destination : PdfDestination)
89
- public constructor(rectangle : RectangleF, destination ?: PdfDestination) {
90
- super(rectangle);
91
- if (typeof destination !== 'undefined') {
92
- this.destination = destination;
93
- }
94
- }
95
- // Implementation
96
- /**
97
- * `Saves` annotation object.
98
- * @private
99
- */
100
- public save() : void {
101
- super.save();
102
- if (this.pdfDestination != null) {
103
- this.dictionary.items.setValue(this.dictionaryProperties.dest, this.pdfDestination.element);
104
- }
105
- }
106
- /**
107
- * `Clone` the document link annotation.
108
- * @private
109
- */
110
- public clone() : PdfDocumentLinkAnnotation {
111
- let annot : PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(this.bounds, this.destination);
112
- annot.color = this.color;
113
- annot.brush = this.brush;
114
- annot.destination = this.destination;
115
- annot.font = this.font;
116
- return annot;
117
- }
118
- }
@@ -1,32 +0,0 @@
1
- import { PdfAnnotation } from './annotation';
2
- import { RectangleF } from './../drawing/pdf-drawing';
3
- import { PdfName } from './../primitives/pdf-name';
4
- /**
5
- * `PdfLinkAnnotation` class represents the ink annotation class.
6
- * @private
7
- */
8
- export abstract class PdfLinkAnnotation extends PdfAnnotation {
9
- // Constructors
10
- /**
11
- * Initializes new instance of `PdfLineAnnotation` class with specified points.
12
- * @private
13
- */
14
- public constructor()
15
- /**
16
- * Initializes new instance of `PdfLineAnnotation` class with set of points and annotation text.
17
- * @private
18
- */
19
- public constructor(rectangle : RectangleF)
20
- public constructor(rectangle ?: RectangleF) {
21
- super(rectangle);
22
- }
23
- // Implementation
24
- /**
25
- * `Initializes` annotation object.
26
- * @private
27
- */
28
- protected initialize() : void {
29
- super.initialize();
30
- this.dictionary.items.setValue(this.dictionaryProperties.subtype, new PdfName(this.dictionaryProperties.link));
31
- }
32
- }