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

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

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

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

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

                
            

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

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

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

1using System.IO;
2using Aspose.Html.Converters;
3using Aspose.Html.Saving;
4...
5    // Invoke the ConvertHTML() method to convert the HTML code to MHTML
6    Converter.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.
 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Converters;
 4using Aspose.Html.Saving;
 5...
 6    // Prepare a path to a source HTML file
 7    string documentPath = Path.Combine(DataDir, "drawing.html");
 8
 9    // Prepare a path for converted file saving 
10    string savePath = Path.Combine(OutputDir, "drawing-output.mht");
11
12    // Initialize an HTML document from the file
13    using var document = new HTMLDocument(documentPath);
14
15    // Initialize MHTMLSaveOptions 
16    var options = new MHTMLSaveOptions();
17
18    // Convert HTML to MHTML
19    Converter.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 с настраиваемыми параметрами сохранения:

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