`
LiYunpeng
  • 浏览: 938495 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

iText操作PDF,中文支持的问题

    博客分类:
  • Java
阅读更多
最近各种研究PDF的编辑,之前看例子有使用PDFBox的,但是后来经过深入了解,发现各种不靠谱,稍微有些编辑有问题的地方,都会不识别和找不到相应的位置
于是换成了iText

总体来说还是很方便很不错的一个工具,网上有很多相关的例子,这里就不再多贴了,大家可以搜索关键词”fromPDFTempletToPdfWithValue“,网上有很多

重点记录一下遇到的问题

问题:
中文显示的问题,通常iText可以通过另外一个包来做亚洲语言,比如中文、韩文、日文的显示,要么没有字体支持的话,中文就怎么也显示不出来
解决:
用Maven的话,可以到http://mvnrepository.com/去搜itext-asian,就会找到相应的Jar包
但是,在代码里面怎么也不管用
那么这里面需要注意一点
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.NOT_EMBEDDED);
这是引用了相应的字体和编码,用最新的5.2.0的语言支持,不需要像很多网上写的改什么jar包里面的包结构,已经是最新的了,但是,我们需要去引用他。
或者是自己画的内容,或者是加载PDF文件进行再次编辑的内容

如果是使用AcroFields来做的话,代码如下
String fileName = templateUri;// "/Volumes/Data/DWorks/test.pdf";
PdfReader reader = new PdfReader(fileName);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
PdfStamper ps = new PdfStamper(reader, bos);
AcroFields s = ps.getAcroFields();
s.setFieldProperty("字段名", "textfont", bf, null);

这里边一定要注意关于AcroFields的用法,要去查官方API,这样写完就可以针对于单独的Field来设置字体了,还有相应的其他属性,比如说字体大小之类的,在API中都有描述,来修改
试了试字号修改,参数值直接用数值不行,需要new Float(16)才行

当然也可以自己使用本地字体
BaseFont bf =
BaseFont.createFont("/Microsoft Yahei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
分享到:
评论

相关推荐

    iTextpdf支持中文

    iTextpdf 通过本jar包,android 可以创建便捷PDF。 操作已经修改PDF模板显示内容等。 不用积分,大家免费下载。

    iText5.0.6PDF操作包+iTextAsian.rar中文支持包

    iText5.0.6PDF操作包+iTextAsian.rar中文支持包

    itext-2.1.7-API文档-中文版.zip

    标签:lowagie、itext、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Javaweb开发中用itext实现pdf导出表格数据及水印操作的项目和jar包和说明文件

    4、PDF文件内容支持中文,表格内容上下居中,左右居中或左对齐/右对齐 5、PDF列信息多寡不同,PDF采用页面宽度也能根据列信息按比例调整 6、PDF行信息超大时写入模式,不能引起内存溢出等问题,有一定的并发性支撑...

    JAVA操作PDF文件的第三方包-iText

    利用iText操作PDF文件非常的方便,包括PDF文件的读取,写入,其中中包含了支持中文字体iTextAsian.jar

    iText5.0.4

    iText是一个非常著名的能够快速产生PDF文件的Java类库。支持文本,表格,图形的操作,... 其实还可以用C#开发,只是要装一个东西,试着开发了一下,对中文支持是一个问题!这个我用过,支持分页打印,一般的OA项目够用了

    java8源码-java-vue-pdf:java通过vuessr动态生成pdf解决方案Itonlyneedsvue

    itext7完美兼容中文,无网上老版本ctrlCV的各种黑科技代码,只需几行官方代码 运行路线 java中带id访问基于vue的ssr服务nuxt nuxt中使用之前的id回调java获取业务数据 通过vue ssr服务端生成进行渲染过的html java...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型...

    java开发常用jar包

    中文显示问题 jdt-compiler-3.1.1.jar jasperreports-3.5.3.jar commons-javaflow-20060411.jar jasperreports-3.5.3-applet.jar jasperreports-3.5.3-javaflow.jar groovy-all-1.5.5.jar JasperReport报表 ...

    web开发常用jar

    itext中关于亚洲编码的类库,在这里用于中文字体的输入。 junit.jar Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。 commons-digester.jar Apache Commons包中的一个,通过它可以很方便的...

    JAVA上百实例源码以及开源项目源代码

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    JAVA上百实例源码以及开源项目

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    java源码包---java 源码 大量 实例

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印...

    java源码包2

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

    java源码包3

    Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...

Global site tag (gtag.js) - Google Analytics