用手机可以做网站嘛,wordpress腾讯企业邮箱,以网站名为后缀的邮箱怎么做,国内永久crmPDF表单是PDF中的可编辑区域#xff0c;允许用户填写指定信息。当表单填写完成后#xff0c;有时候我们可能需要将其设置为不可编辑#xff0c;以保护表单内容的完整性和可靠性。或者需要从PDF表单中提取数据以便后续处理或分析。
之前文章详细介绍过如何使用免费Spire.PDF…PDF表单是PDF中的可编辑区域允许用户填写指定信息。当表单填写完成后有时候我们可能需要将其设置为不可编辑以保护表单内容的完整性和可靠性。或者需要从PDF表单中提取数据以便后续处理或分析。
之前文章详细介绍过如何使用免费Spire.PDF库通过C# 创建、填写表单本文将继续介绍该免费.NET PDF库支持的另外两种操作PDF表单的功能即
使用C# 设置PDF表单不可编辑PDF扁平化使用C# 提取PDF表单数据 免费库安装2种方法
Free Spire.PDF for .NET 免费库支持两种安装方式
通过 NuGet安装http://www.nuget.org/packages/FreeSpire.PDF/点击下载产品包解压缩后手动引用dll
下载免费 Spire.PDFDownload free .NET/Wpf PDF library to read, create, manipulate, convert print PDF documents.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#示例代码
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;
using System.IO;
using System.Text;namespace ExtractFormFieldValues
{internal class Program{static void Main(string[] args){//加载PDF文件PdfDocument doc new PdfDocument();doc.LoadFromFile(PDF表单.pdf);//创建StringBuilder对象StringBuilder sb new StringBuilder();//获取PDF表单PdfFormWidget formWidget doc.Form as PdfFormWidget;//遍历表单for (int i 0; i formWidget.FieldsWidget.List.Count; i){PdfField field formWidget.FieldsWidget.List[i] as PdfField;//获取文本框的名称和值if (field is PdfTextBoxFieldWidget){PdfTextBoxFieldWidget textBoxField field as PdfTextBoxFieldWidget;string name textBoxField.Name;string value textBoxField.Text;sb.Append(文本框名称: name \r\n);sb.Append(文本框内容: value \r\n);}//获取列表框的名称、项目和选定项if (field is PdfListBoxWidgetFieldWidget){PdfListBoxWidgetFieldWidget listBoxField field as PdfListBoxWidgetFieldWidget;string name listBoxField.Name;sb.Append(列表框名称: name \r\n);sb.Append(列表框项目: \r\n);PdfListWidgetItemCollection items listBoxField.Values;foreach (PdfListWidgetItem item in items){sb.Append(item.Value \r\n);}string selectedValue listBoxField.SelectedValue;sb.Append(列表框选定项: selectedValue \r\n);}//获取组合框字段的名称、项目和选定项if (field is PdfComboBoxWidgetFieldWidget){PdfComboBoxWidgetFieldWidget comBoxField field as PdfComboBoxWidgetFieldWidget;string name comBoxField.Name;sb.Append(组合框名称: name \r\n);sb.Append(组合框项目: \r\n);PdfListWidgetItemCollection items comBoxField.Values;foreach (PdfListWidgetItem item in items){sb.Append(item.Value \r\n);}string selectedValue comBoxField.SelectedValue;sb.Append(组合框选定项: selectedValue \r\n);}//获取单选按钮的名称和所选项if (field is PdfRadioButtonListFieldWidget){PdfRadioButtonListFieldWidget radioBtnField field as PdfRadioButtonListFieldWidget;string name radioBtnField.Name;sb.Append(单选按钮名称: name \r\n);string selectedValue radioBtnField.SelectedValue;sb.Append(单选按钮选定项: selectedValue \r\n);}//获取复选框的名称和状态if (field is PdfCheckBoxWidgetFieldWidget){PdfCheckBoxWidgetFieldWidget checkBoxField field as PdfCheckBoxWidgetFieldWidget;string name checkBoxField.Name;sb.Append(复选框名称: name \r\n);bool status checkBoxField.Checked;if (status){sb.Append(复选框状态: 已选中 \r\n);}else{sb.Append(复选框状态: 未选中 \r\n);}}sb.Append(\n);}//将提取的数据写入txt文件File.WriteAllText(提取PDF表单.txt, sb.ToString());doc.Dispose();}}
}提取PDF表单数据的效果图 总结
免费Spire.PDF支持多种对PDF表单的操作使用它我们可以通过C# 轻松实现锁定PDF表单以确保表单不被篡改或编辑或者通过C# 快速提取PDF表单数据并用于各种用途如数据分析、报告生成等。
如有兴趣了解更多.NET程序中操作PDF文档的示例可点击
Spire.PDF for .NET 中文教程Spire.PDF for .NET 是一款独立 PDF 控件用于 .NET 程序中创建、读取、写入、编辑和操作 PDF 文档。使用 Spire.PDF 类库开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理且无需安装 Adobe Acrobat。同时兼容大部分国产操作系统...https://www.e-iceblue.cn/spirepdfnet/spire-pdf-for-net-program-guide-content.html?t1718258675638