类型'HTMLElement'上不存在属性'toDataURL'

Sri*_*ama 6 typescript ionic2 angular

嗨,我是TypeScript的新手.我正在尝试使用JSBarcode在canvas中生成条形码,并将其作为图像使用添加到JSpdf addImage.但我得到了上述错误.

barcode.html

这是我的HTML代码.通过单击生成按钮,它已创建条形码.但是当我将我的html转换为PDF时,它会出现上述错误.

<canvas id="barcode"></canvas>
<a id="download"  download="barcode.png" (click)='Generate();'>Generate</a>
<button (click)='Generatepdf();'>PDF</button>
Run Code Online (Sandbox Code Playgroud)

barcode.ts

private Generate(): void {
    JsBarcode("#barcode", "12345", {
            width: 2,
            height: 25
        });
    }

Generatepdf() 
{
     var pdf = new jsPDF('p', 'pt', 'letter');
     let canvas =document.getElementById('barcode');
     console.log(canvas);
     let dataURL = canvas.toDataURL("image/jpeg");
     pdf.addImage(dataURL, 'JPEG', 15, 40, 180, 160);
     function (dispose) {
        pdf.output('datauri');
     }, margins);
}
Run Code Online (Sandbox Code Playgroud)

Sar*_*ana 12

把它投到HTMLCanvasElement:

let canvas = document.getElementById('barcode') as HTMLCanvasElement;
Run Code Online (Sandbox Code Playgroud)

如果您使用的是TypeScript版本<1.6:

let canvas = <HTMLCanvasElement> document.getElementById('barcode');
Run Code Online (Sandbox Code Playgroud)

现在您将可以访问toDataURL方法.