当设置jsPDF的宽度/高度时显示未定义

4

我正在使用jsPDF在Chrome v67, 64位上创建PDF文档。 我尝试使用以下代码设置PDF文档的宽度和高度,如此处所述:

var doc = new jsPDF("p", "mm", "a4");
var width = doc.internal.pageSize.width;
var height = doc.internal.pageSize.height;

我遇到的问题是宽度和高度没有被应用。为了好玩,我在上面的代码后面添加了以下代码行:
console.log("AT#1: width=" + width + ", heigth=" + height);

只发现在输出到控制台时,宽度和高度的值是未定义的:

AT#1: width=undefined, heigth=undefined

我在 Stack Overflow 和 Google 上搜索了很久,但都没有找到任何关于这些未定义的可能解决方案或原因的线索。目前这让我感到困惑。有什么想法或建议吗?


你在 console.log 中将 "height" 拼写成了 "heigth",但这并不重要,因为它只是输出字符串。之后的变量名 height 确实与你的声明 var height 相匹配。 - Rory O'Kane
回答者的链接:jsPDF的文档源代码 - Rory O'Kane
1个回答

3
正如这个答案在你提供的如何使用jspdf设置图像适应页面宽度?问题中指出的那样,后续版本中的API从.width.height更改为.getWidth().getHeight()
当你在jsPDF在线演示上尝试以下代码时,应该可以正常工作:
var doc = new jsPDF();

var width = doc.internal.pageSize.getWidth();
var height = doc.internal.pageSize.getHeight();

console.log("AT#1: width=" + width + ", height=" + height);

记录了什么:

AT#1: width=210.0015555555555, height=297.0000833333333

这个方法很管用。非常感谢。这是我自己的低级错误。我浏览了你提供的同样的链接,但没有注意到他们从属性更改为实际的函数调用。 - crapshoot
在最新版本1.4.1中,我没有找到这些方法doc.internal.pageSize.getWidth();和getHeight(),因为它们似乎在新的jsPDF版本中恢复了旧代码。我仍然面临着宽度/高度未定义的问题。 - Jayesh L

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