0
オブジェクトデータの配列を使用してPDFに変換します。しかし、この場合は列が重なっています。私はどこで改行を適用する必要がありますか?私は働いているJsfiddleを付けました。JSPDFデータが重複していて、次のページに移動しません
var doc = new jsPDF('p', 'pt', 'a4');
//Dimension of A4 in pts: 595 × 842
var pageWidth = 595;
var pageHeight = 842;
var pageMargin = 40;
pageWidth -= pageMargin * 2;
pageHeight -= pageMargin * 2;
var cellPadding = 10;
var cellWidth = 180;
var cellHeight = 70;
var lineHeight = 20;
var startX = pageMargin;
var startY = pageMargin;
doc.setFontSize(12);
function createCard(item) {
//cell projection
var requiredWidth = startX + cellWidth + (cellPadding * 3);
var requiredHeight = startY + cellHeight + (cellPadding * 2);
if (requiredWidth <= pageWidth) {
textWriter(item, startX + cellPadding, startY + cellPadding);
startX = requiredWidth;
// startY += cellHeight + cellPadding;
} else {
if (requiredHeight > pageHeight) {
doc.addPage();
startY = pageMargin;
} else {
startY = requiredHeight;
}
startX = pageMargin;
textWriter(item, startX + cellPadding, startY + cellPadding);
startX = startX + cellWidth + (cellPadding * 2);
}
}
function textWriter(item, xAxis, yAxis) {
doc.text(item.Name, xAxis, yAxis);
var splitTitle = doc.splitTextToSize(item.Email, 180);
doc.text(15, 20, splitTitle);
doc.text(item.Email, xAxis, yAxis + lineHeight);
doc.text(item.Company, xAxis, yAxis + (lineHeight * 2));
}
for (var i = 0; i < data.length; i++) {
createCard(data[i]);
}
doc.save('grid.pdf');
私はJsautotablesを使用しました。しかし、私の場合、私は水平視野でデータが必要です。垂直視野ではありません。 – Tousif
私はその場合、あなたはテーブルヘッダーだけを取り除きたいと思うかもしれないと思いますか? –
私の前回の声明に同意するなら、この新しいデモをチェックしてください:https://jsfiddle.net/jodfkz59/13/ –