Программно создать изображение с веб-страницы или одного DIV - PullRequest
10 голосов
/ 05 января 2012

Есть ли способ программно создать (на стороне клиента или на сервере (PHP)) изображение из определенного DIV или полной (веб) страницы?В настоящее время я создаю веб-сайт для бесплатных купонов, и идея заключается в том, что когда конечный пользователь нажимает кнопку «Печать», приложение открывает новую вкладку / окно со всеми выбранными купонами в качестве единого изображения (JPG, PNGили т. д.) в формате А4, готовом к печати.У каждого купона есть свои данные (название товара, цена, описание и т. Д.), Поэтому мне нужно, чтобы это было сделано программно по шаблону купона, который я разработал.

Я не прошу вас писать код для меня, просто чтобы предложить решение, которое я мог бы использовать / разработать.Если он еще не существует, я бесплатно его добавлю / опубликую :)

Обновление: я сделал это с библиотекой PHP GD :) Все еще не удовлетворен идеей использовать изображения вместо PDF, потому что каждая печать приводит к результатамс разными размерами купонов (изображений) на разных компьютерах.Вот почему PDF может быть лучшим решением.Вы можете просмотреть / проверить его на demo.svikuponi.ba - Просто выберите несколько купонов и нажмите кнопку PRINTAJ выше.

Ответы [ 6 ]

4 голосов
/ 05 января 2012

Кто-нибудь упоминал html2canvas и / или jsfeedback ?

Он полностью создает скриншот страницы в javascript, затем вы можете отправить его на сервер через ajax.

Очевидно, что поддержка CSS не хватает некоторых вещей.

4 голосов
/ 05 января 2012

Вы не можете создать изображение из div точно, но вы можете создавать динамические изображения в php, используя его библиотеку gd. Следующие ссылки помогут:

http://php.net/manual/en/function.imagecreate.php

http://phptutorial.info/learn/create_images/

4 голосов
/ 05 января 2012

Вот отличный способ создания изображений на стороне клиента: http://smus.com/screen-capture-for-chrome-os

Вы можете взять это и создать веб-приложение, которое будет хорошо работать с webkit (для других браузеров - я посмотрю на JF polyfills).

2 голосов
/ 05 января 2012

В php, есть много связанных с изображениями функций, таких как imagettftext () в библиотеке GD для деталей, проверьте это http://php.net/manual/en/book.image.php, если GD недостаточно, вы можете попробовать и imagick

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

но в вашем случае я быпредложить динамическое создание PDF, так как было бы лучше с форматированием вместо простого изображения, pdf lib: http://www.fpdf.org/

1 голос
/ 05 января 2012

Можно получить снимок экрана с веб-страницы, но это довольно хлопотно. Вам нужно запустить веб-браузер, чтобы отобразить страницу и получить скриншот.

Возможно, вам лучше разобрать некоторую спецификацию и передать ее в пару функций GD или Imagick. Это менее универсально, но проще в управлении.

1 голос
/ 05 января 2012

Вы можете легко получить фоновое изображение вашего токена / ваучера и наложить текст, используя некоторые переменные php.

Я считаю, что возможно создать уникальный штрих-код и с php-изображениями.

...