首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jspdf、jspdf-autotable适合宽表

如何使用jspdf、jspdf-autotable适合宽表
EN

Stack Overflow用户
提问于 2015-09-04 04:48:45
回答 1查看 24.2K关注 0票数 6

我正在使用jspdf和jspdf-autotable插件来创建一个非常宽的表的pdf,有没有一种方法可以自动调整表/列数据以适应任何页面大小?

我尝试了下面的代码,使用overflow:'linebreak‘,但它在单词的中间而不是空白处将单词换开

代码语言:javascript
复制
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");
};

EN

回答 1

Stack Overflow用户

发布于 2015-09-20 20:01:21

我不完全确定我是否理解了你的问题,但是如果你想让一些列简单地换行,而另一些列换行,你可以这样做。

代码语言:javascript
复制
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();
代码语言:javascript
复制
<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>

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32385170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档