pdfmake 生成pdf 下载 引入中文字体
第一步:
网上下载字体文件 我用的微软雅黑如:msyh.ttf 注意必须是 *.ttf后缀的
第二步:
打开项目的node_modules->pdfmake
创建/examples/fonts 文件夹,
把字体库拷贝到examples/fonts
然后在目录node_modules->pdfmake里
cmd执行 node build-vfs.js "./examples/fonts"
结束后,会发现 pdfmake/build/vfs_fonts.js 文件变的很大,打开里面多了一行
说明安装成功,开始使用
第三步:
1 2 3 4 5 6 7 8 9 10 11 12 | import * as pdfMake from 'pdfmake/build/pdfmake' ; import * as pdfFonts from 'pdfmake/build/vfs_fonts' ; pdfMake.vfs = pdfFonts.pdfMake.vfs; pdfMake.fonts = { msyh: { normal: 'msyh2.ttf' , bold: 'msyh2.ttf' , italics: 'msyh2.ttf' , bolditalics: 'msyh2.ttf' , }, }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | export const exportPdf = async (res: any, filename: string , cont: any) => { const documentDefinition = { pageSize: 'A4' , content: [cont, 'FDS' ], defaultStyle: { font: 'msyh' , }, styles: { cover: { fontSize: 32, alignment: 'center' , color: '#4472C4' , margin: [0, 180, 0, 0], }, tableExample: { fontSize: 12, alignment: 'center' , }, header: { bold: true , margin: [0, 4, 0, 0], }, }, }; const pdf = pdfMake.createPdf(documentDefinition); pdf.getBase64((data) => { res.writeHead(200, { 'Content-Type' : 'application/pdf' , 'Content-Disposition' : `attachment;filename=${filename}.pdf`, }); const buffer = Buffer. from (data.toString( 'utf-8' ), 'base64' ); res.end(buffer); }); }; |
2019-04-25 小程序 input type number 键盘没有小数点