Конвертировать HTML-страницу в изображение, используя Javascript

Привет,

РЕДАКТИРОВАТЬ: Я хочу добиться этого без использования какого-либо программного обеспечения сторонних производителей. Мое приложение является продуктом SAP, и я не могу обратиться к каждому клиенту и установить это программное обеспечение в его системе.
У меня есть следующий сценарий..

На моем веб-сайте есть кнопка (конечно, это бизнес-приложение) с именем "Save as image".so, когда пользователь нажимает эту кнопку, содержимое страницы должно быть преобразовано в файл изображения и сохранено в его системе.
Можем ли мы достичь этого с помощью javascript или jquery?
Если мы не можем сделать это в javascript, можем ли мы сделать это в SAP BSP, так как мое приложение разрабатывается в SAP BSP?

Я уже искал на этом сайте и нашел одно решение, которое работает только в Firefox Extesnion. Но мне нужно кросс-браузерное решение, которое должно работать на IE,Chromer и т. Д.

3 ответа

Способ сделать это будет сделать HTML-страницу в скрытом <canvas> элемент, а затем сохранить содержимое холста как изображение.

Это возможно, но у вас не будет идеального рендеринга или решения, работающего на устаревших браузерах.

Посмотри пожалуйста

/questions/39043323/vizualizatsiya-elementov-html-v-canvas/39043344#39043344

для дополнительной информации.

Либо отправьте URL-адрес страницы без состояния на серверную часть, где браузер без монитора отображает страницу и делает снимок экрана с помощью автоматизации Selenium. Если страница общедоступна, некоторые веб-сервисы также существуют для этого.

Одно простое, но частичное решение IE, оно использует ActiveX, а не кроссбраузер, и общее, немного более громоздкое

IE решение

function printScreen(){
  var oWordBasic;
  if (window.ActiveXObject){
    oWordBasic = new ActiveXObject("Word.Basic");
    oWordBasic.SendKeys('%{1068}'); 
    oWordBasic.SendKeys('%{PRTSC}'); //or if the above doesnt work..
    //save or transfer the clipboard contensts
  }
}

Общее решение:

Используйте утилиту захвата экрана, такую ​​как Gadwin PrintScreen http://www.gadwin.com/printscreen/, она предназначена для Windows, но я уверен, что есть что-то подобное для Linux и Mac. Вы можете определить горячую клавишу и позволить этому сохранить изображение в фиксированном месте с автонумерацией. Программу устанавливать не нужно, она переносная, поэтому может находиться на сетевом ресурсе.

Вы также можете попытаться создать java-апплет или jar-файл, включенный в сайт, который бы захватывал некоторую часть экрана или браузера. Я видел механизм для совместного использования экрана в режиме реального времени на основе загруженных файлов JAR, но я не видел код.

вот несколько библиотек для java html в конвертацию изображений http://code.google.com/p/java-html2image/

heres simmilar тема Как захватить выбранный экран другого приложения, используя Java?

Другие вопросы по тегам