Php 带有CODEIGNITER的DOMPF

Php 带有CODEIGNITER的DOMPF,php,codeigniter,dompdf,Php,Codeigniter,Dompdf,我试图让dompdf与codeigniter一起工作,我从这里下载了文件,版本是0.7.0,然后我在我的控制器中放了一段这样的代码 public function generatepdf(){ $this->load->helper('file'); require_once(APPPATH.'third_party/dompdf/autoload.inc.php'); $domdpf = new DOMPDF();

我试图让dompdf与codeigniter一起工作,我从这里下载了文件,版本是0.7.0,然后我在我的控制器中放了一段这样的代码

public function generatepdf(){

        $this->load->helper('file');
        require_once(APPPATH.'third_party/dompdf/autoload.inc.php');

         $domdpf = new DOMPDF();
         $domdpf -> loadHtml('<h1>HELLO WORLD</h1>');
         $domdpf -> setPaper('A4','Landscape');
         $domdpf ->render();

         $domdpf->stream();


    }
公共函数generatepdf(){
$this->load->helper('file');
需要一次(APPPATH.third\u party/dompf/autoload.inc.php);
$domdpf=新的DOMPDF();
$domdpf->loadHtml('helloworld');
$domdpf->setPaper('A4','scanner');
$domdpf->render();
$domdpf->stream();
}
但是我有一个错误,说
致命错误:在第2495行的C:\Apache24\htdocs\faceloan\faceloan\application\controllers\moneyexchange.php中找不到类“dompd”,因为v。0.7您需要在对dompdfs命名空间的代码引用中包括:

use Dompdf\Dompdf;

自从v。0.7您需要在对dompdfs命名空间的代码引用中包括:

use Dompdf\Dompdf;

您需要使用v0.6。v0.7使用CodeIgniter中不支持的名称空间。

您需要使用v0.6。v0.7使用CodeIgniter中不支持的名称空间。

您可以通过两个简单的步骤将DOMPF与CodeIgniter集成

1) 打开domPDF库并将其放入application/library目录

<?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/dompdf_config.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);
    }
}
?>
2) 创建一个文件名pdf.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/dompdf_config.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);
    }
}
?>

您可以获得完整的

您可以通过两个简单的步骤将DOMPF与Codeigniter集成

1) 打开domPDF库并将其放入application/library目录

<?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/dompdf_config.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);
    }
}
?>
2) 创建一个文件名pdf.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/dompdf_config.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);
    }
}
?>
您可以获得完整的

@Zedd答案是正确的

但对于截至发布日期的最新版本,以下内容将起作用

application/libraries/Pdf.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 APPPATH.'third_party/dompdf/autoload.inc.php';

use Dompdf\Dompdf;
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())
{
    $dompdf = new Dompdf();
    $html = $this->ci()->load->view($view, $data, TRUE);

    $dompdf->loadHtml($html);

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

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

    // Output the generated PDF to Browser
    $dompdf->stream("welcome-". $time);
}
}
显然,main_report是application/views/main_report中的视图文件 您也可以发送视图文件的数据,如下所示

$this->pdf->load_view('main_report', $data);
注意

我将dompdf文件夹放在application/thirdparty文件夹中,而不是放在application/libraries中

确保已注释掉控制器方法中的所有打印、回显函数,否则可能会出现类似于“pdf文件已损坏”的错误

希望这篇文章有用。

@Zedd的答案是正确的

require_once(dirname(__FILE__) . '/dompdf/autoload.inc.php');
use Dompdf\Dompdf;

class Pdf
{
 public function create($html,$filename)
 {
   $dompdf = new Dompdf();
   $dompdf->loadHtml($html);
   $dompdf->render();
   $dompdf->stream($filename.'.pdf');
 }
但对于截至发布日期的最新版本,以下内容将起作用

application/libraries/Pdf.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 APPPATH.'third_party/dompdf/autoload.inc.php';

use Dompdf\Dompdf;
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())
{
    $dompdf = new Dompdf();
    $html = $this->ci()->load->view($view, $data, TRUE);

    $dompdf->loadHtml($html);

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

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

    // Output the generated PDF to Browser
    $dompdf->stream("welcome-". $time);
}
}
显然,main_report是application/views/main_report中的视图文件 您也可以发送视图文件的数据,如下所示

$this->pdf->load_view('main_report', $data);
注意

我将dompdf文件夹放在application/thirdparty文件夹中,而不是放在application/libraries中

确保已注释掉控制器方法中的所有打印、回显函数,否则可能会出现类似于“pdf文件已损坏”的错误

希望这篇文章有用

require_once(dirname(__FILE__) . '/dompdf/autoload.inc.php');
use Dompdf\Dompdf;

class Pdf
{
 public function create($html,$filename)
 {
   $dompdf = new Dompdf();
   $dompdf->loadHtml($html);
   $dompdf->render();
   $dompdf->stream($filename.'.pdf');
 }
试试这个图书馆

这个图书馆使用

  • Dompdf 0.8.0
  • 代码点火器3.x.x
  • 支持图像的SSL连接
试试这个图书馆

这个图书馆使用

  • Dompdf 0.8.0
  • 代码点火器3.x.x
  • 支持图像的SSL连接

    • 创建PDF文件的最简单方法。 从

      在app/application/libraries/Extract处提取zip文件

      在控制器的方法中使用:

      $this->load->library('pdf'); // change to pdf_ssl for ssl
      $filename = "Document_name";
      $html = $this->load->view('your_view_template');
      $this->pdf->create($html, $filename);
      

      创建PDF文件的最简单方法。 从

      在app/application/libraries/Extract处提取zip文件

      在控制器的方法中使用:

      $this->load->library('pdf'); // change to pdf_ssl for ssl
      $filename = "Document_name";
      $html = $this->load->view('your_view_template');
      $this->pdf->create($html, $filename);
      

      这一个帮助你@Gopal我试过了但没用这一个帮助你@Gopal我试过但没用如果我用0.6.2可以吗?是的,那很好如果我用0.6.2可以吗?是的,这对作曲家来说很好,这是最好的方法@Farhana你犯了什么错误?对于作曲家来说,这是最好的方法@Farhana你犯了什么错误?