Angular 6:我如何使用jspdf-customfonts

时间:2018-09-07 15:37:30

标签: angular6 jspdf custom-font

起初,我陷入jspdf。它的工作非常好。现在我想使用UTF-8字体 我创建了一种自定义字体,例如this example

为此,我安装: npm我jspdf-customfonts 我创建default_vjs.js文件:

(function (jsPDFAPI) { 
"use strict";
jsPDFAPI.addFileToVFS('PTSans-Regular.ttf', 'Base64-encoded string of my font');
jsPDFAPI.addFileToVFS('PTSans-Bold.ttf', 'Base64-encoded string of my font'); })(jsPDF.API);

并将其保存在路径中:scr / app / js / default_vfs.js

我在组件中对其进行了测试:

import * as jsPDF from 'jspdf';

.......

const test = new jsPDF('p', 'mm', 'a4');
 test.addFont('PTSans-Regular.ttf', 'PTSans', 'normal');
 test.addFont('PTSans-Bold.ttf', 'PTSans', 'bold');
 test.setFont('PTSans');
 test.setFontType('normal');
 test.text(10, 10, 'Hallo Welt € ');
 test.save('customFont.pdf');

但是它不起作用。模具€符号错误。有人可以告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我解决了我的问题:
regularNormal是我的字体的Base64编码的字符串。

AddFontArimo(doc: jsPDF) {
   (doc as any).addFileToVFS('arimo.regular-normal.ttf', this.regularNormal);
}