Ich bin neu in JSPDF und erstellen eine Seite von PDF wie folgt Jetzt Problem ist, dass, wenn Daten auf dieser Seite voll ist es keine neue Seite produziert. Ich habe das github und andere Lösungen auf Stapelüberlauf. aber keine Lösung bekommen. [JSPDF Demo Link ist hier] [3]JSPDF zu neuer Seite wechseln, wenn Daten voll sind in Seite
[3]:>https://jsfiddle.net/jodfkz59/7/
var data = [{
"Name": "Ronan",
"Email": "[email protected]",
"Company": "Malesuada Malesuada Ltd"
}, {
"Name": "Calvin",
"Email": "[email protected]",
"Company": "Donec Egestas Foundation"
}, {
"Name": "Kane",
"Email": "[email protected]",
"Company": "Arcu Institute"
}, {
"Name": "Kasper",
"Email": "[email protected]",
"Company": "Tempor LLP"
}];
var doc = new jsPDF('p', 'pt', 'a4');
//Dimension of A4 in pts: 595 × 842
var pageWidth = 595;
var pageHeight = 842;
var y=500;
var pageMargin = 10;
pageWidth -= pageMargin * 2;
pageHeight -= pageMargin * 2;
var cellMargin = 5;
var cellWidth = 250;
var cellHeight = 60;
var startX = pageMargin;
var startY = pageMargin;
function createCard(item) {
// doc.getTextDimensions(item.Name); turncate or split string if you needed
if (y >= pageHeight)
{
doc.addPage();
y = 0 // Restart height position
}
doc.text(item.Name, startX, startY);
doc.text(item.Email, startX, startY + 20);
doc.text(item.Company, startX, startY + 40);
var nextPosX = startX + cellWidth + cellMargin;
if (nextPosX > pageWidth) {
startX = pageMargin;
startY += cellHeight;
} else {
startX = nextPosX;
}
}
for (var i = 0; i < data.length; i++) {
createCard(data[i]);
}
Sie verwirren nicht 'y' und' startY'? In deinem Code, y ist immer 500 – Fefux
@Fefux Ich habe versucht mit Diff-Werten. Wenn Sie eine Idee haben, können Sie mich bitte führen? –
Siehe hier: https://jsfiddle.net/jodfkz59/7. Ich ändere einfach Ihre Bedingung, um Seiten hinzuzufügen – Fefux