问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js中点击按钮将html页面导出成图片

发布网友 发布时间:2022-04-23 10:22

我来回答

2个回答

热心网友 时间:2022-04-19 06:08

一、添加引用
在解决方案上单击右键,选择“Add Reference...”,添加“System.Windows.Forms”,添加完后,Web.Config 中应该有类似下面的内容:
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
二、 设置 STA 模式
在 @ Page 指令中加上 AspCompat="true",以强制该网页在 STA(单线程单元) 模式下执行。结果类似如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" AspCompat="true" %>
三、写截图代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

public partial class _Default : System.Web.UI.Page
{
private WebBrowser _webBrowser;

protected void Page_Load(object sender, EventArgs e)
{
string url = Request.QueryString["url"];
if (string.IsNullOrEmpty(url))
{
url = "http://www.cftea.com/";
}

_webBrowser = new WebBrowser();
_webBrowser.ScrollBarsEnabled = false; //不显示滚动条
_webBrowser.Navigate(url);
_webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Completed);

while (_webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents(); //避免假死,若去掉则可能无法触发 DocumentCompleted 事件。
}
}

public void Completed(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//设置浏览器宽度、高度为文档宽度、高度,以便截取整个网页。
_webBrowser.Width = _webBrowser.Document.Body.ScrollRectangle.Width;
_webBrowser.Height = _webBrowser.Document.Body.ScrollRectangle.Height;
using (Bitmap bmp = new Bitmap(_webBrowser.Width, _webBrowser.Height))
{
_webBrowser.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save("C:\\Capture.png", ImageFormat.Png);
}
}
}

热心网友 时间:2022-04-19 07:26

你可以试试html2canvas这个插件,js将页面生成图片
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这是什么钞票。 请问这是哪个国家的钞票?价值多少人民币?谢谢 快易典学生平板电脑屏幕碎了怎么办,我在书店买的,可以拿到书店修吗... 沧州龟头周围有一圈小肉粒是什么? 快易典学生电脑的屏幕摔坏了,触屏触不了,可以修吗?如果修的话要多少... 西班牙冷汤和哪些菜品搭配更好喝? 西班牙番茄冷汤提示 我想请问你在秦汉胡同学学古筝...一共需要多少钱啊,包括买古筝的钱 word2010如何查看和编辑文档? 胸罩带子老掉,罩杯边有空 自己做的html生成图片后,怎么使html生成的图片用jpg保存下来,谢谢了... 哪些是知名品牌的床垫 如何将html中的div部分的内容生成一张图片 乳胶床垫,十大排名品牌 如何用HTML代码生成图片? 十大床垫品牌都有哪些? 如何将静态的html代码转换成图片 哪个牌子的床垫比较好呢? 如何根据html代码生成图片 2017床垫十大品牌排名是什么 怎么选择床垫呢 html打开之界面,怎么转换成图片,急!!! 有谁知道全球十大床垫品牌是哪几个吗? ios 中如何将html生成图片 进口床垫品牌十大排名 怎样将html页面生成图片下载下来? 美国床垫十大品牌有哪些? 打个一个html页面,点击按钮自动生成图片 如何将html网页转换成图片 专业做床垫的品牌有哪些品牌 全球十大床垫品牌有哪些 十大床垫品牌推荐 如何把HTML转换为JPEG或者其他格式的图片 html 内容生成一张图片!!!很急!!! java中利用html2image将html代码转换成图片时怎么调整生成图像的... 把html代码转换成图片 讨论在PHP中如何把带有HTML内容的文字生成图片 我想把一个html的内容转化成为图片,在本地win是好的,但是在linux上总是乱码 微信给别人发了红包,他还没领取我就把他删了,红包还会退还吗 发错微信红包了,对方还没有领取,我就把他删除了,他还能领到这个红 微信发了红包对方没有领取删除好友红包会退回么? 自己微信给别人发红包,然后自己删除对方好友后,自己发的红包还能回来吗? 微信被好友删了领取对方红包还会显示吗 微信好友把我删了,我给她发了红包她又加了我,她能收到红包吗 微信我把好友删除再拉黑,可是我们在一个群里,我发红包他能抢吗? 我把对方的微信删了但是对方给我发了红包这个钱会退回去嘛?_百度知 ... 在微信里面给好友发了个红包 我把好友删除了 他还能领取红包吗 电脑无法发送打印任务是怎么回事 epson打印机 l363 无法发送打印任务,打印机新的,驱动是附带光盘装的,每... 打印机发送打印任务后不打印,怎么办 电脑升级到win11后,EPSON L380打印机状态错误,无法发送任务到打印机? 打印机发送任务不打印有何处理办法?