andruhovski icon

Render to PNG

andruhovski | PRO | 11/18/18 01:01:14 PM UTC | 0 ⭐ | 688 👁️ | Never ⏰ | []
C# |

1.58 KB

|

None

|

0 👍

/

0 👎

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