Donnez vie à vos documents numériques !
 

Champ de calcul automatique ne calcul pas

abracadabraPDF Forums PDF – Général Champ de calcul automatique ne calcul pas

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44719
    zs23000
    Membre

    Bonjour à vous,

    J’ai un formulaire interactif en pdf qui contient des champ de totaux, ces champ ce remplissent automatiquement au fur et à mesure que d’autre champ

    ce renseigne par l’utilisateur, et ça marche très bien manuellement. mais lorsque je remplit ces champ par programmation en utilisant iText avec java, les

    champ normaux ce remplissent très bien mais ceux avec le calcul automatique ne fonctionne pas il affiche toujours zéro.

    J’utilise iText v5.4.4

    Merci d’avance pour vos réponses.

Affichage de 2 réponses de 1 à 2 (sur un total de 2)
  • Auteur
    Réponses
  • #56282
    zs23000
    Membre

    Bonsoir,

    Même si il n’y a eu aucune réponse mais bon mon problème est résolue, voila la solution :

    – Mon code initial :

            static String book = « myForm.pdf »;
            static String bookstamp = « myFormTest.pdf »;
            PdfReader reader = new PdfReader (book);
            PdfStamper stamper = new PdfStamper (reader, new FileOutputStream (String.format (bookstamp)));
            stamper.getAcroFields ();
            stamper.setField (« ca50 », « 15000 »);
            stamper.getAcroFields () ;
            stamper.setField (« ca30 », « 150 »);
            stamper.close ();

    – Le bon code :
    Il fallait ajouter deux ligne :
            stamper.addJavaScript(« this.calculateNow(); »);
            reader.removeUsageRights();
    Juste avant le « stamper.close (); »

    Pour ceux que ça intéresse intéresse l’explication est toute simple, le calcul automatique des valeurs de champ dans les fichiers PDF se fait par le biais de Javascript dans le PDF. Dans le cas de certains événements (par exemple, la valeur d’un champ ou changé objet d’un domaine perdu) ce Javascript est exécuté et définit la valeur du champ la nouvellement calculé.

    iText, d’autre part, ne fonctionne pas avec Javascript. En iText seules les parties du PDF que vous modifiez explicitement sont modifiés, les effets secondaires ne sont pas souhaitées.

    Ainsi, pour avoir le bon calcul sur les champs il faut déclencher le recalcule des champs lors de l’ouverture du fichier PDF.

    #56283
    Merlin
    Maître des clés

    Pour ceux que ça intéresse intéresse l’explication est toute simple, le calcul automatique des valeurs de champ dans les fichiers PDF se fait par le biais de Javascript dans le PDF. Dans le cas de certains événements (par exemple, la valeur d’un champ ou changé objet d’un domaine perdu) ce Javascript est exécuté et définit la valeur du champ la nouvellement calculé.

    iText, d’autre part, ne fonctionne pas avec Javascript. En iText seules les parties du PDF que vous modifiez explicitement sont modifiés, les effets secondaires ne sont pas souhaitées.

    Ainsi, pour avoir le bon calcul sur les champs il faut déclencher le recalcule des champs lors de l’ouverture du fichier PDF.

    C’est à peu près ce que j’aurais répondu si j’en avais eu le temps.
    :Smiley03:

Affichage de 2 réponses de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.