2017-04-21 16 views
0

私はhtml2canvasから取得したデータURLをdownloadPdf()関数のlistingReportImgに割り当てることについて助けが必要です。html2CanvasがPDF生成のためにデータURLを取得できません

期待される結果:

listingReportImg = data:image/png;base64,iVBORw0KGgoAAAANSUhEUg ... 

ログ

listingReportImg:: undefined 

listing report uri:: 
data:image/png;base64,iVBORw0KGgoAAAANSUhEUg ... 

listings.component.html

<button (click)="downloadPdf()">Print</button> 

listings.component.ts

listingReportToDataUrl(){ 
    let listingReport = document.getElementById('listing-report'); 
    console.log("listingReport:: ", listingReport); 
    html2canvas(listingReport, { useCORS: true }) 
     .then(function (canvas) { 
      let listingReportUri = canvas.toDataURL('image/png'); 
      console.log("listing report uri::", listingReportUri); 
      return listingReportUri; 
     }); 
} 

downloadPdf(){ 
    let listingReportImg = this.listingReportToDataUrl(); 
    console.log("listingReportImg:: ", listingReportImg); 
    pdfMake.createPdf(listingReport(listingReportImg)).download('test.pdf'); 
} 

答えて

1

は、あなたは魅力のように働いたこと

listingReportToDataUrl().then((listingReportImg => { 
    pdfMake.createPdf(listingReport(listingReportImg)).download('test.pdf') 
}) 
+0

listingReportToDataUrl(){ const listingReport = document.getElementById('listing-report') return html2canvas(listingReport, { useCORS: true }) .then((canvas) => { return canvas.toDataURL('image/png') }) } 

、適切にあなたのコールバックからの可能性が返されました。どうもありがとうございます。 :) – absingharora

関連する問題