pdf(Portable Document Format的简称,意为“便携式文档格式”),是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。
iText 是java和C#中的一个处理PDF的开源类库,国外的大牛已经把它移植到Android上了,但是直接拿来用还是需要花费一点功夫,下面就用一个简单的demo来测试一下。
本文主要介绍在Android开发中如何利用iText生成PDF。
iText项目地址:
首先用过svn把代码check下来。
得到三个文件夹,droidText是一个android的库工程,droidTextTest是测试工程。
在eclipse中导入droidText项目。这是个library project,后面创建的项目需要引用到。
然后创建一个Android工程-iTextTest
在工程中引用droidText:
Project->properties->Android->LIbrary:ADD
链接好之后就像上图。
主界面就一个Button,按下之后就开始生产PDF。
package com.example.itexttest;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.PrintStream;
import java.lang.reflect.Method;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class ITextActivity extends Activity {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_itext);
mButton = (Button)findViewById(R.id.button1);
mButton.setOnClickListener(new OnClickListenerImpl());
}
private class OnClickListenerImpl implements View.OnClickListener
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//Toast.makeText(getApplicationContext(), "Run", Toast.LENGTH_SHORT).show();
// Create droidtext directory for storing results
File file = new File(
android.os.Environment.getExternalStorageDirectory()
+ File.separator + "iTextTest");
if (!file.exists()) {
file.mkdir();
}