web-dev-qa-db-ja.com

PDFに保存するときにJSPDFは定義されていません。

JSPDFを使用してDIV要素を特定のIDで保存しようとしていますが、_Uncaught ReferenceError: jsPDF is not defined_を取得します。 StackOverflow上のすべての利用可能なソリューションを含むこの問題を修正するためのさまざまな方法を試してみました。

DIV要素がどのように見えるかが次のとおりです(ユーザーの選択に応じてオートフィーリングするテーブルです。この例の行数を減らすためのオプションのほとんどを削除しました)。以下は何が起こっているのかというアイデアを与えるための急なスニペットです。それはまだJSPDFが消化しないと言っています:

_$('#savePDF').click(function() {
  var pdf = new jsPDF('p', 'pt', 'letter');
        source = $('#yourSummary');
        specialElementHandlers = {
            '#bypassme': function (element, renderer) {
                return true
            }
        };
        margins = {
            top: 80,
            bottom: 60,
            left: 40,
            width: 522
        };
        pdf.fromHTML(
            source,
            margins.left,
            margins.top, {
                'width': margins.width,
                'elementHandlers': specialElementHandlers
            },

            function (dispose) {
                pdf.save('your-summary.pdf');
            }, margins
        );
});_
_<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/jspdf@latest/dist/jspdf.umd.min.js"></script>
<div id="yourSummary" class="modal-body">
  <table id="yourExterior" class="table table-hover">
  <h5>Exterior</h5>
    <tbody>
     <tr>
      <th scope="row">Body colour</th>
      <td id="sumBC"></td>
     </tr>
    </tbody>
  </table>
</div>
<button class="btn-primary" id="savePDF">Save configuration as PDF</button>_

しかし、ブラウザのボタンを押すと、次のエラーがあります。

_Uncaught ReferenceError: jsPDF is not defined
at HTMLButtonElement.<anonymous> (main.js:34)
at HTMLButtonElement.dispatch (jquery-3.5.1.slim.min.js:2)
at HTMLButtonElement.v.handle (jquery-3.5.1.slim.min.js:2)
_

私は何を間違っているのか、そしてこの問題を解決方法する方法?

5
basilique

以前のバージョンを使用してください
[。] <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script> _

バージョン2.0.0は非常に異なります。
[。]メソッド "jspdf"の代わりにJSPDF.jspdfを使用しますが、新しいエラーが表示されます。

8
Tatul Mkrtchyan