簡體   English   中英

離子4 html2canvas

[英]Ionic 4 html2canvas

我正在嘗試捕獲HTML以在Ionic 4應用程序中成像。 我嘗試使用html2canvas ,但是它不起作用,並在控制台中顯示以下輸出: 在此處輸入圖片說明

這是我的代碼:

var element = document.getElementById('capture');
  html2canvas(element).then(canvas => {
    var imgData = canvas.toDataURL("image/png");
    this.socialSharing.share(null, null, imgData);
});

我也嘗試過此組件,但是它不起作用。 我發現的解決方案是使用dom-to-image庫。 我附上了我所做的一個例子。 您只需要放入要轉換的文件擴展名即可。

https://www.npmjs.com/package/jspdf

https://www.npmjs.com/package/dom-to-image

import * as jsPDF from 'jspdf';
import domtoimage from 'dom-to-image';

exportPdf(){
    const div = document.getElementById('pdf');
    const options = { background: 'white', height: 845, width: 595 };
    domtoimage.toPng(div, options).then((dataUrl) => {
        //Initialize JSPDF
        const doc = new jsPDF('p', 'mm', 'a4');
        //Add image Url to PDF
        doc.addImage(dataUrl, 'PNG', 0, 0, 210, 340);
        doc.save('pdfDocument.pdf');
    }
}

我有同樣的問題。 我設法通過將代碼放在<ion-content>標記之外來“修復”它。 我的猜測是html2canvas不會呈現陰影DOM元素(在<ion-content>的情況下,從Ionic 4開始)。

例如,這輸出一個空的畫布:

<ion-content>
  <div id="capture">
    <h1>Test</h1>
  </div>
</ion-content>

但是以下工作原理:

<div id="capture">
  <h1>Test</h1>
</div>

這並不是真正的解決方案,但足以供我使用...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM