博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html 字符串 生成 pdf 完美解决中文不显示
阅读量:5026 次
发布时间:2019-06-12

本文共 3055 字,大约阅读时间需要 10 分钟。

//maven

com.itextpdf
itextpdf
5.4.2
com.itextpdf.tool
xmlworker
5.4.1
com.itextpdf
itext-asian
5.2.0

 

 

//java

 

package com.leoodata.utils;import com.itextpdf.text.Document;import com.itextpdf.text.Font;import com.itextpdf.text.PageSize;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfWriter;import com.itextpdf.tool.xml.XMLWorkerHelper;import com.leoodata.entity.Report;import org.jsoup.Jsoup;import java.io.*;import java.nio.charset.Charset;import static java.awt.SystemColor.info;/** * User: 杨永生 * Date: 15:45 2018/4/10 * Email: kevin@hiibook.com */public class PDFReport {
public static void htmlToPDF(Report report,String fileNameAndURL) { try { //创建html String reportData = " \n" + " "+report.getName()+"\n" + " "+report.getPhone()+"\n" + " "+report.getIdentificationNuber()+"\n" + " \n" ; String body = "

报告

\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" + "
\n" +// reportData+ "
\n" + "
姓名 电话 身份证号
\n" + "
"; StringBuilder html = new StringBuilder(); html.append(""); html.append(""); html.append(body); html.append(""); html.append(""); InputStream is = new ByteArrayInputStream(html.toString().getBytes("utf-8")); File files=new File(fileNameAndURL); //打印查看上传路径 System.out.println(fileNameAndURL); if(!files.getParentFile().exists()){ files.getParentFile().mkdirs(); } OutputStream os = new FileOutputStream(fileNameAndURL); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); document.open(); // 将html转pdf XMLWorkerHelper.getInstance().parseXHtml(writer, document, is, Charset.forName("UTF-8")); document.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Report report=new Report(); String url= "E:/HiibookIntellijProject/svn2/leoodata/target/leoodata/static/upload/report/余*157**446732018_04_11_17_37_21_891.pdf"; htmlToPDF(report,url); }}

 

转载于:https://www.cnblogs.com/yysbolg/p/8806216.html

你可能感兴趣的文章
txmpp
查看>>
微信开发时调用jssdk,在安卓设备中成功调用;在ios设备中返回错误消息:config fail,无其他具体错误消息,且接口权限显示获取ok,无法调用...
查看>>
【Github教程】史上最全github使用方法:github入门到精通
查看>>
抽象工厂模式(Abstract Factory)
查看>>
luogu1373 小a和uim之大逃离 (dp)
查看>>
Redis的Pub/Sub客户端实现
查看>>
SQL日常问题和技巧——持续更新
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
简化工作流程 10款必备的HTML5开发工具
查看>>