总结一下,基本上有三种方法解决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看到中文了!
分享到:
相关推荐
`BaseFont.IDENTITY_H`表示使用Unicode编码,`BaseFont.EMBEDDED`表示嵌入字体,这样可以确保PDF阅读器能够正确显示中文字符。 创建PDF文档的代码可能如下所示: ```java Document document = new Document(); ...
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
在实际应用中,需要注意的是,虽然iTextAsian解决了中文字符的显示问题,但为了确保所有字符都能正确显示,最好还是预先确认所使用的字体文件包含了所需的所有中文字符。此外,iText还支持Unicode编码,这使得处理...
"iText导出pdf不显示中文 ITextRenderer不显示中文"这个问题,通常是由于字体配置不当或者缺失支持中文的字体资源导致的。下面我们将深入探讨这个问题及其解决方案。 首先,我们需要理解iText的工作原理。iText创建...
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
这个IDEA工程提供了一个完整的示例,演示了如何在Java环境中使用iText7来解决中文字符编码问题,确保中文文字能在PDF中正确显示。 首先,我们需要理解iText7处理中文字符的基本原理。在PDF文档中,文本的呈现依赖于...
为了克服这个问题,我们引入了iTextAsian.jar,这是一个扩展了iText功能的特殊版本,特别是针对亚洲语言,包括中文。 iText 2.1.7是该库的一个较旧版本,但仍然非常实用,尤其对于那些对性能和兼容性有特定需求的...
然而,由于版权和字符集的问题,原版的iText库在默认情况下可能无法正确地显示中文字符。这篇内容将深入探讨如何在Android环境中使用iText库生成包含中文的PDF文档。 首先,我们需要了解为什么原版iText库无法直接...
在IT领域,尤其是在PDF文档处理方面,iText是一个非常著名的Java和.NET库,它允许开发者创建、修改和处理...通过熟练掌握这些技巧,可以确保PDF文档在任何环境中都能正确显示中文内容,尤其是那些依赖特定字体的文本。
要解决这个问题,我们需要引入能够正确显示中文的字体资源。在这个场景中,`simsun.ttf` 字体包就是关键。本文将深入探讨如何使用这个字体包来确保HTML转换为PDF时中文的正常显示,并介绍与之相关的技术。 `Simsun`...
只有解决了字体问题,才能保证中文在PDF中的正确显示。 综上所述,iText提供了一套全面的工具和API,使开发者能够高效地创建和操作PDF文档。无论是基本的文档创建,还是复杂的页面布局和字体管理,iText都展现出了...
iText库默认可能无法完美地显示中文字符,但通过引入特定的jar包,我们可以解决这个问题。 在生成PDF报表时,Java程序员经常遇到的一个挑战是中文字符的乱码问题。这是因为PDF格式本身是基于Unicode的,但是不同的...
首先,为了正确显示中文,你需要在iText中使用支持中文的TrueType字体(如SimSun、Arial Unicode MS等)。这通常通过创建`BaseFont`对象实现,然后将其应用于`Font`对象。例如: ```java Font font = FontFactory....
在第9章中,我们将详细讲解字体问题的解决方法。 页面尺寸和边距 在创建Document对象时,我们可以指定页面尺寸和边距。页面尺寸可以是A0-A10、LEGAL、LETTER、HALFLETTER、_11x17、LEDGER、NOTE、B0-B5、ARCH_A-...
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
为了解决"Java使用Itext生成PDF中文不换行"的问题,我们可以采取以下几种策略: 1. **设置字体和编码**:确保使用支持中文的字体,如SimSun、Arial Unicode MS等,并正确设置PDF的编码为UTF-8。Itext中的`Font`类...
为了应对这些挑战,官方提供了一个更新的资源包,其中包含了解决中文显示问题的关键组件。 在资源包中,`itext-asian.jar`是关键的组件之一,它包含了对亚洲语言,包括中文,的日文和韩文等支持。这个JAR文件扩展了...
**正文** `iText` 是一个广泛使用的 Java 库,专为创建和处理 PDF 文档而设计。在 IT 行业中,PDF 文件格式因其便携性和一致性而被广泛...通过不断实践和探索,你将能够在各种项目中灵活运用 `iText`,解决实际问题。
当我们在项目中添加这个库,iTextPDF就能够识别并正确显示中文字符,从而避免上述错误。具体实现步骤如下: 1. 下载并添加“itextpdf-5.5.8.jar”和“itext-asian.jar”到项目的类路径(classpath)中。 2. 在代码...