Java的itext常见方法总结–2(单元格,表格,图片)
单元格
- 单元格的创建
PdfPCell pdfPCell = new PdfPCell();
在创建单元格的时候,我们一般都会给单元格的构造函数传递参数,这个参数多数是一个含有文本的段落,同时会在这个段落上设置了行间距(在字数太多,单元格的宽度较小情况下会进行换行)例如:
Paragraph elements = new Paragraph(text);
elements.setLeading(fixedLeading, multipliedLeading); //fixedLeading固定间距值,multipliedLeading多倍间距值
PdfPCell pdfPCell = new PdfPCell(elements); //这个时候就不能直接把段落放构造方法中了,因为new PdfPCell(elements)底层使用的是`this.column.setLeading(0.0F, 1.0F);`,不会延用elements的setLeading,因此在单元格中添加段落建议使用:
PdfPCell pdfPCell = new PdfPCell();
pdfPCell.addElement(elements );
- 单元格的常见方法
PdfPCell pdfPCell = new PdfPCell();
对齐方式:
//水平垂直对齐
pdfPCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
//水平居中对齐
pdfPCell.setHorizontalAlignment(Element.ALIGN_CENTER);
//水平居中左对齐
pdfPCell.setHorizontalAlignment(Element.ALIGN_LEFT);
//水平居中右对齐
pdfPCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
边框(单元格默认是有边框的):
//无边框
pdfPCell.setBorder(NO_BORDER);
设置单元格的高度:
//设置计算高度
pdfPCell.setCalculatedHeight();
//设置固定高度
pdfPCell.setFixedHeight();
//设置最小高度
pdfPCell.setMinimumHeight();
合并列单元格:
//表示该单元格跟右边列的两个单元格合并(一共三个单元格)
pdfPCell.setColspan(3);
合并行单元格:
//表示该单元格跟下面的一个单元格合并(一个两个单元格)
pdfPCell.setRowspan(2);
设置元素在单元格内的间距:
//左间距
pdfPCell.setPaddingLeft();
//右间距
pdfPCell.setPaddingRight();
//上边距
pdfPCell.setPaddingTop();
//下边距
pdfPCell.setPaddingBottom();
设置文字在单元格中换行时的行间距:
pdfPCell.setLeading(fixedLeading,multipliedLeading);
最终行间距 :totalLeading= fixedLeading+fontSize(字体大小)* multipliedLeading;
单元格的背景颜色:
pdfPCell.setBackgroundColor(new BaseColor(111,112,50)); // 数字代表的是RGB三个颜色的数值
单元格添加元素:
pdfPCell.addElement();
表格
- 表格的创建
PdfPTabletable = new PdfPTable(3);
如果创建了N列,如果`table.add`添加的单元格数量不是N的倍数,那么就会报异常
- 表格的常见方法
宽度百分比:
//这个方法可以用来画出进度条
table.setWidthPercentage(100);
//前间距
table.setSpacingBefore(10f);
//后间距
table.setSpacingAfter(10f);
//设置每列的宽度,因为是定义了三列的表格,所以这里的设置3个数据,代表了每列的宽度
float[] columnWidths = { 1f, 2f, 3f };
table.setWidths(columnWidths);
//对齐方式
table .setHorizontalAlignment(Element.ALIGN_LEFT); //左对齐
//添加单元格
table.add(new PdfPCell());
图片
- 获取该页四个点的坐标(最左上角,最左下角,最右上角,最右下角)
document.getPageSize().getTop(); //y轴最上边的y坐标
document.getPageSize().getBottom(); //y轴最下边的y坐标
document.getPageSize().getLeft(); //x轴最左边的x坐标
document.getPageSize().getRight(); //x轴最右边的x坐标
document.getPageSize().getWidth(); //获取页面宽度
document.getPageSize().getHeight(); //获取页面高度
- 图片的获取以及添加到PDF上
//获取照片
Imageimage = Image.getInstance("本地图片地址");
//也可以获取网上的图片,例如:
URLurl = newURL("http://static.cnblogs.com/images/adminlogo.gif")
Imageimage = Image.getInstance(url);
//设置图片位置的x轴和y轴
image.setAbsolutePosition(0, 0); // 相对于上面获取到的坐标,位于左下角
//设置图片的宽度和高度
image.scaleAbsolute(100, 100);
//添加图片
document.add(image);
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2024/01/24/java-itext-cell-table-image/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
1
二维码
打赏
海报
Java的itext常见方法总结–2(单元格,表格,图片)
单元格
单元格的创建
PdfPCell pdfPCell = new PdfPCell();
在创建单元格的时候,我们一般都会给单元格的构造函数传递参数,这个参数多数是一个含有文本的段……
文章目录
关闭
共有 0 条评论