logo资料库

ITextSharp教程用C#制作PDF复杂表格表单.doc

第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
资料共45页,剩余部分请下载后查看
前 言
第一部分 iText pdf表格生成教程
第一步:引用itextsharp.dll
第二步:创建pdf文档的实例
第三步:定义字体,并打印标题.(处理中文字休)
第三步:输入一个空行(换行)。以分开标题与表格
第四步:定义基础表格cell,设置边距,解决表格内容垂直居中的问题(因为直接设置垂直居中是没有效的—
第5步:定义基本表格。定义图片cell。(生成表格时,从上而下生成。图片不能最后插入)
第6步:多行多列的表格
第7步:插入图片
第7步:插入一个空行(内容为空的表格)
完整代码
用 C#制作 PDF 文件全攻略 前 言 PDF 文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经 常要用到该格式,但介绍如何制作 PDF 格式文件的资料非常少. 本文主要说下 itext 生成 pdf 复杂表格。并附上网上一个最全面的 itext 教程. 效果如下图: 目 录 前 第一部分 iText 言 ............................................................................................................................................ 1 pdf 表格生成教程 ............................................................................................... 3 第一步:引用 itextsharp.dll......................................................................................................4 第二步:创建 pdf 文档的实例.................................................................................................4 第三步:定义字体,并打印标题.(处理中文字休)................................................................4 第三步:输入一个空行(换行)。以分开标题与表格 ..........................................................5 -1-
第四步:定义基础表格 cell,设置边距,解决表格内容垂直居中的问题(因为直接设置 垂直居中是没有效的—水平居中有效)................................................................................6 第 5 步:定义基本表格。定义图片 cell。(生成表格时,从上而下生成。图片不能最后 插入)........................................................................................................................................ 6 第 6 步:多行多列的表格........................................................................................................6 第 7 步:插入图片 .................................................................................................................... 7 第 7 步:插入一个空行(内容为空的表格)........................................................................8 完整代码 .................................................................................................................................... 9 -2-
第一部分 iText pdf 表格生成教程 -3-
第一步:引用 itextsharp.dll using iTextSharp.text; using System.IO; using iTextSharp.text.pdf; 第二步:创建 pdf 文档的实例 //创建一个iTextSharp.text.Document 对象的实例: Document document = new Document(); //为该Document 创建一个Writer 实例: PdfWriter.GetInstance(document, new FileStream(@"C:\Users\hechao\Desktop\报名表格.pdf", FileMode.Create)); //打开当前Document document.Open(); 第三步:定义字体,并打印标题.(处理中文字休) /// SIMSUN.TTC:宋体和新宋体 //SIMKAI.TTF:楷体 //SIMHEI.TTF:黑体 //SIMFANG.TTF:仿宋体 BaseFont bftitle = BaseFont.CreateFont(@"C:\Windows\Fonts\SIMHEI.TTF", -4-
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font fonttitle = new Font(bftitle, 20); BaseFont bf1 = BaseFont.CreateFont(@"C:\Windows\Fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font font1 = new Font(bf1, 12); Font fonttitle10 = new Font(bf1, 12); Paragraph Title = new Paragraph("XXXX比赛", fonttitle); Title.SetAlignment("center"); document.Add(Title); 第三步:输入一个空行(换行)。以分开标题与表格 Paragraph nullp = new Paragraph(" ", fonttitle); nullp.Leading = 10; document.Add(nullp); -5-
第四步:定义基础表格 cell,设置边距,解决表格内容垂直居中的问题(因为直接设置垂直居 中是没有效的—水平居中有效) iTextSharp.text.pdf.PdfPCell cellmode = new iTextSharp.text.pdf.PdfPCell(); cellmode.Padding = 4F; (cellmode.PaddingBottom = 6F;//这里可以分别 设置) 第 5 步:定义基本表格。定义图片 cell。(生成表格时,从上而下生成。图片不能最后插入) iTextSharp.text.pdf.PdfPCell cell_pic10 = new iTextSharp.text.pdf.PdfPCell(); // 创建单元格 iTextSharp.text.pdf.PdfPCell cell_pic20 = new iTextSharp.text.pdf.PdfPCell(); // 创建单元格 iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(8); // 表格有7列 table.SetWidths(new float[] {90,90,90,90,120,90,90,130 });//宽 第 6 步:多行多列的表格 cell = new iTextSharp.text.pdf.PdfPCell(); cell.Colspan = 1; cell.Rowspan = 4; -6-
第 7 步:插入图片 cell = new iTextSharp.text.pdf.PdfPCell(); cell.Colspan = 1; cell.Rowspan = 4; System.Drawing.Image img_1 = System.Drawing.Image.FromFile(@"C:\Users\hechao\Desktop\1.jpg"); iTextSharp.text.Image img0 = iTextSharp.text.Image.GetInstance(img_1, iTextSharp.text.BaseColor.WHITE); if (img_1.Width > cell.Width || img_1.Height > cell.Height) { } img0.ScaleToFit(cell.Width, cell.Height); cell.FixedHeight = cell.MinimumHeight; cell.Image = img0; -7-
table.AddCell(cell); img_1.Dispose(); 第 7 步:插入一个空行(内容为空的表格) cell = new iTextSharp.text.pdf.PdfPCell(); cell.MinimumHeight = 60; cell.Colspan = 2; table.AddCell(cell); 最终效果如下图: -8-
分享到:
收藏