Конвертирование 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;

            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();
            }
        }
    }
}

Download

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

			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

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.