资源简介

包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar

资源截图

代码片段和文件信息

package pdftest;
import java.io.FileOutputStream;

import com.itextpdf.text.baseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.Barcode128;
import com.itextpdf.text.pdf.BarcodeQRCode;
import com.itextpdf.text.pdf.baseFont;
import com.itextpdf.text.pdf.PdfAction;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfOutline;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfWriter;

public class Pdftabletest {
 static Font fontChinese ;
 static{
baseFont bfChinese;
try {
bfChinese = baseFont.createFont(“STSong-Light“ “UniGB-UCS2-H“baseFont.NOT_embedDED);
Font fontChinese = new Font(bfChinese 12 Font.NORMAL);
Pdftabletest.fontChinese=fontChinese;
} catch ( Exception e) {
e.printStackTrace();
}
}
public static class PdfAutopageNumHelper extends PdfPageEventHelper {  
     
        public void onEndPage(PdfWriter writer Document document) {  
               
            PdfContentByte cb = writer.getDirectContent();  
            cb.saveState();  
      
            cb.beginText();  
            cb.setFontAndSize(fontChinese.getbaseFont() 10);
            //Footer  
            float y = document.bottom(-20);  
     
            String text = “第“ + writer.getPageNumber() + “页“; 
         
            cb.showTextAligned(PdfContentByte.ALIGN_CENTER  text  
                               (document.right() + document.left())/2  
                               y 0);  
            cb.endText();  
              
            cb.restoreState();  
        }  
    }
/**
 * 给PDF添加目录
 * @param currentnode
 * @param cataname
 * @param flag 0 是表示和当前节点平级  1作为当前节点的子节点
 * @return
 * @throws DocumentException 
 */
public static PdfOutline addCatalog(Document document PdfOutline currentnodeString catanameint kidflag) throws DocumentException{

String catakey=cataname+(int)(Math.random()*10000000);
        document.add(new Paragraph(new Chunk(catanamefontChinese).setLocalDestination(catakey)));  
        PdfOutline oline1;
        if(kidflag==1){
         oline1 = new PdfOutline(currentnode PdfAction.gotoLocalPage(catakey false) cataname);  
        }else{
            oline1 = new PdfOutline(currentnode.parent() PdfAction.gotoLocalPage(catakey false) cataname);  
        }
        
        return oline1;
  
}
public static void main(String[] args) {
Document document = new Document();
        try {
            PdfWriter writer = PdfWriter.getInstance(documentnew FileOutputStream(“f:/test/test.pdf“));
            writer.setPageEvent(new PdfAutopageNumHelper());  
            document.open();
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2166560  2017-08-17 17:40  Test\itext-asian-5.2.0.jar

     文件    2164152  2017-02-24 11:59  Test\itextpdf-5.5.5.jar

     文件       6747  2017-08-18 16:15  Test\Pdftabletest.java

     文件       4671  2017-08-18 16:14  Test\test.pdf

     文件     245428  2015-05-07 20:10  Test\xmlworker-5.5.6.jar

     目录          0  2017-08-18 16:16  Test

----------- ---------  ---------- -----  ----

              4587558                    6


评论

共有 条评论