@syncfusion/ej2-pdf-export 19.4.42 → 19.4.43

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 (165) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/ej2-pdf-export.umd.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pdf-export.es2015.js +65 -17
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +65 -17
  7. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  8. package/dist/global/ej2-pdf-export.min.js +2 -2
  9. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +5 -6
  12. package/src/implementation/structured-elements/grid/layout/grid-layouter.d.ts +1 -0
  13. package/src/implementation/structured-elements/grid/layout/grid-layouter.js +47 -15
  14. package/src/implementation/structured-elements/grid/pdf-grid-row.d.ts +1 -0
  15. package/src/implementation/structured-elements/grid/pdf-grid-row.js +4 -2
  16. package/src/implementation/structured-elements/grid/pdf-grid.js +14 -0
  17. package/dist/ts/implementation/actions/action.ts +0 -76
  18. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  19. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  20. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  21. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  22. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  23. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  24. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  25. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  26. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  27. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  28. package/dist/ts/implementation/collections/utils.ts +0 -38
  29. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  30. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  31. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  32. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  33. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  34. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  35. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  36. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  37. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  38. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  39. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  40. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  41. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  42. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  43. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  44. package/dist/ts/implementation/general/enum.ts +0 -21
  45. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  46. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  47. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  48. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  49. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  50. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  51. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  52. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  53. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  54. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  55. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  56. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  57. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  58. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  59. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  60. package/dist/ts/implementation/graphics/constants.ts +0 -31
  61. package/dist/ts/implementation/graphics/enum.ts +0 -413
  62. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  63. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  64. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  65. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  66. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  67. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  68. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  69. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  70. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  71. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  72. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  73. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  74. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  75. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  76. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  77. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  78. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  79. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  80. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  81. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  82. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  83. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  84. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  85. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  86. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  87. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  88. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  89. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  90. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  91. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  92. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  93. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  94. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  95. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  96. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  97. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  98. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  99. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  100. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  101. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  102. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  103. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  104. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  105. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  106. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  107. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  108. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  109. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
  110. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  111. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  112. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  113. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  114. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  115. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  116. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  117. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  118. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  119. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  120. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  121. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  122. package/dist/ts/implementation/input-output/enum.ts +0 -16
  123. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  124. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  125. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  126. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  127. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  128. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  129. package/dist/ts/implementation/pages/enum.ts +0 -201
  130. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  131. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  132. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  133. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  134. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  135. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  136. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  137. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  138. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  139. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  140. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  141. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  142. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  143. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  144. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  145. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  146. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  147. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  148. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  149. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  150. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  151. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -1998
  152. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -468
  155. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -839
  156. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  157. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  158. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  159. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  160. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  161. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  162. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  163. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  164. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  165. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.42
3
+ * version : 19.4.43
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-pdf-export@*",
3
- "_id": "@syncfusion/ej2-pdf-export@17.2.48",
3
+ "_id": "@syncfusion/ej2-pdf-export@19.4.42",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-DqwMN9yyDlpZwgGqC1ofSmGSZm1E6uHyC8ln2s7M7xjlOdz0GJ0QpuBXA16O1EtrwF5a1xhVkP2nc2ur3toyGw==",
5
+ "_integrity": "sha512-1x4tI68iTWzZ40+iTbZ893cfy21YTpJIzZrXJtc2eumBh0Wg6IrdvMfhCCfOuVHg4MhMNj3PAYQesVUs52BHEA==",
6
6
  "_location": "/@syncfusion/ej2-pdf-export",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -22,15 +22,14 @@
22
22
  "/@syncfusion/ej2-charts",
23
23
  "/@syncfusion/ej2-circulargauge",
24
24
  "/@syncfusion/ej2-grids",
25
- "/@syncfusion/ej2-heatmap",
26
25
  "/@syncfusion/ej2-lineargauge",
27
26
  "/@syncfusion/ej2-maps",
28
27
  "/@syncfusion/ej2-pdfviewer",
29
28
  "/@syncfusion/ej2-pivotview",
30
29
  "/@syncfusion/ej2-treemap"
31
30
  ],
32
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-pdf-export/-/ej2-pdf-export-17.2.48.tgz",
33
- "_shasum": "c2c0ef8bcb8ccbd30acd01d32f9150a3808ff1b7",
31
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-pdf-export/-/ej2-pdf-export-19.4.42.tgz",
32
+ "_shasum": "0a23dd14fa70d104bfe8ec36f62b0b505c710c92",
34
33
  "_spec": "@syncfusion/ej2-pdf-export@*",
