【问题标题】:rich text formatting in jsPDFjsPDF中的富文本格式
【发布时间】:2019-02-07 07:55:07
【问题描述】:

我试图将来自 JSON 的文本与一个应该是粗体的“标签”和一个应该正常编写的注释一起放在 JSPDF 中。

所以是这样的:

标签:评论

LABLE2:COMENTAR2

LABLE3:COMENTAR3

我尝试了以下方法:

var doc = new jsPDF();
doc.setFont("Helvetica");
doc.setFontSize(25);

var comDim= doc.getTextDimensions(coment.coment);
var labledim = doc.getTextDimensions(coment.lable);

doc.setFontStyle('bold');
doc.text(21, currentDistance, '- '+coment.lable+':');
doc.setFontStyle('normal');
doc.text(labledim.w, currentDistance, coment.coment);

doc.save('Storecheck.pdf');

这给我带来了以下结果:

但是标签和评论之间的差距太大,不幸的是,文本没有被换行。这真的很糟糕,因为我不能说文字有多长。

我将非常感谢提示或方法,也许某处有一个例子。

【问题讨论】:

  • 一个“标签”?像一个小实验室吗? :-D
  • 感谢您提出这个 3 岁的问题 :)

标签: javascript jspdf


【解决方案1】:

我不确定为什么“标签”和“评论”之间存在差距。 coment 中存储了哪些文本?是否可以用空格或制表符填充它们?在这种情况下,您可能希望在将文本添加到 pdf (here) 之前先 .trim()

对于自动换行,您可以在将文本本身传递给doc.text 之前使用doc.splitTextToSize。看看this question

我为你做了一个小提琴:http://jsfiddle.net/tbrpo30f/

【讨论】:

  • 嗨 Fabian,评论 只是没有制表符或空格的简单文本 :-(
  • 您可以尝试创建一个小提琴或提供更多代码吗?我的例子工作正常,所以问题必须在其他地方......
  • 嗨 fabian 基本上,我有类似的东西:jsfiddle.net/frief/L57fh9bz/16/#&togetherjs=5ih6LpTIHK
  • 由于某种原因,Labledim.w 是错误的,它是 140 但应该是 76
  • 根据这篇文章,结果很大程度上取决于您使用的单位系统:stackoverflow.com/a/25675981/4528518。我在你的小提琴上做了一些工作,得到了稍微好一点的结果,但我认为如果你使用一些内置功能,比如 fromHTML 或表格,你会更好...stackoverflow.com/a/25675981/4528518
猜你喜欢
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
相关资源
最近更新 更多