Java操作PDF文件(iText)

版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://xiaoduan.blog.51cto.com/502137/137930
上次我们用jacob来操作Microsoft Word,今天我们来操作PDF文档。
虽然jacob中也有关于PDF的方法,但是过于复杂。iText是一个开源的PDF工具,小巧而又便捷。

官方网站是: http://www.lowagie.com/iText/
官方的解释:iText is a library that allows you to generate PDF files . the fly
最新版本为:2.1.5
下载地址是: http://nchc.dl.sourceforge.net/sourceforge/itext/iText-2.1.5.jar
 
我的开发环境:JDK1.6+MyEclipse7+Tomcat5.5.27
首先在MyEclipse中新建一个项目,名称为iText。
新建一个Class(类)HelloWorld.java ,Package(包)为com.test ,代码如下:
package com.test; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class HelloWorld { /** * 生成一个简单的PDF文件:HelloWorld.pdf * * 作者:小段 */ public static void main(String[] args) { System.out.println("Hello World"); //第一步:创建一个document对象。 Document document = new Document(); try { // 第二步: // 创建一个PdfWriter实例, // 将文件输出流指向一个文件。 PdfWriter.getInstance(document,new FileOutputStream("C://HelloWorld.pdf")); // 第三步:打开文档。 document.open(); // 第四步:在文档中增加一个段落。 document.add(new Paragraph("Hello World"+","+"Hello iText"+","+"Hello xDuan")); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // 第五步:关闭文档。 document.close(); // 检验程序是否正常运行到这里。 System.out.println("快去看看吧"); } }

运行后,控制台输出语句:Hello World     快去看看吧
 
进入C盘根目录,发现生成的HelloWorld.pdf文件,打开文件,看看内容是否正确。
 
Java操作PDF文件测试成功。但是现在我们项目没有任何实际意义。所以我们要添加数据库。
数据库为Oracle10g,用户名sys1,密码abc,表:emp
 
表中数据很多,我在这里就不一一列举了。
 
新建一个Class(类)DB.java ,代码如下:
package com.test; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.lowagie.text.Anchor; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Paragraph; import com.lowagie.text.html.HtmlWriter; import com.lowagie.text.pdf.PdfWriter; public class DB { /** * 利用iText,将数据库表中的数据写入PDF文件中。 * * 作者:小段 */ public static void main(String[] args) throws Exception{ System.out.println("Hello Oracle"); // 第一步:创建一个document对象。 Document document = new Document(); try { // 第二步: // 创建一个PdfWriter实例, // 将文件输出流指向一个文件。 PdfWriter pdf = PdfWriter.getInstance(document,new FileOutputStream("C://DB.pdf")); // 第三步:打开文档。 document.open(); // 第四步:创建数据库连接 。 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "sys1", "abc"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from emp"); while(rs.next()){ //循环取得所有数据 String s=""; for(int i=1;i<=8;i++){ s+=rs.getObject(i)==null?"":rs.getObject(i).toString()+"/t"; } document.add(new Paragraph(s)); } document.add(new Paragraph("Hello World"+" fdgdsf "+"Hello xDuan")); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // 第五步:关闭文档。 document.close(); System.out.println("快去看看吧"); } }

运行后,控制台显示信息:Hello Oracle     快去看看吧
 
进入C盘根目录,发现生成了DB.pdf文件,打开看看内容是否正确。
 
成功!这是Java利用iText操作PDF文件,下次我们用另外一个工具BFO,呵呵,不是UFO。

本文出自 “小段 ” 博客,请务必保留此出处http://xiaoduan.blog.51cto.com/502137/137930

你可能感兴趣的:(编程,java,import,myeclipse,文档,oracle10g,数据库)