当我们把pdf表单域填写完成后,可以将这些域设置为只读来阻止用户修改或删除表单域的内容。spire.pdf组件支持以下两种方式将pdf表单域设置为只读:
- 将表单域扁平化(flatten)
- 将表单域设置为只读(read-only)
本文将介绍如何使用spire.pdf将pdf文档中的所有/指定表单域扁平化以及将pdf文档中的所有/指定表单域设置为只读。
将表单域扁平化
我们可以使用pdfform类的isflatten属性来将pdf文档中的所有表单域扁平化。代码示例如下:
c#
//加载pdf文档
pdfdocument document = new pdfdocument();
document.loadfromfile("form.pdf");
//获取文档中的现有表单域
pdfform loadedform = document.form;
//扁平化所有表单域
loadedform.isflatten = true;
//保存文档
document.savetofile("flatten1.pdf");
vb.net
'加载pdf文档
dim document as new pdfdocument()
document.loadfromfile("form.pdf")
'获取文档中的现有表单域
dim loadedform as pdfform = document.form
'扁平化所有表单域
loadedform.isflatten = true
'保存文档
document.savetofile("flatten1.pdf")
此外,我们还可以通过pdffield类的flatten属性来扁平化指定表单域:
c#
//加载pdf文档
pdfdocument document = new pdfdocument();
document.loadfromfile("form.pdf");
//获取文档中的现有表单域
pdfformwidget form = document.form as pdfformwidget;
//扁平化指定表单域
pdffield field = form.fieldswidget.list[0] as pdffield;
field.flatten = true;
//保存文档
document.savetofile("flatten2.pdf");
vb.net
'加载pdf文档
dim document as new pdfdocument()
document.loadfromfile("form.pdf")
'获取文档中的现有表单域
dim form as pdfformwidget = trycast(document.form, pdfformwidget)
'扁平化指定表单域
dim field as pdffield = trycast(form.fieldswidget.list(0), pdffield)
field.flatten = true
'保存文档
document.savetofile("flatten2.pdf")
将表单域设置为只读
将pdf文档中的所有表单域设置为只读,我们可以使用pdfform类的readonly属性:
c#
//加载pdf文档
pdfdocument document = new pdfdocument();
document.loadfromfile("form.pdf");
//获取文档中的现有表单域
pdfform loadedform = document.form;
//将所有表单域设置为只读
loadedform.readonly = true;
//保存文档
document.savetofile("readonly1.pdf");
vb.net
'加载pdf文档
dim document as new pdfdocument()
document.loadfromfile("form.pdf")
'获取文档中的现有表单域
dim loadedform as pdfform = document.form
'将所有表单域设置为只读
loadedform.[readonly] = true
'保存文档
document.savetofile("readonly1.pdf")
将pdf文档中的指定表单域设置为只读,我们可以使用pdffield类的readonly属性:
//加载pdf文档
pdfdocument document = new pdfdocument();
document.loadfromfile("form.pdf");
//获取文档中的现有表单域
pdfformwidget form = document.form as pdfformwidget;
//将指定表单域设置为只读
pdffield field = form.fieldswidget.list[0] as pdffield;
field.readonly = true;
//保存文档
document.savetofile("readonly2.pdf");
vb.net
'加载pdf文档
dim document as new pdfdocument()
document.loadfromfile("form.pdf")
'获取文档中的现有表单域
dim form as pdfformwidget = trycast(document.form, pdfformwidget)
'将指定表单域设置为只读
dim field as pdffield = trycast(form.fieldswidget.list(0), pdffield)
field.[readonly] = true
'保存文档
document.savetofile("readonly2.pdf")