Javaweb中运用 pd4ml 导出pdf 及jsoup操作html
来源:互联网 发布:windows安装mac os x 编辑:程序博客网 时间:2024/06/14 00:45
private void pd4mlToPdf(String htmlCode, HttpServletResponse response,String str) {try {String date = StringUtil.getstrFdate(new Date(), "yyyy-MM-dd");String title = str + date;OutputStream out = response.getOutputStream();response.setHeader("Content-disposition", "attachment; filename="+ new String(title.getBytes("gbk"), "iso8859-1") + ".pdf");response.setContentType("application/download");StringBuffer html = new StringBuffer();// 组装成符合W3C标准的html文件html.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");html.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">").append("<head>").append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />").append("<style type=\"text/css\" mce_bogus=\"1\">*{font-family: SongTi_GB2312;}</style>").append("<style type=\"text/css\">img {width: 700px;}</style>").append("</head>").append("<body>").append(htmlCode);html.append("</body></html>");org.jsoup.nodes.Document doc = Jsoup.parse(html.toString());Element el = doc.getElementById("ordertitle");el.removeAttr("style");el.attr("style", " FONT-SIZE: 33px");// System.out.println(doc.toString());StringReader sr = new StringReader(doc.toString());PD4ML pd4ml = new PD4ML(); pd4ml.setPageInsets(new Insets(20, 10, 10, 10)); // pd4ml.setHtmlWidth(950); // pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4)); pd4ml.setPageSize(PD4Constants.A4); pd4ml.useTTF("java:com/wansin/contract/fonts", true); // pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312"); pd4ml.enableDebugInfo(); pd4ml.render(sr, out);out.flush();out.close();} catch (ExceptionConverter e1) {System.out.println("ie 关闭连接");} catch (Exception e) {e.printStackTrace();}}
用到的相关jar包 pd4ml_demo.jar ss_css2.jar jsoup-1.6.1.jar
中文字体问题 需要字体文件 SONGTI.TTF 和配置文件 pd4fonts.properties
文件内容为
KaiTi_GB2312=SIMKAI.TTF
SongTi_GB2312=SONGTI.TTF
配置文件的读取 跟.append("<style type=\"text/css\" mce_bogus=\"1\">*{font-family: SongTi_GB2312;}</style>")这个有关 所以要想引用字体 pd4ml.useTTF("java:com/wansin/contract/fonts", true); 就得在html中加入字体配置 com/wansin/contract/fonts为字体文件及配置文件的包名
相关jar包可以到
1 0
- Javaweb中运用 pd4ml 导出pdf 及jsoup操作html
- 导出pdf之--pd4ml
- pd4ml实现HTML转化PDF
- pd4ml用来把html生成pdf的实例--需要pd4ml的jar包
- 使用pd4ml 将html转换为pdf html2pdf
- java使用pd4ml将html转换成pdf
- 运用 jsoup 对 HTML 文档进行解析和操作
- jsoup操作html元素
- Jsoup操作html
- php运用fpdf导出pdf
- 使用Jsoup操作html字符串
- javaweb操作PDF的总结
- 运用java操作PDF,生成PDF
- HTML导出PDF中文文件
- Java HTML导出PDF (一)
- Java HTML导出PDF (二)
- Java操作Html文档利器---Jsoup
- jsoup 对 HTML进行解析和操作
- WPF路由事件学习笔记
- Spring HibernateTemplate与Callback
- 软件开发创新
- 基于响应式的首页大图效果
- 关闭ios虚拟键盘的几种实用方法
- Javaweb中运用 pd4ml 导出pdf 及jsoup操作html
- BigDecimal类用法
- Android API Guides 之 App Components(18) - Processes and Threads
- mmap详解
- tomcat搭建android https双向认证
- 这是智能硬件开发门槛被降得最低的一次
- HDOJ 4333 Revolving Digits
- 30 个你可能不知道的 Python 语言特性和技巧
- CVTE Android应用开发工程师笔试题之一:现代操作系统有哪几部分组成?