gpt4 book ai didi

jspdf - 如何使用 jspdf、jspdf-autotable 适应宽表

转载 作者:行者123 更新时间:2023-12-04 17:46:37 25 4
gpt4 key购买 nike

我正在使用带有插件 jspdf-autotable 的 jspdf 来为一个非常宽的表格创建一个 pdf,有没有办法让表格/列数据自动适应任何页面大小?

我尝试了下面的代码溢出:'linebreak'但它中途打破了单词而不是在空白处

function demoPDF() {
var pdfsize = 'a0';
var pdf = new jsPDF('l', 'pt', pdfsize);

var res = pdf.autoTableHtmlToJson(document.getElementById("rpt_tbl"));
pdf.autoTable(res.columns, res.data, {
startY: 60,
tableWidth: 'auto',
columnWidth: 'auto',
styles: {
overflow: 'linebreak'
}
});

pdf.save(pdfsize + ".pdf");
};

最佳答案

我不完全确定我理解你的问题,但如果你想要一些列简单地包装内容而一些列换行,你可以喜欢这个。

function demoPDF() {
var pdfsize = 'a0';
var pdf = new jsPDF('l', 'pt', pdfsize);

pdf.autoTable({
html: '#table',
startY: 60,
styles: {
fontSize: 50,
cellWidth: 'wrap'
},
columnStyles: {
1: {columnWidth: 'auto'}
}
});

pdf.save(pdfsize + ".pdf");
};

demoPDF();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
<script src="https://rawgit.com/someatoms/jsPDF-AutoTable/master/dist/jspdf.plugin.autotable.js"></script>

<table id="table" style="display: none;">
<thead>
<tr>
<th title="Field #1">ID</th>
<th title="Field #2">First name</th>
<th title="Field #3">Last name</th>
<th title="Field #4">Email</th>
<th title="Field #5">Country</th>
<th title="Field #6">IP-address</th>
</tr>
</thead>
<tbody>
<tr>
<td align="right">1</td>
<td>Donna</td>
<td>Moore</td>
<td>dmoore0@furl.net</td>
<td>China</td>
<td>211.56.242.221</td>
</tr>
<tr>
<td align="right">2</td>
<td>Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice Janice</td>
<td>Henry</td>
<td>jhenry1@theatlantic.com</td>
<td>Ukraine</td>
<td>38.36.7.199</td>
</tr>
<tr>
<td align="right">3</td>
<td>Ruth</td>
<td>Wells</td>
<td>rwells2@constantcontact.com</td>
<td>Trinidad</td>
<td>19.162.133.184</td>
</tr>
<tr>
<td align="right">4</td>
<td>Jason</td>
<td>Ray</td>
<td>jray3@psu.edu</td>
<td>Brazil</td>
<td>10.68.11.42</td>
</tr>
<tr>
<td align="right">5</td>
<td>Jane</td>
<td>Stephens</td>
<td>jstephens4@go.com</td>
<td>United States</td>
<td>47.32.129.71</td>
</tr>
<tr>
<td align="right">6</td>
<td>Adam</td>
<td>Nichols</td>
<td>anichols5@com.com</td>
<td>Canada</td>
<td>18.186.38.37</td>
</tr>
</tbody>
</table>

关于jspdf - 如何使用 jspdf、jspdf-autotable 适应宽表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32385170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com