java的itext常见方法总结--2(单元格,表格,图片)

单元格:

1.单元格的创建

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 );

2.单元格的常见方法

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();


表格:

1.表格的创建:

PdfPTabletable = new PdfPTable(3);
如果创建了N列,如果table.add添加的单元格数量不是N的倍数,那么就会报异常

2.表格的常见方法:

宽度百分比:
// 这个方法可以用来画出进度条
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())


图片:

1.获取该页四个点的坐标(最左上角,最左下角,最右上角,最右下角):

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(); // 获取页面高度

2.图片的获取以及添加到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);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容