Итак, я провел несколько тестов, и оказалось, что код уже распознает и успешно использует CSS-файлы, и единственная недостающая часть - это использование HTML-тегов.
В этом сутьгде я начал подозревать себя.Я действительно загрузил все необходимые файлы для Mpdf?Оказывается, я не сделал.После того, как я понял, что не понимаю этого, я сделал простой автозагрузчик загрузки и включил его в самом начале в файл src / Mpdf.php.
Я запустил2 теста, и 'и вуаля.Все на своем месте.К сожалению, я до сих пор не знаю, какие были недостающие части из него, но после полуторанедельных пробных испытаний меня это не волнует.
Если кто-то захочет использовать более новую версию Mpdfверсии, но не могу использовать Composer, я предлагаю забыть об этом.Но если это не мешает вам использовать какой-то действительно испорченный и глупый код, чтобы заставить его работать (как я в этом случае), не стесняйтесь использовать загрузчик ниже, чтобы загрузить все необходимые (и кучу ненужных) файлы изкаталог проектов Mpdf:
function loadDirContent($dir){
$dirContent = scandir($dir);
foreach($dirContent as $item){
$path = $dir."/".$item;
// avoid unnecessary examination and load
if($item == '.' || $item == '..' ||
$item == 'Loader.php' || $item == 'Mpdf.php' ||
strpos($path, "Psr/Log/Test")!==false ||
(!is_dir($path) && strtolower(substr($item, -3)) != 'php')){
continue;
}
if(!is_dir($path)){
require_once($path);
} else {
// The Tag folder contains some dependency on folder contents
// These files have to load first
if(strpos($path, "src/Tag") !== false){
require_once($path."/Tag.php");
require_once($path."/InlineTag.php");
require_once($path."/BlockTag.php");
require_once($path."/NewColumn.php");
}
loadDirContent($path);
}
}
}
loadDirContent(__DIR__);
В файле Mpdf / src / Mpdf.php вам потребуется файл загрузчика, который я хранил в том же каталоге, что и Mpdf.php
require_once(__DIR__."/Loader.php");
и, конечно же, необходим пакет Psr / Log, который я скачал вручную из его репозитория GitHub и распаковал в каталог Mpdf / src.Mpdf нуждается в нем и использует его, поэтому в Mpdf / src / Mpdf.php вы должны также вызвать две эти строки:
require_once(__DIR__."/Psr/Log/LoggerAwareInterface.php");
require_once(__DIR__."/Psr/Log/NullLogger.php");
в этих файлах нужно несколько «в проекте требуется», и есливы не используете автозагрузчик, вам нужно добавить в них несколько дополнительных строк require_once.
Я знаю, что это глупо и некрасиво, но, наконец, это работает, как и с 5-й версией Mpdf, и теперь яя просто рад этому.