PdfSharp创建PDF,并插入表格,除了使用XTable
时间: 2024-01-08 13:04:34 浏览: 443
PDFsharp-Sample 完整事例源码、 C# winform 创建或修改PDF文件工具
5星 · 资源好评率100%
除了使用PdfSharp的XTable类之外,还可以使用PdfSharp的XGraphics对象来手动绘制表格。以下是一个示例代码,演示如何使用XGraphics对象手动绘制表格。
```
PdfDocument document = new PdfDocument();
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 10, XFontStyle.Regular);
// 定义表格的列数和列宽
int columns = 2;
double[] columnWidths = { 100, 100 };
// 定义表格的行数和行高
int rows = 3;
double rowHeight = 20;
// 定义表格的起始坐标
double x = 50;
double y = 50;
// 绘制表格的边框
gfx.DrawRectangle(XPens.Black, x, y, columns * columnWidths.Sum(), rows * rowHeight);
// 绘制表头
for (int i = 0; i < columns; i++)
{
gfx.DrawString("列" + (i + 1), font, XBrushes.Black, new XRect(x + i * columnWidths[i], y, columnWidths[i], rowHeight), XStringFormats.Center);
}
// 绘制数据行
for (int i = 1; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
gfx.DrawString("数据" + i + "-" + (j + 1), font, XBrushes.Black, new XRect(x + j * columnWidths[j], y + i * rowHeight, columnWidths[j], rowHeight), XStringFormats.Center);
}
}
document.Save("file.pdf");
```
该示例代码中,首先定义了表格的列数、列宽、行数和行高,然后使用XGraphics对象手动绘制表格的边框、表头和数据行。最后保存PDF文件即可。
阅读全文