我工作的Windows服务在C#4.0分页至极变换图像不同的文件(TIF和JPEG)将HTML转换成用C#
我有一个问题,当我想转换一个HTML文件(图像通常是电子邮件)。
我使用的web浏览器
var browser = new WebBrowser();
browser.DocumentCompleted += this.BrowserDocumentCompleted;
browser.DocumentText = html;
和DrawToBitmap
var browser = sender as WebBrowser;
Rectangle body = new Rectangle(browser.Document.Body.ScrollRectangle.X * scaleFactor,
browser.Document.Body.ScrollRectangle.Y * scaleFactor,
browser.Document.Body.ScrollRectangle.Width * scaleFactor,
browser.Document.Body.ScrollRectangle.Height * scaleFactor);
browser.Height = body.Height;
Bitmap output = new Bitmap(body.Width, body.Height);
browser.DrawToBitmap(output, body);
它工作正常的小型或中型的HTML,但与大的HTML(如22 000高像素以上) 我有GDI产生的异常在DrawToBitmap上:
无效的参数
不是一个像GDI +有效
根据互联网,这种错误的追加,因为图片太大。
我的问题:如何在X图像(分页)中转换html而不生成大图像和裁剪之后,以及是否可以不使用库。
预先感谢您。
编辑:我发现了一个棘手的解决方案:围绕HTML用一个div女巫会设置页面,另一个用于偏移,对于为例:
<div style="height:3000px; overflow:hidden">
<div style="margin-top:-3000px">
但是这种解决方案可以在文本行裁剪或在图像的中间...