使用XMLWorkerHelper.getInstance().parseXHtml生成PDF时中文不显示或乱码问题
2017-08-21 13:51
1076 查看
4000
运行结果:pdf内容显示正常
情景二:tomcat运行项目,在项目中调用方法,获取到获取到htmlString.getBytes长度为89位。
运行结果:pdf内容中文部分出现问题
问题环境:
idea+tomcat代码片段:
String fontPath=getFontPath(); htmlString="<html><style>body{font-family:pingfang sc light;}</style><body>第一页1p开始</body></html>"; document.open(); try { XMLWorkerHelper.getInstance().parseXHtml(writer,document, new ByteArrayInputStream(htmlString.getBytes()), null, Charset.forName("UTF-8"),new XMLWorkerFontProvider(fontPath)); } catch (IOException e) { e.printStackTrace(); throw new PDFException("PDF文件生成异常",e); }finally { document.close(); }
问题点:
项目部署后生成的pdf内中文内容为乱码或者不显示问题跟踪(debug):
情景一:通过本地main函数调用方法,获取到htmlString.getBytes长度为94位。运行结果:pdf内容显示正常
情景二:tomcat运行项目,在项目中调用方法,获取到获取到htmlString.getBytes长度为89位。
运行结果:pdf内容中文部分出现问题
结果思考:
idea默认编码方式已调整为UTF-8,所以在后期开发中对于编码问题很少重视,而tomcat并没有调整编码方式,所以导致跑main函数时一切正常,而tomcat运行后出现问题解决方案:
htmlString.getBytes()更改为htmlString.getBytes(“UTF-8”)相关文章推荐
- [ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题)
- 使用itext将html生成pdf中文换行问题解决方案
- java使用xmlWorkerHelper将html转pdf
- 使用itext将html生成pdf中文换行问题解决方案2
- Asp : 生成xml数据 及解决Flex里的中文显示乱码问题。。。
- 【JAVA】使用jacob生成的html,关于文字乱码处理,图片无法显示等问题。
- springMVC中itext生成PDF,根本上解决中文乱码以及不显示问题
- 通过swagger2markup+asciidoctorj生成html和pdf文档并解决asciidoctorj生成的pdf文件中文显示不全问题(maven方式及java代码方式)
- php中iconv函数使用方法,URL传中文乱码问题,html页面跳转问题
- ubuntu10.04下pdf中文不显示或乱码问题
- 滴水穿石--Java 生成PDF文件--iText使用之插入图片和中文乱码
- 使用mule生成WSDL中文乱码问题解决方法
- Oracle BI Publisher(BIP)生成PDF中文乱码(其他格式显示正常)
- win7 64位系统使用VS2010生成时出现中文目录乱码问题的解决方法【转】
- win7 64位系统使用VS2010生成时出现中文目录乱码问题的解决方法
- 转载:evince显示pdf中文乱码的问题
- Ubuntu下LaTeX生成的pdf,中文书签显示为乱码的解决方案
- 使用FreeMarker生成静态页面,解决中文乱码问题源码
- 解决ubuntu下pdf中文不显示或乱码问题
- 解决gedit打开txt文件乱码问题and解决pdf中文不显示的问题