快速业务通道

[JAVA100例]039、生成PDF文件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

[JAVA100例]039、生成PDF文件

时间:2011-01-09

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));    t

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号