using System; using System.Threading; using Aspose.Html; using Aspose.Html.Rendering; using Aspose.Html.Rendering.Image; namespace Fundamentals { internal class Program { private static readonly ManualResetEvent IsFinished = new ManualResetEvent(false); private static void Main(string[] args) { var htmlDocument = new HTMLDocument(); htmlDocument.OnLoad += MakeImage; // Workaround: htmlDocument.OnReadyStateChange += MakeImage; htmlDocument.Navigate("https://lipsum.com/feed/html"); IsFinished.WaitOne(); htmlDocument.Dispose(); } private static void MakeImage(object sender, Aspose.Html.Dom.Events.Event e) { Console.WriteLine(""); if (sender is HTMLDocument doc) if (doc.ReadyState.Equals("complete")) { Console.WriteLine(doc.ReadyState); var imgOptions = new ImageRenderingOptions(); using (var imgDevice = new ImageDevice(imgOptions, "Aspose_HTML.png")) using (var renderer = new HtmlRenderer()) { // Render the output using HtmlRenderer renderer.Render(imgDevice, doc); } IsFinished.Set(); } else { Console.WriteLine(doc.ReadyState); } Console.WriteLine(""); } } }