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

最近项目用到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 {

	@Override
	protected 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 block
			e1.printStackTrace();
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.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


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值