Modificando AcroForm
Limpar Texto no Form
Este exemplo demonstra como limpar texto de campos de formulário Typewriter em um PDF usando Aspose.PDF for Python via .NET. Ele varre a primeira página do PDF, identifica os formulários Typewriter, remove seu conteúdo e salva o documento atualizado. Essa abordagem é útil para redefinir ou sanitizar campos de formulário antes de redistribuir um PDF.
- Carregue o documento PDF de entrada.
- Acesse os formulários na primeira página.
- Itere sobre cada formulário e verifique se ele é um
Typewriterformulário. - Use TextFragmentAbsorber para encontrar fragmentos de texto no formulário.
- Limpe o texto de cada fragmento.
- Salve o PDF modificado no arquivo de saída.
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)
Definir Limite de Campo
Usar set_field_limit(field, limit) de FormEditor para definir o número máximo de caracteres permitidos em um campo de texto.
- Criar um
FormEditorobjeto. - Vincule o PDF de entrada.
- Defina o limite de campo para um campo alvo.
- Salvar o PDF atualizado.
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)
Obter limite do campo
Você também pode ler o limite de caracteres de um campo de texto.
- Carregue o documento PDF.
- Acesse o campo de formulário de destino.
- Certifique-se de que o campo seja um
TextBoxField. - Ler e imprimir
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}")
Definir Fonte Personalizada para o Campo de Formulário
Este exemplo define uma aparência padrão personalizada para um campo de caixa de texto, incluindo fonte, tamanho e cor.
- Carregue o documento PDF.
- Acesse o campo de destino e verifique seu tipo.
- Encontre a fonte em
FontRepository. - Aplicar um novo
DefaultAppearance. - Salvar o PDF atualizado.
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)
Remover Campos em um Formulário Existente
Este código remove um campo de formulário específico (pelo nome) de um documento PDF e salva o arquivo atualizado usando Aspose.PDF for Python via .NET.
- Carregue o documento PDF.
- Excluir um campo de formulário pelo nome.
- Salvar o PDF atualizado.
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)