IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

Générer un fichier ".pdf" à partir d'un formulaire


Sujet :

4D

  1. #1
    Membre du Club
    Homme Profil pro
    Formateur bancaire
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur bancaire

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Points : 61
    Points
    61
    Par défaut Générer un fichier ".pdf" à partir d'un formulaire
    Bonjour à tous,

    Mon but est d'envoyer des mails avec pièce jointe à un certain nombre de personnes.

    la pièce jointe est un formulaire page (saisie)

    je voudrais transformer ce formulaire page en fichier pdf pour pouvoir l'annexer en pièce jointe dans un mail.

    La méthode suivante ne fonctionne pas car, si le chemin est reconnu, le fichier n'apparait pas (et n'existe pas) sur le disque.
    Donc je ne peux pas le récupérer pour le mettre en pièce jointe !

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $Enreg:=Enregistrements trouves([ATELIERS])
    Boucle ($i;1;$Enreg)
      //----Fixer le formulaire de l'impression----
    FORM FIXER SORTIE([ATELIERS];"Impr_feuille_Presence")
      //----Fixer l'option impression vers fichier pdf (code 3) ------
    FIXER IMPRIMANTE COURANTE(PDFCreator Nom imprimante)
    FIXER OPTION IMPRESSION(Option destination;3;vChemin)
    IMPRIMER ENREGISTREMENT([ATELIERS];>)
      //----ici, viendra la méthode pour envoyer un mail avec pièce jointe-----
    ENREGISTREMENT SUIVANT([ATELIERS])
    Fin de boucle 
    FORM FIXER SORTIE([ATELIERS];"Liste_feuilles_Presence")
    Qu'est-ce que j'ai mal fait ?

    Merci d'avance

    Vincent Heude
    4D V13.1
    Windows 7

  2. #2
    Membre confirmé Avatar de ZeFiF
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2008
    Messages
    303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 303
    Points : 486
    Points
    486
    Par défaut
    je ne sais pas, as tu vérifié que tu avais une sélection ?
    par contre j'optimiserais le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $Enreg:=Enregistrements trouves([ATELIERS])
    FORM FIXER SORTIE([ATELIERS];"Impr_feuille_Presence")
    $vt_old:=Lire imprimante courante 
      //----Fixer l'option impression vers fichier pdf (code 3) ------
    FIXER IMPRIMANTE COURANTE(PDFCreator Nom imprimante)
    FIXER OPTION IMPRESSION(OPTION destination;3;vChemin)
     
    Boucle ($i;1;$Enreg)
    FIXER OPTION IMPRESSION(Option nom document à imprimer;"imp"+chaine($i)+".pdf")
    IMPRIMER ENREGISTREMENT([ATELIERS];>)
    ENREGISTREMENT SUIVANT([ATELIERS])
    Fin de boucle 
     
    FORM FIXER SORTIE([ATELIERS];"Liste_feuilles_Presence")
    FIXER IMPRIMANTE COURANTE($vt_old)
    FIXER OPTION IMPRESSION(Option nom document à imprimer;"")
     //----ici, viendra la méthode pour envoyer un mail avec les pièces jointes-----

  3. #3
    Membre du Club
    Homme Profil pro
    Formateur bancaire
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur bancaire

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Bonjour Philippe

    Tu as raison, et c'est en posant les questions que l'on trouve souvent les réponses : je n'avais effectivement pas d'enregistrement courant. j'ai donc ajouté : ALLER DANS SELECTION([ATELIERS];1)

    J'ai également ajouté une procédure d'effacement de l'ancien fichier pdf car étant sous windows, si je crée un chemin de type "vChemin",
    à la sortie, il s"appelera "vChemin.pdf". Donc je l'efface à chaque boucle.

    d'autre part, merci pour l'amélioration concernant l'imprimante courante, je n'y avais pas pensé et j'aurais été encore coincé.

    merci de ton aide, tu vois, j'avance pas à pas
    Bon WE

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 162
    Points : 193
    Points
    193
    Par défaut
    Je ne pense pas qu'il y ait besoin de FIXER IMPRIMANTE COURANTE. FIXER OPTION IMPRESSION(Option destination;3;vChemin) suffit.

  5. #5
    Membre du Club
    Homme Profil pro
    Formateur bancaire
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur bancaire

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Bonjour Stanc

    ma base est sous windows
    Il me semble donc qu'il faille désigner PDFCreator préalablement

    Sous mac, en effet, c'est natif

    je me trompe ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 162
    Points : 193
    Points
    193
    Par défaut
    J'avais bien compris. PDF Creator ne laisse pas de doute sur la plateforme utilisée

    C'est inutile sur mac ou windows en tout cas en v12. Je ne suis pas encore en v13 mais il n'y a pas de raison que ça ait changé.

  7. #7
    Membre du Club
    Homme Profil pro
    Formateur bancaire
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur bancaire

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Bonjour Stanc

    Tu as raison j'ai testé sans "FIXER IMPRIMANTE COURANTE(PDFCreator Nom imprimante)
    Ca fonctionne

    Tout fonctionne bien maintenant, y compris la méthode d'envoi des mails !

    Je vais maintenant essayer de mettre en place un thermomètre de progression car je trouve que c'est un peu long : entre 2 et 3 secondes par PDF créé et envoyé. Donc sur une centaine de mails on est vers 1 minute et demie.

    Y-a-t-il quelque part un didacticiel sur le sujet ?
    car je n'ai jamais fait de jauges et autres thermomètres Barber shop.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 162
    Points : 193
    Points
    193
    Par défaut
    Il y a un nouveau composant intégré à 4D v13 qui s'occupe d'afficher des fenêtres de progression.

    4D Progress

Discussions similaires

  1. [PDF] Envoyer un fichier PDF automatiquement à partir d'un formulaire
    Par medwaid dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 11/07/2013, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo