欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
使用iText操作pdf文件

使用iText操作pdf文件

        前段時(shí)間寫(xiě)過(guò)一篇文章《java讀取pdf文件的內容》,pig0045給我回復,說(shuō)可以直接利用iText搞定,我很感激,因為以前處理pdf文件并不多,對這塊相關(guān)組件并不了解,pig0045給我介紹了一個(gè)新的方法,謝謝!欣喜之余,馬上google了一把iText,發(fā)現iText在生成pdf文件方面功能很強大,而在讀取pdf文件內容方面似乎涉及并不多(也許是我沒(méi)查到,有不同觀(guān)點(diǎn)的朋友,大家探討一下阿)。
        同時(shí)我也查了下java領(lǐng)域針對pdf的相關(guān)組件,發(fā)現有很多開(kāi)源的東東,都可以操作pdf,恩,很不錯的。大致介紹幾個(gè):xpdf,iText,PDFBox,感興趣的話(huà),大家可以自己查一下。
        好了,回到文章主題,查了下iText后,我也去稍微看了下相關(guān)的api,做了一些簡(jiǎn)單的demo,雖然網(wǎng)上相關(guān)介紹很多,但是自己寫(xiě)一遍程序再用自己的語(yǔ)言記錄下來(lái),理解會(huì )更為深刻一點(diǎn)。
準備工作:到http://www.lowagie.com/iText/下載最新的iText的jar包,并將其放到classpath中。
一.Hello World
iText創(chuàng )建pdf文件是十分簡(jiǎn)單的,為了演示其極其簡(jiǎn)單性,我們做一個(gè)HelloWorld吧,讓大家體驗一下。
在這個(gè)pdf文件中,我們只顯示一句話(huà)"Hello World",實(shí)現方式如下:
        // 創(chuàng )建一個(gè)文檔對象
        Document doc = new Document();
        
try {
            
// 定義輸出位置并把文檔對象裝入輸出對象中
            PdfWriter.getInstance(doc, new FileOutputStream("/root/hello.pdf"));
            
// 打開(kāi)文檔對象
            doc.open();
            
// 加入文字“Hello World”
            doc.add(new Paragraph("HelloWorld"));
            
// 關(guān)閉文檔對象,釋放資源
            doc.close();
        }
 catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 catch (DocumentException e) {
            e.printStackTrace();
        }
怎么樣?很簡(jiǎn)單吧?下面我們對以上代碼稍作解釋。
Document(文檔)是創(chuàng )建pdf需要使用的第一個(gè)類(lèi),一旦創(chuàng )建了文檔,要向pdf文件里寫(xiě)入內容,則需要一個(gè)寫(xiě)入器,而PdfWriter就是這樣的一個(gè)寫(xiě)入器。Paragraph這個(gè)類(lèi)表示一個(gè)縮進(jìn)的段落。運行以上程序,我們就會(huì )在/root目錄下看到hello.pdf文件。

但是在實(shí)際工作中,我們不可能做這么簡(jiǎn)單的工作,下面就介紹一下常用的操作。
二.設置頁(yè)邊距
如果我們希望定義頁(yè)面大小和頁(yè)邊距,可以通過(guò)使用Document的構造方法實(shí)現:
    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);             
        
//創(chuàng )建一個(gè)文檔對象,設置初始化大小和頁(yè)邊距
        Document doc=new Document(pSize,5,5,5,5);
在上面的例子中我們通過(guò)Rectangle設置了文檔的大小,其實(shí)iText已經(jīng)為我們定義好了許多常用的頁(yè)面,比如:A0-A10,我們可以直接調用,如下:
 Document doc=new Document(PageSize.A4,5,5,5,5);

三.設置字體
iText可以設置顯示文本的字體,大小,顏色等,如下:
            // 加入文字“Hello World”,并設置字體為粗體,大小為20,顏色為紅色
            doc.add(new Paragraph("HelloWorld", FontFactory.getFont(
                    FontFactory.COURIER, 
20, Font.BOLD, new Color(25500))));
而要實(shí)現中文支持,我們需要到http://itextdocs.lowagie.com/downloads/iTextAsian.jar下載中文支持包,然后把它放入classpath中(我試了幾次,都無(wú)法下載,這里先不說(shuō)這塊了)。
四.編輯表格
pdf中的table和html中的table差不多,只是其單元格是cell,如下代碼加入了一個(gè)2*2的表格,代碼很簡(jiǎn)單,就不過(guò)多解釋了。
        Document doc = new Document();
        
try {
            
// 定義輸出位置并把文檔對象裝入輸出對象中
            PdfWriter.getInstance(doc, new FileOutputStream("/root/hello.pdf"));
            
// 打開(kāi)文檔對象
            doc.open();
            Table t 
= new Table(2,2);
            t.setBorderColor(
new Color(00255));//設置邊框顏色為藍色
            t.setPadding(5);
            t.setSpacing(
5);//設置單元格邊界
            t.setBorderWidth(1);//設置邊框寬度
            Cell c1 = new Cell("header1");
            c1.setHeader(
true);
            t.addCell(c1);
            c1 
= new Cell("Header2");
            t.addCell(c1);
            t.endHeaders();
            t.addCell(
"1.1");
            t.addCell(
"1.2");
            doc.add(t);
            
// 關(guān)閉文檔對象,釋放資源
            doc.close();
        }
 catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 catch (DocumentException e) {
            e.printStackTrace();
        }

五.插入圖片
插入圖片和swing插入圖片差不多,大家可以參考一下:
        Document doc = new Document();
        Image jpeg;
        
try {
            PdfWriter.getInstance(doc, 
new FileOutputStream("/root/hello.pdf"));
            doc.open();
            jpeg 
= Image.getInstance("/root/1.gif");
            
//圖片居中
            jpeg.setAlignment(Image.ALIGN_CENTER);
            doc.add(jpeg);
            doc.close();
        }
 catch (BadElementException e) {
            e.printStackTrace();
        }
 catch (MalformedURLException e) {
            e.printStackTrace();
        }
 catch (IOException e) {
            e.printStackTrace();
        }
 catch (DocumentException e) {
            e.printStackTrace();
        }

           好了,到這里我大致也介紹完了,歡迎大家拍磚,呵呵

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1638843

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
sdfsdf--happy88day的Blog
java生成word文件的解決方案 - 31公里(rye's blog)
PDF轉Word完全指南:3大方法滿(mǎn)足各種場(chǎng)景!
在Web應用中動(dòng)態(tài)創(chuàng )建PDF文件
用c#制作pdf文件全攻略
利用word將PDF轉換DOC文件的方法 --電腦高手
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久