JAVA导出PDF文档

Java导出PDF  

导出需要jar包:iText-5.0.6.jar,iTextAsian.jar,iText-rtf-2.1.7.jar,jxl.jar,网上有大把以下都是我以前项目中用过的,现整理下,把自己的数据加进去即可,希望能帮到大家!

导出PDF:

package com.bank.util;

/**
 * IText说明

 iText 是 Lowagie.com 站点(请参阅 参考资料)免费提供的 Java 库。
 iText 库的功能很强大,支持 HTML、RTF 和 XML 文档的生成,此外还能够生成 PDF 文档。
 可以从多种字体中选择文档中所使用的字体。
 同时,iText 的结构允许使用相同的代码生成以上任意类型的文档。
 http://itextpdf.com/官网
 http://sourceforge.net/projects/itext/files/源码
 * iText API:
 com.lowagie.text.Document 是生成 PDF 的主要的类。它是需要使用的第一个类。一旦开始创建文档,将需要一个写入器向文档中写入内容。
 com.lowagie.text.pdf.PdfWriter 就是一个 PDF 写入器。下面列出了通常需要使用的类:
 com.lowagie.text.Paragraph —— 这个类表示一个缩进的段落。
 com.lowagie.text.Chapter —— 这个类表示 PDF 文档中的章节。使用 Paragraph 作为题目并使用 int 作为章节号码来创建它。
 com.lowagie.text.Font —— 这个类包含了全部的字体规范,例如字体、大小、样式和颜色。各种字体都在这个类中声明为静态常数。
 com.lowagie.text.List —— 这个类表示一个列表,按顺序包含许多 ListItems。
 com.lowagie.text.Table —— 这个类表示包含单元格的表,单元格有序地排列在矩阵中。
 */
import java.io.FileOutputStream;

import java.io.IOException;

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Element;

import com.lowagie.text.Font;

import com.lowagie.text.PageSize;

import com.lowagie.text.Paragraph;

import com.lowagie.text.pdf.BaseFont;

import com.lowagie.text.pdf.PdfPCell;

import com.lowagie.text.pdf.PdfPTable;

import com.lowagie.text.pdf.PdfWriter;

public class PdfTools {
 /**
  *
  * 生成PDF的方法
  *
  * @return boolean
  *
  */

 public static boolean createPDF(String pdfPath) {

  Document document = new Document();// 建立一个Document对象

  document.setPageSize(PageSize.A4);// 设置页面大小

  try {

   PdfWriter.getInstance(document, new FileOutputStream(pdfPath));// 建立一个PdfWriter对象
   document.open();
   BaseFont bfChinese = BaseFont.createFont("STSong-Light",
     "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 设置中文字体
   Font titleFont = new Font(bfChinese, 15, Font.BOLD);// 设置字体大小
   Font headFont = new Font(bfChinese, 10, Font.BOLD);// 设置字体大小
   Font headFont1 = new Font(bfChinese, 10, Font.BOLD);// 设置字体大小
   Font headFont2 = new Font(bfChinese, 10, Font.NORMAL);// 设置字体大小
   document.add(new Paragraph("标题",
     headFont));
   
   float[] widths = { 140f, 60f, 320f, 120f, 110f, 110f, 190f };// 设置表格的列宽
   
   PdfPTable table = new PdfPTable(widths);// 建立一个pdf表格

   table.setSpacingBefore(20f);// 设置表格上面空白宽度

   table.setTotalWidth(535);// 设置表格的宽度

   table.setLockedWidth(true);// 设置表格的宽度固定

    table.getDefaultCell().setBorder(1);//设置表格默认为边框1

   PdfPCell cell = new PdfPCell(new Paragraph("Taony125 testPdf 中文字体",
     headFont));// 建立一个单元格

   // cell.setBorder(0);//设置单元格无边框

//   cell.setColspan(7);// 设置合并单元格的列数

   table.addCell(cell);// 增加单元格

   cell = new PdfPCell(
     new Paragraph("Taony125 testPdf 中文字体", headFont));

   // cell.setBorder(0);

   cell.setFixedHeight(20);

   cell.setColspan(7);// 设置合并单元格的列数

   cell.setHorizontalAlignment(Element.ALIGN_CENTER);// 设置内容水平居中显示

   cell.setVerticalAlignment(Element.ALIGN_MIDDLE);

   table.addCell(cell);

   cell = new PdfPCell(new Paragraph("Taony125 testPdf 中文字体",
     headFont1));

   // cell.setBorder(0);

   cell.setFixedHeight(20);

//   cell.setColspan(7);// 设置合并单元格的列数

   cell.setHorizontalAlignment(Element.ALIGN_CENTER);// 设置内容水平居中显示

   cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
   
   table.addCell(cell);

   table.addCell(new Paragraph("Taony125 testPdf 中文字体", headFont2));

   document.add(table);

  } catch (DocumentException de) {

   System.err.println(de.getMessage());

   return false;

  }

  catch (IOException ioe) {

   System.err.println(ioe.getMessage());

   return false;

  }

  document.close();

  return true;

 }

 /**
  *
  * @param args
  *
  */

 public static void main(String[] args) {

  // TODO 自动生成方法存根

  PdfTools.createPDF("d:/test.pdf");

 }

}

你可能感兴趣的:(郏高阳,java导出pdf)