起初,我陷入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');
但是它不起作用。模具€符号错误。有人可以告诉我我做错了什么吗?
答案 0 :(得分:0)
我解决了我的问题:
regularNormal
是我的字体的Base64编码的字符串。
AddFontArimo(doc: jsPDF) {
(doc as any).addFileToVFS('arimo.regular-normal.ttf', this.regularNormal);
}