服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

[java100例]039、生成pdf文件

import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import java.io.*;
import java.util.*;
import java.awt.color;


/**
 * <p>title: 生成pdf文件</p>
 * <p>description: 本实例通过使用itext包生成一个表格的pdf文件</p>
 * <p>copyright: copyright (c) 2003</p>
 * <p>filename: mypdf.java</p>
 * @version 1.0
 */
public class mypdf{
/**
 *<br>方法说明:写pdf文件
 *<br>输入参数:
 *<br>返回类型:
 */
  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("zh_san@hotmail.com",fontsong));
     table.addcell(new phrase("电子邮件",fontsong));
     table.addcell(new phrase("li_si@hotmail.com",fontsong));
     //将表格添加到文本中
     document.add(table);
     //关闭文本,释放资源
     document.close();
    
   }catch(exception e){
     system.out.println(e);  
   }
  }
/**
 *<br>方法说明:主方法
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void main(string[] arg){
    mypdf p = new mypdf();
    p.write();
  }
}

扫描关注微信公众号