欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java使用iText生成pdf表格,javaitextpdf表格,首先需要你自己下载ite

来源: javaer 分享于  点击 4837 次 点评:42

java使用iText生成pdf表格,javaitextpdf表格,首先需要你自己下载ite


首先需要你自己下载itext相关的jar包并添加引用,或者在maven中添加如下引用配置:

<dependency>    <groupId>com.lowagie</groupId>    <artifactId>iText</artifactId>    <version>2.1.5</version></dependency>       <!--itext生成word文档,需要下面dependency--><dependency>    <groupId>com.lowagie</groupId>    <artifactId>iText-rtf</artifactId>    <version>2.1.4</version></dependency>   <dependency>    <groupId>com.lowagie</groupId>    <artifactId>iTextAsian</artifactId>    <version>2.1.4</version></dependency>

如下代码:

package com.iText.create;import java.awt.Color;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import com.lowagie.text.Cell;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.HeaderFooter;import com.lowagie.text.Image;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.Phrase;import com.lowagie.text.Table;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.PdfWriter;/** *//** * 功能描述:使用Itext组件创建pdf文档<br> * 创建时间:2010-07-01 * @author sxyx2008 * */public class CreatePdf {    public CreatePdf() throws Exception{        //创建一个文档对象纸张大小为A4        Document doc=new Document(PageSize.A4,50,50,50,50);        //设置要输出到磁盘上的文件名称        PdfWriter writer=PdfWriter.getInstance(doc,new FileOutputStream(new File("徐熙媛.pdf")));        //设置作者信息        doc.addAuthor("sxyx2008");        //设置文档创建日期        doc.addCreationDate();        //设置标题        doc.addTitle("iText测试");        //设置值主题        doc.addSubject("iText");        //构建页脚        HeaderFooter footer=new HeaderFooter(new Phrase(), true);        //设置页脚是否有边框        //0表示无        //1上边框        //2下边框        //3上下边框都有 默认都有        //设置页脚是否有边框        footer.setBorder(0);        //footer.setBorder(1);        //footer.setBorder(2);        //footer.setBorder(3);        //设置页脚的对齐方式        footer.setAlignment(Element.ALIGN_CENTER);        //将页脚添加到文档中        doc.setFooter(footer);        //打开文档开始写内容        doc.open();        //Paragraph par1=new Paragraph("Hello,Welcome You");        //Paragraph par2=new Paragraph("你好,中文测试",ChineseFont());        /**//*par1.setAlignment(Element.ALIGN_CENTER);        doc.add(par1);*/        //par2.setAlignment(Element.ALIGN_CENTER);        //doc.add(par2);        //构建一段落        Paragraph par3=new Paragraph("客户信息表",ChineseFont());        //设置局中对齐        par3.setAlignment(Element.ALIGN_CENTER);        //添加到文档        doc.add(par3);        //创建一个四列的表格        Table table=new Table(4);        //设置边框        table.setBorder(1);        //创建表头        Cell cell1=new Cell(new Phrase("编号",ChineseFont()));        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);        cell1.setVerticalAlignment(Element.ALIGN_CENTER);        cell1.setHeader(true);        cell1.setBackgroundColor(Color.RED);        Cell cell2=new Cell(new Phrase("姓名",ChineseFont()));        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);        cell2.setVerticalAlignment(Element.ALIGN_CENTER);        cell2.setHeader(true);        cell2.setBackgroundColor(Color.RED);        Cell cell3=new Cell(new Phrase("性别",ChineseFont()));        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);        cell3.setVerticalAlignment(Element.ALIGN_CENTER);        cell3.setHeader(true);        cell3.setBackgroundColor(Color.RED);        Cell cell4=new Cell(new Phrase("备注",ChineseFont()));        cell4.setHorizontalAlignment(Element.ALIGN_CENTER);        cell4.setVerticalAlignment(Element.ALIGN_CENTER);        cell4.setHeader(true);        cell4.setBackgroundColor(Color.RED);        table.addCell(cell1);        table.addCell(cell2);        table.addCell(cell3);        table.addCell(cell4);        //添加此代码后每页都会显示表头        table.endHeaders();        //循环向表格中添加100条记录 100行4列的表格        //以下代码的作用是创建100行数据,其中每行有四列,列依次为 编号 姓名 性别 备注        for (int i = 1; i <=100; i++) {            //设置编号单元格            Cell cell11=new Cell(i+"");            //设置姓名单元格            Cell cell22=new Cell(new Phrase("徐熙媛",ChineseFont()));            //设置性别单元格            Cell cell33=new Cell(new Phrase("女",ChineseFont()));            //设置备注单元格            Cell cell44=new Cell(new Phrase("好姑娘",ChineseFont()));            //单元格水平对齐方式            cell11.setHorizontalAlignment(Element.ALIGN_CENTER);            //单元格垂直对齐方式            cell11.setVerticalAlignment(Element.ALIGN_CENTER);            cell22.setHorizontalAlignment(Element.ALIGN_CENTER);            cell22.setVerticalAlignment(Element.ALIGN_CENTER);            cell33.setHorizontalAlignment(Element.ALIGN_CENTER);            cell33.setVerticalAlignment(Element.ALIGN_CENTER);            cell44.setHorizontalAlignment(Element.ALIGN_CENTER);            cell44.setVerticalAlignment(Element.ALIGN_CENTER);            table.addCell(cell11);            table.addCell(cell22);            table.addCell(cell33);            table.addCell(cell44);        }        //将表格添加到新的文档        doc.add(table);        //创建新的一页        doc.newPage();        //添加图片        Image image=Image.getInstance("D://Program Files//myeclipseworkspace//6.5//iText//src//5.jpg");        //添加到文档        doc.add(image);        //设置对象方式        image.setAlignment(Element.ALIGN_CENTER);        doc.close();        writer.close();    }    //pdf文档中文字符处理    public static Font ChineseFont()    {        BaseFont baseFont=null;        try {            baseFont=BaseFont.createFont("STSong-Light","UniGB-UCS2-H", true);        } catch (DocumentException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        Font chineseFont=new Font(baseFont,8,Font.NORMAL,Color.BLUE);        return chineseFont;    }    public static void main(String[] args) {        try {            new CreatePdf();        } catch (Exception e) {            e.printStackTrace();        }    }}
相关栏目:

用户点评