<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java技術研究

    統計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    (轉)Java操作PDF文件(iText)

    (轉)Java操作PDF文件(iText)
    2009-03-12 01:33:18
    標簽:PDF Java 休閑 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     快去看看吧
    Snap2
     
    進入C盤根目錄,發現生成的HelloWorld.pdf文件,打開文件,看看內容是否正確。
    Snap4
    Snap5
     
    Java操作PDF文件測試成功。但是現在我們項目沒有任何實際意義。所以我們要添加數據庫。
    數據庫為Oracle10g,用戶名sys1,密碼abc,表:emp
    Snap6
     
    表中數據很多,我在這里就不一一列舉了。
    Snap7
     
    新建一個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     快去看看吧
    Snap8
     
    進入C盤根目錄,發現生成了DB.pdf文件,打開看看內容是否正確。
    Snap9
    Snap10
     
    成功!這是Java利用iText操作PDF文件,下次我們用另外一個工具BFO,呵呵,不是UFO。

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

    posted on 2012-06-30 18:02 小秦 閱讀(382) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲妇熟XXXX妇色黄| 亚洲国产精品成人综合色在线婷婷| 免费国产污网站在线观看不要卡| 亚洲А∨精品天堂在线| 日韩精品免费视频| 最新亚洲精品国偷自产在线| 亚洲?V乱码久久精品蜜桃| 免费看搞黄视频网站| 亚洲欧美日韩国产成人| 亚洲综合无码精品一区二区三区| 亚洲成人免费网址| 阿v视频免费在线观看| 亚洲精品高清久久| 免费在线观看黄色毛片| 99精品视频免费观看| 免费视频成人国产精品网站| 久久亚洲精品中文字幕| 亚洲精品岛国片在线观看| 亚洲最大免费视频网| 亚洲国产免费综合| 亚洲色偷偷综合亚洲av78| 久久夜色精品国产亚洲| 日本不卡在线观看免费v| 国产成人亚洲精品无码AV大片| 国产做国产爱免费视频| 日韩亚洲一区二区三区| 日本一道一区二区免费看| 99热这里只有精品免费播放| 杨幂最新免费特级毛片| 亚洲国产成人久久三区| 狠狠亚洲婷婷综合色香五月排名| 国产美女在线精品免费观看| 国内少妇偷人精品视频免费| 亚洲av无码成人精品区一本二本| 亚洲视频在线观看不卡| 亚洲一区AV无码少妇电影☆| 国产不卡免费视频| 在线观看视频免费国语| 免费v片在线观看视频网站| 免费网站观看WWW在线观看| 一级中文字幕免费乱码专区|