zoukankan      html  css  js  c++  java
  • html转pdf

    maven依赖

    <dependencies>
    <!--PDF转化工具-->
    <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.4.2</version>
    </dependency>
    <dependency>
    <groupId>com.itextpdf.tool</groupId>
    <artifactId>xmlworker</artifactId>
    <version>5.4.2</version>
    </dependency>
    <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-asian</artifactId>
    <version>5.2.0</version>
    </dependency>
    </dependencies>

    package com.pdf.test;
    
    import com.itextpdf.text.*;
    import com.itextpdf.tool.xml.XMLWorkerHelper;
    
    import com.itextpdf.text.pdf.BaseFont;
    import com.itextpdf.text.pdf.PdfWriter;
    import com.itextpdf.text.pdf.codec.Base64;
    import org.springframework.core.io.ClassPathResource;
    
    import java.io.ByteArrayInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.nio.charset.Charset;
    
    
    /**
     * 实测有效
     * @author 
     *
     * @time 2019年2月11日
     */
    public class Itext5HtmlToPDF {
    
    	public static void main(String[] args) {
    		new Itext5HtmlToPDF().createPdf();
    	}
    	
    	public void createPdf() {
    		try {
    			//BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
    
    			//直接引用 下载好的字体文件
    //			BaseFont bfChinese = BaseFont.createFont("E:\workspace\zhproject\doc2html2pdf20201125\src\main\resources\fonts\simsun.ttf", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
    //
    //			Font font = new Font(bfChinese, 12, Font.NORMAL);
    			Document document = new Document(PageSize.A4, 10, 10, 10, 10);
    			PdfWriter mPdfWriter = PdfWriter.getInstance(document, new FileOutputStream("C:/Users/v/Desktop/doc/htmltest.pdf"));
    			document.open();
    			
    //			document.add(new Paragraph("创建pdf文件.支持中文......", font));
    			
    //			String s = getHtml();//html 标签内容
    
    			String s ="<div><p style="text-align:center;"><span style="font-size:22.0pt;font-weight:bold;">入住确认单</span></p><p><span>    </span><span>    </span><span>    </span><span>    </span><span>    </span><span>    </span></p><p>租      户:<span style="font-weight:bold;text-decoration:underline;">深圳市招融投资控股有限公司</span><span style="font-weight:bold;text-decoration:underline;">  </span><span style="color:#000000;text-decoration:underline;"> </span><span style="color:#000000;">         </span>联系人及电话:</p><p>房      屋:<span style="font-size:12.0pt;text-decoration:underline;">万海大厦</span><span style="font-size:12.0pt;text-decoration:underline;">B</span><span style="font-size:12.0pt;text-decoration:underline;">座</span><span style="font-size:12.0pt;text-decoration:underline;">501B</span><span style="font-size:12.0pt;text-decoration:underline;">房</span><span style="text-decoration:underline;">  </span><span style="font-size:12.0pt;"> </span>      租    期:<span style="text-decoration:underline;"> </span><span style="text-decoration:underline;"> 2020 </span>年<span style="text-decoration:underline;">9</span><span style="text-decoration:underline;"> </span>月<span style="text-decoration:underline;"> </span><span style="text-decoration:underline;">1 </span>日至<span style="text-decoration:underline;"> </span><span style="text-decoration:underline;"> 2023</span><span style="text-decoration:underline;"> </span>年8<span style="text-decoration:underline;"> </span>月<span style="text-decoration:underline;">31</span><span style="text-decoration:underline;"> </span>日</p><p>面      积:<span style="text-decoration:underline;">   </span><span style="text-decoration:underline;"> </span><span style="text-decoration:underline;">243.21</span><span style="text-decoration:underline;">㎡</span></p><p>租户应完成下列程序<span>    </span><span>    </span><span>    </span><span>    </span><span>    </span><span>    </span></p><p>持本通<span id="_GoBack"/>知前往我司委托的招商物业管理有限公司签订物业管理公约。<span>    </span><span>    </span><span>    </span><span>    </span></p><p style="text-indent:15.0pt;">联 系 人:<span style="text-decoration:underline;"> </span><span style="text-decoration:underline;">周宗义、韩宇</span></p><p style="text-indent:15.0pt;">联系电话:21621101、 13714986856 韩宇     物业经理:26896243、18033071177  周宗义   </p><p style="text-indent:15.0pt;">工程主管:21626071、13554801912  钟钦宏   安全主管:21621103</p><p style="text-indent:15.0pt;">地址:万融大厦B座G层         <span>    </span><span>    </span><span>    </span><span>    </span><span>    </span><span>    </span><span>    </span></p><p style="text-align:left;text-indent:15.0pt;"><span style="text-align:left;text-indent:15.0pt;">1、 </span>租户应于<span style="text-decoration:underline;"> 2020 </span>年9月1<span style="text-decoration:underline;"> </span>日前往<span style="text-decoration:underline;">万海大厦</span><span style="font-size:12.0pt;text-decoration:underline;">B</span><span style="font-size:12.0pt;text-decoration:underline;">座</span><span style="font-size:12.0pt;text-decoration:underline;">501B</span><span style="font-size:12.0pt;text-decoration:underline;">房</span><span style="text-decoration:underline;"> </span> <span style="font-size:12.0pt;"> </span>接收房屋,<span style="text-decoration:underline;"> </span>定为<span style="text-decoration:underline;">2020 </span>年9月<span style="text-decoration:underline;">1</span>日 为物业管理费起收时间点。</p><p style="text-align:left;text-indent:15.0pt;"><span style="text-align:left;text-indent:15.0pt;">2、 </span>请与入住前缴纳相当与二个月物业管理费/本体维修基金的违约保证金。</p><p style="text-align:left;text-indent:15.0pt;">4、在出租房屋内放置较重设备的,应提前书面通知物业管理处,经物业确定放置方式及放置位置后方可放置(以免承重楼板受损)。在装修过程如遇改变房屋的结构,应得到业主的确认后方能施工,设计要求不得影响房屋的质量及安全。</p><p>5、网络申请:<span style="text-decoration:underline;background-color:#ffffff;">深圳招商网络有限公司</span></p><p style="text-align:left;text-indent:15.0pt;text-indent:52.0pt;">公司地址:深圳蛇口招商路招商大厦9楼 </p><p style="text-align:left;text-indent:15.0pt;text-indent:52.0pt;">电    话:0755-26817876</p><p style="text-align:left;text-indent:15.0pt;text-indent:52.0pt;"><span style="text-decoration:underline;background-color:#ffffff;">深圳市蛇口通讯有限公司</span></p><p style="text-align:left;text-indent:68.0pt;">公司地址:广东省深圳市蛇口工业区育才路9号(中国邮政隔壁)<br/>联系电话:0755-26800900  </p><p style="text-align:left;text-indent:15.0pt;">6、消防申请人领取《建筑内部装修设计防火审核申报表》--申请人按照区属划分到消防局或消防大队递交申请材料--行政许可决定机关审批--申请人领取《建筑工程消防设计审核意见书》。一般工程10个工作日,重点工程20个工作日,需专家论证的消防设计工程可延长30个工作日。(后附:消防申报材料)</p><p style="text-align:left;text-indent:15.0pt;">7、此入住确认单一式三份,业主、租户、物业管理方各持一份,三方签字盖章后视为交付完成。</p><p><br/></p><p style="text-align:left;"><br/></p><p/><table style=' 100%;margin: 0 auto;font-size:10.0px;'><tr style='font-size:14.0px;font-weight:bold;'><td style='33%;'><p>业主发起</p></td><td><p>→</p></td><td style='33%;'><p>租户审批</p></td><td><p>→</p></td><td style='33%;'><p>管理方确认</p></td></tr><tr><td style='33%;'><p>审批人:万三</p></td><td></td><td style='33%;'><p>审批人:张三</p></td><td></td><td style='33%;'><p>审批人:李四</p></td></tr><tr><td style='33%;'><p>审批意见:请确认</p></td><td></td><td style='33%;'><p>审批意见:确认</p></td><td></td><td style='33%;'><p>审批意见:确认</p></td></tr><tr><td style='33%;'><p>审批日期:2020.11.12</p></td><td></td><td style='33%;'><p>审批日期:1970.01.05</p></td><td></td><td style='33%;'><p>审批日期:2020.11.15</p></td></tr></table></div>
    " ;
    
    
    			ByteArrayInputStream bin = new ByteArrayInputStream(s.getBytes());
    			XMLWorkerHelper.getInstance().parseXHtml(mPdfWriter, document, bin,null, Charset.forName("UTF-8"),new ChinaFontProvide());
    //			XMLWorkerHelper.getInstance().parseXHtml(mPdfWriter, document, bin, Charset.forName("UTF-8"), new ChinaFontProvide());
    
    			//将图片合成pdf
    //			Image image = Image.getInstance("C:/Users/v/Desktop/doc/测试.png");
    			
    //			image.scalePercent(10);// 控制图片大小
    //			image.setAbsolutePosition(200, 500);
    //			document.add(image);
    			
    			//base64 编码的图片类型
    //			Image image2 = Image.getInstance(Base64.decode(TESTEVSCHOP));
    //
    //			image2.scalePercent(10);// 控制图片大小
    //			image2.setAbsolutePosition(400, 500);
    //			document.add(image2);
    			
    			
    			//只有close才会写入内容
    			document.close();
    			mPdfWriter.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (DocumentException e) {
    			e.printStackTrace();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
     
    	public static String getHtml() {
    		
    		StringBuffer html = new StringBuffer();
    		html.append("<div style='color:green;font-size:20px;'>你好世界!hello world !</div>");
    		html.append("<span style='color:red'>what are you 弄啥咧!</span>");
    		html.append("<h1>标题</h1>");
    		html.append("<table>");
    		html.append("<tr>");
    		html.append("<th>序号</th>");
    		html.append("<th>用户名</th>");
    		html.append("<th>性别</th>");
    		html.append("</tr>");
    		html.append("<tr>");
    		html.append("<td>1</td>");
    		html.append("<td>fengxing</td>");
    		html.append("<td>男</td>");
    		html.append("</tr>");
    		html.append("<tr>");
    		html.append("<td>2</td>");
    		html.append("<td>admin</td>");
    		html.append("<td>女</td>");
    		html.append("</tr>");
    		
    		
    		html.append("</table>");
    		return html.toString();
    	}
     
    	/**
    	 * 
    	 * 提供中文
    	 * 
    	 */
    	public static final class ChinaFontProvide implements FontProvider {
    
    
    		public boolean isRegistered(String s) {
    			return false;
    		}
    
    //				@Override
    		public Font getFont(String arg0, String arg1, boolean arg2, float arg3,
    				int arg4, BaseColor arg5) {
    			BaseFont bfChinese = null;
    			try {
    				//bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    				//直接引用 下载好的字体文件
    				 bfChinese = BaseFont.createFont("E:\workspace\zhproject\doc2html2pdf20201125\src\main\resources\fonts\simsun.ttf", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
    				
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    			Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
    			return FontChinese;
    		}
    
    	}
    	public static final String TESTEVSCHOP = "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";
    	
    }
    

      

  • 相关阅读:
    HDU 1677
    HDU 1672 Cuckoo Hashing
    HDU 2586 + HDU 4912 最近公共祖先
    最大流 Dinic + Sap 模板
    网络流算法小结(转)
    Malformed network data报错解决方法
    js window.open 参数设置
    java图片高质量缩放类
    struts2 I18n问题 国际化
    java.lang.Exception: Socket bind failed 服务器端口冲突-->修改端口
  • 原文地址:https://www.cnblogs.com/yibuyi-123/p/14097534.html
Copyright © 2011-2022 走看看