@syncfusion/ej2-pdf-export 19.4.42 → 19.4.52

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 +81 -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 +61 -16
  5. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es5.js +61 -16
  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 +6 -7
  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 +43 -14
  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.52
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.50",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-DqwMN9yyDlpZwgGqC1ofSmGSZm1E6uHyC8ln2s7M7xjlOdz0GJ0QpuBXA16O1EtrwF5a1xhVkP2nc2ur3toyGw==",
5
+ "_integrity": "sha512-V51w1S6QL9OXYLxaB0eo6HZwm4xG6b0tqxJjs6HFJt1gRzXJepwxitXRmCPpWfjzd8cNqZ22KTYeI9t6g9ZMaQ==",
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.50.tgz",
32
+ "_shasum": "87d66735bc446f84c9e2985086b9b57b86a98a21",
34
33
  "_spec": "@syncfusion/ej2-pdf-export@*",
35
34
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
36
35
  "author": {
@@ -38,7 +37,7 @@
38
37
  },
39
38
  "bundleDependencies": false,
40
39
  "dependencies": {
41
- "@syncfusion/ej2-compression": "~19.4.38"
40
+ "@syncfusion/ej2-compression": "~19.4.52"
42
41
  },
43
42
  "deprecated": false,
44
43
  "description": "Syncfusion TypeScript Component",
@@ -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.52",
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
@@ -240,7 +240,12 @@ var PdfGridLayouter = /** @class */ (function (_super) {
240
240
  }
241
241
  if (!this.Grid.style.allowHorizontalOverflow) {
242
242
  this.columnRanges = [];
243
- this.Grid.measureColumnsWidth(this.currentBounds);
243
+ if (typeof this.Grid.isChildGrid !== 'undefined' && typeof this.Grid.isChildGrid) {
244
+ this.Grid.measureColumnsWidth(this.currentBounds);
245
+ }
246
+ else {
247
+ this.Grid.measureColumnsWidth(new RectangleF(this.currentBounds.x, this.currentBounds.y, this.currentBounds.x + this.currentBounds.width, this.currentBounds.height));
248
+ }
244
249
  this.columnRanges.push([0, this.Grid.columns.count - 1]);
245
250
  }
246
251
  else {
@@ -628,7 +633,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
628
633
  }
629
634
  row.grid.splitChildRowIndex = -1;
630
635
  row.grid.isGridSplit = false;
631
- rowResult.isFinish = true;
636
+ rowResult.isFinish = this.checkIsFisished(row);
632
637
  //row.NestedGridLayoutResult.bounds.height = row.rowBreakHeightValue;
633
638
  //this.currentBounds.y = rowResult.bounds.y;
634
639
  for (var i_4 = 0; i_4 < row.cells.count; i_4++) {
@@ -688,9 +693,10 @@ var PdfGridLayouter = /** @class */ (function (_super) {
688
693
  {
689
694
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
690
695
 
691
- }
692
- if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex))
693
- break;*/
696
+ }*/
697
+ if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex).returnValue) {
698
+ break;
699
+ }
694
700
  if ((param.format !== null) && !param.format.usePaginateBounds && param.bounds !== null &&
695
701
  param.bounds.height > 0 && !this.Grid.isChildGrid) {
696
702
  this.currentBounds.height = param.bounds.height;
@@ -700,6 +706,11 @@ var PdfGridLayouter = /** @class */ (function (_super) {
700
706
  }
701
707
  else {
702
708
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
709
+ if (format != null && (format.paginateBounds.x !== 0 || format.paginateBounds.y !== 0 || format.paginateBounds.height !== 0 || format.paginateBounds.width !== 0)) {
710
+ this.currentBounds.x = format.paginateBounds.x;
711
+ this.currentBounds.width = format.paginateBounds.width;
712
+ this.currentBounds.height = format.paginateBounds.height;
713
+ }
703
714
  }
704
715
  if (typeof param.format !== 'undefined' && (param.format !== null) && typeof param.format.usePaginateBounds !== 'undefined' && !param.format.usePaginateBounds && param.bounds !== null &&
705
716
  param.bounds.y > 0 && !this.Grid.isChildGrid) {
@@ -848,6 +859,15 @@ var PdfGridLayouter = /** @class */ (function (_super) {
848
859
  this.raisePageLayouted(result);
849
860
  return result;
850
861
  };
862
+ PdfGridLayouter.prototype.checkIsFisished = function (row) {
863
+ var result = true;
864
+ for (var i = 0; i < row.cells.count; i++) {
865
+ if (!row.cells.getCell(i).FinishedDrawingCell) {
866
+ result = false;
867
+ }
868
+ }
869
+ return result;
870
+ };
851
871
  /* tslint:enable */
852
872
  /**
853
873
  * Gets the `next page`.
@@ -930,7 +950,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
930
950
  var count = 0;
931
951
  for (var j = i, count_1 = (layoutedPages.size() / this.columnRanges.length); j < layoutedPages.size(); j += count_1) {
932
952
  var page = pages[j];
933
- if (document.pages.indexOf(page) === -1) {
953
+ if (typeof page !== 'undefined' && document.pages.indexOf(page) === -1) {
934
954
  document.pages.add(page);
935
955
  }
936
956
  }
@@ -992,7 +1012,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
992
1012
  // new SizeF(args.Bounds.width + args.Bounds.x ,
993
1013
  // args.Bounds.height)));
994
1014
  // }
995
- cancel = args.cancel;
1015
+ cancel = (typeof args.cancel === 'undefined' ? false : args.cancel);
996
1016
  currentBounds = args.bounds;
997
1017
  currentRow = args.startRowIndex;
998
1018
  }
@@ -1051,7 +1071,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1051
1071
  // }
1052
1072
  }
1053
1073
  var calculatedHeight = row.rowBreakHeight > 0.0 ? row.rowBreakHeight : row.height;
1054
- if (this.Grid.isChildGrid && this.Grid.ParentCell != null) {
1074
+ if (typeof this.Grid.isChildGrid !== 'undefined' && this.Grid.isChildGrid && typeof this.Grid.ParentCell !== 'undefined' && this.Grid.ParentCell != null) {
1055
1075
  //Split row only if row height exceeds page height and AllowRowBreakAcrossPages is true.
1056
1076
  // if (calculatedHeight + this.Grid.ParentCell.row.grid.style.cellPadding.bottom +
1057
1077
  // this.Grid.ParentCell.row.grid.style.cellPadding.top > this.currentPageBounds.height) {
@@ -1081,7 +1101,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1081
1101
  + calculatedHeight > this.currentBounds.height || this.currentBounds.y +
1082
1102
  this.Grid.ParentCell.row.grid.style.cellPadding.bottom + rowHeightWithSpan > this.currentPageBounds.height) {
1083
1103
  //If a row is repeated and still cannot fit in page, proceed draw.
1084
- if (this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
1104
+ if (typeof this.Grid.ParentCell.row.grid.LayoutFormat !== 'undefined' && this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
1085
1105
  PdfGridLayouter.repeatRowIndex = this.Grid.rows.rowCollection.indexOf(row);
1086
1106
  this.Grid.splitChildRowIndex = this.Grid.rows.rowCollection.indexOf(row);
1087
1107
  }
@@ -1151,7 +1171,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1151
1171
  // If a row is repeated and still cannot fit in page, proceed draw.
1152
1172
  var isFit = false;
1153
1173
  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) {
1174
+ if (this.Grid.LayoutFormat !== null && this.Grid.LayoutFormat.paginateBounds.height > 0) {
1155
1175
  isFit = this.isFitToCell((this.currentBounds.height + this.startLocation.y) - this.currentBounds.y, this.Grid, row);
1156
1176
  }
1157
1177
  else
@@ -1309,7 +1329,18 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1309
1329
  isFit = false;
1310
1330
  break;
1311
1331
  }
1312
- else if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
1332
+ 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)
1333
+ height += (gridRow.cells.getCell(i).style.borders.top.width + gridRow.cells.getCell(i).style.borders.bottom.width) * 2;
1334
+ if (this.slr.lineCount > 1 && gridRow.cells.getCell(i).stringFormat != null && gridRow.cells.getCell(i).stringFormat.lineSpacing != 0)
1335
+ height += (this.slr.lineCount - 1) * (gridRow.cells.getCell(i).style.stringFormat.lineSpacing);
1336
+ if (gridRow.cells.getCell(i).style.cellPadding == null) {
1337
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
1338
+ }
1339
+ else {
1340
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
1341
+ }
1342
+ height += grid.style.cellSpacing;
1343
+ if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
1313
1344
  isFit = true;
1314
1345
  break;
1315
1346
  }
@@ -1373,9 +1404,7 @@ var PdfGridLayouter = /** @class */ (function (_super) {
1373
1404
  if (stringResult != null && typeof stringResult.remainder !== 'undefined') {
1374
1405
  row.cells.getCell(i).FinishedDrawingCell = false;
1375
1406
  row.cells.getCell(i).remainingString = stringResult.remainder == null ? ' ' : stringResult.remainder;
1376
- if (row.grid.isChildGrid) {
1377
- row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
1378
- }
1407
+ row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
1379
1408
  }
1380
1409
  }
1381
1410
  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
- }