Создание архива MHTML из отредактированного HTML
Aspose.HTML for .NET
загружает HTML в редактируемый
HTMLDocument
. После того как приложение C# изменит узлы DOM, текст, атрибуты или стили,
MHTMLSaveOptions
упакует полученный HTML и обработанные ресурсы в веб-архив MHTML или MHT.
Этот сценарий создает новый архив MHTML из редактируемого HTML. Он не открывает существующий архив .mhtml или .mht как редактируемый HTML DOM.
Изменение HTML и сохранение результата в MHTML
Следующий пример загружает input.html, обновляет первый абзац и записывает измененный документ вместе с обработанными ресурсами в edited.mhtml.
Код C# для создания MHTML из измененного HTML
using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Saving;
using HTMLDocument document = new HTMLDocument("input.html");
// Update the HTML DOM before creating the archive
Element paragraph = document.QuerySelector("p");
if (paragraph != null)
{
paragraph.TextContent = "Updated paragraph text.";
paragraph.SetAttribute("class", "updated-content");
}
// Package the edited HTML and handled resources as MHTML
MHTMLSaveOptions options = new MHTMLSaveOptions();
document.Save("edited.mhtml", options);
Шаги создания MHTML из измененного HTML
- Загрузите редактируемый исходный документ с помощью конструктора
HTMLDocument. - Найдите нужный узел DOM с помощью
QuerySelector()или другого метода навигации. - Измените содержимое, атрибуты или стили элемента до создания архива.
- Создайте экземпляр
MHTMLSaveOptionsи настройте обработку ресурсов, если стандартного поведения недостаточно. - Вызовите
Save()с параметрами MHTML и выходным путем с расширением.mhtmlили.mht.
Возможности и ограничения создания MHTML
- Редактирование перед упаковкой. Изменяйте HTML DOM через те же API узлов, селекторов, атрибутов, текста и стилей, что используются в сценарии редактирования HTML .
- Создание веб-архива в одном файле. Упакуйте измененный HTML и обработанные ресурсы в MHTML-файл для хранения, передачи или автономного использования.
- Управление обработкой ресурсов. Используйте
MHTMLSaveOptions.ResourceHandlingOptions, чтобы настроить ограничения URL, глубину связанных страниц и обработку ресурсов при создании архива. - Учет недоступных ресурсов. Удаленное изображение, таблица стилей, шрифт или скрипт могут не попасть в архив, если их нельзя получить или они исключены заданными ограничениями.
- Обработка существующих архивов в отдельных сценариях. Используйте MHTML в PDF для вывода с фиксированной разметкой или объединение MHTML , чтобы отрендерить несколько архивов в один итоговый документ.
- Страница конвертации для задач без редактирования DOM. Если изменять DOM не требуется, используйте страницу HTML в MHTML с примерами конвертации.
Документация по редактированию HTML и созданию MHTML
Примеры изменения DOM приведены в руководстве
Редактирование HTML-документа
. Статья
Конвертация HTML в MHTML
объясняет создание архива и использование MHTMLSaveOptions. Различия между редактируемыми HTML-документами и сценариями рендеринга MHTML описаны в руководстве
Создание или загрузка HTML-документов
.
Установка Aspose.HTML for .NET
Установите Aspose.HTML for .NET из NuGet с помощью .NET CLI:
dotnet add package Aspose.HTML
Также можно использовать интерфейс диспетчера пакетов NuGet или выполнить Install-Package Aspose.HTML в консоли диспетчера пакетов. Подробные инструкции приведены в
руководстве по установке
. Чтобы протестировать API без ограничений ознакомительной версии, запросите
временную лицензию
.
Вопросы о сохранении измененного HTML в MHTML
1. Можно ли создать MHTML из HTML-строки или потока?
Да. Создайте HTMLDocument из строки или потока и укажите базовый URL, если содержимое использует относительные ссылки на ресурсы. Внесите необходимые изменения в DOM, затем вызовите Save() с MHTMLSaveOptions, чтобы записать архив.
2. Являются ли MHTML и MHT разными форматами?
Нет. Расширения .mhtml и .mht обычно используются для одного и того же формата веб-архива MIME HTML. Выбирайте расширение в соответствии с требованиями принимающего приложения или правилами хранения.
3. Будет ли MHTML содержать все связанные изображения, таблицы стилей, шрифты и скрипты?
Архив может включать ресурсы, которые доступны и разрешены настройками обработки. Недействительные URL, требования аутентификации, сетевые ограничения или фильтры параметров сохранения могут помешать включению ресурса.
4. Изменяет ли сохранение MHTML исходный HTML-файл?
Нет. Изменения DOM находятся в объекте HTMLDocument в памяти, а операция сохранения MHTML записывает отдельный архив по выбранному выходному пути. Исходный файл изменится только в том случае, если приложение явно сохранит данные поверх него.
5. Эквивалентен ли вывод MHTML выводу PDF?
Нет. MHTML представляет собой веб-архив MIME, который хранит HTML и связанные ресурсы для последующей обработки браузером. PDF является документом с фиксированной разметкой для единообразного просмотра, печати и распространения.
Связанные сценарии HTML и MHTML
Перейдите к редактированию, созданию архивов, конвертации или объединению.