我工作的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">
但是這種解決方案可以在文本行裁剪或在圖像的中間...