使用ITextSharp生成PDF檔案心得

2021-07-31 09:37:59 字數 2575 閱讀 8441

首先建立乙個winform應用程式,並且新增itextsharp的引用,在按鈕的單擊事件寫上生成pdf的**,

document docpdf = new document(pagesize.a4,0,0,0,0);//

建立乙個pdf文件的物件,設定紙張大小為a4,頁邊距為0

當需要把pdf紙張設定為橫向時,使用pagesize.a4.rotate()

pdfwriter write = pdfwriter.getinstance(doc, new filestream(@"

e:\pdffile.pdf

", filemode.openorcreate, fileaccess.write));//

建立乙個寫入pdf的物件, basefont bsfont = basefont.createfont(@"

c:\windows\fonts\simsun.ttc,0

", basefont.identity_h, basefont.embedded); font font = new font(bsfont);//

在這裡需要注意的是,itextsharp不支援中文字元,想要顯示中文字元的話需要自己設定字型

docpdf.open();

//開啟

docpdf

.add(new paragraph("第乙個pdf檔案", font));//將一句短語寫入pdf中

docpdf.close();//關閉

上面的**只是將乙個簡單的字串寫入到pdf檔案中,如果要用itextsharp製作**的話,可以使用 pdfptable、pdfpcell,pdfptable用來建立乙個**,pdfpcell用來建立乙個單元格,使用這種方法來建立**的話有點類似於npoi建立excel的方法,也是將單元格新增到**中。下面將做個簡單的介紹

上面建立pdf物件的**不變

然後建立乙個**   pdfptable tablerow1 = new pdfptable(new float);後面的引數表示**的列寬為20,列數為3列

將單元格新增到**中

for (int i = 0; i <= 27; i++)//

表示建立乙個3列9行的**

docpdf.add(tablerow1);//將**新增到pdf文件中

生成的pdf檔案

從結果可以看出以迴圈的方式新增**時,新增的方向為從左到右,依次新增。但是如果我們要設計的**比較複雜的話,就不一樣了,比如需要跨行或者跨列的,以及設定**的高度,

docpdf.newpage();//

新的一頁顯示

pdfptable tablerow2= new pdfptable(new

float );

cell = new pdfpcell(new paragraph("

**跨行 row1 col1

",font));

cell.minimumheight = 40f;//

設定**的高度

cell.rowspan = 2;//

單元格誇2行

tablerow2.addcell(cell);

cell = new pdfpcell(new paragraph("

**跨行row1 col2

", font));

cell.minimumheight = 40f;//

設定**的高度

tablerow2.addcell(cell);

cell = new pdfpcell(new paragraph("

**跨行row1 col3

", font));

cell.minimumheight = 40f;//

設定**的高度

tablerow2.addcell(cell);

cell = new pdfpcell(new paragraph("

**跨行row2 col3

", font));

cell.minimumheight = 40f;//

設定**的高度

tablerow2.addcell(cell);

cell = new pdfpcell(new paragraph("

**跨行row2 col3

", font));

cell.minimumheight = 40f;//

設定**的高度

tablerow2.addcell(cell);

docpdf.add(tablerow2);

生成的**如下:

從結果我們不難發現 cell.rowspan可以設定**跨行相應的colspan用來設定**的跨列。

以上只是本人自己在使用itextsharp時候的一些簡單的心得,希望能夠幫助大家。

具體的例子在官網也可以找的到,非常的詳細

VS2008 使用itextsharp生成PDF

廢話不多說,上圖先。要用本文的方法生成pdf檔案,需要兩個控制項 itextsharp.dll和icsharpcode.sharpziplib.dll,由於示例 實在太多,我將 全部整理出來.利用itext五步建立乙個pdf檔案 helloword。第一步,建立乙個 itextsharp.text....

使用ITextSharp生成PDF檔案心得

首先建立乙個winform應用程式,並且新增itextsharp的引用,在按鈕的單擊事件寫上生成pdf的 document docpdf new document pagesize.a4,0,0,0,0 建立乙個pdf文件的物件,設定紙張大小為a4,頁邊距為0 當需要把pdf紙張設定為橫向時,使用p...

VS2008 使用itextsharp生成PDF

廢話不多說,上圖先。要用本文的方法生成pdf檔案,需要兩個控制項 itextsharp.dll和icsharpcode.sharpziplib.dll,由於示例 實在太多,我將 全部整理出來.利用itext五步建立乙個pdf檔案 helloword。第一步,建立乙個 itextsharp.text....