![在 C# .NET 中的 PDF 文件中创建表](images/Create-Tables-in-PDF.jpg#center)
表格用于以行和列的形式表示数据。表格可以让读者快速浏览数据,而无需阅读大量文本。在以编程方式生成 PDF 文件时,您可能经常会遇到创建表格的需求。据此,本文介绍了如何在 C# .NET 中在 PDF 文件中创建表格。
C# .NET API 以 PDF 格式创建表格 - 免费下载
我们将使用 Aspose.PDF for .NET 在 PDF 文件中创建表格。该 API 旨在在 .NET 应用程序中执行 PDF 生成和操作。它允许您无缝地创建简单和复杂布局的 PDF 文件。您可以 下载 API 的二进制文件或使用 NuGet 安装它。
PM> Install-Package Aspose.PDF
在 C# 中在 PDF 中创建表格
您可以使用 Aspose.PDF for .NET 在新的或现有的 PDF 文件中创建表格。以下是使用 C# 在 PDF 文件中创建表的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 设置表格的设置(即边框)。
- 通过使用 Table.Rows.Add() 方法创建行来填充表格。
- 使用 Document.Pages[index].Paragraphs.Add(Table) 方法将表格添加到页面。
- 使用 Document.Save(string) 方法保存 PDF 文件。
以下代码示例展示了如何使用 C# 在 PDF 文件中创建表格。
// 创建 PDF 文档(加载现有文件,使用文件路径初始化 Document 对象)
Document document = new Document();
// 添加页面
Aspose.Pdf.Page page = document.Pages.Add();
// 初始化表的新实例
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// 将表格边框颜色设置为 LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// 设置表格单元格的边框
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// 创建一个循环以添加 10 行
for (int row_count = 1; row_count < 10; row_count++)
{
// 向表中添加行
Aspose.Pdf.Row row = table.Rows.Add();
// 添加表格单元格
row.Cells.Add("Column (" + row_count + ", 1)");
row.Cells.Add("Column (" + row_count + ", 2)");
row.Cells.Add("Column (" + row_count + ", 3)");
}
// 将表格添加到页面
page.Paragraphs.Add(table);
// 保存 PDF 文档
document.Save("Generated-PDF.pdf");
以下是上述代码示例的输出。
![在 C# 中的 PDF 文件中创建表](images/Create-Tables-in-PDF.png#center)
C# 创建具有自定义边框和边距的 PDF 表格
您还可以根据需要自定义 PDF 中表格的边框和边距。例如,您可以设置边框宽度、边框样式以及顶部、底部、左侧和右侧边距。以下是在 C# 中为 PDF 文件中的表格设置边框和边距的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 创建 BorderInfo 类的实例以应用边框样式。
- 创建一个 MarginInfo 类的实例来设置表格的边距。
- 通过使用 Table.Rows.Add() 方法创建行来填充表格。
- 使用 Document.Pages[index].Paragraphs.Add(Table) 方法将表格添加到页面。
- 使用 Document.Save(string) 方法保存 PDF 文件。
以下代码示例展示了如何使用 C# 为 PDF 中的表格设置边框和边距。
// 创建 PDF 文档(加载现有文件,使用文件路径初始化 Document 对象)
Document document = new Document();
// 添加页面
Aspose.Pdf.Page page = document.Pages.Add();
// 初始化表的新实例
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// 设置表格的列宽
table.ColumnWidths = "50 50 50";
// 使用 BorderInfo 对象设置默认单元格边框
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
// 使用另一个自定义 BorderInfo 对象设置表格边框
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
// 创建 MarginInfo 对象并设置其左、下、右和上边距
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin.Top = 5f;
margin.Left = 5f;
margin.Right = 5f;
margin.Bottom = 5f;
// 将默认单元格填充设置为 MarginInfo 对象
table.DefaultCellPadding = margin;
// 在表格中创建行,然后在行中创建单元格
Aspose.Pdf.Row row1 = table.Rows.Add();
row1.Cells.Add("col1");
row1.Cells.Add("col2");
row1.Cells.Add();
TextFragment mytext = new TextFragment("col3 with large text string");
// Row1.Cells.Add("col3 大文本字符串被放置在单元格内");
row1.Cells[2].Paragraphs.Add(mytext);
row1.Cells[2].IsWordWrapped = false;
// Row1.Cells[2].Paragraphs[0].FixedWidth= 80;
Aspose.Pdf.Row row2 = table.Rows.Add();
row2.Cells.Add("item1");
row2.Cells.Add("item2");
row2.Cells.Add("item3");
// 将表格添加到页面
page.Paragraphs.Add(table);
// 保存 PDF 文档
document.Save("Generated-PDF.pdf");
以下屏幕截图显示了上述代码示例的输出。
![创建具有自定义边框和边距的 PDF 表格 C#](images/Create-Tables-in-PDF-Border-and-Margins.png#center)
C# 将列调整应用于 PDF 表格
Aspose.PDF for .NET 还允许您自定义 PDF 中表格的列调整。例如,您可以使表格自动适应窗口或内容。以下是使用 C# 设置 PDF 中表格的列调整的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 设置边框和边距。
- 将 Table.ColumnAdjustment 属性设置为 ColumnAdjustment 枚举的所需值。
- 通过使用 Table.Rows.Add() 方法创建行来填充表。
- 使用 Document.Pages[index].Paragraphs.Add(Table) 方法将表格添加到页面。
- 使用 Document.Save(string) 方法保存 PDF 文件。
以下代码示例展示了如何使用 C# 设置 PDF 中表格的列调整。
// 创建 PDF 文档(加载现有文件,使用文件路径初始化 Document 对象)
Document document = new Document();
// 添加页面
Aspose.Pdf.Page page = document.Pages.Add();
// 初始化表的新实例
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// 设置表格的列宽
table.ColumnWidths = "50 50 50";
// 设置列调整
table.ColumnAdjustment = ColumnAdjustment.AutoFitToWindow;
// 使用 BorderInfo 对象设置默认单元格边框
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
// 使用另一个自定义 BorderInfo 对象设置表格边框
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
// 创建 MarginInfo 对象并设置其左、下、右和上边距
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin.Top = 5f;
margin.Left = 5f;
margin.Right = 5f;
margin.Bottom = 5f;
// 将默认单元格填充设置为 MarginInfo 对象
table.DefaultCellPadding = margin;
// 在表格中创建行,然后在行中创建单元格
Aspose.Pdf.Row row1 = table.Rows.Add();
row1.Cells.Add("col1");
row1.Cells.Add("col2");
row1.Cells.Add();
TextFragment mytext = new TextFragment("col3 with large text string");
// Row1.Cells.Add("col3 大文本字符串被放置在单元格内");
row1.Cells[2].Paragraphs.Add(mytext);
row1.Cells[2].IsWordWrapped = false;
// Row1.Cells[2].Paragraphs[0].FixedWidth= 80;
Aspose.Pdf.Row row2 = table.Rows.Add();
row2.Cells.Add("item1");
row2.Cells.Add("item2");
row2.Cells.Add("item3");
// 将表格添加到页面
page.Paragraphs.Add(table);
// 保存 PDF 文档
document.Save("Generated-PDF.pdf");
C# .NET PDF API 创建表格 - 获得免费许可证
您可以获得免费的临时许可证 以便在没有评估限制的情况下使用 Aspose.PDF for .NET。
结论
在本文中,您学习了如何使用 C# 在 PDF 文件中创建表格。此外,您已经了解了如何自定义边框。 PDF中表格的边距和列调整。此外,您可以使用 文档 探索更多关于 C# PDF API 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。