PHP致命错误:在第30行未找到类'DOMPDF'

50pmv0ei  于 2023-02-03  发布在  PHP
关注(0)|答案(2)|浏览(188)

我正在使用DOMPDF从HTML生成PDF。我已经从github(编码分支)复制了所有需要的文件。但是它说类DOMPDF没有错误,如下所示。
gitbub中的dompdf_config.inc.php的链接:https://github.com/dompdf/dompdf/tree/encoding

    • 以下是我的代码:**
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
    • 实际产量为:**

致命错误:在/home/web/www/test_dompdf. php的第30行没有找到类'DOMPDF'
第30行为$dompdf = new DOMPDF();

    • 注意:**其他主分支工作正常。我需要此编码分支,因为它解决了编码字体相关的问题。
eimct9ow

eimct9ow1#

我已经测试了你的代码,它为我工作正常-sample.pdf文件正在下载浏览器中。我已经从https://github.com/dompdf/dompdf/releases/tag/v0.6.1网址下载库(不仅是编码分支(
可能你还没有把整个项目移动到选定的目录或你还没有下载整个库。我把整个下载目录的内容移动到APIs/dompdf-encoding目录,我在这里有文件dompdf_config.inc.php和目录libincludewww

    • 编辑**

当你编辑你想只使用编码分支,你必须做的是添加以下代码在你的文件的开头:

use Dompdf\Adapter\CPDF;
use Dompdf\Dompdf;
use Dompdf\Exception;
    • 编辑2**

整个工作代码:

<?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

我还将DOMPDF更改为Dompdf以防万一(在Windows中两者都可以工作)

0md85ypi

0md85ypi2#

此解决方案适用于版本2.0.2。

<?php
    require __DIR__ . '/vendor/autoload.php';
    
    use Dompdf\Dompdf;
    
    $html =
        '<html><body>' .
        '<p>Put your html here, or generate it with your favourite ' .
        'templating system.</p>' .
        '</body></html>';
    
    $dompdf = new Dompdf();
    $dompdf->loadHtml($html);
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents('/tmp/Brochure.pdf', $output);

相关问题