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();
}
}
}
测试一下
最新推荐文章于 2023-09-16 09:59:17 发布