Могу ли я программно сохранить часть веб-страницы в виде изображения? - PullRequest
12 голосов
/ 03 мая 2011

Если возможно, я бы хотел сделать это с помощью простой кнопки.Пользователям не очень комфортно работать с компьютерами, поэтому я не просто сказал им, чтобы они печатали на экране или использовали инструмент для резки.

Я знаю, это можно сделать в Mozilla.браузеры с <canvas> и drawWindow().Но это приложение работает в Internet Explorer 7 и 8.

На странице показаны некоторые графики (сгенерированные элементом управления ReportViewer) на основе ввода нескольких раскрывающихся списков.Означает ли это, что клиентский скрипт - единственный вариант?Или я мог бы сделать это как-нибудь в бэкэнде ASP.NET?Может быть, заново генерировать изображение каждый раз, когда меняются выпадающие списки?
(Я был разработчиком для настольных систем так долго, что пока не совсем «понимаю», что вы можете и не можете делать в веб-приложениях.)

1 Ответ

4 голосов
/ 03 мая 2011

Насколько я понимаю, у вас есть некоторые выпадающие списки, и вы генерируете график на основе ввода этих выпадающих сообщений пользователем?

Так что, если бы я делал это с PHP (просто пытаясь дать вам идеи здесь, не знаю, что возможно, а что нет в ASP), я бы создал сценарий библиотеки изображений магии или библиотеки gdb, который создает jpeg на основе переменных, введенных в Строка запроса.

Например, это вывело бы изображение в формате JPEG простого графика с 3 точками на нем:

http://mydomain.org/image.php?value1=10&value2=20&value3=30

Тогда для внешнего интерфейса моего сценария я бы, вероятно, использовал jquery / ajax, чтобы вызвать этот сценарий и показать изображение, когда пользователь изменяет значения.

Тогда у вас есть изображение, которое вы можете принудительно загрузить или поручить пользователям щелкнуть правой кнопкой мыши и выбрать «сохранить как».

В любом случае, это просто идея, а не решение. Я не знаю насчет ASP.NET, но именно так я и сделал бы в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...