Устройство рендеринга – Rendering Device – C#

Использование методов ConvertHTML() класса Converter является наиболее распространенным способом преобразования HTML-документов в различные форматы. Однако Aspose.HTML для .NET API также предоставляет альтернативные способы рендеринга HTML-документов, которые могут дать вам больше контроля над процессом рендеринга в вашем приложении C#.

В этой статье мы опишем, как использовать устройства рендеринга – PdfDevice, XpsDevice, DocDevice, и ImageDevice для преобразования HTML в PDF, XPS, DOCX и изображения. В примерах C# процесс рендеринга рассматривается с параметрами рендеринга по умолчанию. Чтобы узнать больше, прочитайте статью Параметры рендеринга.

Что такое устройство рендеринга в Aspose.HTML?

Устройство рендеринга инкапсулирует поверхность 2D-рисования, API которой реализован с помощью интерфейса IDevice. В настоящее время API предоставляет следующие реализации: PdfDevice, XpsDevice, DocDevice и ImageDevice, которые используются для создания файлов форматов PDF, XPS, DOCX и Image соответственно.

Устройствами рендеринга в Aspose.HTML API являются PdfDevice, XpsDevice, DocDevice, и ImageDevice. Это классы с конструкторами, свойствами и методами, представляющими преобразование HTML в PDF, XPS, DOCX. и изображения документов соответственно. Каждое устройство рендеринга имеет свой собственный уникальный набор параметров, реализованных с помощью классов PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, и ImageRenderingOptions соответственно.

Наша библиотека C# предлагает набор пространств имен с классами, методами и свойствами для преобразования HTML в выходные форматы. Рассмотрим их подробнее.

PdfDevice

Пространство имен Aspose.Html.Rendering.Pdf предоставляет класс PdfDevice, а также несколько классов параметров рендеринга, отвечающих за рендеринг в документ PDF. Класс PdfDevice реализует интерфейс IDevice, который определяет основные функции для рендеринга HTML-документа.

В следующем примере C# показано, как использовать PdfDevice для преобразования HTML в PDF. Процесс рендеринга рассматривается с параметрами рендеринга по умолчанию:

 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Rendering.Pdf;
 4...
 5	// Prepare HTML code
 6    var code = @"<span>Hello World!!</span>";
 7
 8    // Prepare a path to save a converted file 
 9    string savePath = Path.Combine(OutputDir, "document.pdf");
10
11    // Initialize an HTML document from the HTML code
12    using (var document = new HTMLDocument(code, "."))
13    {
14        // Create a PDF Device and specify the output file to render
15        using (var device = new PdfDevice(savePath))
16        {
17            // Render HTML to PDF
18            document.RenderTo(device);
19        }
20    }

Давайте объясним приведенный выше фрагмент кода C#:

  1. Сначала мы создаем HTML-документ из строки кода. Итак, в переменную code мы помещаем контент, который будет преобразован в PDF.
  2. Затем подготавливаем путь для сохранения сконвертированного файла – savePath.
  3. С помощью конструктора HTMLDocument(content, baseUri) мы создаем экземпляр HTMLDocument .
  4. Создаем устройство рендеринга – экземпляр класса PdfDevice. Для этого мы используем конструктор PdfDevice(savePath).
  5. И, наконец, мы вызываем метод RenderTo(device) с указанным устройством.

Параметры рендеринга дают вам дополнительный контроль над процессом рендеринга. Чтобы узнать о них больше, прочитайте статью Параметры рендеринга.

Если вас интересует, как использовать параметры рендеринга для изменения размера страниц документа в соответствии с размером содержимого и наоборот, посетите статью Как изменить размер документа во время преобразования из HTML?

ImageDevice

Пространство имен Aspose.Html.Rendering.Image предоставляет класс ImageDevice, а также несколько классов параметров рендеринга, отвечающих за рендеринг файлов HTML в растровые форматы: JPG, PNG, BMP, GIF и TIFF.

В примере на С# для рендеринга изображения HTML в JPG мы выполняем несколько шагов:

  1. Загрузите исходный файл из локальной файловой системы с помощью конструктора HTMLDocument(documentPath).
  2. Создайте экземпляр класса ImageRenderingOptions с указанием ImageFormat. По умолчанию формат изображения – PNG.
  3. Создайте устройство рендеринга – экземпляр класса ImageDevice. Используйте конструктор ImageDevice(imageOptions, savePath), который принимает параметры рендеринга и выходные данные. путь к файлу в качестве параметров.
  4. Преобразуйте HTML в изображение JPG, используя метод RenderTo(device). Этот метод принимает в качестве параметра экземпляр класса ImageDevice.
 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Rendering.Image;
 4...
 5    // Prepare path to a source HTML file
 6    string documentPath = Path.Combine(DataDir, "spring.html");
 7
 8    // Prepare path for converted file saving 
 9    string savePath = Path.Combine(OutputDir, "spring-output.jpg");
10
11    // Initialize an HTML document from the file
12    using var document = new HTMLDocument(documentPath);
13
14    // Create an instance of the ImageRenderingOptions class
15    var imageOptions = new ImageRenderingOptions(ImageFormat.Jpeg);
16
17    // Create an instance of the ImageDevice 
18    using var device = new ImageDevice(imageOptions, savePath);
19
20    // Render HTML to JPG
21    document.RenderTo(device);

XpsDevice

Пространство имен Aspose.Html.Rendering.Xps предоставляет класс XpsDevice для преобразования файлов HTML в документ XPS. В следующем примере C# процесс рендеринга рассматривается с параметрами рендеринга по умолчанию:

 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Rendering.Xps;
 4...
 5    // Prepare path to a source HTML file
 6    string documentPath = Path.Combine(DataDir, "spring.html");
 7
 8    // Prepare path for converted file saving 
 9    string savePath = Path.Combine(OutputDir, "spring.xps");
10
11    // Initialize an HTML document from the file
12    using var document = new HTMLDocument(documentPath);    
13
14    // Create the XPS Device and specify the output file to render
15    using var device = new XpsDevice(savePath);
16
17    // Render HTML to XPS
18    document.RenderTo(device);

DocDevice

Пространство имен Aspose.Html.Rendering.Doc предоставляет класс DocDevice для преобразования файлов HTML в формат DOCX. В следующем примере C# процесс рендеринга рассматривается с параметрами рендеринга по умолчанию:

 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Rendering.Doc;
 4...
 5    // Prepare path for converted file saving 
 6    string savePath = Path.Combine(OutputDir, "document.docx");
 7
 8    // Load a document from 'https://docs.aspose.com/html/net/creating-a-document/document.html' web page
 9    using var document = new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/document.html");    
10
11    // Create the DOC Device and specify the output file to render
12    using var device = new DocDevice(savePath);
13
14    // Render HTML to DOCX
15    document.RenderTo(device);

Вы можете скачать полные примеры C# и файлы данных с GitHub.

Aspose.HTML предлагает бесплатные онлайн Конвертеры, которые могут преобразовывать файлы HTML, XHTML, MHTML, EPUB, XML и Markdown в ряд популярных форматов. Вы можете легко конвертировать HTML-документы в форматы PDF, XPS, DOCX, JPG, PNG, GIF, TIFF и другие форматы. Просто выберите файл, выберите формат для преобразования, и все готово. Лучше всего то, что это совершенно бесплатно!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.