Устройство рендеринга – 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// Render HTML to PDF using C#
 2
 3// Prepare HTML code
 4string code = @"<span>Hello, World!!</span>";
 5
 6// Prepare a path to save a converted file 
 7string savePath = Path.Combine(OutputDir, "document.pdf");
 8
 9// Initialize an HTML document from the HTML code
10using HTMLDocument document = new HTMLDocument(code, ".");
11
12// Create a PDF Device and specify the output file to render
13using PdfDevice device = new PdfDevice(savePath);
14
15// Render HTML to PDF
16document.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// Render HTML to JPG using C#
 2
 3// Prepare path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "spring.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "spring-output.jpg");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the ImageRenderingOptions class
13ImageRenderingOptions imageOptions = new ImageRenderingOptions(ImageFormat.Jpeg);
14
15// Create the Image Device and specify the output file to render
16using ImageDevice device = new ImageDevice(imageOptions, savePath);
17
18// Render HTML to JPG
19document.RenderTo(device);

XpsDevice

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

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

DocDevice

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

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

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

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

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.