Modification d'AcroForm
Effacer le texte dans le Form
Cet exemple montre comment effacer le texte des champs de formulaire Typewriter dans un PDF en utilisant Aspose.PDF for Python via .NET. Il parcourt la première page du PDF, identifie les formulaires Typewriter, supprime leur contenu et enregistre le document mis à jour. Cette approche est utile pour réinitialiser ou assainir les champs de formulaire avant de redistribuer un PDF.
- Chargez le document PDF d’entrée.
- Accédez aux formulaires de la première page.
- Parcourir chaque formulaire et vérifier s’il s’agit d’un
Typewriterformulaire. - Utilisez TextFragmentAbsorber pour trouver les fragments de texte dans le formulaire.
- Effacez le texte de chaque fragment.
- Enregistrez le PDF modifié dans le fichier de sortie.
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)
Définir la limite du champ
Utiliser set_field_limit(field, limit) de FormEditor définir le nombre maximal de caractères autorisés dans un champ texte.
- Créer un
FormEditorobjet. - Lier le PDF d’entrée.
- Définissez la limite du champ pour un champ cible.
- Enregistrez le PDF mis à jour.
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)
Obtenir la limite du champ
Vous pouvez également lire la limite de caractères d’un champ texte.
- Chargez le document PDF.
- Accédez au champ de formulaire cible.
- Assurez-vous que le champ est un
TextBoxField. - Lire et imprimer
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}")
Définir une police personnalisée pour le champ du formulaire
Cet exemple définit une apparence par défaut personnalisée pour un champ de zone de texte, incluant la police, la taille et la couleur.
- Chargez le document PDF.
- Accédez au champ cible et vérifiez son type.
- Trouver la police dans
FontRepository. - Appliquer un nouveau
DefaultAppearance. - Enregistrez le PDF mis à jour.
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)
Supprimer des champs dans un formulaire existant
Ce code supprime un champ de formulaire spécifique (par son nom) d’un document PDF et enregistre le fichier mis à jour en utilisant Aspose.PDF for Python via .NET.
- Chargez le document PDF.
- Supprimer un champ de formulaire par son nom.
- Enregistrez le PDF mis à jour.
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)