35
34
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
36
35
  "author": {
@@ -49,6 +48,6 @@
49
48
  "module": "./index.js",
50
49
  "name": "@syncfusion/ej2-pdf-export",
51
50
  "typings": "index.d.ts",
52
- "version": "19.4.42",
51
+ "version": "19.4.43",
53
52
  "sideEffects": false
54
53
  }
@@ -296,6 +296,7 @@ export declare class PdfGridLayouter extends ElementLayouter {
296
296
  * @private
297
297
  */
298
298
  private layoutOnPage;
299
+ private checkIsFisished;
299
300
  /**
300
301
  * Gets the `next page`.
301
302
  * @private
@@ -200,7 +200,10 @@ var PdfGridLayouter = /** @class */ (function (_super) {
200
200
  var index = 0;
201
201
  index = this.currentGraphics.page.section.indexOf(this.currentGraphics.page);
202
202
  this.listOfNavigatePages.push(index);
203
- if (format != null && format.break === PdfLayoutBreakType.FitColumnsToPage) {
203
+ if (typeof param.bounds !== 'undefined' && param.bounds !== null && (!(param.bounds.x === 0 && param.bounds.y === 0 && param.bounds.width === 0 && param.bounds.height === 0))) {
204
+ this.currentBounds = new RectangleF(new PointF(param.bounds.x, param.bounds.y), new SizeF(param.bounds.width, param.bounds.height));
205
+ }
206
+ else if (format != null && format.break === PdfLayoutBreakType.FitColumnsToPage) {
204
207
  this.currentBounds = new RectangleF(new PointF(param.bounds.x, param.bounds.y), new SizeF(this.Grid.columns.width, this.currentGraphics.clientSize.height));
205
208
  }
206
209
  else {
@@ -240,7 +243,12 @@ var PdfGridLayouter = /** @class */ (function (_super) {
240
243
  }
241
244
  if (!this.Grid.style.allowHorizontalOverflow) {
242
245
  this.columnRanges = [];
243
- this.Grid.measureColumnsWidth(this.currentBounds);
246
+ if (typeof this.Grid.isChildGrid !== 'undefined' && typeof this.Grid.isChildGrid) {
247
+ this.Grid.measureColumnsWidth(this.currentBounds);
248
+ }
249
+ else {
250
+ this.Grid.measureColumnsWidth(new RectangleF(this.currentBounds.x, this.currentBounds.y, this.currentBounds.x + this.currentBounds.width, this.currentBounds.height));
251
+ }
244
252
  this.columnRanges.push([0, this.Grid.columns.count - 1]);
245
253
  }
246
254
  else {
@@ -628,7 +636,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
628
636
  }
629
637
  row.grid.splitChildRowIndex = -1;
630
638
  row.grid.isGridSplit = false;
631
- rowResult.isFinish = true;
639
+ rowResult.isFinish = this.checkIsFisished(row);
632
640
  //row.NestedGridLayoutResult.bounds.height = row.rowBreakHeightValue;
633
641
  //this.currentBounds.y = rowResult.bounds.y;
634
642
  for (var i_4 = 0; i_4 < row.cells.count; i_4++) {
@@ -688,9 +696,10 @@ var PdfGridLayouter = /** @class */ (function (_super) {
688
696
  {
689
697
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
690
698
 
691
- }
692
- if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex))
693
- break;*/
699
+ }*/
700
+ if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex).returnValue) {
701
+ break;
702
+ }
694
703
  if ((param.format !== null) && !param.format.usePaginateBounds && param.bounds !== null &&
695
704
  param.bounds.height > 0 && !this.Grid.isChildGrid) {
696
705
  this.currentBounds.height = param.bounds.height;
@@ -700,6 +709,11 @@ var PdfGridLayouter = /** @class */ (function (_super) {
700
709
  }
701
710
  else {
702
711
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
712
+ if (format != null && (format.paginateBounds.x !== 0 || format.paginateBounds.y !== 0 || format.paginateBounds.height !== 0 || format.paginateBounds.width !== 0)) {
713
+ this.currentBounds.x = format.paginateBounds.x;
714
+ this.currentBounds.width = format.paginateBounds.width;
715
+ this.currentBounds.height = format.paginateBounds.height;
716
+ }
703
717
  }
704
718
  if (typeof param.format !== 'undefined' && (param.format !== null) && typeof param.format.usePaginateBounds !== 'undefined' && !param.format.usePaginateBounds && param.bounds !== null &&
705
719
  param.bounds.y > 0 && !this.Grid.isChildGrid) {
@@ -848,6 +862,15 @@ var PdfGridLayouter = /** @class */ (function (_super) {
848
862
  this.raisePageLayouted(result);
849
863
  return result;
850
864
  };
865
+ PdfGridLayouter.prototype.checkIsFisished = function (row) {
866
+ var result = true;
867
+ for (var i = 0; i < row.cells.count; i++) {
868
+ if (!row.cells.getCell(i).FinishedDrawingCell) {
869
+ result = false;
870
+ }
871
+ }
872
+ return result;
873
+ };
851
874
  /* tslint:enable */
852
875
  /**
853
876
  * Gets the `next page`.
@@ -930,7 +953,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
930
953
  var count = 0;
931
954
  for (var j = i, count_1 = (layoutedPages.size() / this.columnRanges.length); j < layoutedPages.size(); j += count_1) {
932
955
  var page = pages[j];
933
- if (document.pages.indexOf(page) === -1) {
956
+ if (typeof page !== 'undefined' && document.pages.indexOf(page) === -1) {
934
957
  document.pages.add(page);
935
958
  }
936
959
  }
@@ -992,7 +1015,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
992
1015
  // new SizeF(args.Bounds.width + args.Bounds.x ,
993
1016
  // args.Bounds.height)));
994
1017
  // }
995
- cancel = args.cancel;
1018
+ cancel = (typeof args.cancel === 'undefined' ? false : args.cancel);
996
1019
  currentBounds = args.bounds;
997
1020
  currentRow = args.startRowIndex;
998
1021
  }
@@ -1051,7 +1074,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1051
1074
  // }
1052
1075
  }
1053
1076
  var calculatedHeight = row.rowBreakHeight > 0.0 ? row.rowBreakHeight : row.height;
1054
- if (this.Grid.isChildGrid && this.Grid.ParentCell != null) {
1077
+ if (typeof this.Grid.isChildGrid !== 'undefined' && this.Grid.isChildGrid && typeof this.Grid.ParentCell !== 'undefined' && this.Grid.ParentCell != null) {
1055
1078
  //Split row only if row height exceeds page height and AllowRowBreakAcrossPages is true.
1056
1079
  // if (calculatedHeight + this.Grid.ParentCell.row.grid.style.cellPadding.bottom +
1057
1080
  // this.Grid.ParentCell.row.grid.style.cellPadding.top > this.currentPageBounds.height) {
@@ -1081,7 +1104,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1081
1104
  + calculatedHeight > this.currentBounds.height || this.currentBounds.y +
1082
1105
  this.Grid.ParentCell.row.grid.style.cellPadding.bottom + rowHeightWithSpan > this.currentPageBounds.height) {
1083
1106
  //If a row is repeated and still cannot fit in page, proceed draw.
1084
- if (this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
1107
+ if (typeof this.Grid.ParentCell.row.grid.LayoutFormat !== 'undefined' && this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
1085
1108
  PdfGridLayouter.repeatRowIndex = this.Grid.rows.rowCollection.indexOf(row);
1086
1109
  this.Grid.splitChildRowIndex = this.Grid.rows.rowCollection.indexOf(row);
1087
1110
  }
@@ -1151,7 +1174,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1151
1174
  // If a row is repeated and still cannot fit in page, proceed draw.
1152
1175
  var isFit = false;
1153
1176
  if ((this.Grid.allowRowBreakAcrossPages && !this.Grid.repeatHeader && !row.isRowHeightSet && !row.rowMergeComplete)) {
1154
- if (this.Grid.LayoutFormat !== null && this.Grid.LayoutFormat.paginateBounds.height > 0 && typeof this.Grid.ParentCell !== 'undefined' && this.Grid.ParentCell !== null && (this.currentBounds.y + this.Grid.ParentCell.row.grid.style.cellPadding.bottom + calculatedHeight) > this.currentBounds.height) {
1177
+ if (this.Grid.LayoutFormat !== null && this.Grid.LayoutFormat.paginateBounds.height > 0) {
1155
1178
  isFit = this.isFitToCell((this.currentBounds.height + this.startLocation.y) - this.currentBounds.y, this.Grid, row);
1156
1179
  }
1157
1180
  else
@@ -1309,7 +1332,18 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1309
1332
  isFit = false;
1310
1333
  break;
1311
1334
  }
1312
- else if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
1335
+ if (gridRow.cells.getCell(i).style != null && gridRow.cells.getCell(i).style.borders != null && gridRow.cells.getCell(i).style.borders.top != null && gridRow.cells.getCell(i).style.borders.bottom != null)
1336
+ height += (gridRow.cells.getCell(i).style.borders.top.width + gridRow.cells.getCell(i).style.borders.bottom.width) * 2;
1337
+ if (this.slr.lineCount > 1 && gridRow.cells.getCell(i).stringFormat != null && gridRow.cells.getCell(i).stringFormat.lineSpacing != 0)
1338
+ height += (this.slr.lineCount - 1) * (gridRow.cells.getCell(i).style.stringFormat.lineSpacing);
1339
+ if (gridRow.cells.getCell(i).style.cellPadding == null) {
1340
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
1341
+ }
1342
+ else {
1343
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
1344
+ }
1345
+ height += grid.style.cellSpacing;
1346
+ if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
1313
1347
  isFit = true;
1314
1348
  break;
1315
1349
  }
@@ -1373,9 +1407,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1373
1407
  if (stringResult != null && typeof stringResult.remainder !== 'undefined') {
1374
1408
  row.cells.getCell(i).FinishedDrawingCell = false;
1375
1409
  row.cells.getCell(i).remainingString = stringResult.remainder == null ? ' ' : stringResult.remainder;
1376
- if (row.grid.isChildGrid) {
1377
- row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
1378
- }
1410
+ row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
1379
1411
  }
1380
1412
  }
1381
1413
  result.isFinish = (!result.isFinish) ? result.isFinish : row.cells.getCell(i).FinishedDrawingCell;
@@ -98,6 +98,7 @@ export declare class PdfGridRow {
98
98
  repeatFlag: boolean;
99
99
  repeatRowNumber: number;
100
100
  rowFontSplit: boolean;
101
+ isHeaderRow: boolean;
101
102
  /**
102
103
  * Initializes a new instance of the `PdfGridRow` class with the parent grid.
103
104
  * @private
@@ -56,6 +56,7 @@ var PdfGridRow = /** @class */ (function () {
56
56
  this.isRowMergeComplete = true;
57
57
  this.repeatFlag = false;
58
58
  this.rowFontSplit = false;
59
+ this.isHeaderRow = false;
59
60
  this.pdfGrid = grid;
60
61
  }
61
62
  Object.defineProperty(PdfGridRow.prototype, "rowSpanExists", {
@@ -284,10 +285,10 @@ var PdfGridRow = /** @class */ (function () {
284
285
  this.rowMergeComplete = false;
285
286
  if (cell.rowSpan > 1) {
286
287
  var cellIn = i;
287
- var rowin = this.grid.rows.rowCollection.indexOf(this);
288
+ var rowin = this.isHeaderRow ? this.grid.headers.indexOf(this) : this.grid.rows.rowCollection.indexOf(this);
288
289
  for (var j = 0; j < cell.rowSpan; j++) {
289
290
  if ((j + 1) < cell.rowSpan) {
290
- this.grid.rows.getRow(rowin + j + 1).cells.getCell(cellIn).hasRowSpan = true;
291
+ (this.isHeaderRow ? this.grid.headers.getHeader(rowin + j + 1) : this.grid.rows.getRow(rowin + j + 1)).cells.getCell(cellIn).hasRowSpan = true;
291
292
  }
292
293
  }
293
294
  if (maxHeight < cell.height) {
@@ -432,6 +433,7 @@ var PdfGridHeaderCollection = /** @class */ (function () {
432
433
  var row = void 0;
433
434
  for (var i = 0; i < arg; i++) {
434
435
  row = new PdfGridRow(this.grid);
436
+ row.isHeaderRow = true;
435
437
  for (var j = 0; j < this.grid.columns.count; j++) {
436
438
  row.cells.add(new PdfGridCell());
437
439
  }
@@ -350,6 +350,20 @@ var PdfGrid = /** @class */ (function (_super) {
350
350
  * @private
351
351
  */
352
352
  PdfGrid.prototype.layout = function (param) {
353
+ var width = param.bounds.width;
354
+ var height = param.bounds.height;
355
+ var hasChanged = false;
356
+ if (typeof param.bounds.width === 'undefined' || param.bounds.width === 0) {
357
+ width = param.page.getClientSize().width - param.bounds.x;
358
+ hasChanged = true;
359
+ }
360
+ if (typeof param.bounds.height === 'undefined' || param.bounds.height === 0) {
361
+ height = param.page.getClientSize().height - param.bounds.y;
362
+ hasChanged = true;
363
+ }
364
+ if (hasChanged) {
365
+ param.bounds = new RectangleF(param.bounds.x, param.bounds.y, width, height);
366
+ }
353
367
  if (this.rows.count !== 0) {
354
368
  var currentRow = this.rows.getRow(0).cells.getCell(0).style;
355
369
  if (currentRow.borders != null && ((currentRow.borders.left != null && currentRow.borders.left.width !== 1) ||
@@ -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
- }