修改 AcroForm
Contents
[
Hide
]
在表单中清除文本
此示例演示了如何使用 Aspose.PDF for Python via .NET 清除 PDF 中 Typewriter 表单字段的文本。它会扫描 PDF 的首页,识别 Typewriter 表单,删除其内容,并保存更新后的文档。此方法对于在重新分发 PDF 之前重置或清理表单字段非常有用。
- 加载输入的 PDF 文档。
- 访问第一页上的表单。
- 遍历每个表单并检查它是否为
Typewriter表单。 - 使用 TextFragmentAbsorber 在表单中查找文本片段。
- 清除每个片段的文本。
- 将修改后的 PDF 保存到输出文件。
import aspose.pdf as ap
def clear_text_in_form(input_file_name, output_file_name):
document = ap.Document(input_file_name)
forms = document.pages[1].resources.forms
for form in forms:
if form.it == "Typewriter" and form.subtype == "Form":
absorber = ap.text.TextFragmentAbsorber()
absorber.visit(form)
for fragment in absorber.text_fragments:
fragment.text = ""
document.save(output_file_name)
设置字段限制
使用 set_field_limit(field, limit) 从 FormEditor 定义文本字段允许的最大字符数。
- 创建一个
FormEditor对象。 - 绑定输入 PDF。
- 为目标字段设置字段限制。
- 保存更新后的 PDF。
import aspose.pdf as ap
def set_field_limit(input_file_name, output_file_name):
form = ap.facades.FormEditor()
form.bind_pdf(input_file_name)
form.set_field_limit("First Name", 15)
form.save(output_file_name)
获取字段限制
您也可以从文本字段读取字符限制。
- 加载 PDF 文档。
- 访问目标表单字段。
- 确保该字段是
TextBoxField. - 读取并打印
max_len.
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable
def get_field_limit(input_file_name):
document = ap.Document(input_file_name)
if is_assignable(document.form[1], ap.forms.TextBoxField):
text_box_field = cast(ap.forms.TextBoxField, document.form[1])
print(f"Limit: {text_box_field.max_len}")
为表单字段设置自定义字体
此示例为文本框字段设置自定义默认外观,包括字体、大小和颜色。
- 加载 PDF 文档。
- 访问目标字段并验证其类型。
- 在…中查找字体
FontRepository. - 应用新的
DefaultAppearance. - 保存更新后的 PDF。
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable
def set_form_field_font(input_file_name, output_file_name):
document = ap.Document(input_file_name)
if is_assignable(document.form[1], ap.forms.TextBoxField):
text_box_field = cast(ap.forms.TextBoxField, document.form[1])
font = ap.text.FontRepository.find_font("Calibri")
text_box_field.default_appearance = ap.annotations.DefaultAppearance(
font, 10, ap.Color.black.to_rgb()
)
document.save(output_file_name)
删除现有表单中的字段
此代码通过名称从 PDF 文档中删除特定的表单字段,并使用 Aspose.PDF for Python via .NET 保存更新后的文件。
- 加载 PDF 文档。
- 按名称删除表单字段。
- 保存更新后的 PDF。
import aspose.pdf as ap
def delete_form_field(input_file_name, output_file_name):
document = ap.Document(input_file_name)
document.form.delete("First Name")
document.save(output_file_name)