Конвертировать HTML в MHTML – примеры C#

MHTML объединяет обычный HTML с внешними ресурсами, такими как изображения, анимация, аудио и т. д., в один файл с расширением .mht. MHTML использует протокол электронной почты MIME для объединения элементов в один архивный файл веб-страницы. С MHTML архивирование веб-страниц в Интернете становится намного проще и менее загроможденным.

В этой статье вы найдете информацию о том, как преобразовать HTML в MHTML и как использовать MHTMLSaveOptions.

Онлайн HTML Конвертер

Вы можете конвертировать HTML в MHTML с помощью Aspose.HTML for .NET API в режиме реального времени. Сначала загрузите файл HTML с локального диска, а затем запустите пример. В этом примере параметры сохранения установлены по умолчанию. Вы сразу же получите результат конвертации в виде отдельного файла.

                
            

Если вы хотите программно преобразовать HTML в MHTML, давайте рассмотрим следующие примеры кода C#.

HTML в MHTML одной строкой кода

Статические методы класса Converter в основном используются как самый простой способ преобразования HTML-кода в различные форматы. Вы можете преобразовать HTML в MHTML в своем приложении C# буквально с помощью одной строки кода!

1// Invoke the ConvertHTML() method to convert HTML to MHTML
2Converter.ConvertHTML(@"<h1>Hellow, Word!</h1>", ".", new MHTMLSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.mht"));

Конвертировать HTML в MHTML

Преобразование файла в другой формат методом ConvertHTML() представляет собой последовательность операций, среди которых загрузка и сохранение документа. В следующем примере показано, как преобразовать HTML в MHTML построчно:

  1. Загрузите файл HTML с помощью класса HTMLDocument.
  2. Создайте экземпляр класса MHTMLSaveOptions.
  3. Используйте метод ConvertHTML() из Converter для сохранения документа HTML в виде файла MHTML. Вам необходимо передать HTMLDocument, MHTMLSaveOptions и путь к выходному файлу методу ConvertHTML() для преобразования HTML в MHTML.
 1// Prepare a path to a source HTML file
 2string documentPath = Path.Combine(DataDir, "drawing.html");
 3
 4// Prepare a path to save the converted file
 5string savePath = Path.Combine(OutputDir, "drawing-output.mht");
 6
 7// Initialize an HTML document from the file
 8using var document = new HTMLDocument(documentPath);
 9
10// Initialize MHTMLSaveOptions 
11var options = new MHTMLSaveOptions();
12
13// Convert HTML to MHTML
14Converter.ConvertHTML(document, options, savePath);

Вы можете скачать полные примеры и файлы данных с GitHub.

Параметры Сохранения

Aspose.HTML позволяет конвертировать HTML в MHTML, используя стандартные или пользовательские параметры сохранения. Использование MHTMLSaveOptions позволяет настроить процесс рендеринга; вы можете указать PageUrlRestriction, ResourceUrlRestriction, MaxHandlingDepth и т. д.

PropertyDescription
PageUrlRestrictionThis property gets or sets restrictions applied to URLs of handled pages. The default value is RootAndSubFolders.
ResourceUrlRestrictionGets or sets restrictions applied to URLs of handled resources such as CSS, js, images, etc. The default is SameHost.
MaxHandlingDepthGets or sets the maximum depth of pages that will be handled.

Чтобы узнать больше о MHTMLSaveOptions, прочитайте Конвертеры тонкой настройки.

Конвертировать HTML в MHTML с использованием MHTMLSaveOptions

Чтобы конвертировать HTML в MHTML с указанием MHTMLSaveOptions, вам необходимо выполнить несколько шагов:

  1. Загрузите или подготовьте файл HTML.
  2. Создайте новый объект MHTMLSaveOptions.
  3. Используйте метод ConvertHTML() класса Converter, чтобы сохранить HTML как файл MHTML. Вам необходимо передать HTMLDocument, MHTMLSaveOptions и путь к выходному файлу методу ConvertHTML() для преобразования HTML в MHTML.

В следующем примере показано, как использовать MHTMLSaveOptions и создать файл MHTML с настраиваемыми параметрами сохранения:

 1// Prepare HTML code with a link to another file and save it to the file as 'document.html'
 2var code = "<span>Hello, World!!</span> " +
 3           "<a href='document2.html'>click</a>";
 4File.WriteAllText("document.html", code);
 5
 6// Prepare HTML code and save it to the file as 'document2.html'
 7code = @"<span>Hello, World!!</span>";
 8File.WriteAllText("document2.html", code);
 9
10string savePath = Path.Combine(OutputDir, "output-options.mht");
11
12// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
13var options = new MHTMLSaveOptions()
14{
15    ResourceHandlingOptions =
16    {
17        MaxHandlingDepth = 1
18    }
19};
20
21// Convert HTML to MHTML
22Converter.ConvertHTML("document.html", options, savePath);

Конструктор MHTMLSaveOptions() инициализирует экземпляр класса MHTMLSaveOptions, который передается методу ConvertHTML(). Метод ConvertHTML() принимает «документ», «параметры», путь к выходному файлу «savePath» и выполняет операцию преобразования. Класс MHTMLSaveOptions предоставляет множество свойств, которые дают вам полный контроль над широким диапазоном параметров и улучшают процесс преобразования HTML в формат MHTML.

В приведенном выше примере мы используем свойство MaxHandlingDepth = 1, что означает, что будут обрабатываться только страницы, на которые есть прямые ссылки из сохраненного документа.

Вы можете скачать полные примеры и файлы данных с GitHub.

Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в MHTML, который конвертирует HTML в MHTML с высоким качеством, легко и быстро. Просто загрузите, конвертируйте свои файлы и получите результат за несколько секунд!

Text “Конвертер HTML в MHTML”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.