Снимок странички по url - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Может кто подскажет как сделать программно скриншот странички сайта, не используя элемент webbrowser? Таких страничек ~1000, и если для каждой параллельно создавать webbrowser, загружать страничку, делать скриншот, то по-моему получится какой-то ад. Программно я уже знаю html сайта, его url, может быть мне с помощью какой-нибудь библиотеки строить из имеющегося html страничку, а потом делать её скриншот? Заранее спасибо, буду благодарен за любые идеи!

Решение задачи: «Снимок странички по url»

textual
Листинг программы
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication
{
    class WebsiteCaptureMaker
    {
        private WebBrowser internetBrowser;
 
        public WebsiteCaptureMaker()
        {
            internetBrowser = new WebBrowser();
            internetBrowser.ScrollBarsEnabled = false;
            internetBrowser.ScriptErrorsSuppressed = true;
        }
 
        public Bitmap MakeScreenshot(string _websiteURL)
        {
            internetBrowser.Navigate(_websiteURL);
            while (internetBrowser.ReadyState != WebBrowserReadyState.Complete || internetBrowser.IsBusy)
                Application.DoEvents();
 
            internetBrowser.Width = internetBrowser.Document.Body.ScrollRectangle.Width;
            internetBrowser.Height = internetBrowser.Document.Body.ScrollRectangle.Height;
 
            Bitmap websiteScreenshot = new Bitmap(internetBrowser.Width, internetBrowser.Height);
            internetBrowser.DrawToBitmap(websiteScreenshot, new Rectangle(0, 0, internetBrowser.Width, internetBrowser.Height));
 
            return websiteScreenshot;
        }
 
        public void Dispose()
        {
            internetBrowser.Dispose();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.417 из 5