- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iText日记
PdfPTable
此文为笔者在学习iText过程中,翻译整理的学习笔记,内容主要来自iText的网站,希望对学习新手们有一定的帮助,关注iText的朋友可与我共同交流,我的联系方式:Email:cmliu2004@163.com QQ如转载本文,请保留此段内容! ――长明
我的第一个PdfPTable
当你想使用iText制作账单、发票、清单、报表等电子表单时,你很可能需要将数据放置在表格当中,这就是下面要介绍的PdfPTable对象和PdfPCell对象。
这两个类使用起来都非常方便:构建一张指定列数的表,然后添加单元格:
PdfPTable table = new PdfPTable(3);
PdfPCell cell = new PdfPCell(new Paragraph(header with colspan 3));
cell.setColspan(3);
table.addCell(cell);
table.addCell(1.1);
table.addCell(2.1);
table.addCell(3.1);
table.addCell(1.2);
table.addCell(2.2);
table.addCell(3.2);
document.add(table);
PdfPTable是一个强大而灵活的对象,但PdfPTable只用于生成PDF,如果你需要生成HTML或RTF文档,那么只能使用Table对象了(Table对象现在已不被支持)。
宽度、对齐和间距
通过Document.add()方法添加PdfPTable对象,其默认宽度是页面可编辑空间的80%并居中对齐,要想改变这些默认值,可使用setWidthPercentage和setHorizontalAlignment方法。
// step1
Document document = new Document(PageSize.A4);
try {
// step2
PdfWriter.getInstance(document,
new FileOutputStream(TableWidthAlignment.pdf));
// step3
document.open();
// step4
PdfPTable table = new PdfPTable(3);
PdfPCell cell = new PdfPCell(new Paragraph(header with colspan 3));
cell.setColspan(3);
table.addCell(cell);
table.addCell(1.1);
table.addCell(2.1);
table.addCell(3.1);
table.addCell(1.2);
table.addCell(2.2);
table.addCell(3.2);
cell = new PdfPCell(new Paragraph(cell test1));
cell.setBorderColor(new Color(255, 0, 0));
table.addCell(cell);
cell = new PdfPCell(new Paragraph(cell test2));
cell.setColspan(2);
cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
table.addCell(cell);
document.add(table);
table.setWidthPercentage(100);
document.add(table);
table.setWidthPercentage(50);
table.setHorizontalAlignment(Element.ALIGN_RIGHT);
document.add(table);
table.setHorizontalAlignment(Element.ALIGN_LEFT);
document.add(table);
} catch (Exception de) {
de.printStackTrace();
}
// step5
document.close();
上面的例子运行效果如下:
我们在表格中定义了很多列,iText自动计算各列的绝对宽度,每个单元格的默认宽度是:表格的绝
文档评论(0)