Есть задача. Нужно сделать простенький визуальный редактор макетов, с возможностью предпросмотра по мере создания макета. Что то похожее на редактор страниц 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 и т.д), чтобы была возможность максимального контроля над его параметрами и чтобы итог максимально соответствовал тому что видно в браузере во время редактирования?