Конвертирование HTML в Изображение с параметрами обрезки изображения на C# и .NET
Этот пример кода показывает, как обрезать указанную область HTML-страницы. Установите для полученной области масштаб равный 2 и сохраните в формате PNG.
Полный код
using System;
using System.IO;
using SautinSoft.PdfVision;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
ClipImageOptions();
}
public static void ClipImageOptions()
{
// This string will contains our input HTML document.
string inpHtml = File.ReadAllText(@"..\..\..\example.html");
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,
// Set 1920 x 1080
ViewPortOptions = new ViewPortOptions()
{
Width = 1920,
Height = 1080
},
Type = ScreenshotType.Png,
//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\"),
// Let's clip the specified area and scale it.
Clip = new Clip()
{
X = 744,
Y = 525,
Width = 431,
Height = 381,
Scale = 2
}
};
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.png").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();
}
}
}
}
Imports System
Imports System.IO
Imports SautinSoft.PdfVision
Namespace Sample
Friend Class Program
Shared Sub Main(ByVal args() As String)
ClipImageOptions()
End Sub
Public Shared Sub ClipImageOptions()
' This string will contains our input HTML document.
Dim inpHtml As String = File.ReadAllText("..\..\..\example.html")
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 = 1920,
.Height = 1080
},
.Type = ScreenshotType.Png,
.ChromiumBaseDirectory = Path.GetFullPath("..\..\..\..\..\..\Chromium\"),
.Clip = New Clip() With {
.X = 744,
.Y = 525,
.Width = 431,
.Height = 381,
.Scale = 2
}
}
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.png")).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
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: