@syncfusion/ej2-pdf-export 19.4.38 → 19.4.50

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 +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 +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
@@ -27528,6 +27528,7 @@ class PdfGridRow {
27528
27528
  this.isRowMergeComplete = true;
27529
27529
  this.repeatFlag = false;
27530
27530
  this.rowFontSplit = false;
27531
+ this.isHeaderRow = false;
27531
27532
  this.pdfGrid = grid;
27532
27533
  }
27533
27534
  //Properties
@@ -27708,10 +27709,10 @@ class PdfGridRow {
27708
27709
  this.rowMergeComplete = false;
27709
27710
  if (cell.rowSpan > 1) {
27710
27711
  let cellIn = i;
27711
- let rowin = this.grid.rows.rowCollection.indexOf(this);
27712
+ let rowin = this.isHeaderRow ? this.grid.headers.indexOf(this) : this.grid.rows.rowCollection.indexOf(this);
27712
27713
  for (let j = 0; j < cell.rowSpan; j++) {
27713
27714
  if ((j + 1) < cell.rowSpan) {
27714
- this.grid.rows.getRow(rowin + j + 1).cells.getCell(cellIn).hasRowSpan = true;
27715
+ (this.isHeaderRow ? this.grid.headers.getHeader(rowin + j + 1) : this.grid.rows.getRow(rowin + j + 1)).cells.getCell(cellIn).hasRowSpan = true;
27715
27716
  }
27716
27717
  }
27717
27718
  if (maxHeight < cell.height) {
@@ -27840,6 +27841,7 @@ class PdfGridHeaderCollection {
27840
27841
  let row;
27841
27842
  for (let i = 0; i < arg; i++) {
27842
27843
  row = new PdfGridRow(this.grid);
27844
+ row.isHeaderRow = true;
27843
27845
  for (let j = 0; j < this.grid.columns.count; j++) {
27844
27846
  row.cells.add(new PdfGridCell());
27845
27847
  }
@@ -28129,6 +28131,20 @@ class PdfGrid extends PdfLayoutElement {
28129
28131
  * @private
28130
28132
  */
28131
28133
  layout(param) {
28134
+ let width = param.bounds.width;
28135
+ let height = param.bounds.height;
28136
+ let hasChanged = false;
28137
+ if (typeof param.bounds.width === 'undefined' || param.bounds.width === 0) {
28138
+ width = param.page.getClientSize().width - param.bounds.x;
28139
+ hasChanged = true;
28140
+ }
28141
+ if (typeof param.bounds.height === 'undefined' || param.bounds.height === 0) {
28142
+ height = param.page.getClientSize().height - param.bounds.y;
28143
+ hasChanged = true;
28144
+ }
28145
+ if (hasChanged) {
28146
+ param.bounds = new RectangleF(param.bounds.x, param.bounds.y, width, height);
28147
+ }
28132
28148
  if (this.rows.count !== 0) {
28133
28149
  let currentRow = this.rows.getRow(0).cells.getCell(0).style;
28134
28150
  if (currentRow.borders != null && ((currentRow.borders.left != null && currentRow.borders.left.width !== 1) ||
@@ -28683,7 +28699,10 @@ class PdfGridLayouter extends ElementLayouter {
28683
28699
  let index = 0;
28684
28700
  index = this.currentGraphics.page.section.indexOf(this.currentGraphics.page);
28685
28701
  this.listOfNavigatePages.push(index);
28686
- if (format != null && format.break === PdfLayoutBreakType.FitColumnsToPage) {
28702
+ if (typeof param.bounds !== 'undefined' && param.bounds !== null && (!(param.bounds.x === 0 && param.bounds.y === 0 && param.bounds.width === 0 && param.bounds.height === 0))) {
28703
+ this.currentBounds = new RectangleF(new PointF(param.bounds.x, param.bounds.y), new SizeF(param.bounds.width, param.bounds.height));
28704
+ }
28705
+ else if (format != null && format.break === PdfLayoutBreakType.FitColumnsToPage) {
28687
28706
  this.currentBounds = new RectangleF(new PointF(param.bounds.x, param.bounds.y), new SizeF(this.Grid.columns.width, this.currentGraphics.clientSize.height));
28688
28707
  }
28689
28708
  else {
@@ -28723,7 +28742,12 @@ class PdfGridLayouter extends ElementLayouter {
28723
28742
  }
28724
28743
  if (!this.Grid.style.allowHorizontalOverflow) {
28725
28744
  this.columnRanges = [];
28726
- this.Grid.measureColumnsWidth(this.currentBounds);
28745
+ if (typeof this.Grid.isChildGrid !== 'undefined' && typeof this.Grid.isChildGrid) {
28746
+ this.Grid.measureColumnsWidth(this.currentBounds);
28747
+ }
28748
+ else {
28749
+ this.Grid.measureColumnsWidth(new RectangleF(this.currentBounds.x, this.currentBounds.y, this.currentBounds.x + this.currentBounds.width, this.currentBounds.height));
28750
+ }
28727
28751
  this.columnRanges.push([0, this.Grid.columns.count - 1]);
28728
28752
  }
28729
28753
  else {
@@ -29109,7 +29133,7 @@ class PdfGridLayouter extends ElementLayouter {
29109
29133
  }
29110
29134
  row.grid.splitChildRowIndex = -1;
29111
29135
  row.grid.isGridSplit = false;
29112
- rowResult.isFinish = true;
29136
+ rowResult.isFinish = this.checkIsFisished(row);
29113
29137
  //row.NestedGridLayoutResult.bounds.height = row.rowBreakHeightValue;
29114
29138
  //this.currentBounds.y = rowResult.bounds.y;
29115
29139
  for (let i = 0; i < row.cells.count; i++) {
@@ -29168,9 +29192,10 @@ class PdfGridLayouter extends ElementLayouter {
29168
29192
  {
29169
29193
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
29170
29194
 
29171
- }
29172
- if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex))
29173
- break;*/
29195
+ }*/
29196
+ if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex).returnValue) {
29197
+ break;
29198
+ }
29174
29199
  if ((param.format !== null) && !param.format.usePaginateBounds && param.bounds !== null &&
29175
29200
  param.bounds.height > 0 && !this.Grid.isChildGrid) {
29176
29201
  this.currentBounds.height = param.bounds.height;
@@ -29180,6 +29205,11 @@ class PdfGridLayouter extends ElementLayouter {
29180
29205
  }
29181
29206
  else {
29182
29207
  this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;
29208
+ if (format != null && (format.paginateBounds.x !== 0 || format.paginateBounds.y !== 0 || format.paginateBounds.height !== 0 || format.paginateBounds.width !== 0)) {
29209
+ this.currentBounds.x = format.paginateBounds.x;
29210
+ this.currentBounds.width = format.paginateBounds.width;
29211
+ this.currentBounds.height = format.paginateBounds.height;
29212
+ }
29183
29213
  }
29184
29214
  if (typeof param.format !== 'undefined' && (param.format !== null) && typeof param.format.usePaginateBounds !== 'undefined' && !param.format.usePaginateBounds && param.bounds !== null &&
29185
29215
  param.bounds.y > 0 && !this.Grid.isChildGrid) {
@@ -29328,6 +29358,15 @@ class PdfGridLayouter extends ElementLayouter {
29328
29358
  this.raisePageLayouted(result);
29329
29359
  return result;
29330
29360
  }
29361
+ checkIsFisished(row) {
29362
+ let result = true;
29363
+ for (let i = 0; i < row.cells.count; i++) {
29364
+ if (!row.cells.getCell(i).FinishedDrawingCell) {
29365
+ result = false;
29366
+ }
29367
+ }
29368
+ return result;
29369
+ }
29331
29370
  /* tslint:enable */
29332
29371
  /**
29333
29372
  * Gets the `next page`.
@@ -29409,7 +29448,7 @@ class PdfGridLayouter extends ElementLayouter {
29409
29448
  for (let i = 0; i < layoutedPages.size(); i++) {
29410
29449
  for (let j = i, count = (layoutedPages.size() / this.columnRanges.length); j < layoutedPages.size(); j += count) {
29411
29450
  let page = pages[j];
29412
- if (document.pages.indexOf(page) === -1) {
29451
+ if (typeof page !== 'undefined' && document.pages.indexOf(page) === -1) {
29413
29452
  document.pages.add(page);
29414
29453
  }
29415
29454
  }
@@ -29471,7 +29510,7 @@ class PdfGridLayouter extends ElementLayouter {
29471
29510
  // new SizeF(args.Bounds.width + args.Bounds.x ,
29472
29511
  // args.Bounds.height)));
29473
29512
  // }
29474
- cancel = args.cancel;
29513
+ cancel = (typeof args.cancel === 'undefined' ? false : args.cancel);
29475
29514
  currentBounds = args.bounds;
29476
29515
  currentRow = args.startRowIndex;
29477
29516
  }
@@ -29528,7 +29567,7 @@ class PdfGridLayouter extends ElementLayouter {
29528
29567
  // }
29529
29568
  }
29530
29569
  let calculatedHeight = row.rowBreakHeight > 0.0 ? row.rowBreakHeight : row.height;
29531
- if (this.Grid.isChildGrid && this.Grid.ParentCell != null) {
29570
+ if (typeof this.Grid.isChildGrid !== 'undefined' && this.Grid.isChildGrid && typeof this.Grid.ParentCell !== 'undefined' && this.Grid.ParentCell != null) {
29532
29571
  //Split row only if row height exceeds page height and AllowRowBreakAcrossPages is true.
29533
29572
  // if (calculatedHeight + this.Grid.ParentCell.row.grid.style.cellPadding.bottom +
29534
29573
  // this.Grid.ParentCell.row.grid.style.cellPadding.top > this.currentPageBounds.height) {
@@ -29558,7 +29597,7 @@ class PdfGridLayouter extends ElementLayouter {
29558
29597
  + calculatedHeight > this.currentBounds.height || this.currentBounds.y +
29559
29598
  this.Grid.ParentCell.row.grid.style.cellPadding.bottom + rowHeightWithSpan > this.currentPageBounds.height) {
29560
29599
  //If a row is repeated and still cannot fit in page, proceed draw.
29561
- if (this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
29600
+ if (typeof this.Grid.ParentCell.row.grid.LayoutFormat !== 'undefined' && this.Grid.ParentCell.row.grid.LayoutFormat.break === PdfLayoutBreakType.FitPage) {
29562
29601
  PdfGridLayouter.repeatRowIndex = this.Grid.rows.rowCollection.indexOf(row);
29563
29602
  this.Grid.splitChildRowIndex = this.Grid.rows.rowCollection.indexOf(row);
29564
29603
  }
@@ -29628,7 +29667,7 @@ class PdfGridLayouter extends ElementLayouter {
29628
29667
  // If a row is repeated and still cannot fit in page, proceed draw.
29629
29668
  let isFit = false;
29630
29669
  if ((this.Grid.allowRowBreakAcrossPages && !this.Grid.repeatHeader && !row.isRowHeightSet && !row.rowMergeComplete)) {
29631
- 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) {
29670
+ if (this.Grid.LayoutFormat !== null && this.Grid.LayoutFormat.paginateBounds.height > 0) {
29632
29671
  isFit = this.isFitToCell((this.currentBounds.height + this.startLocation.y) - this.currentBounds.y, this.Grid, row);
29633
29672
  }
29634
29673
  else
@@ -29786,7 +29825,18 @@ class PdfGridLayouter extends ElementLayouter {
29786
29825
  isFit = false;
29787
29826
  break;
29788
29827
  }
29789
- else if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
29828
+ 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)
29829
+ height += (gridRow.cells.getCell(i).style.borders.top.width + gridRow.cells.getCell(i).style.borders.bottom.width) * 2;
29830
+ if (this.slr.lineCount > 1 && gridRow.cells.getCell(i).stringFormat != null && gridRow.cells.getCell(i).stringFormat.lineSpacing != 0)
29831
+ height += (this.slr.lineCount - 1) * (gridRow.cells.getCell(i).style.stringFormat.lineSpacing);
29832
+ if (gridRow.cells.getCell(i).style.cellPadding == null) {
29833
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
29834
+ }
29835
+ else {
29836
+ height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);
29837
+ }
29838
+ height += grid.style.cellSpacing;
29839
+ if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {
29790
29840
  isFit = true;
29791
29841
  break;
29792
29842
  }
@@ -29850,9 +29900,7 @@ class PdfGridLayouter extends ElementLayouter {
29850
29900
  if (stringResult != null && typeof stringResult.remainder !== 'undefined') {
29851
29901
  row.cells.getCell(i).FinishedDrawingCell = false;
29852
29902
  row.cells.getCell(i).remainingString = stringResult.remainder == null ? ' ' : stringResult.remainder;
29853
- if (row.grid.isChildGrid) {
29854
- row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
29855
- }
29903
+ row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;
29856
29904
  }
29857
29905
  }
29858
29906
  result.isFinish = (!result.isFinish) ? result.isFinish : row.cells.getCell(i).FinishedDrawingCell;