Как определить класс HTML или конкретную ячейку в 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>
<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>
Я хочу строки соответственно ячейки с классом "hrow" показывает текст внутри жирным шрифтом.
Как я могу достичь этого?
Спасибо за помощь.
1 ответ
Решение
Попробуйте что-то вроде этого:
pdf.autoTable(res.columns, res.data, {
createdCell: function(cell, data) {
var tdElement = cell.raw;
if (tdElement.classList.contains('hrow')) {
cell.styles.fontStyle = 'bold';
}
}
});
Не проверено, но следует создать ячейки с классом css hrow
смелый.