@syncfusion/ej2-pdf-export 22.1.34 → 22.1.37

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 (169) hide show
  1. package/CHANGELOG.md +8 -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 +748 -93
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +933 -225
  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 +5 -5
  13. package/src/implementation/document/pdf-catalog.d.ts +7 -0
  14. package/src/implementation/document/pdf-catalog.js +16 -0
  15. package/src/implementation/document/pdf-document-base.d.ts +13 -0
  16. package/src/implementation/document/pdf-document-base.js +18 -0
  17. package/src/implementation/document/pdf-viewer-preferences.d.ts +467 -0
  18. package/src/implementation/document/pdf-viewer-preferences.js +624 -0
  19. package/src/implementation/input-output/pdf-dictionary-properties.d.ts +55 -0
  20. package/src/implementation/input-output/pdf-dictionary-properties.js +55 -0
  21. package/dist/ts/implementation/actions/action.ts +0 -76
  22. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  23. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  24. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  25. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  26. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  27. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  28. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  29. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  30. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  31. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  32. package/dist/ts/implementation/collections/utils.ts +0 -38
  33. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  34. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  35. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  36. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  37. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  38. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  39. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  40. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  41. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  42. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  43. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  44. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  45. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  46. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  47. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  48. package/dist/ts/implementation/general/enum.ts +0 -21
  49. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  50. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  51. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  52. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  53. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  54. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  55. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  56. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  57. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  58. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  59. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  60. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  61. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  62. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  63. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  64. package/dist/ts/implementation/graphics/constants.ts +0 -31
  65. package/dist/ts/implementation/graphics/enum.ts +0 -413
  66. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  67. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  68. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  69. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  70. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  71. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  72. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  73. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  75. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  76. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  77. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  78. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  79. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  80. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  81. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  82. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  83. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  84. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  85. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  86. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  87. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  88. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  89. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  90. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  91. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  92. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  93. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  94. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  95. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  96. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  97. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  98. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  99. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  100. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  101. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  102. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  103. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  104. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  105. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  106. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  107. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  108. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  109. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  110. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  111. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  112. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  113. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  114. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  115. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  116. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  117. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  118. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  119. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  120. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  121. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  122. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  123. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  124. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  125. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  126. package/dist/ts/implementation/input-output/enum.ts +0 -16
  127. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  128. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  129. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  130. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  131. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  132. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  133. package/dist/ts/implementation/pages/enum.ts +0 -201
  134. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  135. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  136. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  137. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  138. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  139. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  140. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  141. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  142. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  143. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  144. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  145. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  146. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  147. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  148. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  149. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  150. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  151. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  152. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  153. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  154. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  155. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  156. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  157. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  158. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  159. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  160. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  161. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  162. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  163. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  164. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  165. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  166. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  167. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  168. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  169. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -510,6 +510,61 @@ var DictionaryProperties = /** @class */ (function () {
510
510
  * @private
511
511
  */
512
512
  this.yStep = 'YStep';
513
+ /**
514
+ * Specifies the value of viewer preferences.
515
+ * @private
516
+ */
517
+ this.viewerPreferences = 'ViewerPreferences';
518
+ /**
519
+ * Specifies the value of center window.
520
+ * @private
521
+ */
522
+ this.centerWindow = 'CenterWindow';
523
+ /**
524
+ * Specifies the value of display title.
525
+ * @private
526
+ */
527
+ this.displayTitle = 'DisplayTitle';
528
+ /**
529
+ * Specifies the value of fit window.
530
+ * @private
531
+ */
532
+ this.fitWindow = 'FitWindow';
533
+ /**
534
+ * Specifies the value of hide menu bar.
535
+ * @private
536
+ */
537
+ this.hideMenuBar = 'HideMenubar';
538
+ /**
539
+ * Specifies the value of hide tool bar.
540
+ * @private
541
+ */
542
+ this.hideToolBar = 'HideToolbar';
543
+ /**
544
+ * Specifies the value of hide window UI.
545
+ * @private
546
+ */
547
+ this.hideWindowUI = 'HideWindowUI';
548
+ /**
549
+ * Specifies the value of page mode.
550
+ * @private
551
+ */
552
+ this.pageMode = 'PageMode';
553
+ /**
554
+ * Specifies the value of page layout.
555
+ * @private
556
+ */
557
+ this.pageLayout = 'PageLayout';
558
+ /**
559
+ * Specifies the value of duplex.
560
+ * @private
561
+ */
562
+ this.duplex = 'Duplex';
563
+ /**
564
+ * Specifies the value of print scaling.
565
+ * @private
566
+ */
567
+ this.printScaling = 'PrintScaling';
513
568
  //
514
569
  }
515
570
  return DictionaryProperties;
@@ -1,76 +0,0 @@
1
- import { IPdfWrapper } from './../../interfaces/i-pdf-wrapper';
2
- import { IPdfPrimitive } from './../../interfaces/i-pdf-primitives';
3
- import { PdfDictionary } from './../primitives/pdf-dictionary';
4
- import { PdfReferenceHolder } from './../primitives/pdf-reference';
5
- import { PdfName } from './../primitives/pdf-name';
6
- import { DictionaryProperties } from './../input-output/pdf-dictionary-properties';
7
- /**
8
- * `PdfAction` class represents base class for all action types.
9
- * @private
10
- */
11
- export abstract class PdfAction implements IPdfWrapper {
12
- /**
13
- * Specifies the Next `action` to perform.
14
- * @private
15
- */
16
- private action : PdfAction = null;
17
- /**
18
- * Specifies the Internal variable to store `dictionary`.
19
- * @private
20
- */
21
- private pdfDictionary : PdfDictionary;
22
- /**
23
- * Specifies the Internal variable to store `dictionary properties`.
24
- * @private
25
- */
26
- protected dictionaryProperties : DictionaryProperties = new DictionaryProperties();
27
- // Constructors
28
- /**
29
- * Initialize instance for `Action` class.
30
- * @private
31
- */
32
- protected constructor() {
33
- // super(); -> Object()
34
- this.initialize();
35
- }
36
- // Properties
37
- /**
38
- * Gets and Sets the `Next` action to perform.
39
- * @private
40
- */
41
- public get next() : PdfAction {
42
- return this.action;
43
- }
44
- public set next(value : PdfAction) {
45
- // if (this.action !== value) {
46
- this.action = value;
47
- this.dictionary.items.setValue(this.dictionaryProperties.next, new PdfReferenceHolder(this.action));
48
- // }
49
- }
50
- /**
51
- * Gets and Sets the instance of PdfDictionary class for `Dictionary`.
52
- * @private
53
- */
54
- public get dictionary() : PdfDictionary {
55
- if (typeof this.pdfDictionary === 'undefined') {
56
- this.pdfDictionary = new PdfDictionary();
57
- }
58
- return this.pdfDictionary;
59
- }
60
- // Implementation
61
- /**
62
- * `Initialize` the action type.
63
- * @private
64
- */
65
- protected initialize() : void {
66
- this.dictionary.items.setValue(this.dictionaryProperties.type, new PdfName(this.dictionaryProperties.action));
67
- }
68
- // IPdfWrapper Members
69
- /**
70
- * Gets the `Element` as IPdfPrimitive class.
71
- * @private
72
- */
73
- public get element() : IPdfPrimitive {
74
- return this.dictionary;
75
- }
76
- }
@@ -1,52 +0,0 @@
1
- import { PdfAction } from './action';
2
- import { PdfString } from './../primitives/pdf-string';
3
- import { PdfName } from './../primitives/pdf-name';
4
- /**
5
- * `PdfUriAction` class for initialize the uri related internals.
6
- * @private
7
- */
8
- export class PdfUriAction extends PdfAction {
9
- // Fields
10
- /**
11
- * Specifies the `uri` string.
12
- * @default ''.
13
- * @private
14
- */
15
- private uniformResourceIdentifier : string = '';
16
-
17
- // Constructors
18
- /**
19
- * Initialize instance of `PdfUriAction` class.
20
- * @private
21
- */
22
- public constructor()
23
- /**
24
- * Initialize instance of `PdfUriAction` class.
25
- * @private
26
- */
27
- public constructor(uri : string)
28
- public constructor(uri ?: string) {
29
- super();
30
- }
31
- // Properties
32
- /**
33
- * Gets and Sets the value of `Uri`.
34
- * @private
35
- */
36
- public get uri() : string {
37
- return this.uniformResourceIdentifier;
38
- }
39
- public set uri(value : string) {
40
- this.uniformResourceIdentifier = value;
41
- this.dictionary.items.setValue(this.dictionaryProperties.uri, new PdfString(this.uniformResourceIdentifier));
42
- }
43
- // Implementation
44
- /**
45
- * `Initialize` the internals.
46
- * @private
47
- */
48
- protected initialize() : void {
49
- super.initialize();
50
- this.dictionary.items.setValue(this.dictionaryProperties.s, new PdfName(this.dictionaryProperties.uri));
51
- }
52
- }
@@ -1,43 +0,0 @@
1
- import { RectangleF } from './../drawing/pdf-drawing';
2
- import { PdfAction } from './../actions/action';
3
- import { PdfLinkAnnotation } from './link-annotation';
4
- /**
5
- * Represents base class for `link annotations` with associated action.
6
- * @private
7
- */
8
- export abstract class PdfActionLinkAnnotation extends PdfLinkAnnotation {
9
- // Fields
10
- /**
11
- * Internal variable to store annotation's `action`.
12
- * @default null
13
- * @private
14
- */
15
- private pdfAction : PdfAction = null;
16
- // Properties
17
- /**
18
- * Internal variable to store annotation's `Action`.
19
- * @private
20
- */
21
- public abstract get action() : PdfAction;
22
- public abstract set action(value : PdfAction);
23
- // Constructors
24
- /**
25
- * Specifies the constructor for `ActionLinkAnnotation`.
26
- * @private
27
- */
28
- public constructor(rectangle : RectangleF) {
29
- super(rectangle);
30
- }
31
- //Public method
32
- /**
33
- * get and set the `action`.
34
- * @hidden
35
- */
36
- public getSetAction(value ?: PdfAction) : PdfAction|void {
37
- if (typeof value === 'undefined') {
38
- return this.pdfAction;
39
- } else {
40
- this.pdfAction = value;
41
- }
42
- }
43
- }
@@ -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
- }