.NET 利用PuppeteerSharp生成页面图片
程序员文章站
2022-04-14 16:13:26
安装 NuGet 程序包 - PuppeteerSharp Install-Package PuppeteerSharp 创建个控制台程序。 新方法 class Program { static void Main(string[] args) { Console.WriteLine("Hello ......
安装 nuget 程序包 - puppeteersharp
install-package puppeteersharp
创建个控制台程序。
新方法
class program { static void main(string[] args) { console.writeline("hello world!"); createhtmlimg(); console.readline(); } static async void createhtmlimg() { // 首次 执行程序 会先下载一个 chrome 程序 , 下载完成后下次就不用下载。 await new browserfetcher().downloadasync(browserfetcher.defaultrevision); using (browser browser = await puppeteer.launchasync(new launchoptions { headless = true })) { using (var page = await browser.newpageasync()) { //设置浏览器的页面大小 await page.setviewportasync(new viewportoptions { width = 1024, height = 768 }); string url = "https://www.cnblogs.com/"; await page.gotoasync(url); // 可执行javasctipt //var seven = await page.evaluatefunctionasync<int>("()=> 4 + 3"); //var someobject = await page.evaluatefunctionasync<dynamic>("(value) => ({a: value})", 5); var html = await page.getcontentasync(); var sourcefile = ""; var memorystream = new memorystream(encoding.default.getbytes(html)); var sr = new streamreader(memorystream); sourcefile = sr.readtoend(); //针对源代码进行分析 sr.close(); //将页面保存为图片 using (var stream = await page.screenshotstreamasync(new screenshotoptions { fullpage = false })) { byte[] srcbuf = new byte[stream.length]; stream.read(srcbuf, 0, srcbuf.length); stream.seek(0, seekorigin.begin); using (filestream fs = new filestream(@"d:\垃圾\"+ datetime.now.tostring("yyyymmddhhmmsssss") +".png",filemode.create, fileaccess.write)) { fs.write(srcbuf, 0, srcbuf.length); } } //将页面保存为图片 //await page.screenshotasync(@"d:\垃圾\"+ datetime.now.tostring("yyyymmddhhmmsssss") +".png", //new screenshotoptions() { fullpage = true, type = screenshottype.png }; } } } }
首次执行会比较慢,要下载 chrome ,330m
上一篇: Vue.js 技术揭秘
下一篇: C#读取静态类常量属性和值
推荐阅读
-
将JSP在内存生成的图片显示到页面
-
利用简洁的图片预加载组件提升html5移动页面的用户体验
-
asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例
-
php实现图片上传并利用ImageMagick生成缩略图
-
利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印
-
利用简洁的图片预加载组件提升html5移动页面的用户体验
-
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
-
asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例
-
详解ASP.NET MVC 利用Razor引擎生成静态页
-
c# .net 生成图片验证码的代码