次のコードを使用して、DOM要素をキャンバスデータとしてレンダリングし、次にそれらを使用してPDFを作成します。キャンバスデータを使用したPDFMakeループが正しい順序を維持しない
これはループを作成する必要がありました。なぜなら、すべて1枚の画像であれば、データを複数のページに正しく配置することができないからです。
$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