我试图将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;