将div保存为PDF时出现jsPDF未定义的错误。

6
我正试图使用jsPDF保存具有特定ID的div元素,但是出现了“Uncaught ReferenceError: jsPDF未定义”的错误。我尝试了很多不同的方法来解决这个问题,包括在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)

我做错了什么,如何解决这个问题?


在这里建立一个工作示例可能会有所帮助,最好使用stack snippet。这可能会让我们更好地了解出了什么问题。 - showdev
@showdev 感谢您的建议,我刚刚更新了问题并附上了代码片段,但仍然出现相同的错误。 - basilique
1个回答

11

使用旧版本
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script>

2.0.0版本与之前有很大区别。
例如,你需要使用jspdf.jsPDF方法而不是jsPDF方法,但你会遇到新的错误。


2
仅供参考:jsPDF 2.0版本发布 - showdev
谢谢你提醒,这个信息应该在他们的文档中。 - Vignesh Pichamani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接