iText XML Worker修改源码完美支持HTML中文字符转PDF

原文地址:http://www.micmiu.com/opensource/expdoc/itext-xml-worker-cn/

目录:

  1. 介绍
  2. 中文字符转换
  3. 转换效果

[一]、介绍

XML Worker是辅助iText用于把XML、XHTML转换PDF的一个开源的软件工具库,详细介绍可以参见下面的链接:

[二]、中文字符问题

如果HTML文件中包含中文字符,在转换成PDF是会无法显示,简单看了下它的源码,发现XML Worker无法设置默认字体,只好修改它的部分源码实现中文字符的转换。

附件提供修改后的lib包下载:xmlworker-1.2.1-micmiu.jar.zip  (源码:https://github.com/micmiu/micmiu-xmlworker

修改:com.itextpdf.tool.xml.css.apply.ChunkCssApplier.java 中的 public Chunk apply(final Chunk c, final Tag t)  这个方法,增加如下逻辑判断:

在:com.itextpdf.tool.xml.html.HTMLUtils.java 中 增加下面用于中文字符判断的方法:

[三]、转换效果

演示一个简单的HTML文件:demo-cn.html

转PDF的程序:   Demo4HTMLCn.java

HTML页面、修改源码前 、修改源码后的效果对比图如下:

从上图可知,修改源码后,基本实现了对HTML的中文字符的支持。

本文介绍到此结束@Michael Sun.

posted on 2016-08-01 18:58  杭州糊涂虫  阅读(1337)  评论(0编辑  收藏  举报

导航