java中设置表格的宽度_java 画pdf用itext调整表格宽度、自定义各个列宽的方法
ps:我用的版本是7.0.5
场景:
左侧第一列宽度不够,导致数据换行。
Table table = new Table(new float[2]);
new 一个Table之后,setWidthPercent()这个参数是这是所有列宽,并不能试用个别列。
需要在写入数据的时候对各个列进行自定义列宽:
Cell cell=new Cell().setWidth(70).setBorder(Border.NO_BORDER).setHorizontalAlignment(HorizontalAlignment.RIGHT).add(new Paragraph(entry.getKey()).setFont(sysFont).setFontSize(10));
Cell cell1=new Cell().setBorder(Border.NO_BORDER).setHorizontalAlignment(HorizontalAlignment.LEFT).add(new Paragraph(entry.getValue()).setFont(sysFont).setFontSize(10));
cell为第一列,cell1为第二列,在cell中设置宽度,不要再table上设置宽度。
即可解决个别列宽问题。
调整后的效果:
补充:java通过itext生成PDF,设置单元格cell的最大高度 以及 itext7初尝
网上百度java生成pdf都是很老的代码,使用的是itext5,找遍了大江南北都找不到设置表格或单元格最大高度,或者绝对定位表格的实现,最后对table和cell的方法一个一个找,找到了满足要求的方法:
cell.setMaxLines(int numberOfLines)
由于字体确定,每行字体的高度已确定,设定最大行数也就设定了最大高度,且避免了设置的高度不是每行高度的整数倍的麻烦,itext的这个操作也挺6,只是不符合一般认知,无法轻易找到这个方法。
虽然cell最大高度解决了,但是表格的绝对定位依然没有解决,itext5只能通过百分比的方式设置表格宽度,然后居中或靠左靠右显示,非常不灵活。
经查询,itext7是目前最新版,试用了一下,非常灵活,该解决的问题都解决了。用法与5有稍许区别。
iText7示例
import com.itextpdf.io.font.PdfEncodings;
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.action.PdfAction;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.DashedBorder;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Link;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
/**
* @author belle.wang
* @version V1.0.0
* @Description
* @date 2017/7/19 0019 上午 11:37
*/
public class Main {
public static void main(String[] args) {
try {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter("d:\\Helloworld.pdf"));
Document document = new Document(pdfDoc, PageSize.A4);
// 支持系统字体(支持中文)
PdfFontFactory.registerSystemDirectories();
PdfFont chinese = PdfFontFactory.createRegisteredFont("microsoft yahei", PdfEncodings.IDENTITY_H);
// 文字
Paragraph phrase = new Paragraph();
phrase.setFont(chinese);
phrase.add("雷猴啊");
Link chunk = new Link("European Business Award!",
PdfAction.createURI("http://www.baidu.com"));
phrase.add(chunk);
// 图片
// Image img = new Image(ImageDataFactory.create("src/main/resources/img/magic.png"));
// img.setFixedPosition(80, 560);//有传页数参数的方法
// 表格
Table table = new Table(new float[]{200f, 100f});
table.setWidth(300);
table.setBorder(new DashedBorder(Color.BLUE, 2));
table.setFixedPosition(300f,300f,300f);
table.addCell(phrase);
// The complete cell is a link:
Cell cell = new Cell().add("Help us win a European Business Award!");
table.addCell(cell);
document.add(table);
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
所以以后做功能,百度大法虽好,也要有自己的灵活性,遇到问题多角度解决,技术在更新,思路也要更新
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
java中设置表格的宽度_java 画pdf用itext调整表格宽度、自定义各个列宽的方法相关推荐
- java设置表格第一列长度_java 画pdf用itext调整表格宽度、自定义各个列宽的方法...
ps:我用的版本是7.0.5 场景: 左侧第一列宽度不够,导致数据换行. table table = new table(new float[2]); new 一个table之后,setwidthpe ...
- java中设置游戏的倒计时_java中关于倒计时的程序
以下是关于java中关于倒计时的程序,当然是采用SWING图形显示 源码一: import java.awt.*; import java.awt.event.*; import java.util. ...
- 计算机设置单元格行高,word表格调整(行高、列宽、单元格宽度)方法技巧-行距怎么设置...
在word中使用表格经常需要针对性调整其行高与列宽,有时侯也需要对某个单元格单独调整宽度(需要注意的是:单元格不能单独调整高度.针对整个表格只有宽度调整.表格高度是通过对每一行的高度来调整.) 表格大 ...
- java 千位分隔符_如何在Java中设置千位分隔符?
问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...
- java中如何设置字体样式_如何在JAVA中设置字体样式和大小?
我是新来的Java和无法弄清楚如何格式化我的代码是这样的: 字体"宋体"字体大小"9"大胆如何在JAVA中设置字体样式和大小? 我想整个段落的格式化文本.我真的 ...
- java中的this的用法_java中this的用法
This,英语单词,发音:[英][ðɪs][美][ðɪs].常翻译为:这,这么.java中this的用法有哪些呢?本文是学习啦小编整理java中this的用法的资料,仅供参考. java中this的用 ...
- java中把gui插入图片_在java中使用图片实现gui的美化.pdf
在java中使用图片实现gui的美化.pdf 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 图形图像处理GRAPHICS AND IMAGE ...
- LabVIEW 调整Table表格行高列宽的方法与例程
LabVIEW 调整Table表格行高列宽的方法与例程 在 VI 运行时,可以用两种不同的方式更改表中的列宽度.首先,可以用鼠标更改它们:其次,可以通过属性节点编程更改它们. 手部更列表的宽度 只有在 ...
- php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...
最新文章
- 深度学习初学者必备资料整理
- python各种读取图像方法
- MyBatis 源码解读-objectFactoryElement()、objectWrapperFactoryElement()
- 仿58 php框架源码,转转最新源码
- 单片机c语言字符,单片机C语言中变量的定义方法解析
- 力扣 746 使用最小化花费爬楼梯
- 关于笔算递归的通用算法——迭代
- 同期两篇 Nature:运行温度高于 1K 的量子计算平台问世!
- 《魔兽世界插件》教程---21点扑克游戏 Blackjack
- python课程开课吧怎么样-年薪30万,未来十年大量缺人,这个技能在金融圈到底有多吃香?...
- codeIgniter3 学习笔记二(基于 MVC 开发模式实现小案例)
- php 执行任务,php多进程执行任务的说明
- UVA 10098 Generating Fast
- 参考文献中英文人名_参考文献英文人名的缩写规则
- 【pandas】--DataFrame数据筛选(二)
- 修改并完善框架协议、合同的类型、有效期及目标值等
- PayPal集成标准版案例(asp.net)关键源码
- IG赢了,让我们先理直气壮的喊出那句 我们是冠军!
- 用Python画圣诞树
- linux如何识别3t硬盘分区,linux下,给3T硬盘分区,parted命令出现问题,无法分区!!!!急!!...