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 76 à 100 (sur un total de 121)
  • Auteur
    Réponses
  • #62020
    bebarth
    Maître des clés

    Voici une autre méthode qui fonctionne bien avec les 110 lignes.
    @+
    :bonjour:

    #62021
    Laure
    Membre

    Wahou ! C’est magique !!

    Merci beaucoup  :extra: :bravo:

    #62022
    leludo
    Membre

    Bonsoir à tous
    J’ai parcouru avec attention ce post et je suis « presque » parvenu à mes fins
    j’arrive à obtenir un publipostage :)

    juste un » truc  » qui me chagrine
    je voudrai que les pdf générés se mettent dans le même dossier que le fichier pdf de base ou bien dans un autre dossier ?
    je ne sais pas comment faire ? (je ne veux pas que les noms de fichiers générés reprennent le nom du fichier support)

    Voici mon code -Merci à vous

    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 »).value=colonnes[0];
      newDoc.getField(« prenom »).value=colonnes[1];
      newDoc.getField(« date »).value=colonnes[2];
      newDoc.getField(« login »).value=colonnes[3];
      // etc. Le nom du champ correspondant au numéro de la colonne (basée sur 0)
      //
                // Enregistrement « NomDuFichier (nom prenom).pdf »
                // Mon souci est ci-dessous car je veux que les pdf générés se mettent automatiquement dans le même dossier que le pdf qui sert de support !
                // mais sans avoir le nom du fichier original !
                //
                //newDoc.saveAs(« Epreuve_01_ »+colonnes[0]+ »_ »+colonnes[1]+ ».pdf »);             //
                newDoc.saveAs(CheminSansExt+ »_Epreuve_01_ »+colonnes[0]+ »_ »+colonnes[1]+ ».pdf »); //             // je voudrais ne pas avoir à préciser le dossier de destination et que les pdf générés se mettent au même endroit sans le nom du pdf original ! Possible ou pas ?
                //
     
      // Fermeture du fichier
      newDoc.closeDoc();
    }
    // Message d’alerte
    app.alert(rangees.length-1+ » formulaires individuels ont été créés. »,2);
    #62023
    bebarth
    Maître des clés

    bonjour,
    Dans les initialisations tu indiques :

    Code:
    var Chemin=this.path;
    var nomDocument=this.documentFileName;
    var repertoire=Chemin.substring(0,Chemin.length-nomDocument.length);

    Puis pour l’enregistrement :

    Code:
    newDoc.saveAs(repertoire+ »_Epreuve_01_ »+colonnes[0]+ »_ »+colonnes[1]+ ».pdf »);

    Tu y étais presque…
    @+
    :bonjour:

    #62024
    leludo
    Membre

    Bonjour et merci Bebarth

    J’ai apporté les modifications et tout fonctionne à merveille.

    Je n’ai pas de mérite car c’est des récupérations de bouts de code glanés sur ce forum ; c’est toutefois des heures de lecture passionnante.
    Merci pour l’aide.

    #62025
    SBLONDEL
    Membre

    Bonjour,

    je vous contacte car je n’arrive pas réaliser le publipostage avec PDF. J’ai relu les différentes discussions mais rien à faire je n’y arrive pas.
    Quelques informations complémentaires :
    En contexte, nous envoyons par mail des invitations fichier joint sous format PDF. (entre 800 et 1000 mails sur 1 semaine).
    J’ai Adobe Acrobat XI Pro. J’ai un fichier PDF avec des champs que je complète à l’aide d’un fichier .CSV. L’import ligne à ligne fonctionne.
    J’ai intégré un des codes JavaScript proposé sur ce forum dans « scripts JavaScript du document ». J’ai attaché dans la pièce jointe du fichier PDF le fichier CSV. Et là je bloque, j’ai essayé de lancer le script avec « définir les actions du document », de passer par assistant d’action.
    J’ai imprimé, fermé le fichier…

    Bref ça ne fonctionne pas et je ne sais pas ce que j’ai mal fait ou ce que je n’ai pas fait. Pouvez-vous, s’il vous plaît m’aider ?
    Et autre petite demande, pouvez-vous m’indiquer comment nous pouvons réaliser automatiquement l’envoi de mails avec les fichiers PDF issus du publipostage ?
    Merci,
    Stéphanie

    #62026
    bebarth
    Maître des clés

    bonjour,
    Voici un nouveau fichier formulaire et une action.
    Quand on dit « un fichier .csv » il faut un fichier .csv et non .txt !
    Le publipostage se fait à partir d’une action. Pas besoin de mettre le script en fonction, sinon il faut lancer la fonction…
    Pour lancer ‘envoi par mail, il faudra une adresse mail.
    Tu me dis !
    @+
    :bonjour:

    #62027
    SBLONDEL
    Membre

    Bonjour Bebarth, merci pour ta réponse. J’ai essayé ce matin en utilisant « Générer les formulaires.sequ » et les nouveaux fichiers pdf et csv. Cela a bien généré deux fichiers .pdf mais les champs ne ce sont pas complétés des infos du fichier.csv. Du coup j’ai testé l’import en manuel avec le fichier .csv et cela n’enrichi pas non plus les champs. Est ce qu’il ne faut pas que j’indique quelque part dans le fichier. pdf que le séparateur est un point virgule et non plus un tab? si oui comment puis je le faire?
    Je te joins également le fichier .txt avec des adresses mails (.txt parce que le. csv est rejeté quand je soumets le formulaire). Pourras-tu me dire comment procéder pour que l’envoi des fichiers pdf ce fasse avec le mail correspondant à la ligne qu’il utilise pour le compléter?
    Et autre question le fichier .pdf que je t’ai transmis va évoluer (insertion de logos…), comment vais je faire pour conserver ton travail? Si on me communique un nouveau pdf, pourrais je insérer une feuille dans le fichier que tu as préparer et déplacer sur la nouvelle feuille les champs à remplir? Puis supprimer l’ancien modèle? Est ce que cela fonctionnera encore?
    merci pour ton aide,
    Stéphanie

    #62028
    bebarth
    Maître des clés

    …de retour ce soir !
    Je regarde ça.
    @+
    :bonjour:

    #62029
    bebarth
    Maître des clés

    bonjour,

    …Cela a bien généré deux fichiers .pdf mais les champs ne ce sont pas complétés des infos du fichier.csv….

    ??? chez moi les formulaires sont bien remplis !!!

    Veux-tu que les noms des fichiers envoyés soient le nom du fichier original ou le nom modifié ???
    Les e-mails seront générés automatiquement, mais il faudra appuyer sur le bouton « envoyer » de ton logiciel de messagerie autant de fois que d’e-mails créés. OK ?
    @+
    :bonjour:

    #62030
    bebarth
    Maître des clés

    bonjour,
    Je ne sais pas si je vais avoir le temps plus tard dans la journée, aussi je te passe les 2 versions.
    Les actions sont en pièces jointes du formulaire.
    @+
    :bonjour:

    #62031
    SBLONDEL
    Membre

    Bonjour Bebarth, je n’avais pas vu tes réponses. Je me suis empressée de tester mais le Dieu  d’Acrobat n’est manifestement pas de mon côté.
    Je te joins 4 images des actions que je réalise. Et j’obtiens un fichier nommé A9R70B1 vide.
    Et ce que tu as une idée sur ce qui ne va pas ?
    merci beaucoup pour ton aide.
    Stéphanie

    #62032
    SBLONDEL
    Membre

    l’image suivante

    #62033
    SBLONDEL
    Membre

    et la dernière

    #62034
    bebarth
    Maître des clés

    bonjour,
    Peux-tu exporter ton action et me la transmettre ?
    @+
    :bonjour:

    #62035
    SBLONDEL
    Membre

    Bonjour,
    C’est le fichier que j’ai extrait du forum.
    Stéphanie

    #62036
    bebarth
    Maître des clés

    C’est le fichier que j’ai extrait du forum.

    Le problème est là !
    Il faut remplacer le script de cette action ou charger et exécuter une des 2 actions (fichiers .sequ) que j’ai incluses dans mon dernier ficher.
    Tu double-cliques sur chacune d’elle pour les charger dans Acrobat.
    Tu me dis…
    @+
    :bonjour:

    #62037
    SBLONDEL
    Membre

    Excuse moi je n’avais pas compris. Cela fonctionne super bien merci beaucoup.
    Est ce que je peux te faire une demande complémentaire. Sais tu comment modifier l’objet du message qui est envoyé depuis ma boite mail? Actuellement, L’objet du message est « Sujet deu message »
    Et pour me rassurer est ce que si j’ai un nouveau fichier pdf je peux utiliser le fichier .sequ que tu m’as transmis?
    merci beaucoup,
    Stéphanie

    #62038
    bebarth
    Maître des clés

    Pour modifier le sujet du message il va falloir le modifier dans le script :

    • Clique droit sur l’action puis « Modifier une action »
    • Double-clique sur « Executer le script JavaScript »
    • Modifier la ligne cSubject : tu emplaces « Sujet du message » par « J’écris ce que je veux comme sujet du message »
    • [/list]

      Et pour me rassurer est ce que si j’ai un nouveau fichier pdf je peux utiliser le fichier .sequ que tu m’as transmis?

      Oui, mais il faut que les noms des champs correspondent à ceux indiqués dans le script et que la position des colonnes du fichiers .csv soient également identiques…
      Si tu as un souci tu peux me faire parvenir ton fichier en MP.
      @+
      :bonjour:

    #62039
    SBLONDEL
    Membre

    J’ai pu réaliser les modifications et cela fonctionne bien. Par contre sais-tu pourquoi il ne me prend pas ma signature par défaut quand il génère le mail?
    merci

    #62040
    bebarth
    Maître des clés

    Non, je ne sais pas !
    Je n’avais jamais testé à dire vrai.
    Je viens de le faire et ça fonctionne chez moi avec un Outlook Mac…
    @+
    :bonjour:

    #62041
    SBLONDEL
    Membre

    bon si cela marche chez toi y’a de l’espoir, je continue à chercher.merci

    #62042
    SBLONDEL
    Membre

    Bonjour Bebarth,
    J’ai une petite question supplémentaire. Pour contourner le fait que ma cartouche de signature ne veut pas s’afficher, est t’il possible que l’image du pdf s’affiche dans le mail que l’on envoie?
    J’ai peur de connaître la réponse … j’ai fait quelques recherches avant de poser la question et je n’ai rien trouvé à ce sujet.
    mais qui ne tente rien…
    merci
    Stéphanie

    #62043
    bebarth
    Maître des clés

    bonjour,

    …ma cartouche de signature ne veut pas s’afficher

    Comme ça j’ai eu du mal à comprendre… jusqu’à ce que je me souvienne ce que tu demandais précédemment !

    est t’il possible que l’image du pdf s’affiche dans le mail que l’on envoie?

    C’est ce qui ce passe avec Mail sur Mac, mais j’ai bien peur que cela soit une fonction du logiciel de messagerie.
    @+
    :bonjour:

    #62044
    SBLONDEL
    Membre

    Bebarth, je sais que c’est un forum sur adobe mais j’ai trouvé un code qui permettrait d’insérer la signature Outlook. Est ce que tu pourrais me dire quel est le bout du code ci-dessous qui fait cela? Et peut être que si on le rajoute dans le code tu m’as préparé pour le publiposatge cela pourrait fonctionner???
    Je croise les doigts.
    merci Stéphanie
    [font=&amp][/font]

    [font=&amp]
    [/color]Sub EnvoiMail() Dim OutObj As Object, OutMail As Object Dim sPath As String, sNomFic As String Dim sAdrMail As String, strSujet As String, strBody As String ’ Chemin d’enregistrement des fichiers temporaire sPath = Environ( »temp ») &  » »’ Nom du fichier sNomFic = Format(Date,  »yyyymmdd ») &  ».pdf »’ Exporter le fichier actuel en PDF ThisDocument.ExportAsFixedFormat OutputFileName:=sPath & sNomFic, ExportFormat:=wdExportFormatPDF, _ OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _ wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False’ Création d’une instance Outlook pour envoyer un mailSet OutObj = CreateObject( »Outlook.Application ») Set OutMail = OutObj.CreateItem(0) ’ Création de l’e-mail : Titre, Corps du message, destinataire sAdrMail = InputBox( »Adresse mail du destinataire »,  »ADRESSE MAIL »,  »@ ») ’ Création du message strSujet =  »CECI EST MON SUJET » strBody =  »Bonjour, » &  »

    « 

    _ &  »Veuillez trouver en pièce jointe, le document voulu. »’ Préparation le mailWith OutMail ’ Pour afficher la signature .Display ’ Adresses mail .To = sAdrMail .cc =  » »’ Sujet de l’eMail .Subject = strSujet ’ Corps du mail et signature .HTMLBody = strBody &  »

    « 

    & .HTMLBody .Attachments.Add sPath & sNomFic EndWith’ Supprimer le fichier créé Kill sPath & sNomFic ’ Effacer les objetsSet OutMail = NothingSet OutObj = NothingEndSub
    [/font]
Affichage de 25 réponses de 76 à 100 (sur un total de 121)
  • Vous devez être connecté pour répondre à ce sujet.