我想从url拍摄网页快照。网址是一个动态的HTML网页。基本上,我们需要该网页的img。
我想将html页面转换为c#中的图像,但无效。 我首先使用streamreader和NReco.ImageGenerator读取了html,试图将其转换为字节并最终转换为图像。这是行不通的。 最后,我尝试从html网页内部使用javascript将html转换为画布。
function report() {
let region = document.querySelector("body");
html2canvas(
$('body'),
{allowTaint: true, logging: true,'onrendered': function (canvas)
{}}).then( //getting problem here at then
function (canvas) {
let jpgUrl = canvas.toDataURL();
console.log(jpgUrl);
var text = "bottom-right Brochure1";
var imageName = text + '.jpg';
download(jpgUrl,imageName, "image/png");
}
代码说明-使用js将在html页面中获取body元素的快照。获取URL,然后从URL创建画布。并自动下载。但是我面临一个问题-------“ html2canvas(...),那不是一个函数” ..我不知道为什么会这样。请帮忙。
答案 0 :(得分:1)
由于所有现代浏览器中的跨域资源共享(CORS)限制,这不能完全在客户端上完成。您需要在服务器端完成此任务。要使用NodeJS在服务器上的javascript中做到这一点,有几个npm软件包可以提供帮助,例如:node-server-screenshot,PhantomJS等