`
ol_beta
  • 浏览: 287150 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

总结一下,基本上有三种方法解决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看到中文了!

 

分享到:
评论

相关推荐

    Java解决Itext pdf中文不显示问题

    `BaseFont.IDENTITY_H`表示使用Unicode编码,`BaseFont.EMBEDDED`表示嵌入字体,这样可以确保PDF阅读器能够正确显示中文字符。 创建PDF文档的代码可能如下所示: ```java Document document = new Document(); ...

    iText生成pdf解决中文不显示

    iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...

    itext导出pdf不显示中文 ITextRenderer不显示中文

    "iText导出pdf不显示中文 ITextRenderer不显示中文"这个问题,通常是由于字体配置不当或者缺失支持中文的字体资源导致的。下面我们将深入探讨这个问题及其解决方案。 首先,我们需要理解iText的工作原理。iText创建...

    iText5.1.0(解决不支持中文问题)

    在实际应用中,需要注意的是,虽然iTextAsian解决了中文字符的显示问题,但为了确保所有字符都能正确显示,最好还是预先确认所使用的字体文件包含了所需的所有中文字符。此外,iText还支持Unicode编码,这使得处理...

    Android用itext库生成中文PDF文档

    然而,由于版权和字符集的问题,原版的iText库在默认情况下可能无法正确地显示中文字符。这篇内容将深入探讨如何在Android环境中使用iText库生成包含中文的PDF文档。 首先,我们需要了解为什么原版iText库无法直接...

    itext2.1.7和iTextAsian解决中文问题资源包

    为了克服这个问题,我们引入了iTextAsian.jar,这是一个扩展了iText功能的特殊版本,特别是针对亚洲语言,包括中文。 iText 2.1.7是该库的一个较旧版本,但仍然非常实用,尤其对于那些对性能和兼容性有特定需求的...

    itexpdf+itext-asian解决STSong-Light问题

    在IT领域,尤其是在PDF文档处理方面,iText是一个非常著名的Java和.NET库,它允许开发者创建、修改和处理...通过熟练掌握这些技巧,可以确保PDF文档在任何环境中都能正确显示中文内容,尤其是那些依赖特定字体的文本。

    在html转化为pdf时,解决中文不显示问题,要用到的中文字体包 simsun.tt

    要解决这个问题,我们需要引入能够正确显示中文的字体资源。在这个场景中,`simsun.ttf` 字体包就是关键。本文将深入探讨如何使用这个字体包来确保HTML转换为PDF时中文的正常显示,并介绍与之相关的技术。 `Simsun`...

    iText生成pdf解决中文不显示字库,这是个中文字库

    iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...

    itext7中文输出打包

    这个IDEA工程提供了一个完整的示例,演示了如何在Java环境中使用iText7来解决中文字符编码问题,确保中文文字能在PDF中正确显示。 首先,我们需要理解iText7处理中文字符的基本原理。在PDF文档中,文本的呈现依赖于...

    iText和支持中文的jar包

    iText库默认可能无法完美地显示中文字符,但通过引入特定的jar包,我们可以解决这个问题。 在生成PDF报表时,Java程序员经常遇到的一个挑战是中文字符的乱码问题。这是因为PDF格式本身是基于Unicode的,但是不同的...

    itext2.0.8支持中文换行例子源码

    首先,为了正确显示中文,你需要在iText中使用支持中文的TrueType字体(如SimSun、Arial Unicode MS等)。这通常通过创建`BaseFont`对象实现,然后将其应用于`Font`对象。例如: ```java Font font = FontFactory....

    iText中文开发手册

    在第9章中,我们将详细讲解字体问题的解决方法。 页面尺寸和边距 在创建Document对象时,我们可以指定页面尺寸和边距。页面尺寸可以是A0-A10、LEGAL、LETTER、HALFLETTER、_11x17、LEDGER、NOTE、B0-B5、ARCH_A-...

    html转pdfHTML导出PDF中文、ITEXT转HTML为PDF包括中文显示解决方案

    1、解决中文问题 2、附字体 3、动态html拼接转pdf public static void htmlCodeComeString(String linkcss,String htmlCode, String outputFile,String title) throws Exception { OutputStream os = new ...

    IText html转pdf 解决中文自动换行问题

    1、解决HTML转pdf 中文、数字、英文不能换行的问题,修改的源码包 重新计算了右边距。 2、html转pdf 参考我的另外一篇博文https://blog.csdn.net/qq_38616723/article/details/125188407?spm=1001.2014.3001.5502

    itext 中文帮助手册

    **正文** `iText` 是一个广泛使用的 Java 库,专为创建和处理 PDF 文档而设计。在 IT 行业中,PDF 文件格式因其便携性和一致性而被广泛...通过不断实践和探索,你将能够在各种项目中灵活运用 `iText`,解决实际问题。

    解决itext 5.2.0中文问题资源包(含新版亚洲语言包extrajars-2.2.zip)

    为了应对这些挑战,官方提供了一个更新的资源包,其中包含了解决中文显示问题的关键组件。 在资源包中,`itext-asian.jar`是关键的组件之一,它包含了对亚洲语言,包括中文,的日文和韩文等支持。这个JAR文件扩展了...

    解决Itext生成PDF中文不换行的jar

    为了解决"Java使用Itext生成PDF中文不换行"的问题,我们可以采取以下几种策略: 1. **设置字体和编码**:确保使用支持中文的字体,如SimSun、Arial Unicode MS等,并正确设置PDF的编码为UTF-8。Itext中的`Font`类...

    itextpdf-5.5.8.jar+中文支持包itext-asian.jar

    当我们在项目中添加这个库,iTextPDF就能够识别并正确显示中文字符,从而避免上述错误。具体实现步骤如下: 1. 下载并添加“itextpdf-5.5.8.jar”和“itext-asian.jar”到项目的类路径(classpath)中。 2. 在代码...

Global site tag (gtag.js) - Google Analytics