利用iText组件生成PDF文件的深入研究——如何固定行的高度

wishwish 2008-01-22 02:31:02


我用iText组件生成一个PDF文件。
先开一个document对象,定义纸张为A4纸:document.setPageSize(PageSize.A4);
然后再com.lowagie.text.Table table = new Table(8,3); //24=8*4
table.setPadding(20f);
table.setBorder(0);
里面是通过每一个循环,运行一次table.addCell(new Cell("string")),来增加内容(如上图)。

但这样里面的行的高度是随内容的变化而变化的,并不固定。
现在我如何让表里面的“行”的高度固定起来(如:高度=80)?

好像在类com.lowagie.text.Table里面没有定义高度的方法?
请高手们请教!
...全文
954 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gchichafengyun 2012-05-07
  • 打赏
  • 举报
回复
帮顶!
wishwish 2008-02-17
  • 打赏
  • 举报
回复
回3楼,我们用table.setPadding 或 cell.setPadding(x) 都只是针对某一单元(如:某行/列)里有效,
对于整个document的版面是起不了作用的哦.
看来还是偶自己解决了问题.呵呵
wishwish 2008-02-17
  • 打赏
  • 举报
回复
回楼上,我试过了,用这个方法也不行哦.
后来我自己看了一下那文档,看到里面PdfPCell这个类有个设置固定高度的方法setFixedHeight(float f),
测试以后,得解.
谢谢各位的支持哈!
zongxiaoyang 2008-01-23
  • 打赏
  • 举报
回复
其实你已经有答案了吧。
会用table.setPadding
为什么不会用生成一个Cell对像,然后试一下cell.setPadding(x)
我也用itext做过报表
olivesoup 2008-01-23
  • 打赏
  • 举报
回复
关注一下
zongxiaoyang 2008-01-23
  • 打赏
  • 举报
回复
cell.setLeading(x)
你要设置的高度
上面那个错了,不好意思!
这个也是才学到应该可以,嘿嘿!
zhangli0803 2008-01-23
  • 打赏
  • 举报
回复
帮顶!
wishwish 2008-01-22
  • 打赏
  • 举报
回复
因为里面是8*3=24个单元格,所以我相应循环了24次来增加内容。
在截图中看到第一行的单元格中的内容会比较多些,因而这个表中的“行”也相应高一些,
而第二行的内容比较少,“行”也就矮了。
但实际上这样不好,应该是可以定义表中“行”的高度为一个适当的常量,不管里面的内容多少(内容大多就截掉),那高度应该是固定的。现在我郁闷的就是这高度不知道怎么来固定它。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