Há alguma maneira livre para girar uma página HTML em uma imagem com .net
-
02-07-2019 - |
Pergunta
Eu quero levar html, incluindo o texto e imagens e transformá-lo em uma imagem contendo tudo. Existe um caminho livre para fazê-lo?
Isso é usar NET 3.5.
Veja também:
Server gerou imagens da web?
Qual é a melhor maneira de criar uma página web miniaturas?
Solução
Você pode verificar este projeto ou desta página
Espero que ajude.
Outras dicas
Aqui está algum código que eu postei no meu blog há algumas semanas que faz isso:
C #: Gerar WebPage Thumbnail tela Imagem
Eu também vou postar o código para ele abaixo:
public Bitmap GenerateScreenshot(string url)
{
// This method gets a screenshot of the webpage
// rendered at its full size (height and width)
return GenerateScreenshot(url, -1, -1);
}
public Bitmap GenerateScreenshot(string url, int width, int height)
{
// Load the webpage into a WebBrowser control
WebBrowser wb = new WebBrowser();
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
// Set the size of the WebBrowser control
wb.Width = width;
wb.Height = height;
if (width == -1)
{
// Take Screenshot of the web pages full width
wb.Width = wb.Document.Body.ScrollRectangle.Width;
}
if (height == -1)
{
// Take Screenshot of the web pages full height
wb.Height = wb.Document.Body.ScrollRectangle.Height;
}
// Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));
wb.Dispose();
return bitmap;
}
Eis alguns exemplos de usos:
// Generate thumbnail of a webpage at 1024x768 resolution
Bitmap thumbnail = GenerateScreenshot("http://pietschsoft.com", 1024, 768);
// Generate thumbnail of a webpage at the webpage's full size (height and width)
thumbnail = GenerateScreenshot("http://pietschsoft.com");
// Display Thumbnail in PictureBox control
pictureBox1.Image = thumbnail;
/*
// Save Thumbnail to a File
thumbnail.Save("thumbnail.png", System.Drawing.Imaging.ImageFormat.Png);
*/
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow