Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
La question n'a pas forcement rapport avec le zend framework mais je tente quand même ma chance.
Voila je génère un PDF à la volée via Zend_Pdf.
ensuite je cherche à l'inclure dans une vue ...
j'ai tenter avec la balise objet mais ca ne passe pas sur tout les navigateur.
j'ai donc tenté avec une iframe (je sais c'est le mal les iframe ...)
Mon PDF ne s'ouvre pas sous firefox (le plugin se charge mais la frame reste blanche) du a un problème d'header apparemment.
voici ceux que j'utilise :
$this->_response->setHeader('Content-type','application/pdf',true); $this->_response->setHeader('Pragma','public',true); $this->_response->setHeader("Content-Disposition", 'inline; filename="Votrefichier.pdf"',true); $taille = strlen($pdf->render()); $this->_response->setHeader("Content-Length", $taille,true); $this->_response->setBody($pdf->render());
Des pistes semble m'indique que c'est un problème de cache navigateur d'ou mes bidouille d'header.
J'ai essayer pas mal de combinaison d'header sans succès et sans trop maitriser/bien comprendre ce que je faisait.
tout aide, lien pouvant me faire avancer serait le bienvenue.
Je sais que c'est un problème habituel de la programation web , donc comment faites vous pour vos application (Zend ou pas ) ?
Hors ligne
j'ai un problème similaire,
sous IE j'ai un code du genre "%PDF-1.4 %âãÏÓ 1 0 obj <> endobj 2 0 obj <" au lieu d'avoir la proposition de telechargement, sous FF2 je peux le download, et en INLINE Adobe plugin ne veux pas l'ouvrir sous FF2 et IE affiche tjr la même chose
$output = $pdf->render(); header("Content-type: application/pdf"); //set filetype to pdf. header("Content-Length: ".strlen($output)); //content length header("Content-Disposition: inline; filename=export-test.pdf"); // you can use inline or attachment. header('Cache-Control: maxage=3600'); //Adjust maxage appropriately header('Pragma: private'); echo $output;
Hors ligne
bonjour,
header("Content-Disposition: attachment; filename=hello.pdf"); header("Expires: 0"); header("Content-type: application/pdf"); header('Pragma: cache'); header('Cache-control: private');
ça marche
Hors ligne
Pages: 1