Я пытаюсь загрузить данные содержимого таблицы в формате PDF, который я пробовал, используя два модуля - pdfMake и jspdf.Для jspdf, когда таблица мала, я могу захватить PDF, т.е. это не пустой (белый) PDF.Тем не менее, у меня есть много данных в таблице, которые должны быть записаны.Где я ошибаюсь?
Ссылка для pdfMake, которую я упомянул, -
pdfmake генерирует пустой pdf
код -
[1] jspdf
capture() {
{
console.log("Inside capture")
var data = document.getElementById('entireTable');
console.log("found the element id")
html2canvas(data).then(canvas => {
// Few necessary setting options
data.appendChild(canvas);
var imgWidth = 308;
var pageHeight = 2295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
console.log("Height width set");
const contentDataURL = canvas.toDataURL('image/png')
// let pdf = new jspdf('p', 'mm', 'a1'); // A4 size page of PDF
const pdf = new jspdf({
orientation: 'landscape',
});
var position = 0;
pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight);
console.log("pdf to be made")
pdf.save('Mapping.pdf'); // Generated PDF
console.log("pdf made")
});
}
}
[2] pdfMake
capture() {
return new Promise((resolve, reject) => {
var inclusions = document.getElementById('entireTable');
html2canvas(inclusions).then(function(canvas) {
inclusions.appendChild(canvas);
canvas.height = 800;
const dataCanvas = canvas.toDataURL('image/png');
var docDefinition = {
content: [
{
image: dataCanvas,
width: 450
}
]
};
console.log(docDefinition);
pdfMake.createPdf(docDefinition).download("travel.pdf");
resolve( dataCanvas);
console.log(inclusions);
});
});
}