2010-06-22 6 views
2

J'utilise Kohana 3 et pdfview/DOMPDF pour générer des fichiers pdf mais ils sont générés avec 0 octets et texte/type mime uni.DOMPDF: fichiers avec 0 octets et texte/type mime simple

Controller:

public function action_pdf() { 
    if(isset($_POST['dados'])) { 
     $pdf = View_PDF::factory('export/pdf'); 
     $pdf->title = ''; 
     $pdf->headers = array(); 
     $pdf->data = array(); 

     $this->request->response = $pdf; 
     $this->request->send_file(true, 'dados.pdf'); 
    } 
} 

Vue:

<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
     <style type="text/css"> 
     * { 
      border: 0; 
      margin: 0; 
      padding: 0; 
     } 

     table { 
      border: 1px solid; 
      border-collapse: collapse; 
      margin: 0 auto; 
      text-align: center; 
      width: 500px; 
     } 

     td { 
      border: 1px solid; 
      padding: 5px; 
     } 
     </style> 
    </head> 
    <body> 
     <h1>Teste</h1> 
     <table> 
      <tr></tr> 
     </table> 
    </body> 
</html> 

Lorsque je télécharge le fichier et l'ouvrir dans epdfview (visionneuse PDF), il est dit:

Unable to open document 
File type plain text document (text/plain) is not supported 

Je viens de don Je ne sais pas ce qui ne va pas. Je vous remercie.

MISE À JOUR:

J'ai téléchargé la dernière version bêta et de dompdf, supprimé le module du pdfview Kohana et a fait quelque chose comme ça dans mon contrôleur:

public function action_pdf() { 
     if(isset($_POST['dados'])) { 
      require_once(Kohana::find_file('vendor', 'dompdf/dompdf_config.inc')); 

      $view = View::factory('report/pdf'); 
      $view->title = ''; 
      $view->data = array(); 

      $pdf = new DOMPDF(); 

      $pdf->load_html($view->render()); 
      $pdf->render(); 
      $pdf->stream('dados.pdf', array('Attachment' => 1)); 
     } 
    } 

Maintenant, il travaille. Merci!

+0

Avez-vous suivi les instructions d'installation? Essayez également d'ouvrir le fichier dans un éditeur pour voir le contenu réel. Vous pouvez vérifier s'il y a une erreur en appelant '$ pdfview-> render()' avant de l'assigner comme réponse à la requête. – shadowhand

Répondre

0

J'ai rencontré un problème similaire, et j'ai reçu ce message "type de fichier de type dompdf (texte/texte brut) n'est pas supporté". J'ai vérifié les instructions d'installation, et il a dû faire avec la modification des autorisations de fichier/dossier sur le répertoire dompdf (lib/fonts est ce qui a été spécifiquement mentionné dans les instructions d'installation). Fonctionne maintenant.

0

Il semble être le travail Quand j'ai changé l'autorisation du dossier du dossier dompdf

sudo chmod -rf 777 dompdf