最近乙個專案需要匯出pdf文件,選擇使用了itext
在網上查詢,有三種方式:
1、使用itextasian.jar中的字型
basefont.createfont("stsong-light", "unigb-ucs2-h",basefont.not_embedded);
2、使用windows系統字型(truetype)
basefont.createfont("c:/windows/fonts/simyou.ttf", basefont.identity_h,basefont.not_embedded);
3、使用資源字型(classpath)
basefont.createfont("/simyou.ttf", basefont.identity_h,basefont.not_embedded);
第2、三種方式使用的字型多一些,但是需要和實際資源繫結,在實際專案中可以將一些字型庫和專案打包在一起。
以下個人寫的乙個示例,但匯出pdf後,有的電腦能正常顯示,有的不顯示中文字型,可能是客戶機沒有相關字型庫,建議使用第三種方式
response.setheader("expires", "0");
"pragma","no-cache");
response.setheader("content-disposition", "attachment; filename="+day.getday3()+b.getbcode()+".pdf");
response.setheader("cache-control:no-cache", "must-revalidate, post-check=0, pre-check=0");
response.setheader("pragma", "public");
"content-disposition","inline; filename="+day.getday3()+b.getbcode()+".pdf" );
try ;//設定每列寬度比例
table.setwidths(width);
table.setwidth(90);//佔頁面寬度比例
table.setpadding(2);
table.setspacing(0);
table.setalignment(element.align_center);//居中
table.setalignment(element.align_middle);//垂直居中
table.setautofillemptycells(true);//自動填滿
table.setborderwidth(1);//邊框寬度
cell cell = new cell();
cell.setverticalalignment(element.align_middle);
cell.setverticalalignment(element.align_center);
cell cell1= new cell(new paragraph("專案 ",contextfont));
//cell cell2= new cell(new paragraph("部門名稱 ",contextfont));
cell cell3= new cell(new paragraph("貨品編號 ",contextfont));
cell cell4= new cell(new paragraph("單價 ",contextfont));
cell cell5= new cell(new paragraph("貨品名稱 ",contextfont));
cell cell6= new cell(new paragraph("數量 ",contextfont));
cell cell7= new cell(new paragraph("單位 ",contextfont));
table.addcell(cell1);
table.addcell(cell3);
table.addcell(cell4);
table.addcell(cell5);
table.addcell(cell6);
table.addcell(cell7);
int i=0;
for (orderlist o : listo)
}document.add(table);
document.add(new paragraph("\n"));
paragraph bottomname1 = new paragraph("簽字:_________________",contextfont);
bottomname1.setalignment(element.align_right);
document.add(bottomname1);
paragraph bottomname2 = new paragraph("日期:_________________",contextfont);
bottomname2.setalignment(element.align_right);
document.add(bottomname2);
document.close();
} catch (exception ex)
使用了 itextasian.jar ,itext-5.0.6.jar ,注意itexasian.jar對itext 的版本支援。
記錄下**,方便以後用到
itext中文問題
因為專案需要生成pdf,小用了一下itext 發現無法輸出中文,研究了一下 font fontchinese null basefont bfchinese basefont.createfont stsong light unigb ucs2 h basefont.not embedded fon...
itext中文問題
因為專案需要生成pdf,小用了一下itext 發現無法輸出中文,研究了一下 font fontchinese null basefont bfchinese basefont.createfont stsong light unigb ucs2 h basefont.not embedded fon...
itext實現pdf匯出
itext 2.1.4.jar itextasian.jar 中文必備,否則不顯示 程式設計師的一貫風格不多說,上 pdf 匯出的title string titlearr string header 訂單資訊 orderservice orderservice orderservice wac.g...