Я хочу создать PDF-файл на английском и китайском языках, используя pdfMake на языке Ionic / Angular. Я использовал gulp для создания нового vfs_fonts.js и замены исходного в папке Build, а также поместил все файлы .ttf в одну папку Build. Он может выводить английский (но НЕ китайский), если я НЕ определю
pdfMake.fonts = {
Roboto: {
normal: XXXXX
..........
},
cwTeXQMing: {
normal: XXXXX
..........
}
};
Но как только я поставлю эти коды на место, он предупредит меня об ошибке «Файл» pdfmake / build / Roboto-Regular. TTF "не найден в виртуальной файловой системе" или "Файл" pdfmake / build / cwTeXOMing.ttf "не найден в виртуальной файловой системе". Я гуглю и ищу ТАК, но, похоже, эти решения не работают для меня. Пожалуйста, помогите.
import * as pdfMake from 'pdfmake/build/pdfmake.js'; // Could not find a declaration file for
// module 'pdfmake/build/pdfmake.js'
import * as pdfFonts from 'pdfmake/build/vfs_fonts';
pdfMake.vfs = pdfFonts.pdfMake.vfs;
pdfMake.fonts = {
Roboto: {
normal: 'pdfmake/build/Roboto-Regular.ttf',
bold: 'pdfmake/build/Roboto-Regular.ttf',
italics: 'pdfmake/build/Roboto-Regular.ttf',
bolditalics: 'pdfmake/build/Roboto-Regular.ttf'
},
cwTeXQMing: {
normal: 'pdfmake/build/cwTeXQMingZH-Medium.ttf',
bold: 'pdfmake/build/cwTeXQMingZH-Medium.ttf',
italics: 'pdfmake/build/cwTeXQMingZH-Medium.ttf',
bolditalics: 'pdfmake/build/cwTeXQMingZH-Medium.ttf'
}
};
@Component({
selector: 'app-export',
templateUrl: './export.page.html',
styleUrls: ['./export.page.scss'],
})
export class ExportPage {
selectVersion = '';
pdfObj = null;
constructor() {}
async createPdf() {
if (this.selectVersion === 'Chinese') {
const docDefinition = {
pageSize: 'A4',
font: 'cwTeXQMing',
content: [
{
text: '通知我'
, style: 'firstParagraph'
},
],
defaultStyle: {
font: 'cwTeXQMing',
},
styles: {
font: 'cwTeXQMing',
firstParagraph: {
fontSize: 11,
},
}
};
this.pdfObj = pdfMake.createPdf(docDefinition);
} else { // TO OUTPUT ENGLISH
const docDefinition = {
pageSize: 'A4',
content: [
{
text: 'THIS IS ENGLISH PDF'
, style: 'firstParagraph'
},
],
styles: {
firstParagraph: {
fontSize: 11,
},
}
};
this.pdfObj = pdfMake.createPdf(docDefinition);
}