在向jsPDF添加内容时获取当前X和Y位置

12
我正在尝试使用jsPDF创建PDF文档,有没有函数可以返回在将内容写入PDF文件时的当前光标位置?
2个回答

8
下面的代码片段展示了一种可能的方法,在添加一行或块文本后推导新的y位置(你可以在https://parall.ax/products/jspdf上测试它):
var doc = new jsPDF()
var text = 'This is a text without real content but with 59 characters.'

var lineHeight = doc.getLineHeight(text) / doc.internal.scaleFactor
var splittedText = doc.splitTextToSize(text, 50)
var lines = splittedText.length  // splitted text is a string array
var blockHeight = lines * lineHeight
var yPos = 10
var xPos = 10
doc.text(xPos, yPos, splittedText)
yPos += blockHeight
doc.text(xPos, yPos, '----- This text follows the previous text block.')
yPos += lineHeight
doc.text(xPos, yPos, '----- LineHeight=' + lineHeight + ' / blockHeight=' + blockHeight)
yPos += lineHeight
doc.text(xPos, yPos, '----- doc.internal.scaleFactor = ' + doc.internal.scaleFactor)

如果您更改splitTextTosize()函数中定义为第二个参数的宽度(例如从50更改为80),则下一行的y位置会相应地进行调整。


1

我曾面临同样的问题,搜索了一些方法或类似方法来获取当前位置,但没有找到合适的。

我的解决方案非常简单。我创建了本地变量x和y,设置它们一次,然后计算新位置并将值保存在相应的变量中。这样你就可以始终知道当前光标位置。


你能分享一个例子吗? - kantsverma
@Batajus 怎么处理动态高度的表格? - Omar

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