更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
C# 创建 PDF 表格
Spire.PDF提供了两种类PdfTable和PdfGrid用于创建PDF表格,二者在对表格进行格式化操作时存在以下差别:
PdfTable |
PdfGrid | |
---|---|---|
格式设置 |
||
行 |
无API支持,可以通过事件设置 | 可直接通过API设置 |
列 |
可直接通过API设置(StringFormat) | 可直接通过API设置(StringFormat) |
单元格 |
无API支持,可以通过事件设置 | 可直接通过API设置 |
其他 |
||
单元格纵向合并 |
不支持 | 可直接通过API设置 |
单元格横向合并 |
无API支持,可以通过事件设置 | 可直接通过API设置 |
嵌套表格 |
无API支持,可以通过事件设置 | 可直接通过API设置 |
事件 |
BeginCellLayout, BeginPageLayout, BeginRowLayout, EndCellLayout, EndPageLayout, EndRowLayout | BeginPageLayout, EndPageLayout |
通过 PdfTable 类创建表格
static void Main(string[] args){ //创建一个PDF文档 PdfDocument doc = new PdfDocument(); //添加一页 PdfPageBase page = doc.Pages.Add(); //创建一个PdfTable对象 PdfTable table = new PdfTable(); //设置字体 table.Style.DefaultStyle.Font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 9f), true); table.Style.HeaderStyle.Font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 9f), true); //创建一个DataTable并写入数据 DataTable dataTable = new DataTable(); dataTable.Columns.Add("名字"); dataTable.Columns.Add("年龄"); dataTable.Columns.Add("性别"); dataTable.Rows.Add(new string[] { "张红", "22", "女" }); dataTable.Rows.Add(new string[] { "王东", "25", "男" }); //填充数据到PDF表格 table.DataSource = dataTable; //显示表头(默认不显示) table.Style.ShowHeader = true; //在BeginRowLayout事件处理方法中注册自定义事件 table.BeginRowLayout += Table_BeginRowLayout; //将表格绘入PDF并指定位置和大小 table.Draw(page, new RectangleF(0, 20, 200, 90)); //保存到文档 doc.SaveToFile("PDF表格_1.pdf");}//在自定义事件中设置行高private static void Table_BeginRowLayout(object sender, BeginRowLayoutEventArgs args){ args.MinimalHeight = 20f;}
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!