2012年 二月 01日 周三 | tags: itext, java, code, -- (permalink)

这篇文章是很早之前写的,是我在去第一个公司的时候遇到的问题

这里说的IText中文处理问题,是指两种生成PDF文档是对中文处理的问题:

  1. 是直接通过从数据库查询或者自己拼接中文字符串生成PDF文档。
  2. 第二种是将一个HTML文档转换成PDF文档时的中文处理。

首先说第一种: 这种很简单,我们只需为加上这样一句:

BaseFont bf = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

在之后的给Document添加节点是为Paragraph设置字体时设置成BF就可以,如下:

document.add(new Paragraph("混沌之神", new Font(bf)));

源码:

/**
 * 生成PDF文件解决中文的例子
 *
 * @throws DocumentException
 * @author <b>Innate Solitary</b><br />
 *         创建时间:<b>2008-6-4 下午09:47:37</b><br />
 * @throws IOException
 */
public static void ...