起因:
最近研究PDF的生成,用到了iText。在网上,大多数人用的都是iText2.1,并且配合iTextAsian.jar来解决中文输出的问题。
但是,将iTextAsian.jar和iText5.0放在lib目录下,利用以下语句:
PdfWriter.getInstance(document, new FileOutputStream("123.pdf"));
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese);
document.open();
Paragraph par = new Paragraph("你好",fontChinese);
document.add(par);
。。。。。
结果会报错(已经解决了,忘了截图):
大意是:找不到资源包。
可是明明导入了呀?
峰回路转:
细心地查看了一下,iTextAsian.jar的包名:com.lowagie.text.pdf.fonts
而 iText5.0的Font的包名:com.itextpdf.text.pdf.fonts。
又对比了下iText2.1的相应的包名:com.lowagie.text.pdf.fonts
原来iTextAsian.jar对iText的扩展,是通过在相同的包空间下加入字体来解决的,然而,iText5.0的包空间命名与2.1有很大的差别。
解决办法:
呵呵,在winrar中,简单地修改下iTextAsian.jar的包名就可以输出中文了。具体就是,将lowagie的文件夹重命名为itextpdf。
分享到:
相关推荐
现在网络上大多数都的iTextAsian都基于iText2.x版本,如果你正在使用iText5.0以上的版本,是无法编译通过的。提供下载的这个版本不是修改过来的,是从官网上下载的。
这个包是已经修改好里面路径的IText中文包。由于IText从5.0开始改变了目录结构,所以中文语言包的结构也要跟着发生变化。但一般的语言包没要改,应用5.0以上版本时需要这样做。 现在只需要下载此包并添加即可。 注:...
spring2.5的webmvc中的pdfview不支持改包名后的itext库。这是对应的修改版本。可以正常使用itext5.1以及以后版本
下面将详细介绍如何解决Java中Itext PDF中文不显示的问题。 首先,我们需要理解PDF文档的编码机制。PDF文档默认使用的是Adobe的标准字体,如Helvetica或Times Roman,这些字体并不包含中文字符集。因此,当尝试在...
标题中的"Itext-pdfa5.0相关jar包.zip"指的是一个包含了与iText 5.0版本相关的PDF/A兼容功能的压缩文件。PDF/A是一种国际标准(ISO 19005),旨在确保PDF文档的长期可读性和可存档性,特别适合需要长期保存和归档的...
这个IDEA工程提供了一个完整的示例,演示了如何在Java环境中使用iText7来解决中文字符编码问题,确保中文文字能在PDF中正确显示。 首先,我们需要理解iText7处理中文字符的基本原理。在PDF文档中,文本的呈现依赖于...
为了克服这个问题,我们引入了iTextAsian.jar,这是一个扩展了iText功能的特殊版本,特别是针对亚洲语言,包括中文。 iText 2.1.7是该库的一个较旧版本,但仍然非常实用,尤其对于那些对性能和兼容性有特定需求的...
itextpdf 再创将pdf格式文件的时候中文不显示或者乱码问题的解决 其实目前最新版本的itexpdf即使加了asian的辅助包也不能解决中文不显示问题 因为自己试过 可能方式不对 这个绝对显示 显示不了的 分不要
在实际应用中,需要注意的是,虽然iTextAsian解决了中文字符的显示问题,但为了确保所有字符都能正确显示,最好还是预先确认所使用的字体文件包含了所需的所有中文字符。此外,iText还支持Unicode编码,这使得处理...
7. **XML到PDF转换**:通过iText,开发者可以从XML数据源生成PDF文档,实现结构化数据的可视化输出。 8. **事件驱动模型**:iText使用事件驱动的编程模型,允许开发者在特定事件(如页面创建)上添加自定义逻辑。 ...
接下来是iTextAsian.jar,这是一个专门为处理亚洲字符集(如中文、日文、韩文)而设计的扩展包。在iText的基础版本中,可能不包含所有必要的字体和编码支持来正确显示这些语言的文本。iTextAsian.jar提供了以下功能...
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
### iText中文开发手册知识点详解 #### 一、概述 《iText中文开发手册》是一部专为使用iText进行PDF文件开发的技术指南。本手册详细介绍了如何使用iText库来创建、编辑PDF文档,并特别针对中文环境下的特殊需求进行...
"itext-2.1.7源码包以及 解决iText生成pdf时中文标点存在行首问题的修改class" 这个标题提到了两个关键点。首先,`itext-2.1.7`是开源Java库iText的一个版本,用于创建、修改和操作PDF文档。这个版本的源码包提供了...
iText库默认可能无法完美地显示中文字符,但通过引入特定的jar包,我们可以解决这个问题。 在生成PDF报表时,Java程序员经常遇到的一个挑战是中文字符的乱码问题。这是因为PDF格式本身是基于Unicode的,但是不同的...
为了解决"Java使用Itext生成PDF中文不换行"的问题,我们可以采取以下几种策略: 1. **设置字体和编码**:确保使用支持中文的字体,如SimSun、Arial Unicode MS等,并正确设置PDF的编码为UTF-8。Itext中的`Font`类...
总而言之,这个压缩包提供的源码实例是关于如何在iText 2.0.8中解决中文换行问题的一个解决方案。如果你在处理类似问题时遇到困难,可以参考这个示例,理解其工作原理,并根据自己的需求进行调整。同时,这个例子也...
现在很多工程里面用到的iText都是2.*版本或者是1.*,而最近新下载的iText是5.0.2版,用iTextAsian.jar以后会抛一个“ Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized ”异常出来,按照网上的解决方法,...
1、解决HTML转pdf 中文、数字、英文不能换行的问题,修改的源码包 重新计算了右边距。 2、html转pdf 参考我的另外一篇博文https://blog.csdn.net/qq_38616723/article/details/125188407?spm=1001.2014.3001.5502
为解决这个问题,我们需要引入支持中文的TrueType或OpenType字体,并将其集成到iText库中。 具体步骤如下: 1. **获取中文字体**:找到一个包含中文字符的TrueType或OpenType字体文件,例如Arial Unicode MS、...