成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

使用JAVA生成PDF文檔

2010-09-03 23:01:03來源:西部e網作者:


 

----------使用iText輸出PDF文件。
 
如今PDF格式文檔的使用已經越來越普遍,它在文檔壓縮、安全等方面都表現的非常優秀,有關它的好處我就不在這里多說了。那么如何使用Java語言開發應用來輸出PDF格式的文檔呢


 

----------使用iText輸出PDF文件。

 

如今PDF格式文檔的使用已經越來越普遍,它在文檔壓縮、安全等方面都表現的非常優秀,有關它的好處我就不在這里多說了。那么如何使用Java語言開發應用來輸出PDF格式的文檔呢?在這里給大家介紹iText,它是一個開發源代碼的項目,你可以使用iText方便的實現PDF的輸出。這篇文章我將向大家介紹如何使用iText來生成PDF文檔。

HelloWorld

作為一個程序開發人員,對于HelloWorld程序并不陌生,幾乎每一種語言或應用開始總是會舉一個HelloWorld的例子來向大家介紹。在開始介紹iText時,我們不妨也從HelloWorld開始  

 

現在運行上面的代碼(記住在這之前把itext.jar放到你的ClassPath 之中),如果一切正常的話你會在”c:/”看到一個名為hello.pdf的文件。打開這個文件,看到了什么?是的文檔里有一行字符“HelloWorld”,如下圖。

 

怎么樣是不是很簡單?當然我們在實際應用時不可能只是簡單的輸出一個字符串就完事了,還要作很多的工作,輸出更復雜的PDF,下面就讓我們開始進一步了解iText的其他功能。

更復雜的設置

   分析一下Document的構造方法,我們發現除了我們上一個例子中的無參數構造以外還有兩個:

/*

 * Created on 2004-1-3,創建第一個Hello World程序

 */

package test1;

import java.io.FileNotFoundException;

import java.io.FileOutputStream; 

import com.lowagie.text.*;

import com.lowagie.text.pdf.*;

public class HelloWorld { 

    public static void main(String[] args) {

        //創建一個文檔對象

        Document doc=new Document();

        try {

        //定義輸出位置并把文檔對象裝入輸出對象中

    PdfWriter.getInstance(doc, new FileOutputStream("c:/hello.pdf"));

            //打開文檔對象

            doc.open();

         // 加入文字“Hello World”

            doc.add(new Paragraph("HelloWorld"));

         //  關閉文檔對象,釋放資源

            doc.close();           

       } catch (FileNotFoundException e) {

           e.printStackTrace();

       } catch (DocumentException e) {

           e.printStackTrace();

       }

    }

}

public Document();

public Document(Rectangle pageSize);

public Document(Rectangle pageSize,

   int marginLeft,

   int marginRight,

   int marginTop,

   int marginBottom);

 

第一個設置文檔的頁面大小,第二個除了設置文檔的頁面大小還設置頁面邊距。下面我分別給出例子。

Rectangle pSize=new Rectangle(144,90);

  //文檔的背景色

        pSize.setBackgroundColor(Color.blue);       

        //創建一個文檔對象,并設置他的初始化大小

        Document doc=new Document(pSize);

 

 Rectangle pSize=new Rectangle(144,90);

        //文檔的背景色

        pSize.setBackgroundColor(Color.blue);          

  

        //創建一個文檔對象,設置初始化大小和頁邊距

        Document doc=new Document(pSize,5,5,5,5);

將第一個例子中的代碼按上面的方法修改然后運行,你可以看到輸出的PDF文檔將是這個樣子,文檔變得很小而且背景是藍色:

 

在上面的例子中我們通過Rectangle設置了文檔的大小,其實iText已經為我們定義好了許多常用的頁面,比如:A0-A10, LEGAL, LETTER等等,這些都放在com.lowagie.text.PageSize這個類中,你可以通過調用PageSize中的靜態方法直接引用頁面信息。比如:

PageSize.A4;

 

設置字體

   使用iText可以設置文字的字體,對于我們中國的程序員來說如何顯示中文是最緊要的問題。幸好iText中有一個專門的包用來設置亞洲國家的字體你可以從http://itext.sourceforge.net/downloads/iTextAsian.jar下載這個包。然后把它直接放到你的ClassPath中就可以了。如何設置字體呢?

 

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

在上面的代碼中設置了中文字體的顯示,你只要使用下面的代碼就可以包中文加到PDF中了

String title = "我愛喝咖啡";

Paragraph t = new Paragraph(title, FontChinese);

doc.add(t);

 

如果你覺得這樣設置很麻煩的話,呵呵,那你要自己擴展它的源代碼了,設置字體全部在那個BaseFont里邊。

 


 

編輯表格

   iText中的表格很像HTML中表格的使用不過它有一個cell代表一個格子,基本上這里的TableSwing中的Table對象是一致的,比如上面代碼中對于表格的設置:

//定義一個表格

           Table table = new Table(2);

            //設置表格邊框

           table.setBorderWidth(1);

            Cell cell = new Cell("Matrix III");

           cell.setHeader(true);

            //分列

           cell.setColspan(2);

            cell.setBackgroundColor(Color.blue);

           table.addCell(cell);

 

 

放置圖片

現在你一定知道如何把一個圖片加到文檔中了,沒錯只要聲明一個Image對象就可以了,這里的ImageAWT中的Image使用方法是一樣的。

//定義一個圖片

           Image jpeg = Image.getInstance("C:/matrix.jpg");

            //圖片居中

        jpeg.setAlignment(Image.ALIGN_CENTER);

結束

有關iText的使用我就大致介紹這些,更深入的東西只有大家參考源代碼自己體會了。

關鍵詞:pdf

贊助商鏈接:

主站蜘蛛池模板: 安达市| 襄城县| 高平市| 深水埗区| 长乐市| 南宁市| 武冈市| 文安县| 台东市| 静宁县| 翼城县| 宕昌县| 临颍县| 寿阳县| 进贤县| 东台市| 台湾省| 田东县| 房产| 佛坪县| 通山县| 农安县| 西乌珠穆沁旗| 楚雄市| 彭阳县| 基隆市| 会东县| 竹北市| 乐清市| 泰州市| 九江县| 高要市| 托克托县| 扶余县| 洪洞县| 瑞丽市| 梅河口市| 辉南县| 三穗县| 社会| 富阳市|