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("<MakeImage>");
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("</MakeImage>");
}
}
}
Comments