Dompdf не отображает отображение: правильно сгибайте сгенерированный PDF-файлPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Dompdf не отображает отображение: правильно сгибайте сгенерированный PDF-файл

Сообщение Anonymous »

Я использую Dompdf для создания счетов-фактур в формате PDF на основе HTML-шаблонов в своем PHP-приложении. Шаблон HTML/CSS включает display: flex для целей макетирования, но при рендеринге в PDF с помощью Dompdf display: flex ведет себя не так, как ожидалось. Вместо этого элементы расположены неправильно или выглядят смещенными.
Я проверил, что 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»