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 圖表生成工具使用了強大的...