angular - Egenskapen 'toDataURL' finns inte på typen 'HTMLElement'
Hej, jag är ny på TypeScript. Jag försöker generera streckkod på canvas med JSBarcode och lägga till den i JSpdf som bild med addImage. Men jag får ovanstående fel.
streckkod.html
Detta är min HTML-kod. Genom att klicka på generera-knappen har den skapat streckkoden. Men när jag konverterar min HTML till PDF får jag ovanstående fel.
<canvas id="barcode"></canvas>
<a id="download" download="barcode.png" (click)='Generate();'>Generate</a>
<button (click)='Generatepdf();'>PDF</button>
streckkod.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);
}
Svar #1
Kasta det till HTMLCanvasElement:
let canvas = document.getElementById('barcode') as HTMLCanvasElement;
Om du använder TypeScript version < 1.6:
let canvas = <HTMLCanvasElement> document.getElementById('barcode');
Nu kommer du att ha tillgång till toDataURL-metoden.
