Définir le script du champ

Contents
[ ]

Les formulaires PDF interactifs s’appuient souvent sur JavaScript pour effectuer des tâches telles que l’affichage d’alertes, la validation des entrées ou le déclenchement d’un comportement dynamique du formulaire. Avec Aspose.PDF for Python, les développeurs peuvent gérer ces scripts de manière programmatique.

L’exemple ajoute d’abord une action JavaScript au champ, puis la remplace par un autre script en utilisant la méthode \u0027set_field_script\u0027. Cette approche permet aux développeurs de contrôler ou de mettre à jour le comportement interactif des éléments de formulaire PDF tels que les boutons ou les champs de saisie.

Le champ de formulaire utilisé dans cet exemple s’appelle ‘Script_Demo_Button’, qui représente généralement un bouton qui exécute le script assigné lorsqu’il est déclenché.

En utilisant le FormEditor classe de la aspose.pdf.facades module, les développeurs peuvent gérer de manière programmatique les actions JavaScript associées aux champs de formulaire :

  1. Ouvrez un document de formulaire PDF existant.
  2. Ajoutez une action JavaScript à un champ de formulaire.
  3. Définissez (remplacez) l’action JavaScript avec un nouveau script.
  4. Enregistrer le document PDF modifié.
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
import sys
from os import path

sys.path.append(path.join(path.dirname(__file__), ".."))

from config import set_license, initialize_data_dir


def set_field_script(input_file_name, output_file_name):
    # Create FormEditor object
    form_editor = pdf_facades.FormEditor()

    # Open input PDF file
    form_editor.bind_pdf(input_file_name)

    # Add JavaScript action to the field
    form_editor.add_field_script(
        "Script_Demo_Button", "app.alert('Script 1 has been executed');"
    )

    # Set JavaScript action for the field
    form_editor.set_field_script(
        "Script_Demo_Button", "app.alert('Script 2 has been executed');"
    )

    # Save output PDF file
    form_editor.save(output_file_name)