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

Langage PHP Discussion :

Afficher un PDF, sans l'enregistrer sur le FTP du site


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 273
    Points : 152
    Points
    152
    Par défaut Afficher un PDF, sans l'enregistrer sur le FTP du site
    Bonjour,

    Je génère un PDF avec dompdf et je l'enregistre avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dompdf = new Dompdf();
    $dompdf->loadHtml($aafficher);
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents("pdf/".$numero_fiche.".pdf", $output);
    Il y a bien sûr pas mal de code avant et après ça, avec de l'affichage de données et tout ça.

    Mon problème est qu'on peut du coup lire n'importe quel fichier PDF contenu dans ce dossier, et vu que c'est du PDF, on ne peut pas restreindre l'ouverture comme si ce serait un fichier PHP.

    Je souhaite donc savoir s'il est possible de faire en sorte que le PDF s'ouvre dans un nouvel onglet après sa génération, sans être enregistré sur le disque, c'est à dire ne pas utiliser file_put_contents

    Il y a éventuellement la possibilité de laisser le file_put_contents mais de provoquer l'ouverture immédiate du PDF dans un nouvel onglet, ainsi que la suppression immédiate du PDF sur le disque. Ainsi il n'y sera qu'une seconde voir moins. Mais je ne sais pas comment faire ça. De plus, il y aurait selon moi un risque que le fichier soit supprimé avant qu'il soit affiché dans le nouvel onglet si ça va trop vite, et du coup il manquerait des données.

    Je vous remercie d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    vous pouvez envoyer le contenu du fichier PDF au navigateur comme ceci :
    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
    $output = $dompdf->output();
     
    	// envoi fichier
     
        $nomFichier = "nom_fichier.pdf";
     
    	$mime = "application/pdf";
     
    	$contenuFichier = $output;
    	$tailleFichier = strlen($contenuFichier);
     
    	$nomFichierEntete = str_replace('"', '\\"', $nomFichier);
     
     
    	header("Content-Type: $mime");
    	header("Content-Length: $tailleFichier");
    	header("Content-Disposition: attachment; filename=\"$nomFichierEntete\"");
     
    	echo $contenuFichier;
     
    	exit();

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 273
    Points : 152
    Points
    152
    Par défaut
    Merci, ça fonctionne parfaitement. Il faut juste penser à ne rien afficher avant, sinon le PDF est corrompu.

    Désolé pour le retard

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2017, 14h37
  2. [XL-2010] Créer un PDF sans l'enregistrer
    Par Aurianelm dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/07/2014, 11h19
  3. Afficher un PDF sans toolbar
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 19/08/2012, 17h35
  4. Réponses: 2
    Dernier message: 02/05/2009, 22h20
  5. [PDF] Generer un fichier pdf et l'enregistrer sur le serveur
    Par guigui69 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 21/05/2008, 16h06

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