在 C# .NET 中的 PDF 文件中创建表

表格用于以行和列的形式表示数据。表格可以让读者快速浏览数据,而无需阅读大量文本。在以编程方式生成 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 文件中创建表的步骤。

以下代码示例展示了如何使用 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 文件中创建表

C# 创建具有自定义边框和边距的 PDF 表格

您还可以根据需要自定义 PDF 中表格的边框和边距。例如,您可以设置边框宽度、边框样式以及顶部、底部、左侧和右侧边距。以下是在 C# 中为 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#

C# 将列调整应用于 PDF 表格

Aspose.PDF for .NET 还允许您自定义 PDF 中表格的列调整。例如,您可以使表格自动适应窗口或内容。以下是使用 C# 设置 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 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看