如何解决使用 jsPDF,jsPDF 自动表格左对齐文本
如何设置标题左对齐,我使用的是jspdf和jspdf-auto table javascript库
const doc = new jsPDF("p","pt","a4");
doc.autoTable({
startY: 130,margin: { top: 80,bottom: 20 },didDrawPage: function (data) {
data.settings.margin.top = 40;
},bodyStyles: { 2: { halign: 'right' },4: { halign: 'right' },5: { halign: 'right' },6: { halign: 'right' },7: { halign: 'right' } },columnStyles: { 2: { halign: 'right' },headStyles: { halign: 'right' },// Purple
body: this.PDFArray,columns: Object.keys(this.PDFArray[0]).map((column) => ({
header: column,dataKey: column,})),theme: "plain",tableWidth: "auto",});
解决方法
headStyles: { halign: 'right' }
会将标题行中的所有单元格设置为右对齐。
如果您想设置单个标题单元格的样式,请将 headStyles
替换为 didParseCell
。
didParseCell: data => {
if (data.cell && data.cell.section === 'head') {
switch (data.cell.raw) {
case "SI.":
case "Particulars":
case "Unit":
data.cell.styles.halign = 'left'
break;
default:
data.cell.styles.halign = 'right'
break;
}
}
}
您还可以按照相同的方法设置其他样式属性,例如 font
、fontSize
、fontStyle
、fillColor
等。
注意标题列名称的大小写,否则单元格可能无法按照您想要的方式设置格式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。