itext匯出中文

2021-07-04 09:19:19 字數 2753 閱讀 8883

最近乙個專案需要匯出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...