利用java操作Itext创建pdf文件

来源:互联网 发布:小米手机网络制式 编辑:程序博客网 时间:2024/04/29 08:54

许多企业系统 需要通过java动态的生成pdf文件,itext是一个开源的PDF工具,能够帮助我们便捷的生成PDF文件。

开发环境:JDK1.6以上,eclipse或者是Intellij idea,jar包itextpdf-5.4.2.jar

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("E:\\HelloWorld.pdf"));    

                        // 第三步:打开文档。    
                        document.open();    
                        // 第四步:在文档中增加一个段落。    
                        document.add(new Paragraph("Hello World");    
                } catch (DocumentException de) {    
                        System.err.println(de.getMessage());    
                } catch (IOException ioe) {    
                        System.err.println(ioe.getMessage());    
                }    
                // 第五步:关闭文档。    
                document.close();    
                // 检验程序是否正常运行到这里。    
                System.out.println("快去看看吧");    
        }    


控制台显示打印结果,到E盘下可看到生成的PDF文件


我们来试一试添加数据库数据的测试,直接代码:

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("快去看看吧");    
        }    

0 0
原创粉丝点击