出力ファイルを生成する方法PDF angular2でhtml2canvasを使用
ファイルhtml2canvas TypeScriptをインポートしようとし、それを使用するために次のような宣言を行いました
declare let html2canvas: Html2CanvasStatic;
html2canvasが定義されていません
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
このファイルTypeScriptをgithubで見つけました html2canvas TypeScript
これを私のアプリケーションangular2にどのように使用できますか
Html2canvasを次のように変更して使用できます。
package.json:
"dependencies": {
"html2canvas": "0.5.0-beta4",
"@types/html2canvas": "0.5.32",
}
npm install
を使用した後、次のように、component.tsファイルでhtml2canvasを使用できます。
import * as html2canvas from "html2canvas"
test() {
html2canvas(document.body, {
onrendered: function(canvas) {
var img = canvas.toDataURL()
window.open(img);
}
});
}
@types/html2canvas
をインストールしなければ、require経由でlibを使用できますが、インポート経由では使用できません。
html2canvas = require('hmtl2canvas');
Angular 4を使用している場合は、html2canvasを。angular-cli.jsonのスクリプトリストに含めることができます。
"scripts": [
"../node_modules/html2canvas/dist/html2canvas.min.js"
]
その後、以下のようにクラスにインポートします
import * as html2canvas from "html2canvas"
次のように関数で使用します
html2canvas(parameters);
2018年:
html2canvas(document.body).then((canvas) => {
window.open().document.write('<img src="' + canvas.toDataURL() + '" />');
});
これは上記の回答に加えて、つまり@ types/html2canvasを依存関係に追加し、コードにインポート文を追加します。
ただし、上記のサンプルコードを使用すると、VisualStudioCodeでエラーが発生します。
「onrendered」はタイプ「Html2CanvasOptions」に存在しません。
それを解決するために、私は次のように "then"を使用しました:
html2canvas(document.body).then((canvas) => {
document.body.appendChild(canvas);
});
myClickFunction(event: any) {
html2canvas(event.target)
.then((canvas) => {
var img = canvas.toDataURL()
window.open(img);
})
.catch(err => {
console.log("error canvas", err);
});
}