java导出pdf

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

 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值