4

I'm using jsPDF to create a PDF doc on Chrome v67, 64 bit. I've attempted to set the width and height of PDF document using the code below as described here:

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

The problem I encountered was that the width and height were not being applied. For giggles I added the following line of code after the code above:

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

only to find that the values of the width and height when I output to the console are undefined:

AT#1: width=undefined, heigth=undefined

I've searched S.O. and Google but have not found anything that suggest a possible solution or reason why they are undefined. Currently this has me stumped. Any ideas or suggestions?

Rory O'Kane
  • 29,210
  • 11
  • 96
  • 131
crapshoot
  • 83
  • 2
  • 5
  • You misspelled “height” as “heigth” in your `console.log`, but that shouldn't matter since it's only in the output string. The variable name after it `height` does seem to correctly match your declaration `var height`. – Rory O'Kane Jul 23 '18 at 22:20
  • Links to aid answerers: jsPDF’s [documentation](https://rawgit.com/MrRio/jsPDF/master/docs/) and [source code](https://github.com/MrRio/jsPDF) – Rory O'Kane Jul 23 '18 at 22:22

1 Answers1

3

As this answer points out on the question How to set image to fit width of the page using jspdf? you linked, the API in later versions changed from .width and .height to .getWidth() and .getHeight().

The following code should work when you try it on 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);

What is logged:

AT#1: width=210.0015555555555, height=297.0000833333333
Rory O'Kane
  • 29,210
  • 11
  • 96
  • 131
  • this did the trick. Very much appreciated. This was a total bonehead on my part. I had scrolled through the same link you provided but did not catch that they changed from properties to actual function calls. – crapshoot Jul 25 '18 at 20:34
  • In Latest version i.e. 1.4.1 i did not found these methods doc.internal.pageSize.getWidth(); and getHeight() , as it looks like they revert old code in new jsPDF version. i am still facing width/height are undefined issue. – Jayesh L Nov 20 '18 at 06:48