Я использую следующий код для рендеринга элементов DOM в качестве данных холста, а затем создаю PDF-файл с ними.PDFMake цикл с использованием данных холста не поддерживает правильный порядок
мне пришлось создать цикл для этого, потому что, если все это было одно изображение, невозможно правильно разместить данные на несколько страниц.
$scope.pdfMaker = function() {
var content = [];
var pdfElement = document.getElementsByClassName("pdfElement");
for (var i = pdfElement.length - 1; i >= 0; i--) {
html2canvas(pdfElement[i], {
onrendered: function(canvas) {
var data = canvas.toDataURL();
content.push({
image: data,
width: 500,
margin: [0, 5]
});
console.log(canvas);
}
});
}
var docDefinition = {
content: content
};
setTimeout(function() {
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
}, 10000);
}
Вопросы:
У меня есть, что противный 10 секунд ожидания, чтобы дать время для обработки, как я могу перестроить свой код, чтобы позволить PDF быть сделано после того, как все полотно данные были выполнены.
Мои холст элементы становятся смешалось, когда они будут преобразованы, правильный порядок очень важен. Как я могу поддерживать порядок элементов DOM?
большое спасибо, что нашли время, чтобы написать это, у меня есть метод, который работает немного быстрее, что я буду добавлять в ответ прямо сейчас. ура! – Taylorsuk