iText架包,内含jfreechart

 

页面需要生成PDF文档,研究了几天iText

 

首先,创建一个PDF文档,并设置页面大小, 左、右、上和下页边距。

Document document = new Document(PageSize.A4,0,0,25,0);
document.open();//打开文档
document.close();//一定要记得关掉

设置字体

BaseFont bfChinese = BaseFont.createFont("STSong-Light",
                    "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            BaseFont bfComic12 = BaseFont.createFont(path+"font\\VERAMOBD.TTF",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font8=new Font(bfComic12, 9, Font.NORMAL, Color.black);

Table:表格使用方法

int colNum = 2;
float[] techWidths = {20f,40f};//设置列宽
Table projectTable = new Table(colNum,9);//设置表格列数和行数,colNum:列
projectTable.setWidths(techWidths);//设置列宽
projectTable.setPadding(2f);//设置表格间距
projectTable.setBorderWidth(0);//设置表格边框
projectTable.setAlignment(Element.ALIGN_CENTER);//设置表格对齐方式
document.add(projectTable);//将表格插入文档
document.newPage();//手动分页

Cell:单元格使用方法

Cell cellUnderline=new Cell("");
cellUnderline.setBorderColor(new Color(222,222,200));//设置单元格背景颜色
cellUnderline.setBorderWidthBottom(0.1f);//设置单元格下边框
cellUnderline.setColspan(3);//设置单元格跨列 setRowspan(value):跨行
projectTable.addCell(cellUnderline);//将单元格插入表格

插入图片方法

Image logoImag = Image.getInstance(logoPath);//logoPath:图片路径
cellImag = new Cell(logoImag);//将图片插入单元格
cellImag.setBorderWidth(0);
cellImag.setHorizontalAlignment(Element.ALIGN_CENTER);
logoImag.scaleAbsolute(100, 100);//设置图片大小

Paragraph:段落使用方法

Paragraph contactInfo = new Paragraph();//创建段落
Chunk chunk3=new Chunk("Tel:",font8);//向段落插入不同字体
Chunk chunk4=new Chunk(" +86-0571-89719569;    ",font7);
Chunk chunk5=new Chunk("Fax:",font8);
Chunk chunk6=new Chunk(" +86-0571-87987808"+"\r\n",font7);
contactInfo.add(chunk3);
contactInfo.add(chunk4);
contactInfo.add(chunk5);
contactInfo.add(chunk6);
contactInfo.setLeading(12f);//设置段落大小
Cell cell=new Cell(contactInfo);//将段落插入单元格

Paragraph contactInfo = new Paragraph("呵呵呵呵",font7);//直接使用