`
penghao122
  • 浏览: 367518 次
  • 性别: Icon_minigender_1
  • 来自: 广东珠海
社区版块
存档分类
最新评论

求能够在pdf最后一页加上统计所有本页合计的数量

    博客分类:
  • java
pdf 
阅读更多

请教各们同仁.怎么能够控制到itext 生成最后一页的时候.加入一个汇总本页合计.

源码和生成的pdf在附件中.

package pdf;

import java.awt.Color;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.TreeSet;

import com.lowagie.text.Cell;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfGState;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfTable;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;

public class PDFTestUtil  extends  PdfPageEventHelper {
	


    private static PdfTemplate template ; 
    private static BaseFont bfChinese;
    public static BaseFont arial;
    private static Font fontChinese;
    private static Font fontCN;
    private static PdfContentByte cb;
    private static Font normalFont = new Font(arial, 20, Font.BOLD);
    Paragraph paragraph = null;
    private int temp =0;
	/** An Image that goes in the header. */
    public Image headerImage;
    /** The headertable. */

    /** The Graphic state */
    public PdfGState gstate;
    /** A template that will hold the total number of pages. */
    public PdfTemplate tpl;
    /** The font that will be used. */
    public BaseFont helv;
    
    public static Table getEmptyTable()
    {
        Table emptyTable = null;
        try
        {       
            emptyTable = new Table(1);
            emptyTable.setWidth(100);
            emptyTable.setBorder(Rectangle.NO_BORDER);
            
            Cell c = new Cell(new Phrase("\n", normalFont));
            c.setBorder(Rectangle.NO_BORDER);
            emptyTable.addCell(c);
        }
        catch( Exception e )
        {
            e.printStackTrace();
        }       
        return emptyTable;
    }   
    
//  Override iText's class to handle total page number.
	  /**
   * @see com.lowagie.text.pdf.PdfPageEventHelper#onOpenDocument(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document)
   */
  public void onOpenDocument(PdfWriter writer, Document document) {

          try {
              // initialization of the template
            tpl = writer.getDirectContent().createTemplate(100, 100);
            tpl.setBoundingBox(new Rectangle(-20, -20, 100, 100));
		} catch (Exception e) {
			e.printStackTrace();
		}
  }    
  
  /**
   * @see com.lowagie.text.pdf.PdfPageEventHelper#onEndPage(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document)
   */
  public void onEndPage(PdfWriter writer, Document document) {

      // write the headertable    
      try {
    	  
    	  temp = writer.getPageNumber();
	
    	  PdfPTable table = new PdfPTable(4);//fourth columns

          int headerwidths[] =  {40, 30, 10,20}; // percentage
          table.setWidths(headerwidths);
          table.setWidthPercentage(100);
          table.getDefaultCell().setBorder(0);
          table.getDefaultCell().setHorizontalAlignment(0);
          
          //first Row
          PdfPCell newCell = new PdfPCell();
          newCell.addElement(new Paragraph(" "));
          newCell.setBorder(Rectangle.NO_BORDER);
          table.addCell(newCell);
          
          table.getDefaultCell().setHorizontalAlignment(2);
          newCell = new PdfPCell();
  		  newCell.setBorder(Rectangle.NO_BORDER);
  		  Paragraph paragraph = new Paragraph("本页合计",fontCN);
  		  paragraph.setAlignment(Rectangle.ALIGN_CENTER);
  		  newCell.addElement(paragraph);
          table.addCell(newCell);
          
          table.getDefaultCell().setHorizontalAlignment(2);
          newCell = new PdfPCell();
  		  newCell.setBorder(Rectangle.NO_BORDER);
  		  paragraph = new Paragraph("2,771");
  		  paragraph.setAlignment("right");
  		  newCell.addElement(paragraph);
          table.addCell(newCell);
          
          newCell = new PdfPCell();
  		 newCell.setBorder(Rectangle.NO_BORDER);
 		  paragraph = new Paragraph("267,362,55");
  		  paragraph.setAlignment("right");
  		  newCell.addElement(paragraph);
          table.addCell(newCell);
       
          //2nd Row
          table.getDefaultCell().setBorder(1);
          PdfPCell second = new PdfPCell();
          second.setColspan(4);
          second.setBorder(Rectangle.BOTTOM);
          table.addCell(second);
      

      
          //fourth Row
        PdfPCell fourth = new PdfPCell();
  	    fourth.setBorder(Rectangle.NO_BORDER);
  	    fourth.addElement(new Paragraph(" "));
      	table.addCell(fourth);
      	
      	table.getDefaultCell().setHorizontalAlignment(Rectangle.RIGHT);
  		fourth.setBorder(Rectangle.NO_BORDER);
  		paragraph = new Paragraph("订购方签名及戳章:",fontCN);
  		paragraph.setAlignment(Rectangle.ALIGN_RIGHT);
  		fourth.addElement(paragraph);
  		table.addCell(fourth);
  		
          table.getDefaultCell().setBorder(1);
          fourth = new PdfPCell();
          fourth.setBorder(Rectangle.BOTTOM);
          fourth.setColspan(2);
          table.addCell(fourth);
 
      //five Row
        PdfPCell five = new PdfPCell();
        five.addElement(new Paragraph(" "));
        five.setBorder(Rectangle.NO_BORDER);
  	    table.addCell(five);
        five = new PdfPCell();
        five.setColspan(3);
  		five.setBorder(Rectangle.NO_BORDER);
  		paragraph = new Paragraph("日期             :                   年                            月                     日",fontCN);
  		paragraph.setAlignment(Rectangle.ALIGN_RIGHT);
  		five.addElement(paragraph);
  		table.addCell(five);

          document.add(table);
       
	      PdfContentByte cb = writer.getDirectContent();
	      cb.saveState();
	      
	     String text = "**注意:此报表内容含本公司机密资料,严根禁向无关人透露!**  Page " + writer.getPageNumber() + " of ";
	      float textSize = bfChinese.getWidthPoint(text, 12);
	      float textBase = document.bottom() - 20;
	      cb.beginText();
	      cb.setFontAndSize(bfChinese, 12);
	      float adjust = bfChinese.getWidthPoint("0", 12);
	      
	      cb.setTextMatrix(document.right() - textSize - adjust, textBase);
	      cb.showText(text);
	      cb.endText();
	      cb.addTemplate(tpl, document.right() - adjust, textBase);
	      cb.saveState();
	  } catch (Exception e) {

		e.printStackTrace();
	 } 

  }
  
  /**
   * @see com.lowagie.text.pdf.PdfPageEventHelper#onStartPage(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document)
   */
  public void onStartPage(PdfWriter writer, Document document) {

	   Paragraph paragraph = new Paragraph("许可经销商品合同",fontCN);
	   paragraph.setAlignment("center");
	   try {
		document.add(paragraph);
		document.add(getEmptyTable());
		document.add(createHeader(fontCN));   
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}


  }
  
  /**
   * @see com.lowagie.text.pdf.PdfPageEventHelper#onCloseDocument(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document)
   */
  public void onCloseDocument(PdfWriter writer, Document document) {
	  
	 if((temp) == (writer.getPageNumber()-1)){

	 }
     tpl.beginText();
     tpl.setFontAndSize(bfChinese, 12);
     tpl.setTextMatrix(0, 0);
     tpl.showText(Integer.toString(writer.getPageNumber() - 1));
     tpl.endText();
  }




	public static void main(String[] args) throws Exception {
	
		bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
		fontCN = new com.lowagie.text.Font(bfChinese, 12,com.lowagie.text.Font.NORMAL);

		

        // step 1
		Document document =  new Document(PageSize.A4, 30, 30, 30, 100);  //定义纸张类型及方向,页边距
	    //step2    
		PdfWriter  writer = PdfWriter.getInstance(document,new FileOutputStream("Contract.pdf"));
        writer.setPageEvent(new PDFTestUtil());	
        // step3
		document.open();
	    //step 4	   

        for(int i =0 ;i<10; i++){
        	document.add(createBody(fontCN));//body
        }
        
        // step 5: we close the document (the outputstream is also closed internally)
        document.close();


	}
	public static PdfPTable createBody(Font fontCN) throws DocumentException{
	    Paragraph paragraph =null;
		PdfPTable table = new PdfPTable(4);//fourth columns
        int headerwidths[] = {20 ,50, 10,20}; // percentage
        table.setWidths(headerwidths);
        table.setWidthPercentage(100);
        table.getDefaultCell().setBorder(0);
        
        table.getDefaultCell().setHorizontalAlignment(0);
      
        PdfPTable headerTable = new PdfPTable(2);
        headerTable.setWidthPercentage(20);
        headerTable.getDefaultCell().setBorder(0);
        headerTable.getDefaultCell().setHorizontalAlignment(1);
        PdfPCell newCell = new PdfPCell();
        //first row
		newCell.setBorder(Rectangle.NO_BORDER);
		newCell.setColspan(2);
		Paragraph prargraph = new Paragraph("310094030");
		prargraph.setAlignment("center");
		newCell.addElement(prargraph);
		headerTable.getDefaultCell().setHorizontalAlignment(1);
		headerTable.addCell(newCell);
		//2nd row
		newCell = new PdfPCell();
		newCell.setBorder(Rectangle.NO_BORDER);
		newCell.setColspan(2);
		prargraph = new Paragraph("第3期",fontCN);
		prargraph.setAlignment("center");
		newCell.addElement(prargraph);
		headerTable.addCell(newCell);
		//three row
		newCell = new PdfPCell();
		newCell.setBorder(Rectangle.NO_BORDER);
		newCell.addElement(new Paragraph("进货价",fontCN));
		headerTable.addCell(newCell);
		newCell = new PdfPCell();
		newCell.setBorder(Rectangle.NO_BORDER);
		newCell.addElement(new Paragraph("零售价",fontCN));
		headerTable.addCell(newCell);
		newCell = new PdfPCell();
		//forth row
		newCell.setBorder(Rectangle.NO_BORDER);
		prargraph = new Paragraph("53.55");
		prargraph.setAlignment("left");
		newCell.addElement(prargraph);
		headerTable.addCell(newCell);
		newCell = new PdfPCell();
		newCell.setBorder(Rectangle.NO_BORDER);
		prargraph = new Paragraph("119.00");
		prargraph.setAlignment("left");
		newCell.addElement(prargraph);
		headerTable.addCell(newCell);
        table.addCell(headerTable);//first column
        
        PdfPTable sizeTable = new PdfPTable(6);
        //first row
        
        PdfPCell sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("-S-",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("-M-",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("-L-",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("-XL-",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("-XXL-",fontCN));
        sizeTable.addCell(sizeCell);
        //2nd row
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("01",fontCN));
        sizeTable.addCell(sizeCell);

        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("34",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("43",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("54",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("5",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        //three row
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("33",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("43",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("43",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("54",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("54",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        //fourth row
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("52",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("43",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("4",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("4",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("45",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        //five row
        sizeTable.getDefaultCell().setBorder(1);
        sizeCell = new PdfPCell();
        sizeCell.setColspan(6);
        sizeCell.setBorder(Rectangle.BOTTOM);
        sizeTable.addCell(sizeCell);
        
        //six row
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("120",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("90",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("112",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeCell.addElement(new Paragraph("104",fontCN));
        sizeTable.addCell(sizeCell);
        sizeCell = new PdfPCell();
        sizeCell.setBorder(Rectangle.NO_BORDER);
        sizeTable.addCell(sizeCell);
        table.addCell(sizeTable);//2nd column
        
        PdfPTable numTable = new PdfPTable(1);
        numTable.setWidthPercentage(100);
        numTable.getDefaultCell().setBorder(0);
        numTable.getDefaultCell().setHorizontalAlignment(0);
        
        PdfPCell numCell = new PdfPCell();
        numCell.setBorder(Rectangle.NO_BORDER);
        numCell.addElement(new Paragraph("       "));
        numTable.addCell(numCell);
        
        numCell = new PdfPCell();
        numCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("136");
        paragraph.setAlignment("right");
        numCell.addElement(paragraph);
        numTable.addCell(numCell);
        
        numCell = new PdfPCell();
        numCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("194");
        paragraph.setAlignment("right");
        numCell.addElement(paragraph);
        numTable.addCell(numCell);
        
        numCell = new PdfPCell();
        numCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("96");
        paragraph.setAlignment("right");
        numCell.addElement(paragraph);
        numTable.addCell(numCell);
        
        numTable.getDefaultCell().setBorder(1);
        numCell = new PdfPCell();
        numCell.setColspan(1);
        numCell.setBorder(Rectangle.BOTTOM);
        numTable.addCell(numCell);
        numTable.getDefaultCell().setHorizontalAlignment(2);
        numCell = new PdfPCell();
        numCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("426");
        paragraph.setAlignment("right");
        numCell.addElement(paragraph);
        numTable.addCell(numCell);
        table.addCell(numTable);//three column
        
        PdfPTable orderTable = new PdfPTable(1);
        orderTable.setWidthPercentage(100);
        orderTable.getDefaultCell().setBorder(0);
        orderTable.getDefaultCell().setHorizontalAlignment(2);
        PdfPCell orderCell = new PdfPCell();
        orderCell.addElement(new Paragraph("    "));
        orderCell.setBorder(Rectangle.NO_BORDER);
        orderTable.addCell(orderCell);

        
        orderCell = new PdfPCell();
        orderCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("7.282.80");
        paragraph.setAlignment("right");
        orderCell.addElement(paragraph);
        orderTable.addCell(orderCell);
        
        orderCell = new PdfPCell();
        orderCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("10.388.70");
        paragraph.setAlignment("right");
        orderCell.addElement(paragraph);

        orderTable.addCell(orderCell);
        
        orderCell = new PdfPCell();
        orderCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("5.140.80");
        paragraph.setAlignment("right");
        orderCell.addElement(paragraph);

        orderTable.addCell(orderCell);
        
        orderTable.getDefaultCell().setBorder(1);
        orderCell = new PdfPCell();
        orderCell.setColspan(1);
        orderCell.setBorder(Rectangle.BOTTOM);
        orderTable.addCell(orderCell);
        
        orderCell = new PdfPCell();
        orderCell.setBorder(Rectangle.NO_BORDER);
        paragraph = new Paragraph("22.812.30");
        paragraph.setAlignment("right");
        orderCell.addElement(paragraph);
        orderTable.addCell(orderCell);
        table.addCell(orderTable);//fourth column
		return table;
	}
	

	
    private   PdfPTable createHeader(Font fontCN ) throws Exception{

		
    	PdfPTable table = new PdfPTable(1);
   	   table.setWidthPercentage(100);
   	   table.setSpacingBefore(3f);  //设置标题和第一个表格间的距离.不然会粘在一起
   	   table.getDefaultCell().setBorder(0);
   	   
          //frist row
          PdfPTable headerTable = new PdfPTable(4);
          int headerwidths[] = {20, 30, 30,20}; // percentage
          headerTable.setWidths(headerwidths);
          headerTable.setWidthPercentage(100);
          headerTable.setSpacingBefore(3f);  //设置标题和第一个表格间的距离.不然会粘在一起
          headerTable.getDefaultCell().setBorder(0);
          headerTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
	   	   PdfPCell cell = new PdfPCell();
	   	   paragraph =new Paragraph("订单地区: 厦门",fontCN);
	   	   paragraph.setAlignment("left");
	   	   cell.addElement(paragraph);
	   	   cell.setBorder(Rectangle.NO_BORDER);
   	     headerTable.addCell(cell);
   	   
   	   headerTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
   	   cell = new PdfPCell();
   	   paragraph =new Paragraph("出货店号: 169",fontCN);
   	   paragraph.setAlignment("left");
   	   cell.addElement(paragraph);
   	   cell.setBorder(Rectangle.NO_BORDER);
   	   headerTable.addCell(cell);
   	   
   	   headerTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
   	   cell = new PdfPCell();
   	   paragraph =new Paragraph("订货店号:207,209,211,219,261,275,276,277,281,408",fontCN);
   	   paragraph.setAlignment("right");
   	   cell.addElement(paragraph);
   	   cell.setColspan(2);
   	   cell.setBorder(Rectangle.NO_BORDER);
   	   headerTable.addCell(cell);
   	   table.addCell(headerTable);
   	   //2nd row
   		   
       table.getDefaultCell().setBorder(1);
       PdfPCell newCell = new PdfPCell();
       newCell.setBorder(Rectangle.BOTTOM);
       newCell.setColspan(4);
       table.addCell(newCell);
     
        //three row
        PdfPTable newTable = new PdfPTable(4);
   	    float widths[] = {20, 50, 10,20}; // percentage
   	    //newTable.setWidths();
   	    newTable.setTotalWidth(widths);
   	    newTable.setWidthPercentage(100);
   	    newTable.setSpacingBefore(3f);  //设置标题和第一个表格间的距离.不然会粘在一起
   	    newTable.getDefaultCell().setBorder(0);
   	    
   	    newTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
   		newCell = new PdfPCell();
   		newCell.setBorder(Rectangle.NO_BORDER);
    	paragraph =new Paragraph("款号",fontCN);
       	paragraph.setAlignment("left");
       	newCell.addElement(paragraph);
   		newTable.addCell(newCell);
   		
   		newCell = new PdfPCell();
   		newCell.setBorder(Rectangle.NO_BORDER);
    	paragraph =new Paragraph("颜色",fontCN);
       	paragraph.setAlignment("left");
       	newCell.addElement(paragraph);
   		newTable.addCell(newCell);
   		
   		newTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
   		newCell = new PdfPCell();
   		newCell.setBorder(Rectangle.NO_BORDER);
   		paragraph =new Paragraph("数量总数",fontCN);
   		paragraph.setAlignment("right");
   		newCell.addElement(paragraph);
   		newTable.addCell(newCell);
   		
   		newCell = new PdfPCell();
   		newCell.setBorder(Rectangle.NO_BORDER);
   		paragraph =new Paragraph("订单总金额",fontCN);
   		paragraph.setAlignment("right");
   		newCell.addElement(paragraph);
   		newTable.addCell(newCell);
   		table.addCell(newTable);
   		//forth row
        table.getDefaultCell().setBorder(1);
        newCell = new PdfPCell();
        newCell.setBorder(Rectangle.BOTTOM);
        newCell.setColspan(4);
        table.addCell(newCell);
    
		return table;
}
    

}
  • pdf.rar (8.9 KB)
  • 下载次数: 51
分享到:
评论

相关推荐

    PDF页面合并器 - 合并多页PDF成一页

    PDF页面合并器是一款Windows系统下的PDF多页面合并成一页的工具软件,它可将2个或多个PDF页面合并在一页PDF页面上。 它允许您在合并页面上设置页面数量,因此您可以将每2、4或更多页面合并成一页。 这个出色的实用...

    多页tiff、PDF页数统计工具

    "多页tiff、PDF页数统计工具"是一个专门针对这类文件设计的应用程序,其主要功能是帮助用户快速、批量地统计TIFF和PDF文件中的页面数量。在处理大量文档时,这个工具可以极大地提高工作效率。 首先,我们需要了解...

    《统计学习方法-李航》200页PDF手推公式细节讲解,包含详细的目录以及R语言代码实现,可结合

    《统计学习方法-李航》是一本专注于统计学习领域的专业书籍,由李航所著。此书被广泛应用于机器学习、数据挖掘、模式识别等多个领域,是学习统计学习理论与方法的重要参考资料。华为杯则是指与华为公司相关的一系列...

    快速批量统计PDF页数

    在IT行业中,PDF(Portable Document Format)是一种广泛使用的文件格式,它能保持文档的原始布局和格式,方便阅读和分享。然而,对于大量PDF文件,手动统计每份文档的页数是一项耗时的工作。"快速批量统计PDF页数...

    itextpdf在已有pdf指定页及位置添加图片(包含jar及实例)

    在IT行业中,PDF(Portable Document Format)是一种广泛用于文档共享的标准格式,因为它能保持文档的原始格式和布局。然而,有时我们需要对PDF进行编辑,比如在已有的PDF页面上添加图片。这里我们将深入探讨如何...

    数理统计茆诗松王静龙.pdf

    数理统计作为数学的一个分支,主要研究如何以概率为基础对数据进行分析、解释和展示。数理统计的基本概念包括总体、样本、统计量及其分布,它们是数理统计分析的核心要素。本篇文章将围绕上述内容展开详细的知识点...

    批量删除PDF指定页面

    6. **保存新PDF**:最后,软件将重构后的PDF保存为一个新的文件,这个新文件就是没有指定页面的PDF。 在这个过程中,软件可能会使用一些开源库,如PyPDF2(Python语言)或iText(Java语言),它们提供了处理PDF文档...

    pdf与文本文档字数统计

    在IT行业中,字数统计是一项基础但至关重要的任务,尤其对于文档处理和内容分析而言。本文将详细探讨如何对PDF和文本文档进行字数、单词及符号统计,并提供相关工具和技术的介绍。 首先,我们要了解PDF(Portable ...

    Spire.pdf.zip+++++++ 祛水印 没有数量限制+++++++++++++++++++++ 亲测可用

    标题中的"Spire.pdf.zip"指的是一个压缩文件,其中包含了名为"Spire.pdf"的PDF文档。这个压缩包被特别标记为"祛水印",意味着它可能包含了一个工具或方法,用于移除PDF文件上的水印。"没有数量限制"的描述表明,无论...

    在页脚显示PDF的总页数

    本篇文章将深入探讨如何在PDF中实现这一功能,主要使用iText库,这是一个强大的Java和.NET PDF处理库。 首先,我们需要了解iText库的基本概念。iText是一个开源项目,它提供了创建、修改和操作PDF文档的能力。通过...

    概率论与数理统计(浙江大学第四版)教程和答案pdf版本-带目录

    《概率论与数理统计》是数学领域的重要分支,它在科研、工程、经济和许多其他领域都有着广泛的应用。浙江大学出版的第四版教程是该学科的经典教材之一,为学生提供了全面而深入的学习材料。这份资源包含了教程正文和...

    李政道的统计力学(北师大出版社)

    在这个基础上,进一步假设系统在所有可能的本征态上的概率是相等的,这是统计力学平衡态的唯一基本假设,这个假设同样适用于其他统计问题,如掷骰子游戏。 书中还讨论了正则系综的概念,正则系综是由大量相同的粒子...

    概率论与数理统计(浙大四版).pdf

    概率论与数理统计(浙大四版)

    统计过程控制SPC(清华大学).pdf

    根据提供的文件信息,我们可以归纳并深入探讨统计过程控制(SPC)的相关知识点,特别是结合《统计过程控制——学习与理解》这本书的内容。 ### 统计过程控制(SPC)基本概念及其理论基础 #### 1.1 过程定义及组成...

    Openoffice转换多列EXCEL为PDF行列对应解决方法

    进入“文件”-&gt;“页面设置”,在“工作表”选项卡中,你可以选择“缩放比例”,使得所有列都能在一页内显示。同时,可以调整页边距,确保内容不被裁剪。 2. **OpenOffice转换设置**:在OpenOffice Calc中打开Excel...

    非参数统计-吴喜之.pdf

    在每节末都有软件使用注解,给出了如何分别用R、SPSS和SAS等软件对例子数据进行分析的具体步骤。每章末都有相关的练习题,以便读者练习使用有关检验方法

    基于pdf.js在android内部显示pdf文件

    `pdf.js` 是一个由Mozilla开发的开源库,主要用于在Web浏览器中渲染PDF文档,而无需依赖任何特定的插件。这个项目的目标是提供一个高质量、跨平台的PDF查看器,使得PDF文件能在各种设备上流畅地展现。在本篇中,我们...

    Android 一个读取和显示pdf文件的库 源码

    在Android平台上,开发一款能够读取和显示PDF文件的应用是一个常见的需求。为了实现这一功能,开发者通常会依赖第三方库。本篇文章将详细讲解基于Android的一个开源库——Android-Pdf-Viewer-Library,它是一个用于...

Global site tag (gtag.js) - Google Analytics