【问题标题】:jsPDF width/height show undefined when setjsPDF宽度/高度在设置时显示未定义
【发布时间】:2018-07-23 22:12:10
【问题描述】:

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

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

我已经搜索过 S.O.和谷歌,但没有找到任何建议可能的解决方案或未定义的原因。目前这让我很难过。有什么想法或建议吗?

【问题讨论】:

  • 您在console.log 中将“height”拼写为“heigth”,但这无关紧要,因为它只在输出字符串中。 height 后面的变量名似乎与您的声明 var height 正确匹配。
  • 帮助回答者的链接:jsPDF 的documentationsource code

标签: javascript jspdf


【解决方案1】:

正如this answer 在您链接的问题How to set image to fit width of the page using jspdf? 上指出的那样,后续版本中的API 已从.width.height 更改为.getWidth().getHeight()

当您在jsPDF’s online demo 上尝试时,以下代码应该可以工作:

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

【讨论】:

  • 这成功了。非常感谢。这对我来说是个彻头彻尾的蠢事。我滚动浏览了您提供的相同链接,但没有发现它们从属性更改为实际的函数调用。
  • 在最新版本中,即 1.4.1 我没有找到这些方法 doc.internal.pageSize.getWidth();和 getHeight() ,因为看起来他们在新的 jsPDF 版本中恢复了旧代码。我仍然面临宽度/高度未定义的问题。
猜你喜欢
  • 2014-08-11
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多