Устройство рендеринга – 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#:
- Сначала мы создаем 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.
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 и другие форматы. Просто выберите файл, выберите формат для преобразования, и все готово. Лучше всего то, что это совершенно бесплатно!