Click or drag to resize

PdfVisionGetScreenshot(String, ScreenshotOptions) Method

Get HTML screenshot (PNG or JPEG) in memory.

Namespace: SautinSoft.PdfVision
Assembly: SautinSoft.PdfVision (in SautinSoft.PdfVision.dll) Version: 2024.8.28
Syntax
public byte[] GetScreenshot(
	string inputHtml,
	ScreenshotOptions options = null
)

Parameters

inputHtml  String
HTML document. Can be: HTML string, URL or full path to the .html file.
options  ScreenshotOptions  (Optional)
Represents ScreenshotOptions: Browser Width and Height, Clip region, PNG or Jpeg, full or partial screenshot.

Return Value

Byte
Screenshot in PNG or JPG format as bytes array.
Example
How to convert HTML to Image in memory using C#
using System;
using System.IO;
using SautinSoft.PdfVision;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            ConvertHtmlToJpegInMemory();
        }
        public static void ConvertHtmlToJpegInMemory()
        {
            // This string will contains our input HTML document.
            string inpFile = Path.GetFullPath(@"..\..\..\example.html");
            string inpHtml = File.ReadAllText(inpFile);
            byte[] imgBytes = null;
            // Before starting, we recommend to get a free 100-day key:
            // https://sautinsoft.com/start-for-free/

            // Apply the key here:
            // SautinSoft.PdfVision.SetLicense("...");

            PdfVision v = new PdfVision();

            ScreenshotOptions options = new ScreenshotOptions()
            {
                FullPage = false,
                ViewPortOptions = new ViewPortOptions()
                {
                    Width = 800,
                    Height = 600
                },
                Type = ScreenshotType.Jpeg,
                Quality = 90,
                BaseUrl = Path.GetDirectoryName(inpFile),
                // The baseURL property specifies or retrieves the base URL used for
                // relative path resolution with URL script commands that are embedded in media items.
                // Website - http://example.com/ or http://example.com/contact
                // LocalPath - C:/example/ or C:/example/contact
                // BaseUrl = @"The_Absolute_Path_to_Image"

                //Set a custom directory where will be placed portable Chromium browser. 
                //Default value depends of platform (win-x64, win-86, linux-x64 or osx-x64). 
                ChromiumBaseDirectory = Path.GetFullPath(@"..\..\..\..\..\..\Chromium\")
            };

            try
            {
                // The whole conversion process will be done completely in memory.
                imgBytes = v.GetScreenshot(inpHtml, options);

                // This file is necessary only to show the result.
                string outFile = new FileInfo("Result.jpg").FullName;
                // Save imgBytes to the file and open the result for demonstration purposes.
                File.WriteAllBytes(outFile, imgBytes);
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
                Console.ReadLine();
            }
        }
    }
}
How to convert HTML to Image in memory using VB.Net
Imports System
Imports System.IO
Imports System.IO.Compression
Imports SautinSoft.PdfVision

Namespace Sample
    Friend Class Program
        Shared Sub Main(ByVal args() As String)
            ConvertHtmlToJpegInMemory()
        End Sub
        Public Shared Sub ConvertHtmlToJpegInMemory()
            ' This string will contains our input HTML document.
            Dim inpFile As String = Path.GetFullPath("..\..\..\example.html")
            Dim inpHtml As String = File.ReadAllText(inpFile)
            Dim imgBytes() As Byte = Nothing
            ' Before starting, we recommend to get a free 100-day key:
            ' https://sautinsoft.com/start-for-free/

            ' Apply the key here:
            ' SautinSoft.PdfVision.SetLicense("...");

            Dim v As New PdfVision()

            Dim options As New ScreenshotOptions() With {
                .FullPage = False,
                .ViewPortOptions = New ViewPortOptions() With {
                    .Width = 800,
                    .Height = 600
                },
                .Type = ScreenshotType.Jpeg,
                .Quality = 90,
                .BaseUrl = Path.GetDirectoryName(inpFile),
                .ChromiumBaseDirectory = Path.GetFullPath("..\..\..\..\..\..\Chromium\")
            }

            ' The baseURL property specifies Or retrieves the base URL used for
            ' relative path resolution with URL script commands that are embedded in media items.
            ' Website - http://example.com/ Or http://example.com/contact
            ' LocalPath - C:/example/ Or C:/example/contact
            ' BaseUrl = @"The_Absolute_Path_to_Image"

            Try
                ' The whole conversion process will be done completely in memory.
                imgBytes = v.GetScreenshot(inpHtml, options)

                ' This file is necessary only to show the result.
                Dim outFile As String = (New FileInfo("Result.jpg")).FullName
                ' Save imgBytes to the file and open the result for demonstration purposes.
                File.WriteAllBytes(outFile, imgBytes)
                System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
            Catch ex As Exception
                Console.WriteLine($"Error: {ex.Message}")
                Console.ReadLine()
            End Try
        End Sub
    End Class
End Namespace
See Also