@NedoKoder

Нужно создать мностраничный PDF на PHP. Как добиться соответствия, чтобы превью на HTML/CSS было в итоговом PDF файле 1 к 1?

Есть задача. Нужно сделать простенький визуальный редактор макетов, с возможностью предпросмотра по мере создания макета. Что то похожее на редактор страниц WIX, только не с таким огромным количеством возможностей редактирования и выбором элементов, а всего лишь несколько элементов, которые можно перетаскивать по редактору, менять размеры и положение, изменять некоторые свойства в зависимости от типа объекта. Объекты размешаемые на макетах примерно такие:
Несколько возможных элементов

• Свойства самого макета (фон, размеры в пискелях или в мм и прочие мелочи)
• Текст (зона текста) со свойствами (шрифт, размер, выравнивание и т.д)
• Изображения (jpg, png, gif)
• Простые фигуры (круг, квадрат, элипс и т.д) со свойствами (заливка, обводка, размер и т.д)


Все эти элементы по мере надобности будут добавляться, редактироваться и т.д...а когда макет уже готов, тыкаешь на кнопку генерации и нужно из всех созданных макетов создать один общий многостраничный PDF файл. И так как этот макет в дальнейшем нужно распечатать в типографии, необходимо максимальное соответствие того что видно во время редактирования, тому что получится в итоге. Т.е. то что во время редактирования показывается в помощью CSS свойств, вышло в PDF файле. В связи с этим возник вопрос: если предпросмотр макета проводится в HTML/CSS, чем лучше всего создать PDF макет, чтобы его можно было настроить по своим нуждам? Размеры в пикселях и мм, DPI, цветопрофиль (RGB или CMYK). Есть ли возможность создать такое в PHP? Изучив тему я нашел три варианта:
Три варианта решения проблемы
  • HTML страницы из престолов макета, с помощью специального плагина переводить в PDF страницы, а полученные файлы собрать в один документ. Видел как то такой плагин, на jQuery вроде был.
  • С помощью PHP GD генерировать картинки для каждого макета, и все JPG в ручную собрать в Adobe PHOTOSHOP в один общий PDF с нужными параметрами (нежелательный вариант)
  • Создавать PDF страницы с помощью PHP класса, заранее, во время редактирования макета сохраняя в нужном формате все нужные для класса данные о строении макета и вычисляя все данные элементов "вручную". Но почитав описание этого класса я понимаю что это нудно и долго.

Поэтому прежде чем приступить к работе решил посоветоваться у вас. Чем лучше генерировать PDF страницы (php, js и т.д), чтобы была возможность максимального контроля над его параметрами и чтобы итог максимально соответствовал тому что видно в браузере во время редактирования?
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
html2pdf
во всех языках есть обертки

добиться 1 в 1 не получится, не стремитесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы