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

Использование методов ConvertHTML() класса Converter является наиболее распространенным способом преобразования HTML-документов в различные форматы. Однако Aspose.HTML for .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. Процесс рендеринга рассматривается с параметрами рендеринга по умолчанию:

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

Давайте объясним приведенный выше фрагмент кода 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.
 1// Prepare path to a source HTML file
 2string documentPath = Path.Combine(DataDir, "spring.html");
 3
 4// Prepare a path to save the converted file
 5string savePath = Path.Combine(OutputDir, "spring-output.jpg");
 6
 7// Initialize an HTML document from the file
 8using var document = new HTMLDocument(documentPath);
 9
10// Create an instance of the ImageRenderingOptions class
11var imageOptions = new ImageRenderingOptions(ImageFormat.Jpeg);
12
13// Create the Image Device and specify the output file to render
14using var device = new ImageDevice(imageOptions, savePath);
15
16// Render HTML to JPG
17document.RenderTo(device);

XpsDevice

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

 1// Prepare path to a source HTML file
 2string documentPath = Path.Combine(DataDir, "spring.html");
 3
 4// Prepare a path to save the converted file
 5string savePath = Path.Combine(OutputDir, "spring.xps");
 6
 7// Initialize an HTML document from the file
 8using var document = new HTMLDocument(documentPath);            
 9
10// Create an instance of the XpsDevice and specify the output file to render
11using var device = new XpsDevice(savePath);
12
13// Render HTML to XPS
14document.RenderTo(device);

DocDevice

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

 1// Prepare a path to save the converted file
 2string savePath = Path.Combine(OutputDir, "document.docx");
 3
 4// Load a document from 'https://docs.aspose.com/html/net/creating-a-document/document.html' web page
 5using var document = new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/document.html");
 6
 7// Create an instance of the DocRenderingOptions class
 8var docOptions = new DocRenderingOptions();
 9
10// Create the DocDevice object and specify the output file to render
11using var device = new DocDevice(docOptions, savePath);
12
13// Render HTML to DOCX
14document.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.