2013-03-22 2 views
2

Есть ли способ конвертировать HTML-таблицу в файл изображения? У меня есть одна таблица HTML, которая содержит элементы управления, такие как ярлыки, GridView и CheckBoxes. Как мы можем преобразовать эту таблицу в файл изображения для создания PDF-файла?Преобразование таблицы HTML в файл изображения

+0

Вам нужно будет имитировать рендеринг вашего браузера. Похоже, мне очень порядочная задача. –

+0

Нужно ли сначала быть первым? PDF-генератор должен хорошо воспринимать HTML. – MikeSmithDev

+0

MikeSmithDev: Я проверил PDF-генератор, но не получил точный ... :( – MAC

ответ

2

Если это разовый, загрузить его в вашем браузере и сделать скриншот (Alt-PrtScr на окнах для всего текущего приложения)

Если вам нужно сделать это несколько раз/в автоматическом режиме вы можете автоматизировать browser control или вы можете использовать обезглавленный браузер

вы также должны смотреть в WebKit2Png, который будет оказывать страницу таким же образом, как хром/другие WebKit-браузеры, а затем сохранить это как PNG. Опционально он может имитировать JavaScript/и т.д. слишком

Кроме того, есть wkhtmltopdf, который работает на всех платформах

2

Это не является тривиальной задачей. В конечном итоге вам понадобится средство визуализации HTML для преобразования HTML в пиксели.

К счастью, вам не нужно писать самостоятельно. Вы можете использовать WebBrowser control.

Вы можете увидеть код, который я написал, чтобы извлечь уменьшенное изображение из заданного URL-адреса в статье Creating Website Thumbnails in ASP.NET.

+0

Я действительно сделал что-то похожее на создание эскизов веб-сайтов «на лету», и я хотел бы указать, что для управления WebBrowser требуется поток STA, который может быть немного сложным в многопоточных средах. ряд недостатков в отношении модальных диалогов, которые никогда не очищаются, в результате чего поток ожидает, пока он в конечном счете не будет переработан. Я не говорю, что не делаю этого, просто у него есть аналогичные проблемы для автоматизации офиса на сервере – Basic

+0

Да, я обратился к STA вопрос в моей статье.Если вы нашли способ избежать этого, пожалуйста, поделитесь. –

+0

Извинения Джонатан, я снял и не заметил этого. Я закончил делать почти то же самое, что и вы, Вероятно, я использовал ваш код в качестве ссылки, он выглядит знакомым. Я использовал его в многопоточном консольном приложении, которое делало вещи немного интересными и приводило к появлению «необъяснимых» предупреждающих диалогов/etc, отображаемых на рабочем столе пользователя. – Basic

0

Преобразование HTML таблицы в файл изображения

  $("#selfAssessmentPowerPointDownload").on('mouseover', function() { 
 
       var element = $("#html-content-holder"); // global variable 
 
       var getCanvas; // global variable 
 
       html2canvas(element, { 
 
        onrendered: function (canvas) { 
 
         getCanvas = canvas; 
 
         var imgageData = getCanvas.toDataURL("image/png"); 
 
         var newData = imgageData.replace(/^data:image\/png/, "data:application/octet-stream"); 
 
         $("#selfAssessmentPowerPointDownload").attr("download", "gridData.png").attr("href", newData); 
 
        } 
 
       }); 
 
      });
<button id="selfAssessmentPowerPointDownload">Download</button> 
 

 

 
<table id="html-content-holder"></table>

+0

Является ли это ответом? Когда вы даете ответ, предпочтительнее дать [какое-то объяснение в отношении ПОЧЕМУ ваш ответ] (http://stackoverflow.com/help/how-to-answer). –

0

Datatables является мощным JQuery плагин для работы с таблицами. Один из вариантов, который предлагает набор данных, - сделать pdf или excel из вашей таблицы. Вы можете увидеть множество примеров на своем веб-сайте.

Смежные вопросы