使用C#代码压平PDF表单字段的实现方法

 更新时间:2026年05月14日 08:37:56   作者:2501_93070778  
压平表单字段是防止他人修改或删除 PDF 表单内容的一种有效方式,压平后,表单字段将失去编辑和填写功能,其内容会以普通文本的形式显示在文档中,本文将介绍如何在 C# 和 VB.NET 中实现 PDF 表单字段压平,需要的朋友可以参考下

引言

压平表单字段是防止他人修改或删除 PDF 表单内容的一种有效方式。压平后,表单字段将失去编辑和填写功能,其内容会以普通文本的形式显示在文档中。本文将介绍如何在 C# 和 VB.NET 中实现 PDF 表单字段压平,包括压平指定表单字段以及一次性压平所有表单字段的方法。

安装 PDF 组件

在开始之前,需要先在 .NET 项目中添加相关 PDF 组件的 DLL 引用。您可以通过下载安装包获取 DLL 文件,也可以直接通过 NuGet 安装。

PM> Install-Package Spire.PDF

在 C# 和 VB.NET 中压平 PDF 指定表单字段

以下是压平 PDF 文档中指定表单字段的基本步骤:

  1. 初始化 PdfDocument 类的实例。
  2. 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
  3. 获取文档中的表单字段集合。
  4. 通过字段名称或索引获取指定的表单字段,例如使用 PdfFormWidget.FieldsWidget["fieldName"] 属性或 PdfFormWidget.FieldsWidget.List[fieldIndex] 属性。
  5. 使用 PdfField.Flatten 属性压平表单字段。
  6. 使用 PdfDocument.SaveToFile() 方法保存结果文档。

示例代码如下:

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 文档中所有表单字段的基本步骤:

  1. 初始化 PdfDocument 类的实例。
  2. 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
  3. 通过 PdfDocument.Form.IsFlatten 属性压平文档中的所有表单字段。
  4. 使用 PdfDocument.SaveToFile() 方法保存结果文档。

示例代码如下:

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 文档场景。

以上就是使用C#代码压平PDF表单字段的实现方法的详细内容,更多关于C#压平PDF表单字段的资料请关注脚本之家其它相关文章!

相关文章

  • C#生成code128条形码的方法

    C#生成code128条形码的方法

    这篇文章主要介绍了C#生成code128条形码的方法,是C#程序设计中一个很实用的技巧,需要的朋友可以参考下
    2014-08-08
  • 简单实现C#窗体程序判断是否闰年

    简单实现C#窗体程序判断是否闰年

    这篇文章主要介绍了简单实现C#窗体程序判断是否闰年的相关代码,禁止窗体调整大小,关闭窗体前的判断,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • C# Linq读取XML文件的实例

    C# Linq读取XML文件的实例

    C# Linq读取XML文件的实例,需要的朋友可以参考一下
    2013-05-05
  • C#调用OpenCV开发简易版美图工具【推荐】

    C#调用OpenCV开发简易版美图工具【推荐】

    本文主要介绍在WPF项目中使用OpenCVSharp3-AnyCPU开源类库处理图片,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-10-10
  • Unity实现UI光晕效果(发光效果)

    Unity实现UI光晕效果(发光效果)

    这篇文章主要为大家详细介绍了Unity实现UI光晕效果,发光效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • WCF和Remoting之间的消息传输

    WCF和Remoting之间的消息传输

    这篇文章介绍了WCF和Remoting之间的消息传输,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#多线程系列之原子操作

    C#多线程系列之原子操作

    本文详细讲解了C#多线程的原子操作,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#使用Datatable导出Excel

    C#使用Datatable导出Excel

    这篇文章主要为大家详细介绍了C#使用Datatable导出Excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Unity3D实现旋钮控制灯光效果

    Unity3D实现旋钮控制灯光效果

    这篇文章主要为大家详细介绍了Unity3D实现旋钮控制灯光效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 基于C#实现XRC异或冗余校验的实践指南

    基于C#实现XRC异或冗余校验的实践指南

    XRC是一种基于按位异或(XOR)运算的轻量级数据校验方法,它通过对数据块中所有字节(或字)进行连续异或运算,生成一个固定长度的校验值,本文给大家介绍了基于C#实现XRC异或冗余校验的实践指南,需要的朋友可以参考下
    2026-05-05

最新评论