abracadabraPDF › Forums › PDF – Général › Publipostage PDF avec Excel
- Ce sujet contient 120 réponses, 2 participants et a été mis à jour pour la dernière fois par bebarth, le il y a 1 année et 8 mois.
-
CréateurSujet
-
11 janvier 2017 à 18:11 #45571marieMembre
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 -
CréateurSujet
-
AuteurRéponses
-
13 décembre 2019 à 21:08 #62020bebarthMaître des clés
Voici une autre méthode qui fonctionne bien avec les 110 lignes.
@+
:bonjour:16 décembre 2019 à 09:28 #62021LaureMembreWahou ! C’est magique !!
Merci beaucoup :extra: :bravo:
27 décembre 2019 à 20:59 #62022leludoMembreBonsoir à tous
J’ai parcouru avec attention ce post et je suis “presque” parvenu à mes fins
j’arrive à obtenir un publipostagejuste 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; icolonnes=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);28 décembre 2019 à 07:51 #62023bebarthMaître des clésbonjour,
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:28 décembre 2019 à 13:39 #62024leludoMembreBonjour 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.8 janvier 2020 à 10:44 #62025SBLONDELMembreBonjour,
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éphanie8 janvier 2020 à 20:44 #62026bebarthMaître des clésbonjour,
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:9 janvier 2020 à 08:48 #62027SBLONDELMembreBonjour 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éphanie9 janvier 2020 à 10:24 #62028bebarthMaître des clés…de retour ce soir !
Je regarde ça.
@+
:bonjour:9 janvier 2020 à 18:28 #62029bebarthMaître des clésbonjour,
…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:10 janvier 2020 à 07:30 #62030bebarthMaître des clésbonjour,
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:13 janvier 2020 à 08:39 #62031SBLONDELMembreBonjour 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éphanie13 janvier 2020 à 08:40 #62032SBLONDELMembrel’image suivante
13 janvier 2020 à 08:42 #62033SBLONDELMembreet la dernière
13 janvier 2020 à 08:48 #62034bebarthMaître des clésbonjour,
Peux-tu exporter ton action et me la transmettre ?
@+
:bonjour:13 janvier 2020 à 08:57 #62035SBLONDELMembreBonjour,
C’est le fichier que j’ai extrait du forum.
Stéphanie13 janvier 2020 à 09:10 #62036bebarthMaître des clésC’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:13 janvier 2020 à 09:46 #62037SBLONDELMembreExcuse 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éphanie13 janvier 2020 à 10:06 #62038bebarthMaître des clésPour 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:13 janvier 2020 à 11:39 #62039SBLONDELMembreJ’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?
merci13 janvier 2020 à 12:40 #62040bebarthMaître des clésNon, 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:13 janvier 2020 à 13:22 #62041SBLONDELMembrebon si cela marche chez toi y’a de l’espoir, je continue à chercher.merci
23 janvier 2020 à 09:27 #62042SBLONDELMembreBonjour 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éphanie23 janvier 2020 à 11:53 #62043bebarthMaître des clésbonjour,
…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:23 janvier 2020 à 15:14 #62044SBLONDELMembreBebarth, 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=&][/font][font=&]
[/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] -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.