posts - 41, comments - 15, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

iText生成PDF文件

Posted on 2014-06-24 16:27 yuhaibo736 阅读(1454) 评论(0)  编辑  收藏

import java.awt.Color;
import java.io.FileOutputStream;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

public class CellEvents {


 /**
  * @param args
  */
 public static void main(String[] args) {
  Object[] objArr = new Object[]{100,20,300};
  
  Document document = new Document(PageSize.A4.rotate(),50,50,50,50);
  try{
   //bfSongti = BaseFont.createFont("/simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
   Font songtiSFivefont = new Font(BaseFont.createFont("/simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED), 9f);//宋体小五号字
         //设置存放位置
         PdfWriter.getInstance(document, new FileOutputStream("D:/test.pdf"));
         document.open();
 
         PdfPTable table = new PdfPTable(5);
   table.setSpacingBefore(10f);
   table.getDefaultCell().setPadding(5);
   //HowbuyBorderPdfPTableEvent event = new HowbuyBorderPdfPTableEvent();
   //table.setTableEvent(event);
   //table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
   table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
   PdfPCell cellTitle = new PdfPCell(new Phrase("总资产\n(万元)",songtiSFivefont));
   cellTitle.setBorderWidth(2f);
   cellTitle.setBackgroundColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
   cellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);
   cellTitle.setMinimumHeight(25);
   table.addCell(cellTitle);
 
   cellTitle = new PdfPCell(new Phrase(""));
   cellTitle.setBorder(Rectangle.NO_BORDER);
   cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
   cellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cellTitle);
   
   cellTitle = new PdfPCell(new Phrase("当前收益\n(万元)",songtiSFivefont));
   cellTitle.setBorderWidth(2f);
   cellTitle.setBackgroundColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
   cellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cellTitle);
 
   cellTitle = new PdfPCell(new Phrase("",songtiSFivefont));
   cellTitle.setBorder(Rectangle.NO_BORDER);
   cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
   cellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cellTitle);
   
   
   cellTitle = new PdfPCell(new Phrase("累计收益\n(万元)",songtiSFivefont));
   cellTitle.setBorderWidth(2f);
   cellTitle.setBackgroundColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
   cellTitle.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cellTitle);
   
   float[] widths2 = { 24.5f, 12.25f,24.5f,12.25f,24.5f};

   table.setWidths(widths2);
   
   table.setHorizontalAlignment(Element.ALIGN_LEFT);//
   table.setWidthPercentage(70);
   double zzc = objArr[0]==null ? 0:Double.parseDouble(objArr[0].toString());
   double dqsy = objArr[1]==null ? 0:Double.parseDouble(objArr[1].toString());
   double ljsy = objArr[2]==null ? 0:Double.parseDouble(objArr[2].toString());
   PdfPCell cell1 = new PdfPCell(new Phrase(String.valueOf(zzc),songtiSFivefont));
   cell1.setBorderWidth(2f);
   cell1.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
   cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
   cell1.setMinimumHeight(20);
   table.addCell(cell1);
   
   cell1 = new PdfPCell(new Phrase("",songtiSFivefont));
   cell1.setBorder(Rectangle.NO_BORDER);
   cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
   cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cell1);
   
   cell1 = new PdfPCell(new Phrase(String.valueOf(dqsy),songtiSFivefont));
   cell1.setBorderWidth(2f);
   cell1.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
   cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cell1);
   
   cell1 = new PdfPCell(new Phrase("",songtiSFivefont));
   cell1.setBorder(Rectangle.NO_BORDER);
   cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
   cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cell1);
   
   cell1 = new PdfPCell(new Phrase(String.valueOf(ljsy),songtiSFivefont));
   cell1.setBorderWidth(2f);
   cell1.setBorderColor(new BaseColor(new Color(153, 51, 0)));
   cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
   cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
   table.addCell(cell1);
   document.add(table);
  }catch(Exception ex){
   ex.printStackTrace();
  }
        document.close();

 }

}


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问