java開發(fā)實(shí)戰(zhàn)1200例2本書第19-21章內(nèi)容_第1頁
java開發(fā)實(shí)戰(zhàn)1200例2本書第19-21章內(nèi)容_第2頁
java開發(fā)實(shí)戰(zhàn)1200例2本書第19-21章內(nèi)容_第3頁
java開發(fā)實(shí)戰(zhàn)1200例2本書第19-21章內(nèi)容_第4頁
java開發(fā)實(shí)戰(zhàn)1200例2本書第19-21章內(nèi)容_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Table

級(jí)本實(shí)例演示如何通過Java應(yīng)用程序,在PDF文檔中使用Table類繪制具有指定列數(shù)的表格。運(yùn)行程序,將創(chuàng)建一個(gè)具有5列的表格,效果如圖20.1所示。注意:TableiTextiTextTablePdfPTable學(xué)習(xí)使用iTextPDF表格開發(fā)的用戶,可以跳過本節(jié)內(nèi)容直接學(xué)習(xí)后面的PdfPTable類。20.1使用Table創(chuàng)建具有指定列數(shù)的表說明:20.1可以看出,表格中的內(nèi)容與下邊線相交,該問題可以通過添加單元格填距來解決,有TableTabletable=new//publicstaticvoidmain(String[]{publicstaticvoidmain(String[]{try=//創(chuàng)建文檔對(duì) ,FileOutputStream("C:\\創(chuàng)建具有指定列數(shù)的表 //打開文檔BaseFont =BaseFont.createFont("STSong-實(shí)例化字w //省略了添加單元格內(nèi)容的部分代//向文檔中添加內(nèi)//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//將表格添加到文檔}}catch(FileNotFoundException{}catch Exception{}catch(IOException{}}BaseFontBaseFont //定義基本字 Font =newFont(bf,實(shí)例化字//添加單元格內(nèi)

級(jí)將創(chuàng)建一個(gè)具有33列的表格,效果如圖20.2所示。20.2使用Table創(chuàng)建具有指定行列數(shù)的表Tabletable=newTable(3,3);Tabletable=newTable(3,3);//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換publicstaticvoidmain(String[]{publicstaticvoidmain(String[]{try=//創(chuàng)建文檔對(duì) ,new"C:\\創(chuàng)建具有指定行列數(shù)的表格 //關(guān)聯(lián)文檔對(duì)象與輸出 BaseFontbf =BaseFont.createFont("STSong-Light",Font =new ,28,實(shí)例化字Tabletable=newTable(3,3);//}catch(FileNotFoundException{//}catch Exception{}catch(IOException{}}33列的表格,

