
本文详解 jsPDF 2.5+ 版本在浏览器环境中的正确引入与调用方式,解决因模块导出变更导致的 ReferenceError: jsPDF is not defined 错误,并提供可直接运行的完整示例。
本文详解 jspdf 2.5+ 版本在浏览器环境中的正确引入与调用方式,解决因模块导出变更导致的 `referenceerror: jspdf is not defined` 错误,并提供可直接运行的完整示例。
自 jsPDF v2.0 起,官方全面转向 ESM(ECMAScript Module)构建,默认通过 UMD 包发布时不再将 jsPDF 构造函数挂载到全局 window 对象上,而是将其作为命名导出(named export)封装在 window.jspdf 命名空间内。因此,直接使用 new jsPDF() 会报错:ReferenceError: jsPDF is not defined。
✅ 正确做法是先解构导入:
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<script>
const { jsPDF } = window.jspdf; // 关键:从命名空间解构构造函数
function pdf() {
const doc = new jsPDF(); // 现在可正常实例化
doc.text('Hello, world!', 10, 10);
doc.save('output.pdf'); // ⚠️ 注意:扩展名应为 .pdf,非 .js
}
</script>? 重要注意事项:
- ✅ 必须确保
<script src="...jspdf.umd.min.js"></script>在调用jsPDF之前加载(推荐放在

















