我正在编写一个Vue方法来生成我的数据的PDF文件。我正在尝试将字体类型“newFontType”应用于表格上的文本。
generatePDF() {
let doc = new jsPDF({ orientation: 'l', format: 'a4' });
doc.addFileToVFS('NEWFONT.TTF', NEWFONTS);
doc.addFont('NEWFONT.TTF', 'newFontType', 'normal');
doc.setFont('newFontType');
doc.setFontSize(20);
let header = ['id', 'name', 'quantity'];
const title = 'All Data';
const titleWidth = (doc.getStringUnitWidth(title) * doc.internal.getFontSize()) / doc.internal.scaleFactor;
const xPos = (doc.internal.pageSize.getWidth() - titleWidth) / 2;
const yPos = 20;
doc.text(title, xPos, yPos);
doc.setFont('newFontType', 'normal');
doc.table(10, 30, this.data, header);
doc.save('Report1' + '.pdf');
doc = null;
},
字符串
我尝试了doc.table(10,30,this.data,header,styles:{ font:'newFontType '});但是它不起作用我需要帮助。- 谢谢你-谢谢
1条答案
按热度按时间icnyk63a1#
在设置表格文本的字体时有一个小问题。以下是您的方法的更正版本:
字符串
问题出在
doc.setFont('newFontType', 'normal');
行。这一行是不必要的,因为您已经使用doc.setFont('newFontType');
将字体设置为'newFontType'
。jsPDF-AutoTable库中用于生成表格的autoTable
函数将自动继承当前字体设置,因此您无需重新设置。使用更正后的方法,表中的文本也将使用“newFontType”字体。代码的其余部分看起来很适合在Vue应用程序中使用jsPDF生成一个包含表格和自定义字体的PDF文件。