Donnez vie à vos documents numériques !
 

Mary31

Toutes mes réponses sur les forums

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Auteur
    Réponses
  • en réponse à : Publipostage PDF avec Excel #62059
    Mary31
    Participant

    Bonjour,
    et merci pour vos réponses que j’ai approfondies avec les liens envoyés en consultant les posts. :bonjour:

    Je suis donc allée à ce qui est le plus concret pour moi et me suis servie des actions que Bebarth avait déjà créées et qui correspondent tout à fait à mon besoin : générer un publipostage à partir d’un formulaire .pdf et d’un fichier de données ; générer autant de pdf pré-renseigné que de lignes dans le fichier de données.

    Mon fichier est bien enregistré en .csv, il est joint au formulaire .pdf et les deux sont enregistrés dans un même répertoire auquel j’ai accès en écriture.
    Les champs du fichiers .csv, sont bien identiques aux champs du formulaire .pdf

    J’ai ajouté l’action “Générer un formulaire” que Bebarth a déjà conçu. Je l’ai adaptée à mon formulaire et fichier en apportant les modifs au niveau des lignes newDoc et pour le nommage des fichiers générer après la fusion.

    Hier, cela a fonctionné mais uniquement pour la première ligne du tableau (donc la seconde en dessous de celle qui correspond aux champs). La fusion s’est arrêtée au champ “Adresse” (colonne 4). pour les champs “Tél. portable” (col 5) et “Téléphone fixe” col(6) il est indiqué “undefined” et puis plus rien pour les autres.
    Aujourd’hui, je n’ai plus de nouveau .pdf généré et enregistré correctement. J’ai juste l’ouverture d’un fichier pdf.tmp toujours pour la première ligne et avec les mêmes indications (comme ci-dessus) au niveau des champs (j’ai dû modifier quelque chose sans m’en rendre compte…)

    Voici les modifs que j’ai donc apportées au script pour les adapter à mes documents (certains champs sont volontairement anonymisés) :

    Code:
    // Initialisation
    var Chemin=this.path;
    var CheminSansExt=Chemin.substring(0,Chemin.length-4)
    // Importer l’unique PJ sans la nommer
    var p=this.getDataObject(this.dataObjects[0].name)
    var fichier=this.getDataObjectContents(p.name)
    var donnees=util.stringFromStream(fichier)
    // Séparation des rangées (saut de ligne)
    var rangees=donnees.split(“n”)
    // Séparation des colonnes (TAB)
    var colonnes=new Array();
    for (var i=1; i    colonnes=rangees.split(“;”);
        // Création d’un nouveau document
        var newDoc=app.newDoc();
        // Insertion de la/des page(s)
        newDoc.insertPages({cPath: Chemin});
        // Suppression de la première page générée à la création du document
        newDoc.deletePages(0);
        // remplissage des champs
        newDoc.getField(“Nom d’usage”).value=colonnes[1];
        newDoc.getField(“Nom de famille”).value=colonnes[2];
        newDoc.getField(“Prénoms”).value=colonnes[3];
        newDoc.getField(“Adresse”).value=colonnes[4];
        newDoc.getField(“Tél. portable”).value=colonnes[5];
        newDoc.getField(“Téléphone fixe”).value=colonnes[6];   
        newDoc.getField(“courriel”).value=colonnes[7]; 
        newDoc.getField(“Profession”).value=colonnes[8];
        newDoc.getField(“Employeur”).value=colonnes[9];
        newDoc.getField(“Champ 10”).value=colonnes[10];
        newDoc.getField(“Champ 11”).value=colonnes[11];
        newDoc.getField(“Champ 13”).value=colonnes[13];
        newDoc.getField(“Champ 14”).value=colonnes[14];
        newDoc.getField(“Champ 15”).value=colonnes[15];
        newDoc.getField(“Champ 17”).value=colonnes[17];
        newDoc.getField(“Champ 19”).value=colonnes[19];
        newDoc.getField(“Champ 21”).value=colonnes[21];
        newDoc.getField(“Champ 24”).value=colonnes[24];
        newDoc.getField(“Champ25”).value=colonnes[25];

        // etc. Le nom du champ correspondant au numéro de la colonne (basée sur 0)
        // Enregistrement “NomDuFichier (Nom d’usage Prénoms).pdf”
        newDoc.saveAs(CheminSansExt+” (“+colonnes[1]+” “+colonnes[3]+”).pdf”);
        // Fermeture du fichier
        newDoc.closeDoc();
    }
    // Message d’alerte
    app.alert(rangees.length-1+” formulaires individuels ont été créés.”,2);

    A votre avis, qu’est-ce qu’il ne va pas ? Faut-il que j’allège également le nom des champs ?

    en réponse à : Publipostage PDF avec Excel #62056
    Mary31
    Participant

    Bonjour à tous,
    j’ai lu le fil des discussions sur ce sujet qui m’intéresse fortement.

    Je voudrais me lancer pour tester. Simplement et étant d’un niveau “amateur” je voulais savoir où créer le code qui génèrera plusieurs fichiers à l’issue d’un import de données en .txt.

    – Tous les scripts JavaScript ?
    – Scripts JavaScript du document ?
    – Action du document ?

    :Euuuh: Merci…

    ps : je travaille sur PC

    Mary31
    Participant

    Bonjour,

    Mon formulaire a bien avancé. J’ai deux questions :

    – 1 sur un bouton d’importation de pj, j’ai indiqué le script suivant :

    var annot = this.addAnnot({
    page: this.pageNum,
    type: “FileAttachment”,
    author: “PJ 1 OK !”,
    contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
    attachIcon: “Paperclip”,
    point: [500,310],
    strokeColor: color.blue,
    });
    var annot = this.addAnnot({
    page: this.pageNum,
    type: “FileAttachment”,
    author: “PJ 2 OK !”,
    contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
    attachIcon: “Paperclip”,
    point: [510,310],
    strokeColor: color.blue,
    });
    var annot = this.addAnnot({
    page: this.pageNum,
    type: “FileAttachment”,
    author: “PJ 3 OK !”,
    contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
    attachIcon: “Paperclip”,
    point: [520,310],
    strokeColor: color.blue,
    });

    Je compte le dupliquer en 5 fois, afin que le trombone soit à chaque fois décalé sur le formulaire.
    En phase test, cela fonctionne sauf que la fenêtre parcourir reste ouverte et ne se ferme pas automatiquement. Du coup l’utilisateur va penser qu’il n’a pas correctement insérer la pj.
    J’imagine qu’il y a quelque chose à ajouter dans le code pour que la fenêtre se referme mais je ne suis pas développeur….

    Pourriez-vous me dire ???

    2- Je voulais savoir si en termes de signature vous auriez quelque chose de moins lourd que le bouton signature que propose acrobat reader
    Mais je vais d’abord recherche des sujets sur le forum

    Bonne journée !  :soleil:

    Mary31
    Participant

    Merci Merlin, j’ai changé de version du logiciel et effectivement J’Y ARRIVE  :joker:

    en réponse à : Champ pour joindre un document dans un formulaire PDF #67820
    Mary31
    Participant

    Merci Merlin
    J’ai fait comme tu m’as suggéré. J’ai raccroché ma problématique à un sujet déjà existant.
    Bonne soirée

    Mary31
    Participant

    bonjour,Une petite variante pour choisir l’icône et sa couleur.@+ :bonjour:

    J’ai aussi ouvert le pdf de bebarth qui m’a l’air top mais quand je clique sur le champ “importer” j’ai l’image correspond au trombone mais il n’y pas d’autre fenêtre de type “parcourir” pour permettre à l’utilisateur d’aller chercher le doc à insérer…

    Je ne suis pas un pro… désolée mais je me dis qu’il n’y pas de raison de ne pas y arriver si la solution existe :priere: HELP ! :Ooops:

    Mary31
    Participant

    Bonjour,
    A priori ce sujet devrait correspondre à ma demande….

    Je souhaiterais envoyer un formulaire à des utilisateurs. Dans ce formulaire, il y a des champs à renseigner mais aussi des documents à importer en tant que pièce jointe.
    Je vous donne un exemple en pj.
    J’ai commencé à créer le bouton, le libellé et l’icône pour guider l’utilisateur.

    Ensuite si je comprends bien je dois me référer au tuto :
    Importer programmatiquement une pièce jointe dans un PDFet c’est là où je n’arrive pas à concrétiser mon action, la formule java script n’apporte pas grand chose…
    pouvez-vous m’aider…

    Mary31
    Participant

    :bravo: :extra: :bravo:

    Bravo, c’est magique !!!

    J’ai juste inversé l’ordre du visible et hidden pour que cela colle vraiment à mon besoin…

    if (event.target.value != “Off”) {
    this.getField(“Text35”).display = display.hidden;
    this.getField(“Dropdown4”).display = display.hidden;
    this.getField(“Text70”).display = display.hidden;
    // etc.

    }
    else  {
    this.getField(“Text35”).display = display.visible;
    this.getField(“Dropdown4”).display = display.visible;
    this.getField(“Text70”).display = display.visible;
    // etc.
    }

    encore merci pour votre aide à tous les deux :soleil:

    Mary31
    Participant

    Merci aussi à Bebarth,

    Effectivement je laisse tomber la remontée des éléments du dessous en fonction de la disparition de champs.

    L’important est de réussir à franchir la première étape qui est d’ afficher et masquer des champs en cochant une case

    Bonne journée

    Mary31
    Participant

    Merci Merlin

    voilà ce que j’ai placé en action “champ désactivé” dans la case à cocher :

    if (event.value != “Off”) {
    this.getField(“Text35”).display = display.visible;
    this.getField(“Dropdown4”).display = display.visible;
    this.getField(“Délégation/Quartier”).display = display.visible;
    // etc.
    }
    else  {
    this.getField(“Text35”).display = display.hidden;
    this.getField(“Dropdown4”).display = display.hidden;
    this.getField(“Délégation/Quartier”).display = display.hidden;
    // etc.
    }

    résultat : rien…

    on dirait qu’aucune connexion finalement ne se fait entre la case à cocher et les champs. Ai-je commis des erreurs d’écriture au niveau des champs, j’ai pourtant bien repris chaque nom de ces derniers ?

    au-delà du script, faut-il que j’engage d’autres actions ? au niveau des autres propriété de la case à cocher ou des champs que je souhaite masquer et afficher

    Dommage, je sens que l’on y est presque :Euuuh:

    Mary31
    Participant

    Merci pour votre aide, voici mon formulaire incomplet, j’ai fait une capture d’écran

    Cela se joue dans la partie “Expérience”. Y sont référencées 3 périodes. Si aucune affectation n’est à renseigner pour les périodes 1 et 2, le fait de cocher la case masque les champs à renseigner et, idéalement, fait remonter la ou les périodes où une affectation pourra être référencée pour éviter trop d’espace vide…

    Mais pour répondre à Merlin, je me rends compte qu’il n’y a pas tant d’espace que cela …donc si le déplacement des parties est trop compliqué, je préfère privilégier mon premier besoin d’afficher et de masquer plusieurs champs à chaque que l’on clique sur la case correspondante

    J’espère que mes éléments seront suffisants pour pouvoir me donner des conseils.

    Merci !!!

    Merci !!!

Affichage de 11 réponses de 1 à 11 (sur un total de 11)