Я проверил, что HTML и CSS правильно работают в веб-браузерах, и проблема, похоже, связана с механизмом рендеринга Dompdf. Вот упрощенная версия моего кода:
Код: Выделить всё
use Dompdf\Dompdf;
use Dompdf\Options;
// Initialize Dompdf
$options = new Options();
$options->set('isHtml5ParserEnabled', true);
$options->set('isRemoteEnabled', true);
$options->set('isPhpEnabled', true);
$dompdf = new Dompdf($options);
$html = '
.container {
display: flex;
}
.item {
width: 100px;
height: 50px;
background-color: #ccc;
margin: 10px;
}
Item 1
Item 2
Item 3
';
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream('output.pdf', array('Attachment' => 0));
Макет веб-сайта
А вот как он выглядит в сгенерированном PDF-файле:
Сгенерированный макет PDF
Что я пробовал:
Упрощение CSS и HTML до базовых элементов.
Проверка документации Dompdf и совместимости CSS.
Гарантия все необходимые расширения PHP (php-mongodb, php-zip, php-gd, php-dom) установлены и обновлены.
Подробнее здесь: https://stackoverflow.com/questions/787 ... erated-pdf
Мобильная версия