Javascript 如何使文本在JSPDF的单元格中居中
您好,我正在使用JSPDF通过创建单元格手动生成PDF 我必须指定单元格的高度,但当文本的大小大于单元格时,它会重叠单元格。我怎样才能避免这种情况 这是我的密码:Javascript 如何使文本在JSPDF的单元格中居中,javascript,pdf-generation,jspdf,Javascript,Pdf Generation,Jspdf,您好,我正在使用JSPDF通过创建单元格手动生成PDF 我必须指定单元格的高度,但当文本的大小大于单元格时,它会重叠单元格。我怎样才能避免这种情况 这是我的密码: var l = { orientation: 'l', unit: 'mm', format: 'a4', compress: true,
var l = {
orientation: 'l',
unit: 'mm',
format: 'a4',
compress: true,
fontSize: 8,
lineHeight: 1,
autoSize: false,
printHeaders: true
}, pdf = new jsPDF(l, '', '', ''), i, j, margins = {
top: 30,
bottom: 10,
left: 10,
width: 25
};
//initializing the cells
pdf.cellInitialize();
var lines = pdf.splitTextToSize(' This is large icon to f', 12);
pdf.cell(margins.left, margins.top, 14, 8, lines, 0);
pdf.save('Te.pdf');
现在我可以增加单元格的高度,但文本仍然覆盖单元格
下面是它的样子
有人能帮我吗。我正在使用JSPDF你必须使用JSPDF吗 您可以在pdfmake()中轻松实现所需的功能 虽然原理有点不同,但pdfmake是一个声明性库,可以自动计算布局 基本表定义如下所示:
var docDefinition = {
content: [
{
table: {
// header rows are automatically repeated if the table spans over multiple pages
// you can declare how many rows should be treated as headers
headerRows: 1,
widths: [ '*', 'auto', 100, '*' ],
body: [
[ 'First', 'Second', 'Third', 'The last one' ],
[ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],
[ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ]
]
}
}
]
};
还支持列/行跨距、不可拆分的行(以防当前页面上没有足够的空间)、自动大小、固定大小和星形大小的列
您可以查看中的表格示例,我也遇到了同样的问题 但是如果你看一下jspdf.plugin.cell.js,它实际上是在画一个矩形,将文本封装在其中。换句话说,单元格本身是一个矩形 内部
jsPDFAPI.cell()
函数,
this.text(txt,x+3,y+h-3)代码>,,
这一行实际上控制文本在每个单元格侧面的显示位置
您可以这样做:
this.text(txt,x+3,y+h/2-3)代码>,则文本将在单元格中居中
希望这能有所帮助。我甚至看过pdfmake,但它没有提供任何文档,也没有指定它将支持IE8+,目前大多数选项在。。。IE8-我得考虑一下;)谢谢:)IE8是最大的问题。谢谢你的帮助。很久以前,我已经通过对JSPDF的基本库进行一些更改来解决这个问题。