PDF表单是PDF中的可编辑区域,允许用户填写指定信息。当表单填写完成后,有时候我们可能需要将其设置为不可编辑,以保护表单内容的完整性和可靠性。或者需要从PDF表单中提取数据以便后续处理惩罚或分析。
之前文章详细介绍过如何利用免费Spire.PDF库通过C# 创建、填写表单,本文将继续介绍该免费.NET PDF库支持的别的两种操纵PDF表单的功能,即:
- 利用C# 设置PDF表单不可编辑(PDF扁平化)
- 利用C# 提取PDF表单数据
免费库安装(2种方法):
Free Spire.PDF for .NET 免费库支持两种安装方式:
https://www.e-iceblue.com/Download/download-pdf-for-net-free.html
利用C# 设置PDF表单不可编辑(PDF扁平化)
PDF 表单如文本框、复选框、组合框等都是可编辑或可更改状态,如果想要锁定这些区域,我们需要将PDF表单设置为不可编辑状态,即PDF扁平化。在Free Spire.PDF中, 我们可以通过将其提供的 PdfDocument.Form.IsFlatten 属性设置为 "true" 来锁定PDF表单不可编辑。
简单代码示例:- using Spire.Pdf;
-
- namespace FlattenAllFormFields
- {
- class Program
- {
- static void Main(string[] args)
- {
- //加载PDF文件
- PdfDocument pdf = new PdfDocument();
- pdf.LoadFromFile("PDF表单.pdf");
-
- //设置所有表单不可编辑
- pdf.Form.IsFlatten = true;
-
- //保存生成文件
- pdf.SaveToFile("扁平PDF.pdf");
- }
- }
- }
复制代码 以上示例一键锁定了PDF文件中的全部表单,如果仅需锁定某个指定的表单域,可以参考如下代码片断:- //获取PDF表单
- PdfFormWidget formWidget = (PdfFormWidget)pdf.Form;
-
- //通过表单名获取指定表单域
- PdfField form = formWidget.FieldsWidget["姓名"];
-
- //通过索引获取指定表单域
- PdfField form = formWidget.FieldsWidget.List[0] as PdfField;
-
- //设置表单不可编辑
- form.Flatten = true;
复制代码
利用C# 提取PDF表单数据
在Free Spire.PDF中,每种表单域都提供了对应的类。要实现PDF表单数据的提取,我们需要先确定表单域的类型,然后再利用相应类下的属性来提取它们的值。
完整C#示例代码:提取PDF表单的效果图:

总结
免费Spire.PDF支持多种对PDF表单的操纵,利用它,我们可以通过C# 轻松实现锁定PDF表单以确保表单不被篡改或编辑,或者通过C# 快速提取PDF表单数据并用于各种用途,如数据分析、报告天生等。
如有兴趣了解更多.NET步伐中操纵PDF文档的示例,可点击:Spire.PDF中文教程
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |