Android用itext生成含中文的PDF文档

来源:互联网 发布:单代号网络计划软件 编辑:程序博客网 时间:2024/04/30 03:04

最近项目用到itext库,稍微做了一些了解。昨天发现itext库自带的生成PDF的方法不能输出中文PDF,如果是Java工程可以直接用电脑里的字体,但是Android工程,不含字体包。所以今天特地查了资料,重新将itext-asian.jar和itext.jar进行打包,整合成可以生成中文的PDF文档。下面贴上调用方法,亲测可用:

package com.example.testpdf;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;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;import android.os.Bundle;import android.os.Environment;import android.app.Activity;/** * 生成pdf文档到SD卡下,byte.pdf,可以生成中文字符 * 所用jar包是自己修改过的,将字体植入jar包内 * @author yt * @date 2015-1-15 * */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Document doc=new Document();FileOutputStream fos;try {fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory()+"/byte.pdf"));PdfWriter.getInstance(doc, fos);doc.open ();  doc.setPageCount(1);doc.add(new Paragraph("testpdf~~成功哩", setChineseFont()));//一定要记得关闭document对象doc.close();fos.flush();fos.close();} catch (FileNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} // 产生PDF字体    public static Font setChineseFont() {        BaseFont bf = null;        Font fontChinese = null;        try {            bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);            fontChinese = new Font(bf, 12, Font.NORMAL);        } catch (DocumentException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return fontChinese;    }}

打包后的itext库包:iTextpdf.jar,下载地址:http://download.csdn.net/detail/nihenbuhao/8366099


1 0
原创粉丝点击