测试一下

来源:互联网 发布:软件开发框架协议 编辑:程序博客网 时间:2024/06/16 19:20
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.URLEncoder;import java.util.Date;import java.util.Map;import javax.swing.ImageIcon;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Image;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfContentByte;import com.itextpdf.text.pdf.PdfReader;import com.itextpdf.text.pdf.PdfStamper;import com.itextpdf.text.pdf.PdfWriter;import com.itextpdf.tool.xml.XMLWorkerHelper;/** * * * @author <a href="http://www.micmiu.com">Michael Sun</a> */public class Demo4HTMLCn2 {    /**     * @param args     */    public static void main(String[] args) throws Exception {      /*  StringBuilder sb = new StringBuilder();        BaseFont baseFont = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);        //BaseFont.createFont("C:/WINDOWS/Fonts/arialuni.ttf", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);        PrintStream printStream = new PrintStream(new FileOutputStream(                "E:/Test/iText.html"));        sb.append("<html>");        sb.append("<head>");        sb.append("<title></title>");        sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=GBK\" />");        sb.append("</head>");        sb.append("<style>");        sb.append(".table{width:100%; margin:auto; border-top:3px solid #000;border-left:3px solid #000; border-bottom:2px solid #000;border-right:2px solid #000;}");//        sb.append(".top{border-bottom:3px solid #000;height:54px; padding:10px 0; font-weight:bold;}");        sb.append("@font-face { font-family: simsun1;src:url('C:\\Windows\\Fonts\\'); }");        sb.append(".td{border-right:1px solid #000;border-bottom:1px solid #000;height:60px; padding:10px 0; text-align:center;}");        sb.append(".td1{border-right:1px solid #000;border-bottom:1px solid #000; height:45px;  padding:10px 0; text-align:center;}");        sb.append(".td2{border-right:1px solid #000;border-bottom:1px solid #000; height:45px;  padding:10px 0; text-align:left;}");        sb.append(".td3{border-right:1px solid #000;border-bottom:1px solid #000; height:45px;  padding:10px 0; text-align:center;}");        sb.append(".gttd{border-right:1px solid #000;border-bottom:1px solid #000;  padding:10px 0; text-align:center;}");        sb.append(".PageNext{page-break-after: always;}");        sb.append(".span{font-size:10.0pt; font-family:simsun;}");        sb.append(".gqp{margin-right:50px;margin-left:50px;line-height:25px;}");        sb.append(".gqxyp{margin-right:70px;margin-left:70px;line-height:25px;}");        sb.append(".span1{font-size:12.0pt; font-family:simsun}");        sb.append(".cont{line-height:20px;text-align:left;margin-right:50px;margin-left:50px;}");        sb.append(".cont1{line-height:20px;text-align:left;margin-right:50px;margin-left:50px;}");        sb.append(".cnsp{text-align:left;line-height:40px;margin-right:25px;margin-left:25px;}");        sb.append(".cnsspan{font-size:17.0pt; font-family:simsun}");        sb.append(".part_title1{background:url(../images/border_left.png) left no-repeat; padding-left:14px; margin-left:10px;color:#806000; font-size:25px; margin-bottom:20px; font-family:simsun;}");        sb.append(".part_title{margin-left:10px;color:#806000; font-size:15px; line-height:16px; margin-bottom:20px; font-family:simsun;}");        sb.append(".part_title_year{border-left:4px solid #804000; padding-left:10px; margin-left:10px; color:#806000; font-size:18px; line-height:16px; margin-bottom:20px; text-decoration:underline; font-family:simsun;}");        sb.append(".table_xq{ border:0pt;}");        sb.append(".table_xq td{ line-height:20px; padding:8px 0; font-size:14px; color:#000; vertical-align:top; }");        sb.append(".table_list{ style=\"text-align:center;\"; font-size:14px;}");        sb.append(".table_list th{border:1px solid #efefef; background:#eae3db; height:43px; color:#830100; vertical-align:middle; padding:0 5px;}");        sb.append(".table_list td{border:1px solid #efefef; height:30px; vertical-align:middle; text-align:center; padding:7px 5px; word-break:break-all; color:#000;}");        sb.append(".table_listth{border:1px solid #efefef; background:#eae3db; height:43px; color:#830100; style=\"text-align:right;\"; padding:0 5px;}");        sb.append(".table_listtd{border:1px solid #efefef; height:30px; style=\"text-align:left;\"; padding:7px 5px; word-break:break-all; color:#000;}");        sb.append(".table_list .cell_light{background:#f9f9f9;}");        sb.append(".table_list a.link{color:#3278b6; cursor:pointer; margin:0 5px;}");        sb.append(".table_list a.link:hover{text-decoration:underline;}");        sb.append(".table_list td ul {}");        sb.append(".table_list td li{padding:2px 0;}");        sb.append(".table_list td ul li+li{border-top:1px solid #efefef;}");        sb.append(".span2{font-size:11px; font-family:simsun;color:red;}");        sb.append("</style>");        sb.append("<body>");        sb.append("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_list\">");        if(false){            sb.append("<tr><td width=\"100%\" class=\"td\"><span class=\"span\">暂无社保信息</span></td></tr>");        }else{            sb.append("<tr><th class=\"table_listth\" width=\"25%\" ><span class=\"span\">城镇职工基本养老保险</span></th>"+                    "<td class=\"td\" width=\"25%\"><span class=\"span\">"+1+"</span></td>");            sb.append("<th class=\"table_listth\" width=\"25%\" ><span class=\"span\">失业保险</span></th>"+                    "<td class=\"td\" width=\"25%\"><span class=\"span\">"+1+"</span></td></tr>");            sb.append("<tr><th class=\"table_listth\" width=\"25%\" ><span class=\"span\">职工基本医疗保险</span></th>"+                    "<td class=\"td\" width=\"25%\"><span class=\"span\">"+1+"</span></td>");            sb.append("<th class=\"table_listth\" width=\"25%\" ><span class=\"span\">工伤保险</span></th>"+                    "<td class=\"td\" width=\"25%\"><span class=\"span\">"+1+"</span></td></tr>");            sb.append("<tr><th class=\"table_listth\" width=\"25%\" ><span class=\"span\">生育保险</span></th>"+                    "<td class=\"td\" width=\"25%\"><span class=\"span\">"+1+"</span></td><th></th><td></td></tr>");            sb.append("</table>");            sb.append("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"table_list\" >");            sb.append("<tr><th class=\"table_listth\"  rowspan=\"6\" ><span class=\"span\">单位缴费基数(万元)</span></th></tr>");            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">单位参加城镇职工基本养老保险缴费基数</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td>");            }            sb.append("</tr>");            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">单位参加失业保险缴费基数</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">单位参加职工基本医疗保险缴费基数</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">单位参加生育保险缴费基数</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"  rowspan=\"5\" ><span class=\"span\">本期实际缴费金额(万元)</span></th></tr>");            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">参加城镇职工基本养老保险本期实际缴费金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">参加失业保险本期实际缴费金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">参加职工基本医疗保险本期实际缴费金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\" ><span class=\"span\">参加工伤保险本期实际缴费金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">参加生育保险本期实际缴费金额</span></th>");            if(true){                sb.append("<td class=\"td\"><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"  rowspan=\"5\" ><span class=\"span\">单位累计欠缴金额</span></th></tr>");            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">单位参加城镇职工基本养老保险累计欠缴金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\" ><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">单位参加失业保险累计欠缴金额</span></th>");            if(true){                sb.append("<td class=\"td\"><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">单位参加职工基本医疗保险累计欠缴金额</span></th>");            if(true){                sb.append("<td class=\"td\"><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">单位参加工伤保险累计欠缴金额</span></th>");            if(true){                sb.append("<td class=\"td\"><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }            sb.append("<tr><th class=\"table_listth\"><span class=\"span\">单位参加生育保险累计欠缴金额</span></th>");            if(true){                sb.append("<td class=\"td\" ><span class=\"span\">"+1+"</span></td></tr>");            }else{                sb.append("<td class=\"td\"><span class=\"span\">企业选择不公示</span></td></tr>");            }        }        sb.append("</table><br/>");        sb.append("</body></html>");        //String str = new String(sb.toString().getBytes("UTF-8"));        //String UTF8 = URLEncoder.encode(sb.toString(), "UTF-8");        printStream.println(sb.toString());*/        String pdfFile = "E:/Test/iText.pdf";        String htmlFile = "E:/Test/2016122700003449.html";        Document document = new Document();        PdfWriter pdfwriter = PdfWriter.getInstance(document,                new FileOutputStream(pdfFile));        pdfwriter.setViewerPreferences(PdfWriter.HideToolbar);        document.open();        InputStreamReader isr = new InputStreamReader(new FileInputStream(                htmlFile), "UTF-8");        XMLWorkerHelper.getInstance().parseXHtml(pdfwriter, document, isr);        document.close();        //addPdfMark(pdfFile,"d:/Test/iText1.pdf","d:/123.png",1);        waterMark("E:/Test/iText.pdf","E:/Test/shuiyin.png","E:/Test/2016122700003449.pdf","",1);    }    public static void waterMark(String inputFile, String imageFile,                                 String outputFile, String waterMarkName, int permission) {        try {            PdfReader reader = new PdfReader(inputFile);            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFile));            BaseFont base = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);            //BaseFont base = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);            /*BaseFont base = BaseFont.createFont(                    "C:/WINDOWS/Fonts/simsun.ttc,1", "Identity-H", true);*/            /*int total = reader.getNumberOfPages() + 1;            Image image = Image.getInstance(imageFile);            image.setAbsolutePosition(0, 0);            PdfContentByte under;            int j = waterMarkName.length();            char c = 0;            int rise = 0;            for (int i = 1; i < total; i++) {                rise = 400;                under = stamper.getUnderContent(i);                under.beginText();                under.setFontAndSize(base, 10);                if (j >= 15) {                    under.setTextMatrix(100, 60);                    for (int k = 0; k < j; k++) {                        under.setTextRise(rise);                        c = waterMarkName.charAt(k);                        under.showText(c + "");                    }                } else {                    under.setTextMatrix(100, 60);                    for (int k = 0; k < j; k++) {                        under.setTextRise(rise);                        c = waterMarkName.charAt(k);                        under.showText(c + "");                        rise -= 18;                    }                }                under.addImage(image);            }*/            stamper.close();        } catch (Exception e) {            e.printStackTrace();        }    }}

0 0