Создание архива 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

  1. Загрузите редактируемый исходный документ с помощью конструктора HTMLDocument .
  2. Найдите нужный узел DOM с помощью QuerySelector() или другого метода навигации.
  3. Измените содержимое, атрибуты или стили элемента до создания архива.
  4. Создайте экземпляр MHTMLSaveOptions и настройте обработку ресурсов, если стандартного поведения недостаточно.
  5. Вызовите 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

Перейдите к редактированию, созданию архивов, конвертации или объединению.