C# Winform里面,传入html源码,假设传入的一个table,里面包括若干行,若干列。

现在要将传入的html在纸张上打印出来,打印的效果要与此html在页面上显示的结果一样,包括字体大小,颜色等,这个如何实现?... 现在要将传入的html在纸张上打印出来,打印的效果要与此html在页面上显示的结果一样,包括字体大小,颜色等,这个如何实现? 展开
 我来答
百百mp3
2012-12-15 · TA获得超过855个赞
知道小有建树答主
回答量:901
采纳率:90%
帮助的人:562万
展开全部
AxWebBrowser+GDI截图
先用AxWebBrowser解释html代码(当然不能再窗体嵌入,在代码用new创建),然后进行截图传入程序,程序打印图片即可...
追问

你好,是不是根据页面的url地址,后台用AxWebBrowser加载url,获得内容,然后把需要的内容读取出来,生成图片打印?

假如url=www.baidu.com,我只要打印下图中的红色方框里的内容,方框里的内容有可能会有很多,要考虑分页打印,这个如何处理?  比如可以在页面里要打印区域的html源码中前后加上开始和结束标记。 这样的需要能实现么? 能不能给个例子,就打印下面的红方块里的内容,非常感谢!!!

追答
private void button1_Click(object sender, EventArgs e)
{
WebBrowser webBrowser1 = new WebBrowser();
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
webBrowser1.Url = new Uri("http://www.baidu.com");
}
void webBrowser1_DocumentCompleted(object sender, EventArgs e)
{
int x = 118; int y = 148; int w = 621; int h = 81;
((WebBrowser)sender).Size = new Size(879, 270);
Bitmap bmp = new Bitmap(879, 270); Bitmap buffer = new Bitmap(w, h);
((WebBrowser)sender).DrawToBitmap(bmp, new Rectangle(Point.Empty, new Size(879, 270)));
pictureBox1.Image = bmp;
using (Graphics g = Graphics.FromImage(buffer))
g.DrawImage(bmp, new Rectangle(0,0, w, h),new Rectangle(x,y,w,h),GraphicsUnit.Pixel);
pictureBox1.Image = buffer;
}
多页显示要用GDI分隔,就如上面那样分隔,具体用法:
g.DrawImage(要分隔的图片,new Rectangle(0,0,图片宽, 图片高),new Rectangle(0,0,图片宽,图片高/2),GraphicsUnit.Pixel);//图片高/2表示分两页显示...如此类推...
你是谁LCqTt
2012-12-15 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:872万
展开全部
你在winform里嵌入一个Web Browser就可以了嘛
更多追问追答
追问
不能嵌入,只能读取html源码
追答
那太恼火了。。还要自己去解析html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czsoft001
2012-12-15 · 超过47用户采纳过TA的回答
知道答主
回答量:361
采纳率:0%
帮助的人:142万
展开全部
Web Browser控件
追问
具体怎么操作?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式