DOM pdf代码点火器:类';DOMPDF';找不到错误


DOM pdf codeigniter: Class 'DOMPDF' not found error

我试图将DOM PDF库添加到我的代码点火器应用程序中

1.下载dompdf并将dompdf文件夹复制到libraries文件夹。

2.在库文件夹中创建名为Dompdf.php的文件

在我的控制器中

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);
    }
}

但是我会犯这个错误。

消息:未找到类"DOMPDF"

文件名:librarys/Dompdf.php

线路编号:16

我正在使用最新的DOMPDF

在我的例子中。我用这个

$dompdf=new 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");

从v0.7.0开始Dompdf使用名称空间。在引用类之前,您可能需要添加一个use语句。或者使用完整的命名空间路径引用它。

尝试:

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

使用情况可在自述文件或wiki使用情况页面中找到。

我只是简单地更改了

$dompdf = new Dompdf'DOMPDF();

$dompdf = new Dompdf'Dompdf(); 

在Pdf.php 内部

我已经用tcpdf库生成了pdf,但方法与您略有不同。这是我使用tcpdf的解决方案。你可以用Dompdf试试。

下载tcpdf并放入第三方文件夹在文件夹中创建一个包含以下内容的文件PDF.php

 require_once APPPATH."third_party/tcpdf/tcpdf.php";
    class PDF extends TCPDF {
        public function __construct() {
            parent::__construct();
        }
    }

控制器文件夹中创建一个文件Createpdf.php,其中包含以下代码

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);
        }
    }

CCD_ 9视图为:

$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');

首先通过composer 安装

composer require dompdf/dompdf

并在pdf库中使用它。

 require 'vendor/autoload.php';
 use Dompdf'Dompdf as Dompdf;