c 使用itextsharp的例項

2021-06-23 05:27:19 字數 2922 閱讀 2896

在程式設計中用到將一些報告生成pdf檔案,用到了itextsharp版本是4.1.2.0和最新的版本的某些函式有出入

document doc = new document(pagesize.a4, 100, 100, 80, 80);//文件a4樣式,左右頁邊距100,上下80
pdfwriter.getinstance(doc, new filestream(path + "" + pdfname + ".pdf", filemode.create));//建立文件
headerfooter footer = new headerfooter(new phrase(""), true);//頁尾加頁碼居中下面畫一條橫線

footer.setalignment("center");

footer.border = itextsharp.text.rectangle.align_right;

doc.footer = footer;

自帶庫中的字型不能進行漢語的編輯需要建立漢字的字型

basefont bfhei = basefont.createfont(@"c:\windows\fonts\simhei.ttf", basefont.identity_h, basefont.not_embedded);//黑體

basefont bfsun = basefont.createfont("c:\\windows\\fonts\\simsun.ttc,0", basefont.identity_h, basefont.not_embedded);//宋體

上面的兩個分別為建立黑體和宋體,需要注意的是宋體是ttc並且後面加乙個0

itextsharp.text.font sun12red = new itextsharp.text.font(bfsun, 12, itextsharp.text.font.normal, itextsharp.text.color.red);//宋體12號紅

itextsharp.text.font sun12chuti = new itextsharp.text.font(bfsun, 12,itextsharp.text.font.bold);//宋體12號加粗

編輯中可能會用到不同的字型大小顏色 ,上面兩個是具體字型的定義

paragraph bianhao = new paragraph("編號:"+num+"", sun10);

bianhao.setalignment("right");

doc.add(bianhao);

段落預設是左對齊 也可以right設定為居右,center設定為居中

pdfpcell cell1 = new pdfpcell(new phrase("專案", sun12));

cell1.horizontalalignment = 1;

pdfpcell cell2 = new pdfpcell(new phrase("分數", sun12));

cell2.horizontalalignment = 1;

pdfpcell cell3 = new pdfpcell(new phrase("1", sun12));

pdfpcell cell4 = new pdfpcell(new phrase("2", sun12));

pdfpcell cell5 = new pdfpcell(new phrase("3", sun12));

pdfpcell cell6 = new pdfpcell(new phrase("4", sun12));

pdfpcell cell7 = new pdfpcell(new phrase("5", sun12));

pdfpcell cell8 = new pdfpcell(new phrase("6", sun12));

pdfpcell cell9 = new pdfpcell(new phrase("7", sun12));

pdfpcell cell10 = new pdfpcell(new phrase("8", sun12));

table.addcell(cell1);

table.addcell(cell2);

table.addcell(cell3);

table.addcell("" + pf + "");

table.addcell(cell4);

table.addcell("" + rp + "");

table.addcell(cell5);

table.addcell("" + sf + "");

table.addcell(cell6);

table.addcell("" + re + "");

table.addcell(cell7);

table.addcell("" + bp + "");

table.addcell(cell8);

table.addcell("" + gh + "");

table.addcell(cell9);

table.addcell("" + vt + "");

table.addcell(cell10);

table.addcell("" + mh + "");

doc.add(table);

上面是進行**的編輯horizontalalignment可以用來設定**元素的對齊方式

的新增scalepercent(60f)用來設定顯示為原圖的比例

C 使用iTextSharp新增PDF水印

使用的是itextsharp新增pdf水印,由於是介面動態生成pdf,所以採用的是全部是記憶體流的形式,而且水印是平鋪是。itextsharp版本是5.5。新增傾斜水印 pdf檔案流 水印字串 程式設計客棧lt param 頁面寬度 頁面高度 public memorystream setwater...

使用iTextSharp中文無顯示

itextsharp匯出pdf遇到問題中文無顯示!一開始老是少幾個顯示不完整,一直找 問題 最後才注意到中文無顯示!需要像這樣 指定字型庫,並建立字型 basefont basefont basefont.createfont c windows fonts stsong.ttf basefont....

使用iTextSharp讀取PDF文件

網上有很多獲取pdf頁數方法有讀流判斷type page的但是經過實際測試檔案太大的時候往往不是很準確,既然這樣我們就不用費心去自己寫了可以用itextsharp。1 建立乙個windows控制台應用程式,命名為readpdfdemo。2 新增對itextsharp的引用。3 在 program.c...