Если ли PHP-библиотека для конвертации HTML c CSS Grid в PDF?

Ссылка скопирована
1 ответ

Подскажите, пожалуйста, либу, которая умеет делать PDF из HTML с гридами. Это же по идее нужна поддержка CSS3, насколько я понимаю. А то я уж лет 15 пользуюсь mpdf, пора на что-то новенькое перейти, а то у меня там всё таблицами ещё завёрстано ... :))

Дополнительно:

гриды это вроде даже после CSS3
но думаю самым всеядным преобразование в pdf через браузер, т.к. спецификация гридов достаточно объемная и поддерживающая все случаи реализация нетривиальная, вон гриды даже в interop 2024 вошли (правда именно для всяких крайностей)

  • Таких библиотек на текущий момент нет.
  • Делал с помощью Dompdf, блоки расставлял на float
    Тоже была проблема, только не работали flexbox, решение только такое нашел
  • shell_exec + chromium с флагами headless disable-gpu и print-to-pdf отрисует вам что угодно, что может отобразить chrome.
    у решения есть изъян - на большинстве хостингов даже не пытайтесь запустить, себе дороже, только виртуальные/физические сервера подходят идеально.

    https://github.com/chrome-php/chrome - примерно так

    • Это какой-то хардкор.
    • Tyusha, вы даже не представляете, как много ресурсов использует плюс-минус этот подход. Кто-то выносит хром headless режиме в отдельный контейнер и взаимодействует с ним через devtools protocol, кто-то вызывает напрямую.
    • Tyusha, ну так и гриды (и вообще сложная вёрстка) - это тоже хардкор.

    Ответы:

    Принципиально у этой проблемы всего 2 варианта решения:
    1) как уже написали - хедлесс хром на бэкенде - максимально красиво и точно, единственный минус - собсно сам софт, который кроме того что сам по себе жрет проц и память, так еще и не везде есть возможность поставить свой софт на сервер.
    2) Рендер на клиенте через html2pdf, который тоже неплохо справляется, но естественно тоже не без проблем. Во первых - готовый пдф будет не в виде документа с текстом и прочими плюшками, а тупо картинкой. Во вторых - все минусы решений на клиенте в ассортименте: нестандартные шрифты, настройки под "улучшайзинг" визуала по типу изменения масштаба странички, увеличение/уменьшение шрифтов и прочие мелкие радости жизни...

    Короче, выбор между хреновым и плохим решением...

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Да, существует PHP-библиотека, которая позволяет конвертировать HTML с использованием CSS Grid в PDF. Она называется Dompdf.

    Dompdf - это библиотека PHP, которая позволяет генерировать PDF-файлы из HTML и CSS. Она поддерживает большинство стилей CSS2 и некоторые стили CSS3, включая CSS Grid.

    Для того чтобы использовать Dompdf для конвертации HTML с CSS Grid в PDF, вам необходимо установить библиотеку в ваш проект. Вы можете сделать это с помощью Composer или загрузив архив с файлами библиотеки.

    После установки библиотеки вам нужно будет создать HTML-страницу, которую вы хотите конвертировать в PDF. Вы можете использовать CSS Grid для размещения элементов на странице. Затем вы можете использовать Dompdf для генерации PDF-файла на основе этой HTML-страницы.

    Dompdf также поддерживает множество дополнительных функций, таких как установка размера страницы, ориентации и марж, добавление шрифтов и изображений и многое другое.

    Таким образом, если вам необходимо конвертировать HTML с использованием CSS Grid в PDF с помощью PHP, Dompdf является отличным выбором. Она позволяет создавать качественные PDF-файлы с поддержкой CSS Grid и других стилей CSS, что делает ее удобным инструментом для генерации документов в вашем веб-приложении.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно