如何识别 HTML class 或 jsPDF autotable 中的特定单元格
How can identify HTML class or specific cell in jsPDF autotable
对不起,我的英语不太好。我有一个关于 jsPDF autotable 的问题。
经过数小时的挫败我的代码 运行 并创建一个 PDF 文件。
这是我的代码:
$('#printBtn').on('click', function() {
var pdf = new jsPDF('p', 'pt', 'a4');
var res = pdf.autoTableHtmlToJson(document.getElementById("tablePrint"));
pdf.autoTable(res.columns, res.data, {
theme : 'plain',
styles: {
fontSize: 12
},
showHeader: 'never'
});
pdf.save("test.pdf");
});
我在 github 存储库中搜索并在 examples.js 中找到了一个代码片段,它可能对我有帮助,但我不知道我是如何工作的....
parsedInput: function (cell, data) {
if (data.column.dataKey === 'name') {
cell.styles.fontStyle = 'bold';
}
}
我有一个table,例如
<table>
<tbody>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau</td>
<td>Mustermann</td>
</tr>
<tr>
<td></td>
<td>Musterfrau XYZ</td>
<td>XXX</td>
</tr>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau</td>
<td>Mustermann</td>
</tr>
<tr>
<td></td>
<td>Musterfrau XYZ</td>
<td>XXX</td>
</tr>
<tr>
<td></td>
<td>Example cell</td>
<td>acusduhfsd</td>
</tr>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau dfg</td>
<td>Mustermann dfhgd</td>
</tr>
<tr>
</tbody>
</table>
我想要行分别带有 class "hrow" 的单元格以粗体显示里面的文本。
我怎样才能达到这个目标?
感谢您的帮助。
尝试这样的事情:
pdf.autoTable(res.columns, res.data, {
didParseCell: function(data) {
var tdElement = data.cell.raw;
if (tdElement.classList.contains('hrow')) {
data.cell.styles.fontStyle = 'bold';
}
}
});
未测试,但应该使具有 css class hrow
的单元格变为粗体。
对不起,我的英语不太好。我有一个关于 jsPDF autotable 的问题。 经过数小时的挫败我的代码 运行 并创建一个 PDF 文件。
这是我的代码:
$('#printBtn').on('click', function() {
var pdf = new jsPDF('p', 'pt', 'a4');
var res = pdf.autoTableHtmlToJson(document.getElementById("tablePrint"));
pdf.autoTable(res.columns, res.data, {
theme : 'plain',
styles: {
fontSize: 12
},
showHeader: 'never'
});
pdf.save("test.pdf");
});
我在 github 存储库中搜索并在 examples.js 中找到了一个代码片段,它可能对我有帮助,但我不知道我是如何工作的....
parsedInput: function (cell, data) {
if (data.column.dataKey === 'name') {
cell.styles.fontStyle = 'bold';
}
}
我有一个table,例如
<table>
<tbody>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau</td>
<td>Mustermann</td>
</tr>
<tr>
<td></td>
<td>Musterfrau XYZ</td>
<td>XXX</td>
</tr>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau</td>
<td>Mustermann</td>
</tr>
<tr>
<td></td>
<td>Musterfrau XYZ</td>
<td>XXX</td>
</tr>
<tr>
<td></td>
<td>Example cell</td>
<td>acusduhfsd</td>
</tr>
<tr>
<td class="hrow">15.11.2016</td>
<td class="hrow">11:20</td>
<td class="hrow"></td>
</tr>
<tr>
<td></td>
<td>Musterfrau dfg</td>
<td>Mustermann dfhgd</td>
</tr>
<tr>
</tbody>
</table>
我想要行分别带有 class "hrow" 的单元格以粗体显示里面的文本。
我怎样才能达到这个目标?
感谢您的帮助。
尝试这样的事情:
pdf.autoTable(res.columns, res.data, {
didParseCell: function(data) {
var tdElement = data.cell.raw;
if (tdElement.classList.contains('hrow')) {
data.cell.styles.fontStyle = 'bold';
}
}
});
未测试,但应该使具有 css class hrow
的单元格变为粗体。