2017-03-06 1 views
0

J'ai vérifié beaucoup de ressources, mais mon problème n'a pas pu être résolu. J'ai essayé de générer au format PDF en incluant le fichier PHP. Mais maintenant je suis coincé dans "Impossible de diffuser en continu pdf: en-têtes déjà envoyé" erreur. Je comprime également mon code et supprime également les espaces blancs. Voici mon code.Impossible de télécharger pdf en utilisant DOMPDF

<?php 
//ob_start(); 
// include autoloader 
require_once 'dompdf/autoload.inc.php'; 

// reference the Dompdf namespace 
use Dompdf\Dompdf; 

// instantiate and use the dompdf class 
$dompdf = new Dompdf(); 
$return = include 'download_pdf.php'; 
$return = stripslashes($return); 
$dompdf->loadHtml($return); 

// (Optional) Setup the paper size and orientation 
$dompdf->setPaper('A4', 'landscape'); 

// Render the HTML as PDF 
$dompdf->render(); 

// Output the generated PDF to Browser 
//$dompdf->stream(); 

// Output the generated PDF (1 = download and 0 = preview) 
$dompdf->stream("codex",array("Attachment"=>0)); 
?> 
+0

'$ return = include 'download_pdf.php',' cela ne se charge pas des informations dans '$ return', sauf si vous avez un 'return' dans ce fichier php, vous faites probablement écho à quelque chose qui causera l'erreur exacte vous dites que vous avez. – cmorrissey

+0

Yess Je ne suis pas renvoyer une variable .. Je suis juste de créer html à un fichier php et juste inclure ce fichier php .. Donc s'il vous plaît me suggérer des suggestions pour surmonter ce problème –

+0

Une autre chose est quand je fais écho à la variable de retour que je peux voir html entier dans le navigateur, mais face à l'erreur "en-têtes déjà envoyés" –

Répondre

0

Essayez d'utiliser output buffering

remplacer

$return = include 'download_pdf.php'; 

avec

ob_start(); 
include 'download_pdf.php'; 
$return = ob_get_contents(); 
ob_end_clean(); 
+0

Je l'essaie. Mais il me donne l'erreur ci-dessous. Erreur fatale: Dompdf \ Exception: La ligne n ° 1 est introuvable, veuillez enregistrer un problème dans le tracker avec le code HTML dans D: \ xampp \ htdocs \ convert_html_to_pdf_using_php \ dompdf \ src \ Cellmap.php: 417 Pile trace: # 0 –

+0

@KshitijSoni il semble que cette réponse résout votre problème d'origine, vous devriez aller de l'avant et l'accepter. Le problème initial était que le contenu était envoyé au navigateur (probablement à partir de votre inclusion) et l'utilisation de la mise en mémoire tampon de sortie contourne ce problème en capturant la sortie avant qu'elle ne soit envoyée au navigateur. – BrianS

+0

@KshitijSoni comme pour votre commentaire, il semble que vous avez un nouveau problème lié à la structure de votre document. Vous devriez commencer une nouvelle question pour le nouveau problème. – BrianS