Donnez vie à vos documents numériques !
 

Publipostage PDF avec Excel

abracadabraPDF Forums PDF – Général Publipostage PDF avec Excel

  • Créateur
    Sujet
  • #45571
    marie
    Membre

    Bonjour,
    Très bonne année à ceux qui me liront.
    Je dois régulièrement remplir des PDF à la chaîne : même formulaire à remplir en 20 exemplaires par exemple. Savez-vous si il est possible de faire un publipostage à partir d’un fichier XLSX ?
    Si oui, pouvez-vous m’indiquer la marche à suivre ?
    Merci beaucoup

Affichage de 25 réponses de 26 à 50 (sur un total de 121)
  • Auteur
    Réponses
  • #61970
    Aurelia.k
    Membre

    Et bien, c’est à peu prés ça.En fait cela me créer bien un formulaire par N° d’appareil. Pas de souci.
    C’est lorsque je doit les envoyer via DOCUSign que le problème se pose. J’envois une enveloppe de PDF.Et du coup, Docusign groupe mes pdf en un seul, d’où mon problème de devoir nommer cette case commentaire.

    #61971
    Merlin
    Maître des clés

    Comment sont créés ces formulaires ?
    N’est-il pas possible de mettre un nom de champ différent pour chaque formulaire ?

    #61972
    Aurelia.k
    Membre

    Bonjour,
    Oui, le plus simple est de mettre un nom de champs different sur chaque formulaire.Mais le faire manuellement me prend un temps fou.Je voulais savoir si cela était possible de le faire automatiquement.
    Tous les champs de mon formulaire reprennent les données d’un tableau excel, l’intitulé de mes champs est donc l’entête de colonne de mon tableau Excel.
    Ces champs sont en lecture seule et vérouillés. Donc jusqu’ici c’est bon. Et tout est automatique grace à vous.

    J’ai deux champs qui ne sont pas vérouillés et qui ne sont pas attachés à mon fichier excel. Les champs « commentaires » et « Etat de fonctionnement ». La personne qui remplit le formulaire doit saisir uniquement ces deux champs.Mais si j’envois 3 formulaires d’un coup, ces 2 champs sont les même partout.

    #61973
    bebarth
    Maître des clés

    bonjour,
    Il n’est pas possible de renommer un champ via JavaScript, par contre il y a une solution.
    J’ai écris un script pour une utilisation perso qui va chercher tous les paramètres d’un champ, qui efface ce champ et qui créé un nouveau champ avec toutes les propriétés du champ supprimé mais avec un nouveau nom.
    Je n’ai pas suivi ce post depuis le début, mais si ça t’intéresse je pourrais adapter mon script à ton formulaire. Il faudrait me faire passer un fichier et me dire quels champs et comment les renommer…
    Ensuite, je t’enverrai une action.
    Tu me dis…
    @+
    :bonjour:

    #61974
    Aurelia.k
    Membre

    Bonjour,
    Ci-joint mon fichier.Merci pour votre aide

    #61975
    bebarth
    Maître des clés

    Je ne vois pas le champ « Etat de fonctionnement » !!! Est-ce le champ « Statut » ???
    Je te propose de renommer ces champs avec le numéro du contrat en suffixe. Ça te va ???
    @+
    :bonjour:

    #61976
    Aurelia.k
    Membre

    Oui, désolé, il s’agit de statut, c’est possible de mettre plutôt le numéro d’équipement?

    #61977
    bebarth
    Maître des clés

    Je regarde dans l’après midi !
    @+
    :bonjour:

    #61978
    bebarth
    Maître des clés

    bonsoir,
    Désolé, j’ai été un peu pris cet après-midi. Du coup je viens de faire une adaptation spécifique à ton formulaire.
    J’essaierai de faire une version « générale » prochainement.
    Donc, ci-joint une action qui renomme tes 2 champs.
    @+
    :bonjour:

    #61979
    Aurelia.k
    Membre

    Bonjour,
    Et MERCI!!!!! :extra: C’est génial. :bravo:
    Grace à vous, je vais gagner un temps fou. Merci pour votre aide, votre temps et votre générosité. :Smiley01:
    Bravo pour ce forum.J’ai appris des tas de choses!!!

    #61980
    boucledore95
    Participant

    Bonjour,

    J’ai essayé d’adapter le code à mon document mais ca me met des erreurs de syntaxe et je ne comprends pas pourquoi.

    Je vous mets le code si vous pouvez m’aider à comprendre l’erreur ou les erreurs.

    Et on est bien d’accord que ce code doit aller donc éditeurs de scripts JavaScript?

    Merci d’avance à tous :)

    var fileName = « emplacement de mon fichier excel converti en txt.txt »
    var outputDir = « emplacement pour enregistrer les différents PDF »
    var err = 0
    var idx = 0
    while (err==0) {
    err = this.importTextData(nom de mon fichier txt, idx); // imports the next record
      if (err == -1)
    app.alert(« Error: Cannot Open File »);
    else if (err == -2)
      app.alert(« Error: Cannot Load Data »);
    // else if (err == -3)
      // We are not reporting this error because it does
      // indicate the end of our data table: We’ve exhausted
      // all rows in the data file and therefore are done with
      // processing the file. Time to exit this loop.
      // app.alert(« Error: Invalid Row »);
    else if (err == 1)
      app.alert(« Warning: User Cancelled File Select »);
    else if (err == 2)
      app.alert(« Warning: User Cancelled Row Select »);
    else if (err == 3)
      app.alert(« Warning: Missing Data »);{
    else if (err == 0)this.saveAs(outputDir + this.getField(« Nom »).value + « _ » + this.getField(« Prénom »).value + « .pdf »); // saves the file
      idx++;
    }
    }

    #61981
    Merlin
    Maître des clés

    J’ai essayé d’adapter le code à mon document mais ça me met des erreurs de syntaxe et je ne comprends pas pourquoi.
    Je vous mets le code si vous pouvez m’aider à comprendre l’erreur ou les erreurs.

    En clair, tu nous donnes à analyser un code qui fonctionne bien parce-qu’il a été fait pour un autre document et dans un autre contexte, mais sans donner aucune information sur ton document ni sur les erreurs provoquées…

    Pour faire ça il faudrait des devins, pas des magiciens.
    :joker:

    Et on est bien d’accord que ce code doit aller donc éditeurs de scripts JavaScript?

    ???  :Euuuh:
    ==> https://www.abracadabrapdf.net/?p=2990

    #61982
    boucledore95
    Participant

    Désolée. Je pensais que le code était justement le même pour tous les documents et qu’il y avait juste à changer les emplacements des docs.

    Je te mets en PJ le document PDF.
    J’ai un fichier txt. qui reprend les 4 données. Et je voudrais donc qu’à chaque changement de nom, j’ai un nouveau pdf qui se complètent.
    Mon fichier txt; c’est
    Nom Prénom Organisme Fonction
    A        Alain        X              y
    B        Olivier      Z              T

    Dans le code, j’avais donc bien modifier les emplacements ainsi que le nom à donner aux PDF générés.
    Et je pensais, mais car je suis novice en JS, que tout le reste était correct et universel :)
    Pour info, j’ai enlevé le JS du doc que je vous transmets vu que je l’ai mis dans mon message.

    Merci d’avance si vous pouvez m’aider

    #61983
    Merlin
    Maître des clés

    Je crois savoir que l’auteur de ce script est en vacances.  :afro:
    Il va falloir patienter quelques jours pour la réponse. 

    #61984
    boucledore95
    Participant

    Pas de soucis.
    Je ne suis pas pressée.

    Merci :)

    #61985
    bebarth
    Maître des clés

    bonjour,

    Je crois savoir que l’auteur de ce script est en vacances.  :afro:

    Moi j’étais bien en vacances la semaine dernière, mais je ne suis pas l’auteur du script…  :Smiley15:
    Voici une action d’une adaptation avec traduction.

    Code:
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
    var fileName = repertoire+ »data.txt »;
    var outputDir = repertoire;
    var err = 0;
    var idx = 0;
    while (err==0) {
        err = this.importTextData(fileName, idx++); // Importation des données
        if (err == -1) app.alert(« Erreur : Le fichier ne peut pas être ouvert. »);
        else if (err == -2) app.alert(« Erreur : Les données ne peuvent pas être importées. »);
        // else if (err == -3) app.alert(« Error: Invalid Row »);
        // Nous n’indiquons pas cette erreur car elle signale la fin du tableau de données
        // et il faut donc sortir de la boucle « while »
        else if (err == 1) app.alert(« Attention : Sélection de fichier annulé par l’utilisateur. »);
        else if (err == 2) app.alert(« Attention : Sélection de ligne annulée par l’utilisateur. »);
        else if (err == 3) app.alert(« Attention : Données non trouvées. »);
        else if (err == 0) this.saveAs(outputDir + this.getField(« Nom »).value + « _ » + this.getField(« Prenom »).value + « .pdf »); // Enregistrement du fichier
    }

    Il faut que ton fichier data.txt soit dans le même répertoire que ton fichier .pdf et tous les fichiers seront enregistrés dans ce même répertoire.
    Attention à ne mettre de caractères spéciaux dans les nom des champs. Ici j’ai renommé « Prénom » en « Prenom ».
    @+
    :bonjour:

    #61986
    Merlin
    Maître des clés

    mais je ne suis pas l’auteur du script… 

    Scuse, mais je n’ai pas trouvé de © dans le script…
    :Smiley08:

    #61987
    boucledore95
    Participant

    Merci pour ce code.
    Mais j’ai un problème. Actuellement, mon code me dit que le fichier ne peut pas être ouvert.

    Je te donne ce que j’ai compris de ton code. Dis moi si tu y vois une erreur.

    [font=]var Chemin = this.path;(j’indique le chemin où se trouve mon dossier PDF)[/font][font=&amp][/font]

    [font=&amp][font=]var nomDocument = this.documentFileName;(j’indique le nom de mon document PDF)[/font][font=]var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length); (là j’ai rien touché)[/font][font=]var fileName = repertoire+ »data.txt »; (je remplace data par le nom de mon ficher Excel enregistré en txt)[/font]

    Pour tout le reste, je n’ai rien modifié.
    Dis moi si je me trompe totalement.

    Merci

    Fred

    [/font]

    [font=&amp][/font]

    #61988
    bebarth
    Maître des clés

    bonjour,
    Normalement, si ton fichier pdf et ton fichier data.txt sont dans le même répertoire, tu as juste à modifier le nom « data » pour indiquer le nom exact.
    this.path lit le chemin du fichier pdf et this.documentFileName lit son nom donc il ne faut pas toucher.
    Si le document data.txt n’est pas dans le même répertoire il faut remplacer « var fileName = repertoire+ »data.txt »; » par « var fileName = « le chemin exact du fichier data.txt »; ».
    IL faut s’assurer d’avoir les droits dans ce répertoire !
    @+
    :bonjour:

    #61989
    boucledore95
    Participant

    Bonjour BeBarth,

    Merci d’avoir pris le temps de me répondre et de m’expliquer.
    C’est génial. Ca marche.

    Merci beaucoup. :)

    Bonne journée

    Fred

    #61990
    boucledore95
    Participant

    Et je viens d’avoir une nouvelle idée.

    Si dans ce PDF, je dois insérer des photos. Y a t’il moyen que de la même manière, la photo soit prise automatiquement dans ce même fichier.
    En gros, une ligne de mon fichier data = 1 photo.
    Là le publipostage pour le moment ne va me chercher que (et c’est déjà ouffissime) que mes données « excel ». Peut-il si je crée un champ image aller chercher la photo qui correspond à la ligne du doc data?

    Merci d’avance

    Fred

    #61991
    boucledore95
    Participant

    Bonjour à tous,

    Alors ca y est je maitrise le publipostage PDF à partir d’Excel.
    Mais, sinon je reviendrai pas vers vous, je n’arrive toujours pas à insérer une image.

    Je vous explique : dans un fichier, j’ai un certain nombre de photos de personnes nommées par le nom et prénom des personnes et je voudrais qu’elles s’incluent dans mon PDF, au moment du publipostage, dans la case photo quand les champs noms et prénoms de mon PDF correspondent au nom de la photo.

    est ce possible?

    J’avais bien pensé à mettre lier mes cellules excel à un lien vers le PDF mais malheureusement quand on enregistre en TXT, on perd ce lien.

    Merci d’avance

    Fred

    #61992
    bebarth
    Maître des clés

    bonjour,

    Je vous explique : dans un fichier, j’ai un certain nombre de photos de personnes nommées par le nom et prénom des personnes…

    Quel format de fichier ?
    @+
    :bonjour:

    #61993
    boucledore95
    Participant

    Bonjour,

    En fait c’est un fichier normal (type mes documents :)) et à l’intérieur les photos sont soit en JPEG soit en PDF.

    Merci

    Fred

    #61994
    bebarth
    Maître des clés

    bonjour,

    En fait c’est un fichier normal (type mes documents :) ) et à l’intérieur les photos sont soit en JPEG soit en PDF.

    Tu parles d’images incluses dans un fichier Excel ? Je ne pense pas que ce soit possible à partir d’un script Acrobat !
    @+
    :bonjour:

Affichage de 25 réponses de 26 à 50 (sur un total de 121)
  • Vous devez être connecté pour répondre à ce sujet.