Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm facing some issues while creating tables in jspdf. I could not find any good related docs, but if anyone knows one, please share.

I found two related methods:

1) doc.getStringUnitWidth(text, {widths:12,kerning:2});

2) doc.getTextDimensions(text)

What does widths and kerning mean in the first method? What should I provide? Which method should I use to get the width and height of text?

My goal is to solve some issues related to overlapping cell content, wrapping of text and text overflow relative to the page width.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.0k views
Welcome To Ask or Share your Answers For Others

1 Answer

You might want to look at the AutoTable plugin for generating tables with jsPDF. I found the built in plugin hard to work with and isn't documented at all.

The best way I have found to calculate the width is simply doing this:

var doc = new jsPDF();
var width = doc.getTextWidth('Text');
console.log(width);

If you really need to calculate the height getDimensions() might be an option. However, it is not pixel perfect and looking at the source I doubt it will work for anything but pt. Here is an example:

var doc = new jsPDF('p', 'pt');
var dim = doc.getTextDimensions('Text');
console.log(dim); // Object {w: 24.149968818897642, h: 19.499975433070865}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...