我正在使用jsPDF AutoTable(https://github.com/simonbengtsson/jsPDF-AutoTable)。
我有一个带有rowspan =“ 2”的HTML表,当用该表生成pdf时,不再有rowspan =“ 2”了:(
I修改插件来添加属性rowspan的(参见[[[[[ADDED]]]]]标记):
var autoTableHtmlToJson = function(table){ var data = [], headers = [], header = table.rows[0], tableRow, rowData, i, j; for( i = 0 ; i < header.cells.length;i++){ headers.push( (typeof header.cells[i] !== "undefined") ? header.cells[i].textContent : "" ); } for( i = 1 ; i < table.rows.length; i++ ){ tableRow = table.rows[i]; rowData = []; for( j = 0; j < header.cells.length; j++ ){ if( typeof tableRow.cells[j] !== "undefined" ){ rowData.push({ value : tableRow.cells[j].textContent, rowSpan : tableRow.cells[j].rowSpan <==== [[[[[ ADDED ]]]]] }); } else{ rowData.push({ value : "", rowSpan : 1 <==== [[[[[ ADDED ]]]]] }); } } data.push( rowData ); } return { columns:headers, data:data, rows:data } };
然后为每个要绘制的单元格设置:
drawCell: function (cell, data) { doc.rect(cell.x, cell.y, cell.width, cell.height * cell.raw.rowSpan, 'S'); doc.autoTableText(cell.raw.value,cell.x + cell.width / 2, cell.y + cell.height * cell.raw.rowSpan, { halign: 'center', valign: 'middle', overflow: 'linebreak' }); return false; }
rowSpan在drawCell中具有正确的值,但是pdf结果非常错误!pdf的所有数据都在同一行上,我不知道为什么。抱歉,我无法发布屏幕截图,因为我没有这个声誉。
我正在使用jsPDF AutoTable(https://github.com/simonbengtsson/jsPDF-AutoTable)。我有一个带有rowspan =“ 2”的HTML表,当用该表生成pdf时,不再有rowspan =“ 2”了:( ... ... >>
编辑:行距,列距和css样式现已受支持,并且可以直接使用docs
[jspdf-autotable
插件当前仅支持从html表转换数据。所有样式(包括行距等)都必须手动应用。