C#如何在PDF文档中创建表格
发布网友
我来回答
共1个回答
热心网友
引用Spire.Pdf.dll
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Tables;
using System.Drawing;
using System.Data;
namespace wenda
{
class Program
{
static void Main(string[] args)
{
//创建PDF文档
PdfDocument doc = new PdfDocument();
//添加页面
PdfPageBase page = doc.Pages.Add();
//实例化PdfTable对象
PdfTable table = new PdfTable();
//设置表格样式
table.Style.CellPadding = 1;//单元格内边距
table.Style.BorderPen = new PdfPen(PdfBrushes.Black, 0.5f);//边框样式
table.Style.DefaultStyle.Font = new PdfTrueTypeFont(new Font("黑体", 10f), true);//默认字体
//显示表头
table.Style.ShowHeader = true;
//设置表头样式
table.Style.HeaderStyle.BackgroundBrush = PdfBrushes.CadetBlue;//背景色
table.Style.HeaderStyle.Font = new PdfTrueTypeFont(new Font("黑体", 11f, FontStyle.Bold), true);//字体
table.Style.HeaderStyle.StringFormat = new PdfStringFormat(PdfTextAlignment.Center);//文字居中
//创建模拟数据
DataTable datatable = new DataTable();
datatable.Columns.Add("姓名 ");
datatable.Columns.Add("性别");
datatable.Columns.Add("年龄");
datatable.Columns.Add("部门");
datatable.Columns.Add("电话");
datatable.Rows.Add(new string[] { "张三", "男", "30", "开发", "136****1211" });
datatable.Rows.Add(new string[] { "李四", "男", "26", "开发", "181****1234" });
datatable.Rows.Add(new string[] { "王二", "女", "25", "开发", "159****2523" });
datatable.Rows.Add(new string[] { "路人甲", "男", "32", "开发", "137****8145" });
datatable.Rows.Add(new string[] { "路人乙", "女", "24", "销售", "168****9432" });
datatable.Rows.Add(new string[] { "路人丙", "女", "28", "测试", "183****3345" });
//填充数据到表格
table.DataSource = datatable;
//设置每一列的文字对齐方式
for (int i = 0; i < table.Columns.Count; i++)
{
table.Columns[i].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
}
//绘制表格
table.Draw(page, new PointF(0, 10));
//保存并打开文档
doc.SaveToFile("table.pdf");
System.Diagnostics.Process.Start("table.pdf");
}
}
}