2011-05-11 4 views
1

Je ne fais que tester dompdf. Et découvert que ce que je produis ne peut pas être rouge par le chrome. J'ai essayé de l'ouvrir avec un lecteur de pdf Sumatra, et il a ouvert. J'ai essayé d'ouvrir un fichier pdf aléatoire de mes ebooks en chrome et il le rouge. Y at-il quelque chose de mal avec mon code que le chrome n'a pas été en mesure de le lire:Impossible de lire le pdf généré via dompdf en chrome

<?php 
require_once("dompdf/dompdf_config.inc.php"); 

$dompdf = new DOMPDF(); 

$d_r = array(array('name'=>'ab', 'course'=>'bsit'), array('name'=>'yoh', 'course'=>'bscs')); 

ob_start(); 
put_table($d_r); 
file_put_contents('sample.html', ob_get_contents()); 
generate_pdf('sample.html'); 

function put_table($raw_data){ 
?> 
<table border="1"> 
    <tr> 
    <th>Name</th> 
    <th>Course</th> 
    </tr> 

<?php foreach($raw_data as $data){ ?> 
    <tr> 
    <td><?php echo $data['name']; ?></td> 
    <td><?php echo $data['course']; ?></td> 
    </tr> 
<?php } ?> 
</table> 


    <?php 
} 


function generate_pdf($filename){ 
    global $dompdf; 

    $dompdf->load_html(file_get_contents($filename)); 
    $dompdf->render(); 
    $dompdf->stream($filename. ".pdf"); 

} 
?> 

Répondre

2

Le PDF a peut-être été rendu correctement mais, en fonction de la configuration de votre serveur, du contenu autre que PDF a peut-être été inclus dans la source PDF. Certains lecteurs PDF sont plus cléments que d'autres et rejettent le contenu non-PDF. Le moyen le plus simple de vérifier cela est d'ouvrir votre fichier PDF dans un éditeur de texte et de chercher des choses comme des chaînes de texte HTML.

Si ce n'est pas le problème, il serait utile de voir le PDF lui-même.

5

Le problème pourrait être le fait que, par défaut dompdf sauvegarde le contenu en tant que pièce jointe, en forçant un téléchargement. Afin de permettre au navigateur de l'afficher en ligne, il faut lui dire de ne pas le faire, en définissant un paramètre supplémentaire à la méthode stream.

$dompdf->stream("my_pdf.pdf", array("Attachment" => 0)); 

Si cela n'a pas de sens, essayez de nettoyer le tampon de sortie après avoir généré (et l'écriture sur le disque), la sortie html souhaitée, sans le mettre à l'écran. Effectuez un débogage d'en-tête sur la requête/réponse et voyez si vous avez des espaces ou des blancs. Si vous le faites, les en-têtes ne seront pas lus par le client et vous ne pourrez peut-être pas voir le PDF résultant.

0

La visionneuse de pdf de pdf est terrible la laisse aux experts. Installez Acrobat Reader si vous ne l'avez pas. Dans la barre d'adresse Chrome, saisissez: plugins et cliquez pour désactiver Chrome PDF viewer. Puis cliquez pour activer Acrobat Reader --- l'affichage de pdf dans Chrome fonctionnera!

+1

À partir d'aujourd'hui. La visionneuse de pdf de pdf est meilleure que celle d'Adobe ... Ici je peux voir le pdf généré par dompdf, mais avec Adobe j'obtiens "l'erreur 135" ... – MarcoS

Questions connexes