总结一下,基本上有三种方法解决iText显示中文问题。
方法一:使用Windows系统字体(TrueType)
方法二:使用iTextAsian.jar中的字体
方法三:使用资源字体(ClassPath)
由于比较简单,直接上代码了。
package oliver.itext.demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;
/**
* <b>PDF2Chinese。</b>
* <p><b>详细说明:</b></p>
* <!-- 在此添加详细说明 -->
* 三种方法解决iText中文问题。
* <p><b>修改列表:</b></p>
* <table width="100%" cellSpacing=1 cellPadding=3 border=1>
* <tr bgcolor="#CCCCFF"><td>序号</td><td>作者</td><td>修改日期</td><td>修改内容</td></tr>
* <!-- 在此添加修改列表,参考第一行内容 -->
* <tr><td>1</td><td>Oliver</td><td>2010-10-8 上午09:40:44</td><td>建立类型</td></tr>
*
* </table>
* @version 1.0
* @author Oliver
* @since 1.0
*/
public class PDF2Chinese
{
public static void main(String[] args) throws DocumentException, IOException
{
Document document = new Document();
OutputStream os = new FileOutputStream(new File("chinese.pdf"));
PdfWriter.getInstance(document,os);
document.open();
//方法一:使用Windows系统字体(TrueType)
BaseFont baseFont = BaseFont.createFont("C:/Windows/Fonts/SIMYOU.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//方法二:使用iTextAsian.jar中的字体
//BaseFont baseFont = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//方法三:使用资源字体(ClassPath)
////BaseFont baseFont = BaseFont.createFont("/SIMYOU.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
Font font = new Font(baseFont);
document.add(new Paragraph("解决中文问题了!",font));
document.close();
}
}
好了,现在可以打开生成的chinese.pdf看到中文了!
分享到:
相关推荐
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
itext导出pdf不显示中文 ITextRenderer不显示中文,终极解决方案!!!绝对能解决!!!
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
1、解决中文问题 2、附字体 3、动态html拼接转pdf public static void htmlCodeComeString(String linkcss,String htmlCode, String outputFile,String title) throws Exception { OutputStream os = new ...
1、解决HTML转pdf 中文、数字、英文不能换行的问题,修改的源码包 重新计算了右边距。 2、html转pdf 参考我的另外一篇博文https://blog.csdn.net/qq_38616723/article/details/125188407?spm=1001.2014.3001.5502
在html转化为pdf时,解决中文不显示问题,要用到的中文字体包 simsun.tt
jasperreport6版本以上已经对pdf font name、pdf encoding等配置弃用,而改为使用font配置字体,所以以前使用itext jar包的方式已经不能解决pdf中文不显示问题,那么修改fonts中的字体文件,可以一劳永逸解决该问题...
使用flyingsaucer将网页转换为pdf之中文问题彻底解决
jasper外国软件但是免费就要用,导出中文费劲,网上介绍很多升级iText包也没好使后,找的对于初学者来说很开心解决办法,zip里附加了字体文件和导出后的jar
itext7解决中文显示问题有两种解决方式: 1 引入对应的语言包,火狐浏览器预览生成的pdf可能存在部分中文乱码问题,同时因为加载了语言包,生成的pdf更大 使用NotoSansCJKsc-Regular.otf,同时在pom中引入...
实例140 解决线程的死锁问题 182 6.3 线程的进阶 183 实例141 使用阻塞队列实现线程同步 183 实例142 新建有返回值的线程 184 实例143 使用线程池优化多线程编程 186 实例144 Object类中线程相关的方法 187 实例145 ...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...