最近几天,PDF 文档的自动生成和处理已成为一项要求很高的功能。在各种应用程序中,PDF 文档是动态生成的,例如发票、收据和不同类型的报告。据此,本文介绍了 .NET 应用程序中 PDF 自动化的基本实现。最终,您将学习如何使用 C# 创建 PDF 文件。代码示例将演示如何使用 C# 在 PDF 中插入文本、图像、表格和其他组件。
C# .NET PDF API - 免费下载
Aspose.PDF for .NET 是一个 PDF 文件操作 API,可让您从 .NET 应用程序中生成和处理 PDF 文件。使用 API,您可以动态生成各种报告和业务文档。 API 以 可下载 DLL 的形式提供,并托管在 NuGet 上。
Install-Package Aspose.Pdf
在 C# 中创建 PDF 文件
让我们从创建一个包含文本片段的简单 PDF 文档开始。以下是使用 C# 创建 PDF 文件的步骤。
- 创建一个 Document 类的对象。
- 使用 Document.Pages.Add() 方法向文档添加页面。
- 创建一个新的 TextFragment 对象并设置其文本。
- 将 TextFragment 添加到页面的 Paragraphs 集合中。
- 使用 Document.Save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 C# 创建一个简单的 PDF 文件。
// 初始化文档对象
Document document = new Document();
// 添加页面
Page page = document.Pages.Add();
// 将文本添加到新页面
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));
// 保存 PDF
document.Save("document.pdf");
阅读更多关于创建复杂的 PDF 文档。
在 C# 中编辑 PDF 文件
修改 PDF 文件就像创建一个新文件一样简单。只需使用 Document 类加载文件,执行所需的操作并保存即可。以下是修改 PDF 的步骤。
- 创建 Document 类的对象,并为其构造函数提供 PDF 文件的路径。
- 操作文档的页面或内容。
- 使用 Document.Save() 方法保存文档。
以下代码示例展示了如何使用 C# 修改 PDF。
// 加载 PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");
// 进行一些操作,例如添加新的空白页面
pdfDocument.Pages.Add();
// 保存更新的 PDF
pdfDocument.Save(modifiedFileName);
使用 C# 在 PDF 中插入图像
现在让我们检查如何将图像插入 PDF 文档。以下是执行此操作的步骤。
以下代码示例展示了如何使用 C# 将图像添加到 PDF 文档。
// 打开文档
Document pdfDocument = new Document("document.pdf");
// 设置坐标
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// 获取需要添加图片的页面
Page page = pdfDocument.Pages[1];
// 将图像加载到流中
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// 将图像添加到页面资源的图像集合
page.Resources.Images.Add(imageStream);
// 使用 GSave 运算符:此运算符保存当前图形状态
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// 创建矩形和矩阵对象
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
// 使用 ConcatenateMatrix(连接矩阵)运算符:定义图像必须如何放置
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// 使用 Do 运算符:此运算符绘制图像
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// 使用 GRestore 运算符:此运算符恢复图形状态
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// 保存更新的文档
pdfDocument.Save("document.pdf");
阅读更多关于 在 PDF 中插入图像。
使用 C# 在 PDF 中创建表格
表格是文档的重要组成部分,用于以行和列的形式组织数据。 Aspose.PDF for .NET 为您提供了一种在 PDF 文档中创建和插入表格的简单方法。以下是执行此操作的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 Table 类初始化表并设置其列和行。
- 设置表格的设置(即边框)。
- 通过使用 Table.Rows.Add() 方法创建行来填充表格。
- 使用 Document.Pages1.Paragraphs.Add(Table) 方法将表格添加到页面。
- 保存 PDF 文件。
以下代码示例展示了如何在 C# 中的 PDF 文档中创建和添加表格。
// 加载源 PDF 文档
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");
// 初始化表的新实例
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)");
}
// 将表格对象添加到输入文档的第一页
doc.Pages[1].Paragraphs.Add(table);
// 保存包含表格对象的更新文档
doc.Save("document_with_table_out.pdf");
阅读更多关于在 PDF 中创建表格。
在 C# 中以 PDF 格式创建表单
PDF 中的表格用于从读者那里收集数据。您可以在 PDF 表单中插入文本框、复选框、单选按钮和其他受支持的控件。 PDF格式支持两种形式; Acro 表格和 XFA 表格(查看详细信息)。以下是在 PDF 中创建和添加表单的步骤。
- 使用 Document 类加载 PDF 文件。
- 创建表单控件,例如 TextBoxField。
- 使用 Document.Form.Add(textBoxField, 1) 方法向表单添加控件。
- 保存 PDF 文档。
以下代码示例展示了如何使用 C# 将表单添加到 PDF 文档。
// 打开文档
Document pdfDocument = new Document("document.pdf");
// 创建一个字段
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";
// TextBoxField.Border = 新边框(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;
textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// 向文档添加字段
pdfDocument.Form.Add(textBoxField, 1);
// 保存修改后的 PDF
pdfDocument.Save("output.pdf");
阅读更多关于在 PDF 中创建表单。
结论
在这篇文章中,您学习了如何使用 C# 从头开始创建 PDF 文件。此外,您已经了解如何以编程方式在 PDF 文档中插入各种类型的组件,例如文本、图像、表格和表单。您可以使用 文档 了解有关 PDF API 的更多信息。
也可以看看
信息:Aspose 提供了一个免费的在线网络应用程序,允许您在线查看 PDF,另一个允许您将 PDF 转换为视频,还有一个允许您在线编辑 PDF。