itextpdf5操作表格
下面是一些对表格排版的常用方法,是在制作pdf的时候通过查看ipa和一些博客积累下来的。
包括,表格的宽度,对齐方式,表的页眉页脚,前后间距,padding;
单元格对齐方式,线条设置,段落于单元格之间的间距,单元格里面的文本的行间距设置。
这些是通过查看ipa记录其中的一部份,还有很多已于理解的ipa没有记录。
package dbzx.pdf; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import org.junit.Test; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter; public class AllTableMethod { @Test
public void createTable() throws FileNotFoundException, DocumentException {
String FONT = "C:/WINDOWS/Fonts/simsun.ttc,0";
Font textFont = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED,10,Font.NORMAL,BaseColor.BLACK);
String path = "E:/demo/pdfCreat/"+System.currentTimeMillis()+".pdf";//输出pdf的路径
Document doc = new Document();
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(path));
doc.open();
PdfPTable table = new PdfPTable(4);
//设置控制
table.setSpacingBefore(40);//表格前间距
table.setSpacingAfter(100);//表格后间距
table.setWidthPercentage(80);//表格宽占page比例
table.setHorizontalAlignment(Element.ALIGN_LEFT);//表格水平对齐方式
/*
* 设置构成标题的顶部行数。只有当表被添加到文档并且表跨页时,这个header才有意义。
*/ table.setHeaderRows(2);
/*
* 设置页脚要使用的行数。页脚的数量从页眉行中减去。例如,对于一个有两个页眉行和一个页脚行的表,代码应该是:
* table.setHeaderRows (3);
* table.setFooterRows (1);
* 第0行和第1行是页眉行,第2行是页脚行。
*/
table.setFooterRows(1);
table.setPaddingTop(10f);//设置表格顶部padding
//设置单元格
/**
* getDefaultCell()得到的Cell代表所有不是table.add(PdfPCell)的Cell。例:table.add(new Paragraph("test")).
*/
table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP);//单元格中文字垂直对齐方式
table.getDefaultCell().setBorderColor(BaseColor.WHITE);//单元格线条颜色
table.getDefaultCell().setMinimumHeight(30);//单元格最小高度
table.getDefaultCell().setExtraParagraphSpace(5);//段落文字与表格之间的距离,底部距离
table.getDefaultCell().setLeading(15, 0);//设置行间距
// table.getDefaultCell().setFixedHeight(20f);//表格固定高度
for(int i=0;i<16;i++) {
table.addCell(new Paragraph("test"));
}
doc.add(table);
doc.close(); }
}
itextpdf5操作表格的更多相关文章
- jquery操作表格 合并单元格
jquery操作table,合并单元格,合并相同的行 合并的方法 $("#tableid").mergeCell({ cols:[X,X] ///参数为要合并的列}) /** * ...
- DOM操作表格
前面的话 表格table元素是HTML中最复杂的结构之一.要想创建表格,一般都必须涉及表示表格行.单元格.表头等方面的标签.由于涉及的标签多,因而使用核心DOM方法创建和修改表格往往都免不了要编写大量 ...
- DOM系列---DOM操作表格
DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本篇章主要了解一下DOM操作表格. 一.操作表格 <table>标签是H ...
- Jqgrid入门-操作表格的数据(二)
上一篇中,Jqgrid已经可以从服务端获得数据,并显示在Grid表格中了.下面说一下,如何操作表格及其数据. jqGrid有很多方法函数,用来操作数据或者操作Grid表格本身.jq ...
- 第一百一十五节,JavaScript,DOM操作表格
JavaScript,DOM操作表格 学习要点: 1.操作表格 DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DO ...
- JavaScript(第二十天)【DOM操作表格及样式】
DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DOM操作表格和样式的一些知识. 一.操作表格 <table& ...
- Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...
- JavaScript--DOM操作表格及样式(21)
一 操作表格 // <table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它; // 使用DOM来创建表格; var table = d ...
- 超级简单的jquery操作表格(添加/删除行、添加/删除列)
利用jquery给指定的table添加一行.删除一行 <script language="javascript" src="./jquery.js"> ...
随机推荐
- Linux 登录 MySQL 报错, 解决bash: mysql: command not found 的方法
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件. 首先得知道mysql ...
- fiddler---Fiddler弱网测试
无论是做web端还是app端的测试,我们都需要对弱网进行测试,对于弱网方法有很多种,如:Fiddler模拟弱网,控制电脑的网速等,今天介绍下Fiddler如何进行测试弱网 什么是弱网 弱网看字面意思就 ...
- ISODATA聚类算法的matlab程序
ISODATA聚类算法的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考:Kmeans及ISODATA算法的matlab实现 算法 ...
- js修改对象的key值
var array = [ { id:1, name:"小明" }, { id:2, name:"小红" } ]; /**/ //旧key到新key的映射 va ...
- c/c++ 混合编程.so
CC = gccC++ = g++LINK = g++ LIBS = -lz -lm -lpcre#must add -fPIC optionCCFLAGS = $(COMPILER_FLAGS) - ...
- JMeter面试题
1.Jmeter怎么录制脚本,怎么过滤,线程组有哪些内容? jmeter可以使用第三方的录制工具(badboy)或者使用jmeter自带的HTTP代理服务器录制脚本功能 jmeter录制原理:通过ht ...
- MySQL学习笔记7——约束
约束 约束 *约束是添加在列上的,用来约束列的! 1.主键约束(唯一标识) ***非空*** ***唯一*** ***被引用*** *当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现. * ...
- Python Beautiful Soup 4
Beautiful Soup 是一个灵活方便的网页解析库,利用它不用编写正则表达式即可方便地提取的网页信息 官方文档:https://www.crummy.com/software/Beautiful ...
- Linux 操作MySQL常用命令行
1.连接数据库 mysql -uroot -p Enter password: ** Mysql> 出现mysql>说明成功连接到数据 2.显示数据库 mysql> show dat ...
- 使用Python写yaml用例
1.打开cmd,进入本机安装python的目录,执行 pip install pyyaml ,安装pyyaml第三方包. 2.在Pycharm中新建一个项目(已有的话就不需要啦) 新建yaml文件 ...