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

Bibliothèques et frameworks PHP Discussion :

[PDF] Formulaire pdf envoie en pièces jointe


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut [PDF] Formulaire pdf envoie en pièces jointe
    bonjour à tous,

    Je ne sais pas trop si je poste au bon endroit car mon problème se situe sur l'envoi d'un pdf généré avec tcpdf par mail. Donc en cas d'erreur je vous présente toutes mes excuses.


    Je dois généré un formulaire dans un pdf un peut dans ce style http://www.tcpdf.org/examples/example_014.pdf et l'envoyé par mail.

    j'ai donc fait quelque recherche sur le net pour trouver une solution pour l'envoi par mail via une interface web. J'ai opter pour http://swiftmailer.org/ qui me semble être assez complet.

    J'arrive à envoyé un mail lors que l'on clique sur un bouton avec ou sans pièce jointe mais uniquement si le fichier pdf génèré est enregistré sur le poste distant. Hors mon chef de service ne souhaite pas passé par l'étape de l'enregistrement du pdf et que le mail parte automatiquement avec la pièce jointe sans que l'utilisateur n'est à intervenir (si ce n'est que de cliquez sur un bouton ).

    Comment puis-je faire s'il vous plait ? Je pense que c'est pas possible mais avant de lui annoncer la nouvelle, je souhaiterai avoir votre avis.



    Merci par avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne comprends pas ton problème puisque tu nous dis que tu arrives à envoyer le mail avec une pièce jointe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    j'arrive à envoyé le pdf uniquement si l'utilisateur l'enregistre sur son PC, hors je ne souhaite pas que l'utilisateur l'enregistre, donc je cherche un moyen pour zapper l'étape de l'enregistrement.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas ce que cela change que l'utilisateur enregistre la pièce jointe ou non.
    La pièce jointe part du serveur, pas du poste client.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    salut,

    Je ne voie pas comment faire pour que le mail parte avec la pièce jointe sans enregistrement de cette derniere

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment tu fais actuellement pour envoyer le mail avec une pièce jointe ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    une fois que l'utilisateur a saisie dans le formulaire PDF et qu'il l'a enregistrer localement, j'affiche un formulaire HTML dans lequel il doit saisir son login et mot de passe de messagerie et à l'aide d'un champ input de type File il indique le chemin du PDF. Apres je remplace dans le code qui utilise la classe de swiftmailler les informations saisie.

    L'adresse du destinataire, le sujet et le corps sont en dur dans le code car tous ces éléments sont invariables.

    La messagerie utilisée est MDeamon.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et la pièce jointe ? Elle est bien sur ton serveur et pas sur le poste client non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    oui elle est sur le serveur tant que l'utilisateur ne l'as pas enregistré.
    Sauf que je ne sais pas ou il peux bien stocké le fichier pdf temporaire

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tcpdf a une option 'E' pour générer le fichier attaché tout prêt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $fichier = $pdf->Output('tonfichier.pdf', 'E');
    $data = chunk_split($fichier );
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    J'avais pas vu cette option, je vais testé ça.
    Merci

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    bonjour,

    Je viens de tester le bout de code, mais j'ai un soucis avec le paramètre E. Le PDF ne s'affiche pas à l'écran et donc l'utilisateur ne peux pas renseigner les différentes zones de saisie

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux que l'utilisateur renseigne le PDF et le recoive par mail ?
    Si oui pourquoi passer par un formulaire PDF et pas par un formulaire web ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    C'est pas tout a fait ça, je voudrais que l'utilisateur renseigne le formulaire et que le PDF partent part mail au service concerné.

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En PHP tu pourrais faire un formulaire HTML qui génère un PDF qui sera envoyé par mail.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    J'ai créé un formualire php, puis a partir de là je crée le PDF.
    Grosse avancé par rapport à avant c'est que le pdf part en pièce jointe toute seul ça c'est génial par contre (ça aurait été trop beau que ça marche du premier coup ) le pdf ne peux pas être ouvert.
    Lors que je l'ouvre j'ai Adobe Reader qui me met ceci
    Adobe Reader n'as pu ouvrir fichier.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il à été envoyé en tant que pièce jointe et n'as pas été décodé correctement, par exemple).
    C'est la fin de mon fichier pour générer le PDF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $fichier= $pdf->Output('fichier.pdf', 'E');
    $data = chunk_split($fichier );
    pour la fin de la procédure d'envoie du mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $message ->attach(Swift_Attachment::newInstance($data, 'fichier.pdf', 'application/pdf'));
     
     $result = $mailer->send($message);

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message ->attach(Swift_Attachment::newInstance($fichier, 'fichier.pdf', 'application/pdf'));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    salut,

    Je viens de tester avec $fichier à la place de $data j'ai toujours le problème de lecture pour le pdf avec le même message.

    Le problème se situerai où ? Au niveau de la génération du PDF ou alors du mail ? Sachant que le PDF si je le mets en affichage, je n'ai pas de problème

    voila ce que j'ai écris pour l'envoi du mail
    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
    18
    19
    20
    21
    22
     
    // Protocole d'envoi
    $transport = Swift_SmtpTransport::newInstance('190.0.0.1', 25);
    $transport  ->setUsername($login);
    $transport ->setPassword($mdp);
     
    $mailer = Swift_Mailer::newInstance($transport);
     
    $message = Swift_Message::newInstance();
    $message->setSubject('Création ou modification sur l\'AD');
    $message->setFrom($login.'@toto.com');
    $message->setTo('stefano@toto.com');
    $message->setCc($login.'@toto.com');
     
    //Corps du mail
     $message ->setBody('Demande d\'intervention ');
    $message ->addPart('<q>Demande d\'intervention </q>', 'text/html');
     
     // Fichier joint
     $message ->attach(Swift_Attachment::newInstance($data, 'Demande.pdf', 'application/pdf'));
     
     $result = $mailer->send($message);
    Peut être verras tu l'origine du problème à ce niveau. Dans tous les cas merci bien pour ton aide


    Edit : Par curiosité j'ai regardé le poids du pdf en pièce jointe il fait 140Ko, le même pdf enregistrer sur le pc sans qu'il soit envoyé par mail pèse 78 ko C'est bizarre qu'il y ai un facteur 2 non ?

Discussions similaires

  1. Formulaire d'envoi avec pièces jointes
    Par didier.dev dans le forum Langage
    Réponses: 0
    Dernier message: 29/08/2016, 17h06
  2. [XL-2010] Macro pour sauvegarde pdf et envoie en pièce jointe automatique
    Par toast-nc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/03/2015, 12h20
  3. [AC-2010] Envoi par pièce jointe en pdf
    Par pascal5 dans le forum IHM
    Réponses: 32
    Dernier message: 16/04/2013, 14h57
  4. Réponses: 6
    Dernier message: 13/05/2009, 12h55
  5. Réponses: 0
    Dernier message: 29/02/2008, 09h54

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