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.

  1. Carregue o documento PDF de entrada.
  2. Acesse os formulários na primeira página.
  3. Itere sobre cada formulário e verifique se ele é um Typewriter formulário.
  4. Use TextFragmentAbsorber para encontrar fragmentos de texto no formulário.
  5. Limpe o texto de cada fragmento.
  6. 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.

  1. Criar um FormEditor objeto.
  2. Vincule o PDF de entrada.
  3. Defina o limite de campo para um campo alvo.
  4. 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.

  1. Carregue o documento PDF.
  2. Acesse o campo de formulário de destino.
  3. Certifique-se de que o campo seja um TextBoxField.
  4. 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.

  1. Carregue o documento PDF.
  2. Acesse o campo de destino e verifique seu tipo.
  3. Encontre a fonte em FontRepository.
  4. Aplicar um novo DefaultAppearance.
  5. 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.

  1. Carregue o documento PDF.
  2. Excluir um campo de formulário pelo nome.
  3. 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)

Tópicos Relacionados