iText 解决中文问字体问题 显示中文

总结一下,基本上有三种方法解决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;  
/** 
 * PDF2Chinese。 
 * 

详细说明:

* * 三种方法解决iText中文问题。 *

修改列表:

* * * * * *
序号作者修改日期修改内容
1Oliver2010-10-8 上午09:40:44建立类型
* @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看到中文了!

 

你可能感兴趣的:(java)