Пользовательский шрифт PdfMake Ionic 4 angular для поддержки амхарского языка

import pdfMake from 'pdfmake/build/pdfmake';
import pdfFonts from 'pdfmake/build/vfs_fonts.js';
pdfMake.vfs = pdfFonts.pdfMake.vfs;
pdfMake.fonts = {
    myFont: {
        normal: '../../../../assets/fonts/hiwua.ttf',
        bold: '../../../../assets/fonts/hiwua.ttf',
        italics: '../../../../assets/fonts/hiwua.ttf',
        bolditalics: '../../../../assets/fonts/hiwua.ttf',
    }
}
const docDefinition = {
    content: [ ....... ],
    defaultStyle: {
    font: 'myFont'
}

как я могу добавить свой собственный шрифт и поддерживать амхарский язык?


person EMATade    schedule 27.12.2019    source источник


Ответы (1)


Обязательно следуйте инструкциям в руководстве по pdfmake для пользовательской клиентской части. поддержка шрифтов:

  1. Поместите файлы шрифтов (.ttf) в /node_modules/pdfmake/examples/fonts/
  2. Из каталога /node_modules/pdfmake/ запустите npm install, затем gulp buildFonts
  3. Импортируйте сгенерированный файл /build/vfs_fonts.js/. Мой импорт выглядит так (на основе этого ответа):
import * as pdfMakeConfig from 'pdfmake/build/pdfmake.js';
import * as pdfFonts from 'pdfmake/build/vfs_fonts.js';
pdfMakeConfig.vfs  = pdfFonts.pdfMake.vfs;
import * as pdfMake from 'pdfmake/build/pdfmake';

Важно. При определении pdfMake.fonts используйте только имя файла, а не полный путь. Мой выглядит так:

pdfMakeConfig.fonts = {
    ethiopic : {
        normal: 'NotoSansEthiopic-Regular.ttf'
    }
};

Затем вы можете использовать его в описаниях документов следующим образом:

{
    text: 'foo',
    font: 'ethiopic'
}
person zhark    schedule 05.02.2020