jsPDF无法设置字体族。

10

我无法更改字体系列。这是直接从 jsPDF 网站获取的:

var doc = new jsPDF();

doc.text(20, 20, 'This is the default font.');

doc.setFont("courier");
doc.setFontType("normal");
doc.text(20, 30, 'This is courier normal.');

doc.setFont("times");
doc.setFontType("italic");
doc.text(20, 40, 'This is times italic.');

doc.setFont("helvetica");
doc.setFontType("bold");
doc.text(20, 50, 'This is helvetica bold.');

doc.setFont("courier");
doc.setFontType("bolditalic");
doc.text(20, 60, 'This is courier bolditalic.');

但是这里要打印的内容是:

enter image description here

这些都只是times字体。为什么字体族没有改变?


哪个操作系统?因为我非常确定这些不是真正的字体名称。至少,它们是“Courier”、“Helvetica”和“Times”(大小写有区别)。 - Mike 'Pomax' Kamermans
通过使用doc.getFontList()检查可用的字体名称,你可以设置任何一个来使用: doc.setFont('times'); - Amrendra Kumar
3个回答

10

实际上,您可以使用

doc.addFont()
例如:
doc.addFont('ArialMS', 'Arial', 'normal');
doc.setFont('Arial');
doc.text(50,150,'Hello World');

1
它说 doc.addFont() 不是一个函数。 - Uttam

2

你必须使用标准字体来生成 jsPDF:

      doc.setFont("Helvetica");
      doc.setFontSize(10);
      doc.setTextColor(10);

14个标准PDF字体如下:

Courier
Courier-Bold
Courier-BoldOblique
Courier-Oblique
Helvetica
Helvetica-Bold
Helvetica-BoldOblique
Helvetica-Oblique
Symbol
Times-Roman
Times-Bold
Time-Italic
Time-BoldItalic

0

我曾经遇到过同样的问题, 但是我找到了最佳解决方案, 那就是使用最新版本的库, 并且使用 jspdf.debug.js 文件。 你可以在这里找到它们: https://cdnjs.com/libraries/jspdf


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