pdfkit-table
Advanced tools
Comparing version 0.1.33 to 0.1.34
68
index.js
@@ -28,22 +28,26 @@ "use strict"; | ||
table.options && (options = table.options); | ||
const columnCount = table.headers.length; | ||
const columnSpacing = options.columnSpacing || 5; // 15 | ||
const columnSizes = options.columnSizes || []; | ||
const columnPositions = []; // 0, 10, 20, 30, 100 | ||
const rowSpacing = options.rowSpacing || 3; // 5 | ||
const usableWidth = String(options.width).replace(/[^0-9]/g,'') || this.page.width - this.page.margins.left - this.page.margins.right; | ||
const prepareHeader = options.prepareHeader || (() => this.font("Helvetica-Bold").fontSize(8) ); | ||
const prepareRow = options.prepareRow || (() => this.font("Helvetica").fontSize(8) ); | ||
options.columnsSize || (options.columnsSize = []); | ||
let columnIsDefined = options.columnsSize.length ? true : false ; | ||
const columnsCountSize = options.columnsSize.length; // pre-defined coluns size | ||
const columnCount = table.headers.length; | ||
const columnSpacing = options.columnSpacing || 5; // 15 | ||
const columnSizes = options.columnsSize; | ||
const columnPositions = []; // 0, 10, 20, 30, 100 | ||
const rowSpacing = options.rowSpacing || 3; // 5 | ||
const usableWidth = String(options.width).replace(/[^0-9]/g,'') || this.page.width - this.page.margins.left - this.page.margins.right; | ||
const prepareHeader = options.prepareHeader || (() => this.font("Helvetica-Bold").fontSize(8) ); | ||
const prepareRow = options.prepareRow || (() => this.font("Helvetica").fontSize(8) ); | ||
const columnContainerWidth = usableWidth / columnCount; | ||
const columnWidth = columnContainerWidth - columnSpacing; | ||
const maxY = this.page.height - this.page.margins.bottom; | ||
const columnWidth = columnContainerWidth - columnSpacing; | ||
const maxY = this.page.height - this.page.margins.bottom; | ||
const startX = options.x || this.page.margins.left; | ||
let startY = options.y || this.y; | ||
let rowBottomY = 0; | ||
let tableWidth = 0; | ||
const startX = options.x || this.page.margins.left; | ||
let startY = options.y || this.y; | ||
let rowBottomY = 0; | ||
let tableWidth = 0; | ||
this.on("pageAdded", () => { | ||
@@ -125,2 +129,4 @@ startY = this.page.margins.top; | ||
let lastPosition = 0; // x position head | ||
if(table.headers && table.headers.length > 0){ | ||
@@ -130,6 +136,22 @@ | ||
//Print all headers | ||
if( columnIsDefined ){ | ||
lastPosition = startX; | ||
// print headers | ||
table.headers.forEach((header, i) => { | ||
this.text(header, lastPosition, startY, { | ||
width: columnSizes[i] >> 0, | ||
align: "left", | ||
}); | ||
columnPositions.push(lastPosition); | ||
lastPosition += columnSizes[i] >> 0; | ||
}); | ||
} else { | ||
// print headers | ||
table.headers.forEach((header, i) => { | ||
const posX = startX + i * columnContainerWidth; | ||
this.text(header, posX, startY, { | ||
lastPosition = startX + i * columnContainerWidth; | ||
this.text(header, lastPosition, startY, { | ||
width: columnWidth, | ||
@@ -139,5 +161,7 @@ align: "left", | ||
columnSizes.push(columnWidth); | ||
columnPositions.push(posX); | ||
columnPositions.push(lastPosition); | ||
}); | ||
} | ||
}else{ | ||
@@ -148,3 +172,3 @@ | ||
// Print all headers | ||
let lastPosition = startX; | ||
lastPosition = startX; | ||
table.headers.forEach(({label, width, renderer}, i) => { | ||
@@ -328,2 +352,4 @@ | ||
if( !element ) return; | ||
let head = []; | ||
@@ -330,0 +356,0 @@ let data = []; |
{ | ||
"name": "pdfkit-table", | ||
"version": "0.1.33", | ||
"version": "0.1.34", | ||
"description": "PdfKit Table. Helps to draw informations in simple tables using pdfkit. #server-side. Generate pdf tables with javascript (PDFKIT plugin) ", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -60,3 +60,7 @@ # pdfkit-table | ||
}; | ||
doc.table( table, { width: 300 }); // A4 595.28 x 841.89 (portrait) (about width sizes) | ||
doc.table( table, { | ||
// A4 595.28 x 841.89 (portrait) (about width sizes) | ||
width: 300, | ||
//columnsSize: [ 200, 100, 100 ], | ||
}); | ||
// end code | ||
@@ -246,2 +250,3 @@ ``` | ||
| **y** | <code>Number</code> | undefined / doc.y | position y (top) | | ||
| **columnsSize** | <code>Array</code> | undefined | define sizes | | ||
| **columnSpacing** | <code>Number</code> | 5 | | | ||
@@ -351,2 +356,6 @@ | **rowSpacing** | <code>Number</code> | 3 | | | ||
### 0.1.34 | ||
+ add **columnsSize** on options = {} // only to simple table | ||
### 0.1.33 | ||
@@ -353,0 +362,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25736
313
402