Angular 6: как я использую jspdf-customfonts - PullRequest
0 голосов
/ 07 сентября 2018

Сначала я падаю в jspdf. Его работа очень хорошо. Теперь я хочу использовать шрифты UTF-8 Я создаю собственный шрифт, например , этот пример

Для этого я устанавливаю: нпм я jspdf-пользовательские шрифты Я создаю файл 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');

Но это не работает. Die € знак не так. Может кто-то здесь сказать мне, что я сделал не так?

1 Ответ

0 голосов
/ 07 ноября 2018

Я решил свою проблему:
regularNormal является строкой моего шрифта в кодировке Base64.

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