java用itext 做pdf報表

2021-07-10 12:38:59 字數 2335 閱讀 1611

1.準備工作:

com.itextpdf

itextpdf

5.5.8

2.簡易操作:

先建立乙個文件

document document = new document(pagesize.a4, 50, 50, 50, 50);
用a4紙建立了乙個文件,頁邊距都是50;

建立乙個輸出流

pdfwriter writer = pdfwriter.getinstance(document,new fileoutputstream("d:\\aaa.pdf"));
如果在web專案中獲得了response,第二個引數

new fileoutputstream("d:\\aaa.pdf")
可以寫成

response.getoutputstream()
引用字型

basefont basefontchinese = basefont.createfont("c:\\windows\\fonts\\simfang.ttf", basefont.identity_h, basefont.not_embedded);
注意用的是中文字型,這樣寫就不會出現亂碼或者不顯示的情況

為字型設定樣式

font mtext=  new  font(basefontchinese , 24 , font.bold,basecolor.blue);

font ftext = new font(basefontchinese , 15 , font.normal,basecolor.black);

font ctext = new font(basefontchinese , 10 , font.normal,basecolor.black);

在這裡設定了三種樣式的字型以便作為pdf文件的標題,副標題和內容的字型樣式來用,第乙個引數是字型的型別,第二個引數字型大小,第三個引數字型的粗細,傾斜,第四個引數字型的顏色.

建立乙個文字塊

chunk title = new chunk("大標題",mtext);
chunk類似html中的span,第二個引數就是要用的字型樣式,剛才定義了三種,這裡用最大號的.

建立乙個段落

paragraph p = new paragraph();
p.add(title

);

將文字塊新增到段落中,段落是塊級別的,如果在**中要實現水平或垂直對齊,需要將chunk新增到段落中,將段落新增到**的單元格中.

建立乙個**

pdfptable table = new pdfptable(2);

int ints = ;

table.setwidthpercentage(100);

table.setwidths(ints);

這裡新建了乙個**,共2列,兩列的比例是2:8,**寬度設定成了a4紙的可用寬度.這裡的**沒有行的概念,單元格填充滿一行後會從下一行開始.

建立單元格

pdfpcell pdfpcell = new pdfpcell(p);

pdfpcell.setverticalalignment(1);

pdfpcell.sethorizontalalignment(1);

pdfpcell.setpadding(5.0f);

pdfpcell.setcolspan(2);

設定單元格中文字的垂直和水平對齊方式,設定單元格的內邊距,跨2列,還可以設定邊框等.

將單元格新增到**

table.add(pdfpcell);
將**新增到文件

document.add(table);
寫完所有想寫的內容後要記住關閉文件;

document.close();

3.總結

有時候用ireport做較靈活的報表時(比如動態改變布局)很困難,自己用itext提供的pdf工具可以做出更複雜的報表.另外用itext的渲染工具去渲染html轉換成pdf速度會慢.建議直接用itext提供的工具做.

itextapi

java使用itext建立pdf

一。首先引用pom com.itextpdf itextpdf 5.2.0 com.itextpdf itext asian 5.2.0 二。部分 1.新建document物件 第乙個引數是頁面大小。接下來的引數分別是左 右 上和下頁邊距。document new document pagesize...

PDF模版製作以及用iText生成PDF

1 製作pdf模版 對於新手來說,這個軟體使用還是需要一番摸索的,來說一下我的製作流程 1.1 現有乙個模版,用adobe調模版還是挺麻煩的,所以還是使用word來製作模版,製作好模版之後,轉成pdf格式。檔案 另存為 儲存為pdf的格式。1.2 用adobe開啟剛才匯出的pdf。右側工具欄裡選擇 ...

用dompdf和pChart生成PDF報表

今天搞定了proposal tool v2.0的pdf報表生成模組。簡單總結一下我所使用的解決方案。需求需求是要根據使用者選擇的歷史資料,動態的生成一系列的折線圖 餅圖 柱狀圖,然後將這些圖表整合到乙個pdf檔案中。pdf中的文字也是動態的和可修改的。工具開發語言使用php 圖表生成工具使用了強大的...