简介和参考文章:
iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件。
中文参考网站:http://hardrock.cnblogs.com/
英文参考网站:http://itext.ugent.be/library/
· 技术文章(http://itext.ugent.be/articles/)
· 在线示例 (http://itextdocs.lowagie.com/tutorial/)
· 英文API(http://itext.ugent.be/library/api/)
iTextSharp常用对象:
Document:(文档)生成pdf必备的一个对象。
生成一个Document示例。
Document document = new Document(PageSize.A4, 30, 30, 5, 5);
定义了一个A4纸张的pdf.页面显示距左30,距右30,距上5,距下5。
打开当前Document
document.Open();
为当前Document添加内容:
document.Add(new Paragraph("Hello World"));
关闭Document
document.Close();
Chunk:(块)是能被添加到(Document)文档的文本的最小单位,块可以用于构建其他基础元素如(Paragraph)段落。
创建了一个内容为“hello World”、红色、斜体、COURIER字体、尺寸20的一个块:
Paragraph:(段落)段落是一系列块构成,段落有确定的间距。段落可以左对齐、右对齐和居中对齐。添加到文档中的每一个段落将自动另起一行。
显示效果:
Image:图片对象
根据媒体文件地址获取Image对象。
Table:(表格)Pdf里面重要的布局对象。
<!---下面演示如何根据htm的<table></table>生成对应的pdf。-->
<table width="595" border="0" cellpadding="3" cellspacing="2">
<tr>
<td colspan="3" ><img src="surfing.gif" /></td>
</tr>
<tr>
<td width="60%" rowspan="2" bgcolor="#00CC99">aaaaaa</td>
<td width="20%" height="48">bbbbb</td>
<td width="20%">cccccc</td>
</tr>
<tr>
<td >dddd</td>
<td>eeeeee</td>
</tr>
</table>
<table width="595" border="0" cellpadding="3" cellspacing="2">
<tr>
<td colspan="3" ><img src="surfing.gif" /></td>
</tr>
<tr>
<td width="60%" rowspan="2" bgcolor="#00CC99">aaaaaa</td>
<td width="20%" height="48">bbbbb</td>
<td width="20%">cccccc</td>
</tr>
<tr>
<td >dddd</td>
<td>eeeeee</td>
</tr>
</table>
pdf:
PdfPTable:Table对象可以转化成PdfPTable,因为现在的类库的PdfPTable不支持rowspan大于1,所以转化的table的rowspan不能大于1,PdfPTable可以浮动在pdf页的任意位置。
IPdfPageEvent:这是一个重要的接口,它定义了的方法有
设定生成pageEvent
PdfWriter writer=PdfWriter.GetInstance(document, new FileStream(FileUrl, FileMode.Create));
//页面事件指向IPdfPageEvent接口
writer.PageEvent = this;
//页面事件指向IPdfPageEvent接口
writer.PageEvent = this;