web-dev-qa-db-ja.com

jsPDF:新しい.html()メソッドの使用中にhtml2canvasが読み込まれない

jsPDF.html を使用してHTMLページをPDFに変換したいのですが、次のコードを使用しています。

savePdf () {
  var pdf = new jsPDF({unit: 'mm', format: 'a4', orientation: 'portrait' })
  pdf.html(document.getElementById('printable-cv'), {
    callback: function (pdf) {
      pdf.save('cv-a4.pdf');
    }
  })
}

しかし、エラーhtml2canvas not loadedが発生します。これは忘れたものですか?私はhtml2canvasを持っています

"html2canvas": "^ 1.0.0-alpha.12"

Webpackでvuejsを使用しています。

同じページで、代わりに現在使用している html2pdf と次のコードを使用します。

savePdf0 () {
  let opt = {
    filename: 'cv.pdf',
    enableLinks: true,
    image: { type: 'jpeg', quality: 0.98 },
    html2canvas: {
      scale: 8,
      useCORS: true,
      width: 310,
      letterRendering: true,
    },
    jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' },
  }
  html2pdf().set(opt).from(document.getElementById('printable-cv')).save()
}

これはhtml2canvasを正しく検出します。

html2canvas not loadedはどういう意味ですか?それをロードするにはどうすればよいですか?

6

webpackを使用しているすべての人に、私が追加したことはhtml2canvasProvidePluginに変換します。これについてはここで読むことができます これについてはここで読むことができます

// webpack configuration
plugins: [
    new webpack.ProvidePlugin({
        html2canvas: 'html2canvas'
    });
]
0
Martiuh