PHP Фатална грешка: Класът „DOMPDF“ не е намерен на ред 30

Използвам DOMPDF за генериране на PDF файлове от HTML. Копирах всички необходими файлове от github (разклонение за кодиране). Но казва, че класът DOMPDF не е грешка, както е показано по-долу.

връзка за dompdf_config.inc.php в gitbub: 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

Действителният резултат е:

Фатална грешка: Класът „DOMPDF“ не е намерен в /home/web/www/test_dompdf.php на ред 30

Ред 30 е $dompdf = new DOMPDF();

Забележка: Other Master Branch работи добре. Имам нужда от този клон за кодиране, тъй като решава проблеми, свързани с кодиращия шрифт.


person logan    schedule 30.06.2014    source източник


Отговори (1)


Тествах вашия код и той работи добре за мен - файлът sample.pdf се изтегля в браузъра. Изтеглих библиотека от https://github.com/dompdf/dompdf/releases/tag/v0.6.1 url (не само клона за кодиране(

Вероятно не сте преместили целия проект в избраната директория или не сте изтеглили цялата библиотека. Преместих цялото съдържание на изтеглената директория в директория APIs/dompdf-encoding и тук имам файлове dompdf_config.inc.php и директории lib, include и www.

РЕДАКТИРАНЕ

Тъй като сте редактирали, искате да използвате само клон за кодиране, това, което трябва да направите, е да добавите следния код в началото на вашия файл:

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 и двете работят)

person Marcin Nabiałek    schedule 30.06.2014
comment
къде е папката на доставчика? не виждам нищо вътре - person logan; 30.06.2014
comment
Трябва да инсталирате Composer и да го използвате. Просто погледнете http://getcomposer.org/doc/00-intro.md url като в коментара по-горе от примера на DomPDF - person Marcin Nabiałek; 30.06.2014
comment
ако задам DOMPDF_ENABLE_AUTOLOAD на False, тогава не трябва ли да инсталирам автоматичното зареждане? - person logan; 30.06.2014
comment
Вероятно можете да опитате да включите също в началото този файл: https://github.com/dompdf/dompdf/blob/encoding/include/autoload.inc.php (разбира се със структурата на вашия сървър). В този случай тези 2 от горния ред не би трябвало да са необходими (но не съм го тествал) - person Marcin Nabiałek; 30.06.2014
comment
току-що проверих конфигурационния файл: def("DOMPDF_ENABLE_AUTOLOAD", true);if (DOMPDF_ENABLE_AUTOLOAD) { require_once(DOMPDF_INC_DIR . "/autoload.inc.php"); require_once(DOMPDF_LIB_DIR . "/php-font-lib/classes/Font.php"); }, така че файлът вече е извикан. Мисля, че нещо друго е проблемът - person logan; 30.06.2014
comment
Моля, вижте моя променен отговор - person Marcin Nabiałek; 30.06.2014
comment
Знам, че ще работи. дори работеше за мен, когато изтеглях v0.6.1 код сам. Как обединихте заедно кода на версията на кодиране и кода v0.6.1? тъй като имам нужда от код на клон на кодиране, тъй като той има решени проблеми, свързани с кодирането. - person logan; 01.07.2014
comment
Нищо не съм обединил. Имам просто изтеглен v0.6.1 и работи добре - person Marcin Nabiałek; 01.07.2014
comment
да, не искам такъв. искам клон за кодиране, тъй като има разрешени проблеми, свързани с кодирането на шрифта. ! - person logan; 01.07.2014
comment
В кой файл трябва да добавя тези редове? - person logan; 01.07.2014
comment
Нека продължим тази дискусия в чата. - person logan; 01.07.2014
comment
Благодаря. проработи. но символите UT8 не се отпечатват. Можете ли да опитате да отпечатате този html? $cart_body=<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>New Order Placed</title> </head> <body><p>தமிழ் முந்திரி </p></body> </html> - person logan; 01.07.2014
comment
И при мен не става. Получавам ? знака. Не намерих никакво решение за това. - person Marcin Nabiałek; 01.07.2014
comment
да.. Всъщност търся да отпечатам тези знаци.. Знаете ли друг конвертор на HTML към PDF на пазара? - person logan; 01.07.2014
comment
Решавам проблема, като поставям ` use Dompdf\Dompdf; ` в горната част на моя php файл преди всеки оператор inlude. - person Salem; 14.06.2016