Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> html -> png/jpeg, сохранить html как картинку 
:(
    Опции темы
Prontit
  Дата 31.7.2014, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Добрый день,

Извините, если запостил не в ту тему.

Задача такая - есть сгенерированная PHP HTML-страница. ЕЕ нужно программно сохранить как картинку.
Для этой задачи подходит браузер Maxthon, там есть такая функции, в других не видел. Но хотелось бы, чтобы вне зависимости от браузера на страничке была такая кнопочка с этим функционалом. Даже не знаю в какую сторону копать, наверняка это JS, или я ошибаюсь?

На хабре пишут как в PDF сохранить, но не совсем мне подходит...

Благодарю!
PM MAIL ICQ Skype   Вверх
diadiavova
Дата 22.8.2014, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: нет
Всего: 142



Цитата(Prontit @  31.7.2014,  07:50 Найти цитируемый пост)
наверняка это JS

Ну как минимум. В хтмл эту проблему точно не решить.

Готового решения не дам, но так просто несколько соображений по теме, глядишь - что-то да пригодится.

Яваскрипт, выполняющийся на веб странице, выполняется в контексте безопасности веб страницы, то есть он имеет ряд ограничений и в частности одним из таких ограничений является доступ к файловой системе компьютера. Таким образом решить яваскриптом проблему сохранения не получится. Но можно было бы создать само изображение, вывести его в другом окне, другой вкладке или во всплывающем окошке и сохранить стандартными средствами браузера (из контекстного меню картинки, где обычно есть пункт "Сохранить изображение как..."). Таким образом остается вопрос, как создать такое изображение. 
Для браузеров на движке Geko (фарйрфокс например) это можно сделать с помощью канваса. Там у графического контекста 2д есть метод drawWindow (если не ошибаюсь). Далее с помощью метода toDataURL это можно прорисовать (если непонятно - гуголь в помощь).
Для других браузеров все немного сложнее, но есть готовое решение, которое хоть работает и не во всех случаях, но в принципе можно наверно подогнать страничку под это дело, если что. Вот сайт проекта
http://pbakaus.github.io/domvas/
А вот код библиотеки, он довольно короткий и можно понять как это работает
https://github.com/pbakaus/domvas/blob/master/src/domvas.js

Кроме того можно все это делать на сервере, но тут уж все зависит от доступных возможностей. А так ничего не мешает оставить на странице ссылку по которой пользователь найдет скрин страницы, сгенерированный сервером.

Ну и можно поискать надстройки для браузеров, такие есть, но насколько я понимаю, это - не вариант.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
ksnk
Дата 23.8.2014, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Prontit, все уже украдено до нас  smile 
Цитата

    
Для создания скриншота сайта достаточно одного параметра - его адреса.

http://mini.s-shot.ru/?адрес страницы
пример:

http://mini.s-shot.ru/?http://www.site.ru
Дополнительные параметры:

разрешение - указывается в пикселях, например (1024x768), для полноразмерного скриншота указываем только ширину (1024)
размер - указывается ширина масштабированной картинки
формат - может принимать два значения (JPEG|PNG), по умолчанию "JPEG"
http://mini.s-shot.ru/разрешение/размер/формат/?адрес страницы
пример:

http://mini.s-shot.ru/1024x768/400/jpeg/?http://www.site.ru
или

http://mini.s-shot.ru/1024/400/png/?http://www.site.ru





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.