API для объединения файлов HTML, MHTML, EPUB и Markdown
Объединяйте несколько исходных файлов на C# и сохраняйте их содержимое в одном выходном документе.
Объединение файлов HTML, MHTML, EPUB и Markdown на C#
Aspose.HTML for .NET
объединяет несколько однотипных исходных файлов в один отрендеренный документ. Для HTML передайте объекты
HTMLDocument
рендереру
HtmlRenderer
. Архивы MHTML или MHT передаются в виде потоков рендереру
MhtmlRenderer
, а публикации EPUB – рендереру
EpubRenderer
. Файлы Markdown сначала преобразуются в объекты HTMLDocument с помощью
Converter.ConvertMarkdown()
, после чего их обрабатывает HtmlRenderer. В каждом сценарии порядок исходных файлов определяет порядок содержимого, а устройство вывода – формат результата.
Выбор сценария объединения
| Исходные файлы | Представление в C# | Рендерер | Подробное руководство |
|---|---|---|---|
| HTML | HTMLDocument | HtmlRenderer | Объединение HTML |
| MHTML или MHT | Stream | MhtmlRenderer | Объединение MHTML |
| EPUB | Stream | EpubRenderer | Объединение EPUB |
| Markdown или MD | HTMLDocument, возвращаемый Converter.ConvertMarkdown() | HtmlRenderer | Объединение Markdown |
Объединение HTML на C# и интерактивный пример
Пример на странице демонстрирует сценарий для HTML. Добавьте локальные HTML-файлы или URL-адреса в нужном порядке и выберите PDF, XPS, DOCX, TIFF или MHTML. Для результатов, создаваемых рендерером, панель C# обновляет объявления документов, устройство вывода и расширение файла в соответствии с выбранным форматом. Запустите настроенное объединение онлайн, чтобы проверить результат, или скопируйте сгенерированный код в проект .NET. Особенности обработки ресурсов и ограничения описаны в руководстве по объединению HTML .
using Aspose.Html;
using Aspose.Html.Rendering;
using Aspose.Html.Rendering.Pdf;
// Load the HTML documents in the required merge order.
using HTMLDocument document1 = new HTMLDocument("first.html");
using HTMLDocument document2 = new HTMLDocument("second.html");
// Create the renderer and the PDF output device.
using HtmlRenderer renderer = new HtmlRenderer();
using PdfDevice device = new PdfDevice("merged.pdf");
// Render the sources into one PDF file.
renderer.Render(device, document1, document2);
Выбор устройства вывода
- Используйте
PdfDevice, чтобы создать PDF для распространения, архивирования или печати. - Используйте
XpsDevice, чтобы записать отрендеренное содержимое в документ XPS. - Используйте
DocDevice, чтобы создать документ DOCX для Microsoft Word или другого совместимого редактора. - Используйте
ImageDeviceвместе сImageRenderingOptions, чтобы создать TIFF или другой поддерживаемый растровый формат.
Каждому устройству соответствует класс параметров рендеринга для настройки размера страницы, полей, разрешения и других свойств результата. Поддерживаемые устройства и конструкторы описаны в руководстве Устройства рендеринга в C# .
Интерактивное объединение HTML также поддерживает сохранение результата в веб-архив MHTML.
Установка Aspose.HTML for .NET
Установите Aspose.HTML for .NET из NuGet с помощью .NET CLI:
dotnet add package Aspose.HTML
Также можно использовать интерфейс диспетчера пакетов NuGet или выполнить Install-Package Aspose.HTML в консоли диспетчера пакетов. Подробные инструкции приведены в
руководстве по установке
. Чтобы протестировать API без ограничений ознакомительной версии, запросите
временную лицензию
.
Вопросы об API объединения документов
1. Поддерживает ли один рендерер все исходные форматы?
Нет. Используйте HtmlRenderer для объектов HTMLDocument, MhtmlRenderer для потоков MHTML или MHT и EpubRenderer для потоков EPUB. Markdown сначала преобразуется в HTMLDocument методом Converter.ConvertMarkdown(), после чего обрабатывается HtmlRenderer.
2. Создает ли объединение один редактируемый файл исходного формата?
Нет. Рендерер передает несколько исходных файлов одному устройству и создает PDF, XPS, DOCX или растровый результат. Он не объединяет DOM-деревья HTML, MIME-структуры MHTML, пакеты EPUB или текст Markdown в новый исходный файл.
3. Можно ли передать разные исходные форматы одному вызову рендерера?
Нет. Рендерер принимает один тип исходного представления, например объекты HTMLDocument или потоки архивов. Выберите сценарий, соответствующий набору исходных файлов, либо заранее приведите разные форматы к общему представлению.
4. Что определяет порядок содержимого в объединенном результате?
Порядок аргументов, переданных методу Render(), определяет последовательность содержимого. Измените порядок документов или потоков перед вызовом, если итоговый PDF, XPS, DOCX или TIFF должен иметь другую структуру.
5. Можно ли записать объединенный результат в поток?
Да. Устройства вывода, включая PdfDevice, позволяют использовать поток в качестве назначения, а ICreateStreamProvider дает приложению контроль над созданием и освобождением выходных потоков. Не закрывайте поток до завершения рендеринга.
Другие возможности Aspose.HTML for .NET
Перейдите к инструментам и руководствам по конвертации, редактированию, генерации кода и проверке доступности.