表格用於以行和列的形式表示數據。表格可以讓讀者快速瀏覽數據而無需閱讀大量文本。以編程方式生成 PDF 文件時,您可能經常會遇到創建表格的要求。據此,本文介紹瞭如何在 C# .NET 中創建 PDF 文件中的表格。
用於在 PDF 中創建表的 C# .NET API - 免費下載
我們將使用 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();
// 初始化 Table 的新實例
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 表格
您還可以根據需要自定義 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();
// 初始化 Table 的新實例
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");
以下屏幕截圖顯示了上述代碼示例的輸出。
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();
// 初始化 Table 的新實例
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 的更多信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。