java 创建一个表格pdf

import com.lowagie.text.*;

import com.lowagie.text.pdf.*;

import java.io.*;

import java.util.*;

import java.awt.Color;

/**

 *

Title: 生成PDF文件

 *

Description: 本实例通过使用iText包生成一个表格的PDF文件

 *

Copyright: Copyright (c) 2003

 *

Filename: myPDF.java

 * @author 杜江

 * @version 1.0

 */

public class myPDF{

/**

 *
方法说明:写PDF文件

 *
输入参数:

 *
返回类型:

 */

  public void write(){

   try{

     Document document=new Document(PageSize.A4, 50, 50, 100, 50);

     Rectangle pageRect=document.getPageSize();

     PdfWriter.getInstance(document, new FileOutputStream("tables.pdf"));

     //创建汉字字体

     BaseFont bfSong = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);

     Font fontSong = new Font(bfSong, 10, Font.NORMAL);

     // 增加一个水印

     try {

         Watermark watermark = new Watermark(Image.getInstance("test.jpg"), pageRect.left()+50,pageRect.top()-85);

         watermark.scalePercent(50);

         document.add(watermark);

     }catch(Exception e) {

    System.err.println("请查看文件“test.jpg”是否在正确的位置?");

     }


      // 为页增加页头信息

     HeaderFooter header = new HeaderFooter(new Phrase("Java实例一百例",fontSong), false);

     header.setBorder(2);

     header.setAlignment(Element.ALIGN_RIGHT);

     document.setHeader(header);


   // 为页增加页脚信息

     HeaderFooter footer = new HeaderFooter(new Phrase("第 ",fontSong),new Phrase(" 页",fontSong));

     footer.setAlignment(Element.ALIGN_CENTER);

     footer.setBorder(1);

     document.setFooter(footer);

      // 打开文档

     document.open();

     //构造表格

     Table table = new Table(4);

     table.setDefaultVerticalAlignment(Element.ALIGN_MIDDLE);

     table.setBorder(Rectangle.NO_BORDER);

     int hws[] = {10, 20, 10, 20,};

     table.setWidths(hws);

     table.setWidth(100);

     //表头信息

     Cell cellmain = new Cell(new Phrase("用户信息",new Font(bfSong, 10, Font.BOLD,new Color(0,0,255))));

     cellmain.setHorizontalAlignment(Element.ALIGN_CENTER);

     cellmain.setColspan(4);

     cellmain.setBorder(Rectangle.NO_BORDER);

     cellmain.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));

     table.addCell(cellmain);

      //分表头信息

     Cell cellleft= new Cell(new Phrase("收货人信息",new Font(bfSong, 10, Font.ITALIC,new Color(0,0,255))));

     cellleft.setColspan(2);

     cellleft.setHorizontalAlignment(Element.ALIGN_CENTER);

     table.addCell(cellleft);

     Cell cellright= new Cell(new Phrase("订货人信息",new Font(bfSong, 10, Font.ITALIC,new Color(0,0,255))));

     cellright.setColspan(2);

     cellright.setHorizontalAlignment(Element.ALIGN_CENTER);

     table.addCell(cellright);


     //收货和订货人信息,表体内容

     table.addCell(new Phrase("姓名",fontSong));

     table.addCell(new Phrase("张三",fontSong));

     table.addCell(new Phrase("姓名",fontSong));

     table.addCell(new Phrase("李四",fontSong));

     table.addCell(new Phrase("电话",fontSong));

     table.addCell(new Phrase("23456789",fontSong));

     table.addCell(new Phrase("电话",fontSong));

     table.addCell(new Phrase("9876543",fontSong));

     table.addCell(new Phrase("邮编",fontSong));

     table.addCell(new Phrase("100002",fontSong));

     table.addCell(new Phrase("邮编",fontSong));

     table.addCell(new Phrase("200001",fontSong));

     table.addCell(new Phrase("地址",fontSong));

     table.addCell(new Phrase("北京西城区XX路XX号",fontSong));

     table.addCell(new Phrase("地址",fontSong));

     table.addCell(new Phrase("上海陆家嘴区XX路XX号",fontSong));

     table.addCell(new Phrase("电子邮件",fontSong));

     table.addCell(new Phrase("[email protected]",fontSong));

     table.addCell(new Phrase("电子邮件",fontSong));

     table.addCell(new Phrase("[email protected]",fontSong));

     //将表格添加到文本中

     document.add(table);

     //关闭文本,释放资源

     document.close();


   }catch(Exception e){

     System.out.println(e);  

   }

  }

/**

 *
方法说明:主方法

 *
输入参数:

 *
返回类型:

 */

  public static void main(String[] arg){

    myPDF p = new myPDF();

    p.write();

  }

---------------------

作者:applepop

来源:CSDN

原文:https://blog.csdn.net/applepop/article/details/1765236

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(java 创建一个表格pdf)