压平表单字段是防止他人修改或删除 PDF 表单内容的一种有效方式。压平后,表单字段将失去编辑和填写功能,其内容会以普通文本的形式显示在文档中。本文将介绍如何在 C# 和 VB.NET 中实现 PDF 表单字段压平,包括压平指定表单字段以及一次性压平所有表单字段的方法。
安装 PDF 组件
在开始之前,需要先在 .NET 项目中添加相关 PDF 组件的 DLL 引用。您可以通过下载安装包获取 DLL 文件,也可以直接通过 NuGet 安装。
cs
PM> Install-Package Spire.PDF
在 C# 和 VB.NET 中压平 PDF 指定表单字段
以下是压平 PDF 文档中指定表单字段的基本步骤:
- 初始化
PdfDocument类的实例。 - 使用
PdfDocument.LoadFromFile()方法加载 PDF 文档。 - 获取文档中的表单字段集合。
- 通过字段名称或索引获取指定的表单字段,例如使用
PdfFormWidget.FieldsWidget["fieldName"]属性或PdfFormWidget.FieldsWidget.List[fieldIndex]属性。 - 使用
PdfField.Flatten属性压平表单字段。 - 使用
PdfDocument.SaveToFile()方法保存结果文档。
示例代码如下:
cs
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;
namespace FlattenSpecificFormField
{
class Program
{
static void Main(string[] args)
{
// 创建 PdfDocument 实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文档
pdf.LoadFromFile("Form.pdf");
// 获取表单字段集合
PdfFormWidget formWidget = (PdfFormWidget)pdf.Form;
// 通过字段名称获取指定表单字段
PdfField form = formWidget.FieldsWidget["Address"];
// 通过索引获取指定表单字段
//PdfField form = formWidget.FieldsWidget.List[2] as PdfField;
// 压平表单字段
form.Flatten = true;
// 保存结果文档
pdf.SaveToFile("FlattenSpecific.pdf");
}
}
}
在 C# 和 VB.NET 中压平 PDF 所有表单字段
以下是压平 PDF 文档中所有表单字段的基本步骤:
- 初始化
PdfDocument类的实例。 - 使用
PdfDocument.LoadFromFile()方法加载 PDF 文档。 - 通过
PdfDocument.Form.IsFlatten属性压平文档中的所有表单字段。 - 使用
PdfDocument.SaveToFile()方法保存结果文档。
示例代码如下:
cs
using Spire.Pdf;
namespace FlattenAllFormFields
{
class Program
{
static void Main(string[] args)
{
// 创建 PdfDocument 实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文档
pdf.LoadFromFile("Form.pdf");
// 压平文档中的所有表单字段
pdf.Form.IsFlatten = true;
// 保存结果文档
pdf.SaveToFile("FlattenAll.pdf");
}
}
}
总结
本文介绍了如何在 C# 中压平 PDF 文档中的所有表单字段。通过加载 PDF 文件并将 pdf.Form.IsFlatten 属性设置为 true,可以快速将可编辑的表单转换为不可编辑的普通内容。压平后的表单字段将无法再被填写、修改或删除,从而有效保护文档内容,避免信息被篡改。该方法适用于合同、申请表、发票以及其他需要固定表单内容的 PDF 文档场景。