PHP Fatal error : Class 'DOMPDF' not found

2019-07-21 16:33发布

问题:

I am using DOMPDF to generate PDFs from HTML. I have copied all required files from github (encoding branch). But it says class DOMPDF not error as below.

link for dompdf_config.inc.php in gitbub : https://github.com/dompdf/dompdf/tree/encoding

Here is my code :

require_once("APIs/dompdf-encoding/dompdf_config.inc.php");     
$cart_body='<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>New Order Placed</title></head><body><p>Test Printing...</p></body></html>';
        $dompdf = new DOMPDF();
        $dompdf->load_html($cart_body);//body -> html content which needs to be converted as pdf..
        $dompdf->render();
        $dompdf->stream("sample.pdf"); //To popup pdf as download

Actual Output is :

Fatal error: Class 'DOMPDF' not found in /home/web/www/test_dompdf.php on line 30

Line 30 is $dompdf = new DOMPDF();

Note: Other Master Branch is working fine. I need this encoding branch as it solves encoding font related issues.

回答1:

I've tested your code and it works fine for me - sample.pdf file is being downloaded in browser. I've downloaded library from https://github.com/dompdf/dompdf/releases/tag/v0.6.1 url (not only the encoding branch(

Probably you haven't moved the whole project to selected directory or you haven't downloaded the whole library. I moved the whole downloaded directory content to APIs/dompdf-encoding directory and I have here files dompdf_config.inc.php and directories lib, include and www.

EDIT

As you edited you want to use only encoding branch, what you have to do is adding the following code at the beginning of your file:

use Dompdf\Adapter\CPDF;
use Dompdf\Dompdf;
use Dompdf\Exception;

EDIT2

The whole working code:

<?php
use Dompdf\Adapter\CPDF;
use Dompdf\Dompdf;
use Dompdf\Exception;



        require_once("APIs/dompdf-encoding/dompdf_config.inc.php");     
$cart_body='<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>New Order Placed</title></head><body><p>Test Printing...</p></body></html>';
        $dompdf = new Dompdf();
        $dompdf->load_html($cart_body);//body -> html content which needs to be converted as pdf..
        $dompdf->render();
        $dompdf->stream("sample.pdf"); //To popup pdf as download

I have also changed DOMPDF to Dompdf just in case (in Windows both are working)



标签: php pdf dompdf