来自霍格沃茨的程序猿
2016-03-21 03:32
采纳率: 60%
浏览 6.2k
已采纳

itext生成PDF,PdfPTable固定位置后无法分页

我要往pdf中插入一个表格,创建了一个PdfPTable,又使用table.writeSelectedRows(0, -1, x, y, canvas)把表格固定到了PDF上的某个位置,现在问题来了,表格数据多了以后并没有自动分页,而是变成了下面这样,请问是什么原因?怎么才能使表格自动分页?我这里使用了table.writeSelectedRows(),就不能再使用document.add(table)了。
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    已解决,使用如下代码即可分页(前提首先得计算出生成的PDF的总页数):

    for(int j=1; j< totalPage; j++){
    document.newPage();
    table.writeSelectedRows(rowPerPage * j + 1, (rowPerPage * j + 1) + rowPerPage, document.left()-11, document.top()-2, canvas);
    }

    点赞 打赏 评论
  • qq_38380257 2019-02-11 15:05

    前提首先得计算出生成的PDF的总页数
    楼主你下面的解决方法,能说具体点吗?我导出的pdf有5个table,怎么让它们分页?

    点赞 打赏 评论
  • 魂淡12135 2019-05-28 10:59

    楼主,最近写PDF的时候遇到一个问题:我这边需要往pdf的某一个位置放置一个表格,换句话说就是要把表格绝对定位,但我在使用writeSelectedRows()的时候总是抛异常:java.lang.RuntimeException: The table width must be greater than zero.表格的宽度我也设了,百度的方法说锁死表格的宽度,我试了,还是报这问题,能否提供一下帮助?或者给我看一下你表格的绝对定位的写法。万分感激

    点赞 打赏 评论

相关推荐 更多相似问题