生成PDF,中文失踪问题

使用itext生成pdf,在linux环境下,中文全部失踪,因为itext要在linux下支持中文字体需要引入itext-asian,并添加一个字体类。

字体类

 1 import com.itextpdf.text.Font;
 2 import com.itextpdf.text.pdf.BaseFont;
 3 import com.itextpdf.tool.xml.XMLWorkerFontProvider;
 4
 5 public class PdfFont extends XMLWorkerFontProvider{
 6     public PdfFont(){
 7         super(null,null);
 8     }
 9     @Override
10     public Font getFont(final String fontname, String encoding, float size, final int style) {
11
12         Font FontChinese = null;
13         try {
14             BaseFont bfChinese = BaseFont.createFont("STSong-Light",
15                     "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
16             FontChinese = new Font(bfChinese, 12, Font.NORMAL);
17         } catch (Exception e) {
18             e.printStackTrace();
19         }
20         if(FontChinese==null)
21             FontChinese = super.getFont(fontname, encoding, size, style);
22         return FontChinese;
23     }
24 }

生成pdf

1 Document document = new Document(PageSize.A4, 50, 50, 50, 50);
2             PdfWriter writer = PdfWriter.getInstance(document, bos);
3             document.open();
4
5             String is = "中文test123";
7             InputStream streamTemp = new ByteArrayInputStream(is.getBytes());
8             XMLWorkerHelper.getInstance().parseXHtml(writer, document,
9                     streamTemp, null,Charset.forName("UTF-8"),new PdfFont());
时间: 2024-12-31 03:31:21

生成PDF,中文失踪问题的相关文章

Gitbook 生成 pdf 中文字体错乱问题解决办法

Gitbook 生成 pdf 中文字体错乱问题解决办法 用过 Gitbook 的都知道, Gitbook 会自动生成 pdf 以提供下载, 但十分遗憾的是自动生成的 pdf 对中文的支持并不好, 经常出现字体不一致的现象, 影响阅读, 强迫症更是难以忍受. 示例: 下面针对这一问题提供简单的解决办法: 本地命令行生成 pdf 文件. 当然这种方法有一定局限性, 你需要找到托管在 github 对应的源码仓库且转换过程中不出错. (由于水平有限未能解决在线生成的pdf中文字体错乱问题, 见谅. 也

JasperReport4.6生成PDF中文

Web项目中PDF显示中文 本人无奈使用JasperReport4.6,因为这本书(好像也是唯一的一本国内的介绍JasperReport的书), 选择"文件"→New命令,弹出一个新建打印有关资源的向导 在这里选择Report中的B lank A4,含义是创建一个A4幅面纸张大小的模板文件, 1.2.1  创建模板文件(2) 选中后单击右下角的 按钮,即打开这个模板,并且设置保存模板文件的路径,效果如图1.6所示. 模板文件的扩展名为jrxml,单击"下一步"按钮出

iText生成pdf中文字体解决方案

相信用过itext的朋友都知道,中文显示一直都是个问题(最新版5.5.7官方也没直接集成中文字体). 当然这样的问题,早就有高手解决了,那就是使用iTextAsian.jar. 但是本文介绍的,不是使用iTextAsian.jar,而是另一种解决方法. 在此之前,需要准备的仅仅为itextpdf-5.x.jar 和一个 ttf格式的中文字体.比如我们常用的宋体simsun.ttf. 我们首先要做的,就是将simsun.ttf集成到我们的项目中: 测试例子: package com.example

使用TCPDF插件生成pdf以及pdf的中文处理

目录(?)[+] 多种多样的pdf开发库 WKHTMLTOPDF 2FPDF 3TCPDF 中文问题 做了这么多年项目,以前只是在别人的项目中了解过PHP生成pdf文件,知道并不难,但是涉及到了pdf开发库,首先介绍pdf库. 多种多样的pdf开发库 1.WKHTMLTOPDF wkhtmltopdf是一个很好的解决方案,基本上可以原样输出html页面中的内容,包括:图片/代码高亮部分css/页头/页尾等.有php和命令行方式,大概思路如下: 1) 先获取所有的远程html,然后生成wkhtml

利用ItextPdf、core-renderer-R8 来生成PDF

近期因为工作上的须要,须要做一个简历产品的下载功能,而下载的形式要去为PDF,内容要求为整个简历的内容,并且格式上要求和简历的格式排版时一致的!前期调研.开发,最后測试上线.差点儿相同花了7天的时间.当然,期间主要完毕了主体功能.如今的话,该功能已经相当完好. 以下,我主要是总结下我在这个开发的过程中遇到的问题和总结的心得.希望能帮组有这方面须要的人. 原创文章,转载请注明出处:http://blog.csdn.net/jessonlv 前期调研 前期调研的时候,在网上看了非常多关于转pdf的相

itextsharp利用模板生成pdf文件笔记

iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件. 中文参考网站:http://hardrock.cnblogs.com/ http://pdfhome.hope.com.cn/Article.aspx?CID=bf51a5b6-78a5-4fa3-9310-16e04aee8c78&AID=f5fe52dd-8419-4baa-ab1c-ea3f26952132 英文参考网站:http://itext.ugent.be/library/ ·  技术文章(http:

使用ITextSharp生成PDF文件心得

最近公司在做一个项目,需要把数据导出成PDF格式的文件,然后再网上搜了一下发现开源的组件还挺多的,用的比较多的就是itextsharp,itextsharp由java的itext演变而来,并且提供的丰富的功能,能够制作表格.插入图片等,这是官网的下载地址:http://sourceforge.net/projects/itextsharp/,下面就来简单介绍一下使用itextsharp的心得. 首先创建一个winform应用程序,并且添加itextsharp的引用,在按钮的单击事件写上生成pdf

使用PHP生成PDF文档

原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包.TCPDF基于FPDF进行扩展和改进,增强了实用功能. 使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件

使用rst2pdf拓展sphinx生成PDF

当初项目文档是用sphinx写的,一套rst下来make html得到一整个漂亮的在线文档.现在想要将文档导出为离线的handbook pdf,于是找到了rst2pdf这个项目,作为sphinx的拓展,然后加上少量配置即可输出中文PDF.rst2pdf简介rst2pdf是一个将 reStructuredText 转换为 PDF 的工具,具有下列特性:自定义页面布局支持层叠样式表支持内嵌TTF和Type1字体支持几乎所有语言的语法高亮使用reStructuredText作为源文件支持字间距调整安装