級(jí)可以看到調(diào)整表格邊框?qū)挾鹊男Ч?,如圖20.3所示。20.3調(diào)整表格邊框?qū)挾鹊男?/publicstaticvoidmain(String[]publicstaticvoidmain(String[]{try=//創(chuàng)建文檔對(duì) ,newBaseFont//=BaseFont.createFont("STSong-"UniGB-UCS2-H",Fontfont =newFont(bf Tabletable1=newTable(3);省略了部分向表格中添加單元格內(nèi)容的代碼Tabletable2=newTable(3);//////////.add(newParagraph("改變外邊框?qū)挾葹?的表格",}catch(FileNotFoundException{}catch Exception{}catch(IOException{}}在實(shí)際的PDF文檔中,還可以根據(jù)需要選擇設(shè)置表格某條邊框的寬度,可以使用Table類的Tabletable=newTable(3);Tabletable=newTable(3);//

級(jí)可以看到調(diào)整表格邊框顏色的效果,如圖20.4所示。20.4設(shè)置表格邊框顏色的效Tabletable=newTable(3);Tabletable=newTable(3);publicstaticvoidmain(String[]{publicstaticvoidmain(String[]{try=//創(chuàng)建文檔對(duì) , //關(guān)聯(lián)文檔對(duì)象與輸出色 =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//定義基礎(chǔ)字Font =new ,12,Tabletable=new省略了部分向表格中添加單元格內(nèi)容的代碼Tabletable1=newTable(3);//省略了部分向表格中添加單元格內(nèi)容的代.add(newParagraph("設(shè)置邊框顏色后的表格",}catch(FileNotFoundException{實(shí)例化字////將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//設(shè)置表格邊框顏//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////}catch Exception{}catch(IOException{}}在實(shí)PDF文檔中,還可以根據(jù)需要選擇設(shè)置表格某條邊框的顏色,這可以先使TablesetBorder()方TablesetBorderColor()方法設(shè)置顏色,例如,要設(shè)置表格上邊框Tabletable=newtable.setBorder(Table.TOP|

//對(duì)表格上邊框和下邊框進(jìn)行設(shè)

級(jí)20.5設(shè)置表格單元格間距的效//publicstaticvoidmain(String[]publicstaticvoidmain(String[] =//創(chuàng)建文檔對(duì)();try , BaseFontbf =BaseFont.createFont("STSong-Light",Font =new ,12,Tabletable=new.add(newParagraph("默認(rèn)的表格",font 省略了部分向表格中添加單元格內(nèi)容的代碼Tabletable1=newTable(3);//省略了部分向表格中添加單元格內(nèi)容的代實(shí)例化字////將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//設(shè)置表格邊框與單元格的間////將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//}catch(FileNotFoundException{//}catch Exception{}catch(IOException{}}Tabletable1newTabletable1new //

級(jí)效果,如圖20.6所示,這時(shí)單元格中的內(nèi)容與單元格的邊框不再相交。20.6設(shè)置表格中單元格填距的效TableTabletable1=newTable(3);//publicstaticvoidmain(String[]publicstaticvoidmain(String[] =//創(chuàng)建文檔對(duì)();try , BaseFontbf Font =new ,12,Tabletable=new省略了部分向表格中添加單元格內(nèi)容的代碼Tabletable1=newTable(3);//省略了部分向表格中添加單元格內(nèi)容的代實(shí)例化字////將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//設(shè)置表格邊框與單元格的填//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換",////關(guān)閉文}}catch(FileNotFoundException{}catch Exception{}catch(IOException{}}Tabletable=newTable(3);Tabletable=newTable(3);//設(shè)置單元格灰度顯

級(jí)頭的功能。運(yùn)行程序,將在PDF文檔中添加一個(gè)有表頭的表格,效果如圖20.7所示。20.7為表格設(shè)置表頭的效Tabletable1=newTabletable1=newTable(4);//將單元格設(shè)置為表//向表格添加單元=,new=,new//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOTEMBEDDED);Font =new ,12,Tabletable=new實(shí)例化字cell0cell0newCell(newParagraph("編號(hào)cell1=newCell(newParagraph(" ",Font cell1.setVerticalAlignment(Element.ALIGNCENTER);cell2=newCell(newParagraph(" ",Font cell3=newCell(newParagraph(" ",Font for(inti=1;i<=3;i++)table.addCell(newParagraph("95**0"+////////////////////table.addCell(newParagraph("李*輝", table.addCell(newtable.addCell(newParagraph("0431-}etaer(和endaerTabletable1=new//省略了向表格中添加單元格的其他代

//將單元格設(shè)置為表//向表格添加單元//使每一頁顯示表

級(jí)的效果,如圖20.8所示。20.8設(shè)置表格中單元格所占列數(shù)CellcellnewCell(newCellcellnewCell(newParagraph("我占2列//定義一個(gè)表格單元格對(duì)//設(shè)置表格列跨度(合并兩個(gè)單元格=//創(chuàng)建文檔=//創(chuàng)建文檔對(duì),new//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-"UniGB-UCS2-H",Font =new ,10,Font.NORMAL,Tabletable=newTable(5);CellcellnewCell(newParagraph("我占2列Font//省略了部分向表格中添加單元格內(nèi)容的代Cellcell2newCell(newParagraph("我占4Font//省略了部分向表格中添加單元格內(nèi)容的代Cellcell3newCell(newParagraph("我占3Font實(shí)例化字//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////設(shè)置表格列跨度(合并兩個(gè)單元格//將單元加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////將單元加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////將單元加入到表//Tabletable=newCellcell=newCell(newParagraph("我占據(jù)2列",Font

//定義一個(gè)表格單元格對(duì)//將單元格加入到表

級(jí)效果,如圖20.9所示。20.9設(shè)置表格中單元格所占行數(shù)CellcellnewCell(newCellcellnewCell(newParagraph("我占4行//法的代碼,完成在PDF文檔中設(shè)置表格的單元格所占行數(shù)的操作,主要代碼如下:= =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);FontFont =newFont( Tabletable=newTable(5);Cellcell=newCell(newParagraph("我占據(jù)4行",Font //省略了部分向表格中添加單元格內(nèi)容的代Cellcell2=newCell(newParagraph("我占據(jù)3行",Font //省略了部分向表格中添加單元格內(nèi)容的代

//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出實(shí)例化字//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////將單元格加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換////將單元格加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//4行,則實(shí)現(xiàn)合并整列單元格Tabletable=newCellcell=newCell(newParagraph("我占據(jù)4行",Font

////將單元格加入到表

級(jí)PDF文檔中創(chuàng)建表格時(shí),有時(shí)需要設(shè)置單元格的背景色,以改變表格中某些單元格的視覺效果。本實(shí)例20.10設(shè)置表格中單元格背景色的效Cellcell=newCell();//創(chuàng)建Cellcell=newCell();//創(chuàng)建單元//為單元格填充背景=,new=,new//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);Font =new ,12,實(shí)例化字",cell//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//創(chuàng)建單元//為單元格填充背景Cellcell2=newCell();//省略了部分向表格中添加單元格內(nèi)容的代

//將單元格填入到//為單元格填充背景

行程序,可以看到在表格中嵌套了兩個(gè)表格,效果如圖20.11所示。20.11在表格中嵌套表格的效Tabletable1=newTable(3);Tabletable2=newCelltableCell=newCell(newParagraph("使用Cell嵌入的表二",Font Tabletable3=newTable(5,5);

//將表格添加到單55列的原//1個(gè)表格嵌入到原表中第1//添加單元格,實(shí)現(xiàn)第2代碼,完成在PDF文檔表格中嵌套表格的操作,主要代碼如下:==,// =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOTEMBEDDED);Font =new //Fontfont=newFont( ,10,Font.NORMAL);Tabletable1=newTable(3);CellcellnewCell(newParagraph("嵌入的表一Font//table1.addCell(newParagraph("0.0Fonttable1.addCell(newParagraph("0.1Fonttable1.addCell(newParagraph("0.2Fonttable1.addCell(newParagraph("1.0Fonttable1.addCell(newParagraph("1.1Fonttable1.addCell(newParagraph("1.2FontTabletable2=newTable(2);////table2.addCell(newParagraph("表二0.0", table2.addCell(newParagraph("表二0.1",Font table2.addCell(newParagraph("表二1.0",Font CelltableCellnewCell(newParagraph("Cell嵌入的表二FontTabletable3=newTable(5,5);單元格添入到表格,行滿自動(dòng)換行//551個(gè)表格嵌入到原表中第1//添加單元格,實(shí)現(xiàn)第2Table類的insertTable()方法嵌套表格時(shí)不能設(shè)置填距,而使用Cell類的方法時(shí)是可以設(shè)置填距的。

設(shè)置表格偏移值為20.12設(shè)置表格偏移的效法的代碼,完成在PDF文檔中偏移表格的操作,主要代碼如下:= =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);FontFont =newFont( Tabletable=newTable(3);.add(newParagraph("原表格。", .add(newParagraph("默認(rèn)的距離。", .add(newParagraph("設(shè)置表格偏移值為0的距離。",Font .add(newParagraph("設(shè)置表格偏移值為-15的距離。",Font

//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出實(shí)例化字//設(shè)置表格邊框?qū)?///設(shè)置表格與單元格的間//設(shè)置單元格與內(nèi)容的間//添加單元//////設(shè)置表格偏移數(shù)//設(shè)置表格偏移數(shù)

級(jí)20.13使用PdfPTable類創(chuàng)建經(jīng)找不到Table類了。PdfPTablePdfPTabletable=newPdfPTable(3);//==,//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOTEMBEDDED);Font =new PdfPTabletable=newPdfPTable(3);//省略了部分向表格中添加單元格內(nèi)容的代.add(newParagraph("這是一個(gè)33列的表格實(shí)例化字//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換 // // //使用已有的表格對(duì)象table創(chuàng)建新的表格對(duì)象//

級(jí)示如何設(shè)置表格的寬度。運(yùn)行程序,可以看到設(shè)置表格寬度后的效果,如圖20.14所示。20.14設(shè)置表格寬度的效float[]widths={0.05f,0.10f,0.30f,055f};PdfPTabletable=newPdfPTable(widths);

//設(shè)置列寬相關(guān)比率為5%、10%、30%、//為表格設(shè)置百分比寬=,new=,newfloat[]widths={0.05f,0.10f,0.30f,0.55f};PdfPTabletable=newPdfPTable(widths);//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//省略了部分向表格中添加單元格內(nèi)容的代//關(guān)聯(lián)文檔對(duì)象與輸出//設(shè)置列寬相關(guān)比率為5%、10%、30%、////為表格設(shè)置百分比寬//PdfPTabletablePdfPTabletable=newPdfPTable(3);PdfPCellcell=newPdfPCell();//創(chuàng)建單元//設(shè)置單元格的行跨////

級(jí)何設(shè)置表格的對(duì)齊方式。運(yùn)行程序,可以看到表格左對(duì)齊、居中對(duì)齊和右對(duì)齊的效果,如圖20.15所示。20.15設(shè)置表格對(duì)齊方式的效PdfPTabletable=newPdfPTable(3);//設(shè)PdfPTabletable=newPdfPTable(3);//設(shè)置水平左=,new=,new//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-"UniGB-UCS2-H",Font =new ,10,PdfPTabletable=newPdfPTable(3);PdfPCellcell=newPdfPCell(newParagraph("newtablecolspan3"));//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換PdfPTabletable1=newPdfPTable(3);實(shí)例化字//定義一個(gè)表格單//設(shè)置表格跨//將單元格加入到表//PdfPCellPdfPCellcell2=newPdfPCell(newParagraph("newtablecolspan3"));//table1.addCell("31");PdfPTabletable2=newPdfPTable(3);PdfPCellcell3=newPdfPCell(newParagraph("newtablecolspan3"));//table2.addCell("31");table2.setHorizontalAlignment(Element.ALIGNRIGHT);////////Paragraphp=newParagraph("表格居左對(duì)齊\n\n",p.setAlignment(Element.ALIGNParagraphp2newParagraph("表格居中對(duì)齊\n\nFontp2.setAlignment(Element.ALIGNCENTER);Paragraphp3newParagraph("表格居右對(duì)齊\n\nFontp3.setAlignment(Element.ALIGNRIGHT);后使用setColspan()方法設(shè)置單元格的列跨度。例如:PdfPTabletable=newPdfPCellcell=newPdfPCell(newParagraph("newtablecolspan3"));

//定義一個(gè)表格單元格對(duì)//設(shè)置單元格的列跨//將單元格添加到表

級(jí)可以通過本的方法實(shí)現(xiàn)。運(yùn)行程序,可以看到對(duì)表格列寬進(jìn)行設(shè)置后的效果,如圖20.16所示。20.16設(shè)置表格列寬的效float[]widths={0.05f,0.10f,0.30f,float[]widths={0.05f,0.10f,0.30f,055f};PdfPTabletable=newPdfPTable(widths);//設(shè)置列寬相對(duì)比例為5%、10%、30%、//=,new=,new//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-"UniGB-UCS2-HBaseFont.NOTEMBEDDED);//定義基Font=newnewBaseColor(90,90,,10,float[]widths={0.05f,0.10f,0.30f,0.55f};PdfPTabletable=newPdfPTable(widths);table.addCell(newParagraph("列寬5%",Font%",%",table.addCell(newParagraph("列寬55Font//省略了部分向表格中添加單元格內(nèi)容的代實(shí)例化字//設(shè)置列寬相對(duì)比例為5%、10%、30%、////將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//float[]widths={0.05f,0.10f,0.30f,055fPdfPTabletable=newPdfPTable(4);

//設(shè)置列寬相對(duì)比例為5%、10%、30%、//設(shè)置表格的

級(jí)運(yùn)行程序,可以看到默認(rèn)表格寬度和設(shè)置表格絕對(duì)寬度的效果,如圖20.17所示。PdfPTablePdfPTabletable=newPdfPTable(3);20.17默認(rèn)表格與設(shè)置表格絕對(duì)寬度后的效=,new=,new//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出 =BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);Font =new ,10,PdfPTabletable1=newPdfPCellcell1=newPdfPCell(newParagraph("newtablecolspan3"));//省略了部分向表格中添加單元格內(nèi)容的代PdfPTabletable2=newPdfPCellcell2=newPdfPCell(newParagraph("newtablecolspan3"));實(shí)例化字//定義一個(gè)表格單//設(shè)置表格跨//將單元格加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//定義一個(gè)表格單//設(shè)置表格跨//將單元格加入到表//將單元格順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換",.add(newParagraph("設(shè)置表格寬度200",////在PdfPTabletable=newPdfPTable(3);

////鎖定寬度,使所設(shè)置的寬度有級(jí)級(jí)可以看到嵌套表格的效果,如圖20.18所示。20.18使用PdfPTable類嵌套表格的效= ,= ,newFileOutputStream("c:\\Pdf嵌套表格 打開文PdfPTabletablenew //創(chuàng)建表格對(duì)PdfPTabletable1new // //PdfPTabletable2new // // //添加單元格 //添加單元格 // // //添加嵌套的 //添加嵌套的 //添加單元格 //添加單元格 //將表格添加到文檔 關(guān)閉文的功能。運(yùn)行程序,可以看到表格中添加的效果,如圖20.19所示。圖20.19在表格中添加的效 Imageimage=PdfPTabletable=new

//創(chuàng)建圖像對(duì)//向單元格中添加圖像對(duì)= ,newImageimage=Image.getInstance("image/picture.jpg");PdfPTabletable=newPdfPTable(3);

//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出//創(chuàng)建圖像對(duì)//添加單元格//添加單元格//添加單元格//添加單元格//向單元格中添加圖像對(duì)//添加單元格////設(shè)置單元格的行跨//設(shè)置單元格的列跨//在單元格中//將單元格添加到表//設(shè)置單元格的行跨//設(shè)置單元格的列跨//在單元格中//將單元格添加到表方法實(shí)現(xiàn)。運(yùn)行程序,可以看到設(shè)置表格中單元格高度后的效果,如圖20.20所示。20.20設(shè)置單元格高度的顯PdfPCellcell1=newPdfPCell(newPdfPCellcell2=newPdfPCell(newParagraph("MinimumHeight"));

定義單元定義單元Fontfont=FontFactory.getFont("COURIER",10,FontBOLD);Fontfont=FontFactory.getFont("COURIER",10,FontBOLD);=,new//創(chuàng)建文檔對(duì)PdfPTabletable=newPdfPTable(2);table.addCell(newParagraph("defaultheight",xfont));PdfPCellcell=newPdfPCell(newParagraph("AAA",font));table.addCell(newParagraph("setheight",PdfPCellcell2=newPdfPCell(newParagraph("ABC",font));table.addCell(newParagraph("minimumheight",xfont));PdfPCellcell3=newPdfPCell(newParagraph("Acatmaylookataking.",font));//關(guān)聯(lián)文檔對(duì)象與輸出////定義一個(gè)表格單//向表格添加單元定義單元//將單元格加入到表//定義單元//將單元格加入到表//PdfPCellsetFixedHeight()方法設(shè)置單元格的高度后,單元格的高度是固定的,當(dāng)單元格中的內(nèi)容

級(jí)方式。運(yùn)行程序,可以看到設(shè)置表格中單元格對(duì)齊方式后的效果,如圖20.21所示。20.21設(shè)置單元格對(duì)齊方式PdfPCellsetHorizontalAlignment()方法實(shí)現(xiàn)了設(shè)置單元格對(duì)齊方式的功能。設(shè)置單Paragraphp=newParagraph("IthinkBalewillPdfPCellcell=newPdfPCell(p);

//定義段落對(duì)//定義單元//設(shè)置單元格水平向右對(duì)=,new=,newPdfPTabletable=newParagraphp=newParagraph("IthinkBalewillwin");table.addCell("alignmentleft");PdfPCellcell=newPdfPCell(p);table.addCell("alignmentright");table.addCell("alignmentjustified");PdfPCellcell2=newPdfPCell(p);//關(guān)聯(lián)文檔對(duì)象與輸出//定義段落和//向單元格添加內(nèi)定義單元//設(shè)置單元格水平向左對(duì)//向單元格添加內(nèi)定義單元//設(shè)置單元格水平向右對(duì)//定義單元//設(shè)置單元格為合理的對(duì)齊方PdfPCellcell3=new

//向單元格添加內(nèi)//定義單元//設(shè)置單元格水平居//向單元格添加內(nèi)//PdfPCellsetHorizontalAlignment()方法,設(shè)置了單元格中內(nèi)容的水平對(duì)齊方式,如果需要Paragraphp=newParagraph("IthinkBalewillPdfPCellcell=newPdfPCell(p);

//定義段落對(duì)//定義單元//設(shè)置單元格垂直居中對(duì)

級(jí)設(shè)置表格中單元格的填充和行間距的效果,如圖20.22所示。20.22設(shè)置單元格填充和行間距的效本實(shí)例主要是通過PdfPTable類的getDefaultCell()方法獲得PdfPCell對(duì)象,然后使用PdfPCell類的PdfPTabletable=newPdfPTabletable1=newPdfPTable(2);

//添加行間= ,newPdfPTabletable=newtable.addCell("no table.addCell("SetPadding"); table1.addCell("noLeading"); table1.addCell("SetLeading");

//創(chuàng)建文檔對(duì)//關(guān)聯(lián)文檔對(duì)象與輸出//向單元格添加內(nèi)//單元格填充前內(nèi)//向單元格添加內(nèi)//單元格填充后內(nèi)//將表格添加到文//向單元格添加內(nèi)//添加行間距前內(nèi)//添加行間//向單元格添加內(nèi)//添加行間距后內(nèi)//577:PdfPCellPdfPTable的getDefaultCell()方法獲得的單元格對(duì)象的區(qū)別。使用PdfPCell類創(chuàng)建的單元格對(duì)象,使用setPadding()方法設(shè)置的填充只對(duì)一個(gè)單元格起作用,同樣使用

如果PdfPTable表格中某一行的內(nèi)容較多,而無法在當(dāng)前頁完全顯示一整行內(nèi)容,將自動(dòng)按照行優(yōu)先的方==,newString[]data={"C033010","MX","980","350","800","655","800","23","860"PdfPTabletable=newintcolumnwidths[]={8,3,11,10,8,6,8,12,3,6};////設(shè)置單元格填充為table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);////for(inti=1;i<100;i++)if(i%2==1)HTGRAY);}else}for(intx=0;x<10;{Stringvar=for(inty=0;y<i;{var+="\n"+}}}//////////20.23表格按行優(yōu)先分頁的顯示效PdfPTablePdfPTabletable=newPdfPTable(10);//

20.24所示。20.24表格按頁優(yōu)先分頁的顯示效PdfPTabletable=newPdfPTable(10);//設(shè)置表格頁優(yōu)先分頁方PdfPTabletable=newPdfPTable(10);//設(shè)置表格頁優(yōu)先分頁方=,new=,new//創(chuàng)建文檔對(duì)String[]data={"C033010","MX","980","350","800","655","800","23","860"PdfPTabletable=newintcolumnwidths[]={8,3,11,10,8,6,8,12,3,6};//關(guān)聯(lián)文檔對(duì)象與輸出//向表格添加//省略了添加表格標(biāo)題的部分for(inti=1;i<100;i++)if(i%2==1)HTGRAY);

//向表格添加絕對(duì)設(shè)置單元格填充為//設(shè)置單元格居//將單元格內(nèi)容順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//為表格每一頁設(shè)置表//}else

}for(intx=0;x<10;{Stringvar=for(inty=0;y<i;{var+="\n"+}}}table

//獲得數(shù)組中的數(shù)//連接字符串生成單//為單元格添加內(nèi)//設(shè)置表格頁優(yōu)先分

20.25強(qiáng)行在一頁顯示表格單元格PdfPTablePdfPTabletable=newPdfPTable(10);//=,new//創(chuàng)建文檔對(duì)String[]data=,new//創(chuàng)建文檔對(duì)String[]data={"C033010","MX","980","350","800","655","800","23","860"PdfPTabletable=newintcolumnwidths[]={8,3,11,10,8,6,8,12,3,6};//省略了添加表格標(biāo)題的部分代for(inti=1;i<100;i++)if(i%2==1)HTGRAY);}else}for(intx=0;x<10;{Stringvar=for(inty=0;y<i;{var+="\n"+}}}table//關(guān)聯(lián)文檔對(duì)象與輸出//向表格添加//向表格添加絕對(duì)寬//設(shè)置單元格居中對(duì)//將單元格內(nèi)容順次加入到表格,當(dāng)一行充滿時(shí)自動(dòng)換//為表格每一頁設(shè)置表//獲得數(shù)組中的數(shù)//連接字符串生成單元格內(nèi)//為單元格添加內(nèi)//使行強(qiáng)行在一頁顯示,但是可能會(huì)丟失數(shù)//

以看到默認(rèn)表格位置和絕對(duì)定位表格后的效果,如圖20.26所示。20.26默認(rèn)表格位置和絕對(duì)定位表格后的效tabletable=newtable.writeSelectedRows(0,2,50,750,//=//創(chuàng)建文=//創(chuàng)建文檔對(duì)tryPdfWriterwriter=,newFileOutputStream("c:\\絕對(duì)定位表格float[]columnSize={21F,21F,21F};PdfPTabletable=null;PdfPCellcell=table=newPdfPTable(columnSize);cel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論