@syncfusion/ej2-pdf-export 24.1.41 → 24.1.47

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 +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 +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 +5 -5
  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,107 +0,0 @@
1
- import { PdfColor } from './../pdf-color';
2
- import { PdfStreamWriter } from './../../input-output/pdf-stream-writer';
3
- import { GetResourceEventHandler } from './../pdf-graphics';
4
- import { PdfColorSpace } from './../enum';
5
- import { PdfBrush } from './pdf-brush';
6
- /**
7
- * Represents a brush that fills any object with a solid color.
8
- * ```typescript
9
- * // create a new PDF document
10
- * let document : PdfDocument = new PdfDocument();
11
- * // add a pages to the document
12
- * let page1 : PdfPage = document.pages.add();
13
- * // set font
14
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
15
- * // set brush
16
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
17
- * // draw the text
18
- * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
19
- * // save the document
20
- * document.save('output.pdf');
21
- * // destroy the document
22
- * document.destroy();
23
- * ```
24
- */
25
- export class PdfSolidBrush extends PdfBrush {
26
- //Fields
27
- /**
28
- * The `colour` of the brush.
29
- * @private
30
- */
31
- public pdfColor : PdfColor;
32
- /**
33
- * Indicates if the brush is `immutable`.
34
- * @private
35
- */
36
- private bImmutable : boolean;
37
- /**
38
- * The `color space` of the brush.
39
- * @private
40
- */
41
- private colorSpace : PdfColorSpace;
42
- //Constructors
43
- /**
44
- * Initializes a new instance of the `PdfSolidBrush` class.
45
- * ```typescript
46
- * // create a new PDF document
47
- * let document : PdfDocument = new PdfDocument();
48
- * // add a pages to the document
49
- * let page1 : PdfPage = document.pages.add();
50
- * // set font
51
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
52
- * // set brush
53
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
54
- * // draw the text
55
- * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
56
- * // save the document
57
- * document.save('output.pdf');
58
- * // destroy the document
59
- * document.destroy();
60
- * ```
61
- * @param color color of the brush
62
- */
63
- public constructor(color : PdfColor) {
64
- super();
65
- this.pdfColor = color;
66
- }
67
- //Properties
68
- /**
69
- * Gets or sets the `color` of the brush.
70
- * @private
71
- */
72
- public get color() : PdfColor {
73
- return this.pdfColor;
74
- }
75
- public set color(value : PdfColor) {
76
- this.pdfColor = value;
77
- }
78
- //Implementation
79
- /**
80
- * `Monitors` the changes of the brush and modify PDF state respectively.
81
- * @private
82
- */
83
- public monitorChanges(brush : PdfBrush, streamWriter : PdfStreamWriter, getResources : GetResourceEventHandler,
84
- saveChanges : boolean, currentColorSpace : PdfColorSpace) : boolean {
85
- if (streamWriter == null) {
86
- throw new Error('ArgumentNullException:streamWriter');
87
- }
88
- let diff : boolean = false;
89
- if (brush == null) {
90
- diff = true;
91
- streamWriter.setColorAndSpace(this.pdfColor, currentColorSpace, false);
92
- return diff;
93
- } else {
94
- let sBrush : PdfSolidBrush = brush as PdfSolidBrush;
95
- diff = true;
96
- streamWriter.setColorAndSpace(this.pdfColor, currentColorSpace, false);
97
- return diff;
98
- }
99
- }
100
- /**
101
- * `Resets` the changes, which were made by the brush.
102
- * @private
103
- */
104
- public resetChanges(streamWriter : PdfStreamWriter) : void {
105
- streamWriter.setColorAndSpace(new PdfColor(0, 0, 0), PdfColorSpace.Rgb, false);
106
- }
107
- }
@@ -1,304 +0,0 @@
1
- /**
2
- * PdfTilingBrush.ts class for EJ2-PDF
3
- */
4
- import { PdfStreamWriter } from './../../input-output/pdf-stream-writer';
5
- import { GetResourceEventHandler } from './../pdf-graphics';
6
- import { PdfColorSpace } from './../enum';
7
- import { PdfBrush } from './pdf-brush';
8
- import { PointF, SizeF, RectangleF, Rectangle } from './../../drawing/pdf-drawing';
9
- import { IPdfWrapper } from '../../../interfaces/i-pdf-wrapper';
10
- import { PdfTransformationMatrix } from './../pdf-transformation-matrix';
11
- import { DictionaryProperties } from './../../input-output/pdf-dictionary-properties';
12
- import { PdfArray } from './../../primitives/pdf-array';
13
- import { PdfName } from '../../../../src/implementation/primitives/pdf-name';
14
- import { PdfNumber } from './../../primitives/pdf-number';
15
- import { PdfGraphics } from './../pdf-graphics';
16
- import { PdfResources} from './../pdf-resources';
17
- import { PdfStream } from './../../primitives/pdf-stream';
18
- import { PdfPage } from './../../pages/pdf-page';
19
- import { IPdfPrimitive } from './../../../interfaces/i-pdf-primitives';
20
- /**
21
- * `PdfTilingBrush` Implements a colored tiling brush.
22
- */
23
- export class PdfTilingBrush extends PdfBrush implements IPdfWrapper {
24
- //Fields
25
- /**
26
- * Local variable to store rectanble box.
27
- * @private
28
- */
29
- private mBox: Rectangle;
30
- /**
31
- * Local variable to store graphics.
32
- * @private
33
- */
34
- private mGraphics: PdfGraphics;
35
- /**
36
- * Local variable to store brush Stream.
37
- * @private
38
- */
39
- private brushStream: PdfStream;
40
- /**
41
- * Local variable to store brush Stream.
42
- * @private
43
- */
44
- private tempBrushStream: PdfStream;
45
- /**
46
- * Local variable to store resources.
47
- * @private
48
- */
49
- private mResources: PdfResources;
50
- /**
51
- * Local variable to store Stroking.
52
- * @private
53
- */
54
- private mStroking: boolean = false;
55
- /**
56
- * Local variable to store the page.
57
- * @private
58
- */
59
- private mPage: PdfPage;
60
- /**
61
- * Local variable to store the tile start location.
62
- * @private
63
- */
64
- private mLocation: PointF = new PointF(0, 0);
65
- /**
66
- * Local variable to store the Matrix.
67
- * @private
68
- */
69
- private mTransformationMatrix: PdfTransformationMatrix;
70
- /**
71
- * Local variable to store the dictionary properties.
72
- * @private
73
- */
74
- private mDictionaryProperties : DictionaryProperties = new DictionaryProperties();
75
- //Constructor
76
- /**
77
- * Initializes a new instance of the `PdfTilingBrush` class.
78
- * @public
79
- */
80
- public constructor(rectangle: Rectangle)
81
- /**
82
- * Initializes a new instance of the `PdfTilingBrush` class.
83
- * @public
84
- */
85
- public constructor(size: SizeF)
86
- /**
87
- * Initializes a new instance of the `PdfTilingBrush` class.
88
- * @public
89
- */
90
- public constructor(size: SizeF, page: PdfPage)
91
- /**
92
- * Initializes a new instance of the `PdfTilingBrush` class.
93
- * @public
94
- */
95
- public constructor(rectangle: Rectangle, page: PdfPage)
96
- /**
97
- * Initializes a new instance of the `PdfTilingBrush` class.
98
- * @public
99
- */
100
- public constructor(arg1?: Rectangle|SizeF, arg2?: PdfPage) {
101
- super();
102
- let rect : Rectangle = null;
103
- if (arg1 instanceof Rectangle) {
104
- rect = arg1;
105
- } else if (arg1 instanceof SizeF) {
106
- rect = new Rectangle(0, 0, arg1.width, arg1.height);
107
- }
108
- if (arg2 !== null && arg2 instanceof PdfPage) {
109
- this.mPage = arg2;
110
- }
111
- this.brushStream = new PdfStream();
112
- this.mResources = new PdfResources();
113
- this.brushStream.items.setValue(this.mDictionaryProperties.resources , this.mResources);
114
- this.setBox(rect);
115
- this.setObligatoryFields();
116
- if (arg2 !== null && arg2 instanceof PdfPage) {
117
- this.mPage = arg2;
118
- this.graphics.colorSpace = arg2.document.colorSpace;
119
- }
120
- }
121
- /**
122
- * Initializes a new instance of the `PdfTilingBrush` class.
123
- * @private
124
- * @param rectangle The size of the smallest brush cell.
125
- * @param page The Current Page Object.
126
- * @param location The Tile start location.
127
- * @param matrix The matrix.
128
- */
129
- private initialize(rectangle: Rectangle, page: PdfPage, location: PointF, matrix: PdfTransformationMatrix) : PdfTilingBrush {
130
- this.mPage = page;
131
- this.mLocation = location;
132
- this.mTransformationMatrix = matrix;
133
- this.tempBrushStream = this.brushStream;
134
- this.brushStream = new PdfStream();
135
- let tempResource : PdfResources = new PdfResources();
136
- this.brushStream.items.setValue(this.mDictionaryProperties.resources, tempResource);
137
- this.setBox(rectangle);
138
- this.setObligatoryFields();
139
- return this;
140
- }
141
- //Properties
142
- /**
143
- * Location representing the start position of the tiles.
144
- * @public
145
- */
146
- public get location(): PointF {
147
- return this.mLocation;
148
- }
149
- public set location(value: PointF) {
150
- this.mLocation = value;
151
- }
152
- /**
153
- * Sets the obligatory fields.
154
- * @private
155
- */
156
- private setObligatoryFields() : void {
157
- this.brushStream.items.setValue(this.mDictionaryProperties.patternType, new PdfNumber(1));
158
- // Tiling brush.
159
- this.brushStream.items.setValue(this.mDictionaryProperties.paintType, new PdfNumber(1));
160
- // Coloured.
161
- this.brushStream.items.setValue(this.mDictionaryProperties.tilingType , new PdfNumber(1));
162
- // Constant spacing.
163
- this.brushStream.items.setValue(this.mDictionaryProperties.xStep , new PdfNumber((this.mBox.right - this.mBox.left)));
164
- this.brushStream.items.setValue(this.mDictionaryProperties.yStep , new PdfNumber((this.mBox.bottom - this.mBox.top)));
165
- if ((this.mPage != null) && (this.mLocation != null)) {
166
- if ((this.mTransformationMatrix == null && typeof this.mTransformationMatrix === 'undefined')) {
167
- // Transform the tile origin to fit the location
168
- let tileTransform: number = (this.mPage.size.height % this.rectangle.size.height) - (this.mLocation.y);
169
- /* tslint:disable-next-line:max-line-length */
170
- this.brushStream.items.setValue(this.mDictionaryProperties.matrix, new PdfArray([1, 0, 0, 1, this.mLocation.x, tileTransform]));
171
- } else {
172
- let tileTransform: number = 0;
173
- // Transform the tile origin to fit the location
174
- let elements: number[] = this.mTransformationMatrix.matrix.elements;
175
- if ((this.mPage.size.height > this.rectangle.size.height)) {
176
- tileTransform = (this.mTransformationMatrix.matrix.offsetY
177
- - (this.mPage.size.height % this.rectangle.size.height));
178
- } else {
179
- tileTransform = ((this.mPage.size.height % this.rectangle.size.height) + this.mTransformationMatrix.matrix.offsetY);
180
- }
181
- this.brushStream.items.setValue(this.mDictionaryProperties.matrix, new PdfArray([
182
- elements[0], elements[1], elements[2], elements[3], elements[4], tileTransform]));
183
- }
184
- }
185
- }
186
- /**
187
- * Sets the BBox coordinates.
188
- * @private
189
- */
190
- private setBox(box: Rectangle) : void {
191
- this.mBox = box;
192
- let rect : RectangleF = new RectangleF(this.mBox.left, this.mBox.top, this.mBox.right, this.mBox.bottom);
193
- this.brushStream.items.setValue(this.mDictionaryProperties.bBox, PdfArray.fromRectangle(rect));
194
- }
195
- //Properties
196
- /**
197
- * Gets the boundary box of the smallest brush cell.
198
- * @public
199
- */
200
- public get rectangle(): Rectangle {
201
- return this.mBox;
202
- }
203
- /**
204
- * Gets the size of the smallest brush cell.
205
- * @public
206
- */
207
- public get size(): SizeF {
208
- return this.mBox.size;
209
- }
210
- /**
211
- * Gets Graphics context of the brush.
212
- */
213
- public get graphics(): PdfGraphics {
214
- if ((this.mGraphics == null && typeof this.mGraphics === 'undefined')) {
215
- let gr : GetResourceEventHandler = new GetResourceEventHandler(this);
216
- let g : PdfGraphics = new PdfGraphics(this.size, gr, this.brushStream);
217
- this.mGraphics = g;
218
- this.mResources = this.getResources();
219
- this.mGraphics.initializeCoordinates();
220
- }
221
- return this.mGraphics;
222
- }
223
- /**
224
- * Gets the resources and modifies the template dictionary.
225
- * @public
226
- */
227
- public getResources() : PdfResources {
228
- return this.mResources;
229
- }
230
- /**
231
- * Gets or sets a value indicating whether this PdfTilingBrush
232
- * is used for stroking operations.
233
- */
234
- public get stroking(): boolean {
235
- return this.mStroking;
236
- }
237
- public set stroking(value: boolean) {
238
- this.mStroking = value;
239
- }
240
- //PdfBrush methods
241
- /**
242
- * Creates a new copy of a brush.
243
- * @public
244
- */
245
- public clone(): PdfBrush {
246
- let brush: PdfTilingBrush = this.initialize(this.rectangle, this.mPage, this.location, this.mTransformationMatrix);
247
- if ((this.mTransformationMatrix != null) && (this.mTransformationMatrix.matrix != null)) {
248
- /* tslint:disable-next-line:max-line-length */
249
- brush.brushStream.items.setValue(this.mDictionaryProperties.matrix , new PdfArray(this.mTransformationMatrix.matrix.elements));
250
- }
251
- brush.brushStream.data = this.tempBrushStream.data;
252
- brush.mResources = new PdfResources(this.mResources);
253
- brush.brushStream.items.setValue(this.mDictionaryProperties.resources, brush.mResources);
254
- return brush;
255
- }
256
- /**
257
- * Monitors the changes of the brush and modify PDF state respectfully.
258
- * @param brush The brush
259
- * @param streamWriter The stream writer
260
- * @param getResources The get resources delegate.
261
- * @param saveChanges if set to true the changes should be saved anyway.
262
- * @param currentColorSpace The current color space.
263
- */
264
- /* tslint:disable-next-line:max-line-length */
265
- public monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean {
266
- let diff: boolean = false;
267
- if (brush !== this) {
268
- // Set the Pattern colour space.
269
- streamWriter.setColorSpace('Pattern', this.mStroking);
270
- // Set the pattern for non-stroking operations.
271
- let resources1 : PdfResources = getResources.getResources();
272
- let name1 : PdfName = resources1.getName(this);
273
- streamWriter.setColourWithPattern(null, name1, this.mStroking);
274
- diff = true;
275
- } else if (brush instanceof PdfTilingBrush) {
276
- // Set the /Pattern colour space.
277
- streamWriter.setColorSpace('Pattern', this.mStroking);
278
- // Set the pattern for non-stroking operations.
279
- let resources : PdfResources = getResources.getResources();
280
- let name: PdfName = resources.getName(this);
281
- streamWriter.setColourWithPattern(null, name, this.mStroking);
282
- diff = true;
283
- }
284
- return diff;
285
- }
286
- /**
287
- * Resets the changes, which were made by the brush.
288
- * In other words resets the state to the initial one.
289
- * @param streamWriter The stream writer.
290
- */
291
- public resetChanges(streamWriter: PdfStreamWriter) : void {
292
- // We shouldn't do anything to reset changes.
293
- // All changes will be reset automatically by setting a new colour space.
294
- }
295
- /* tslint:enable */
296
- // IPdfWrapper Members
297
- /**
298
- * Gets the `element`.
299
- * @public
300
- */
301
- public get element() : IPdfPrimitive {
302
- return this.brushStream;
303
- }
304
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * `constants.ts` class for EJ2-PDF
3
- * @private
4
- */
5
- export class ProcedureSets {
6
- /**
7
- * Specifies the `PDF` procedure set.
8
- * @private
9
- */
10
- public readonly pdf : string = 'PDF';
11
- /**
12
- * Specifies the `Text` procedure set.
13
- * @private
14
- */
15
- public readonly text : string = 'Text';
16
- /**
17
- * Specifies the `ImageB` procedure set.
18
- * @private
19
- */
20
- public readonly imageB : string = 'ImageB';
21
- /**
22
- * Specifies the `ImageC` procedure set.
23
- * @private
24
- */
25
- public readonly imageC : string = 'ImageC';
26
- /**
27
- * Specifies the `ImageI` procedure set.
28
- * @private
29
- */
30
- public readonly imageI : string = 'ImageI';
31
- }