Устройство рендеринга – 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#:
- Сначала мы создаем HTML-документ из строки кода. Итак, в переменную
code
мы помещаем контент, который будет преобразован в PDF. - Затем подготавливаем путь для сохранения сконвертированного файла –
savePath
. - С помощью конструктора
HTMLDocument(
content
,baseUri
) мы создаем экземпляр HTMLDocument . - Создаем устройство рендеринга – экземпляр класса
PdfDevice. Для этого мы используем конструктор PdfDevice(
savePath
). - И, наконец, мы вызываем метод
RenderTo(
device
) с указанным устройством.
Параметры рендеринга дают вам дополнительный контроль над процессом рендеринга. Чтобы узнать о них больше, прочитайте статью Параметры рендеринга.
Если вас интересует, как использовать параметры рендеринга для изменения размера страниц документа в соответствии с размером содержимого и наоборот, посетите статью Как изменить размер документа во время преобразования из HTML?
ImageDevice
Пространство имен Aspose.Html.Rendering.Image предоставляет класс ImageDevice, а также несколько классов параметров рендеринга, отвечающих за рендеринг файлов HTML в растровые форматы: JPG, PNG, BMP, GIF и TIFF.
В примере на С# для рендеринга изображения HTML в JPG мы выполняем несколько шагов:
- Загрузите исходный файл из локальной файловой системы с помощью конструктора
HTMLDocument(
documentPath
). - Создайте экземпляр класса
ImageRenderingOptions с указанием
ImageFormat
. По умолчанию формат изображения – PNG. - Создайте устройство рендеринга – экземпляр класса
ImageDevice. Используйте конструктор
ImageDevice(
imageOptions
,savePath
), который принимает параметры рендеринга и выходные данные. путь к файлу в качестве параметров. - Преобразуйте 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 и другие форматы. Просто выберите файл, выберите формат для преобразования, и все готово. Лучше всего то, что это совершенно бесплатно!