2016-04-12 22 views
1

Ich versuche DOM PDF-Bibliothek meiner codeigniter AnwendungDOM pdf codeigniter: Klasse ‚DOMPDF‘ nicht gefunden Fehler

1.Download dompdf und kopieren Sie die dompdf Ordner Bibliotheken Ordner hinzuzufügen.

2.Create Datei Dompdf.php in Bibliotheken namens Ordner

In meinem Controller

public function pdf_test() 
    { 
     $this->load->library('Dompdf'); 
     $this->Dompdf->loadHtml('hello world'); 
     $this->pdf->render(); 
     $this->pdf->stream("welcome.pdf"); 
    } 

Dompdf.php

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 
/** 
* CodeIgniter PDF Library 
* 
* Generate PDF's in your CodeIgniter applications. 
* 
* @package   CodeIgniter 
* @subpackage  Libraries 
* @category  Libraries 
* @author   Chris Harvey 
* @license   MIT License 
* @link   https://github.com/chrisnharvey/CodeIgniter-PDF-Generator-Library 
*/ 
require_once(dirname(__FILE__) . '/dompdf/autoload.inc.php'); 
class Pdf extends DOMPDF 
{ 
    /** 
    * Get an instance of CodeIgniter 
    * 
    * @access protected 
    * @return void 
    */ 
    protected function ci() 
    { 
     return get_instance(); 
    } 
    /** 
    * Load a CodeIgniter view into domPDF 
    * 
    * @access public 
    * @param string $view The view to load 
    * @param array $data The view data 
    * @return void 
    */ 
    public function load_view($view, $data = array()) 
    { 
     $html = $this->ci()->load->view($view, $data, TRUE); 
     $this->load_html($html); 
    } 
} 

aber ich werde diesen Fehler.

Nachricht: Class 'DOMPDF' nicht

gefunden

Dateiname: Bibliotheken/Dompdf.php

Zeilennummer: 16

I am using latest DOMPDF

Antwort

0

Ich habe pdf Generation getan mit tcpdf Bibliothek, aber mit einem etwas anderen Ansatz von Ihnen. Hier ist meine Lösung mit tcpdf. Sie können es mit Dompdf versuchen.

Herunterladen tcpdf und PDF.php in Bibliotheken Ordner

require_once APPPATH."third_party/tcpdf/tcpdf.php"; 

    class PDF extends TCPDF { 
     public function __construct() { 
      parent::__construct(); 
     } 
    } 

In Controller Ordner eine Datei Createpdf.php mit folgenden Codes erstellen

defined("BASEPATH") OR exit("No direct script access allowed"); 

    class Createpdf extends CI_Controller { 

     public function pdf() 
     { 
      $this->load->library("pdf"); 
      $data["content"] = "Hello from CodeIgniter with TCPDF..."; 
      $this->load->view("pdfreport", $data); 
     } 
    } 
mit folgendem Inhalt in third_party Ordner speichern eine Datei Make

und die pdfreport.php Ansicht ist:

$obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
$obj_pdf->AddPage(); 
$obj_pdf->writeHTML($content, true, false, true, false, ''); 
$obj_pdf->Output('output.pdf', 'I'); 
1

Beginnend mit v0.7.0 dompdf Namensräume verwendet. Wahrscheinlich müssen Sie vor dem Verweisen auf die Klasse eine use-Anweisung hinzufügen. Oder referenzieren Sie es mit dem vollständigen Namespace-Pfad.

Versuchen:

require_once(dirname(__FILE__) . '/dompdf/autoload.inc.php'); 
use Dompdf\Dompdf; 
class Pdf extends Dompdf 
{ 
... 
} 

Die Verwendung ist in der readme oder auf der wiki usage page verfügbar.

1

in meinem Fall. Ich benutze dies

$ dompdf = neu Dompdf \ DOMPDF();

require_once(_MAP."libraries/dompdf/autoload.inc.php"); 
$dompdf = new Dompdf\DOMPDF(); 
$html = 'rats :)'; 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream("sample.pdf"); 
+1

Aus irgendeinem Grund, den ich nicht 'verwenden dompdf \ dompdf verwenden könnte,' weil sie etwas nicht geladen werden würde. Durch das Einfügen des Namensraums in die Deklaration wurde das Problem gelöst. – AndyD273

Verwandte Themen