Конвертировать 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// Convert HTML to MHTML using C#
2
3// Invoke the ConvertHTML() method to convert HTML to MHTML
4Converter.ConvertHTML(@"<h1>Hellow, Word!</h1>", ".", new MHTMLSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.mht"));
Конвертировать HTML в MHTML
Преобразование файла в другой формат методом ConvertHTML() представляет собой последовательность операций, среди которых загрузка и сохранение документа. В следующем примере показано, как преобразовать HTML в MHTML построчно:
- Загрузите файл HTML с помощью класса HTMLDocument.
- Создайте экземпляр класса MHTMLSaveOptions.
- Используйте метод ConvertHTML() из Converter для сохранения документа HTML в виде файла MHTML. Вам необходимо передать HTMLDocument, MHTMLSaveOptions и путь к выходному файлу методу ConvertHTML() для преобразования HTML в MHTML.
1// Convert HTML to MHTML in C#
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "drawing.html");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "drawing-output.mht");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize MHTMLSaveOptions
13MHTMLSaveOptions options = new MHTMLSaveOptions();
14
15// Convert HTML to MHTML
16Converter.ConvertHTML(document, options, savePath);
Вы можете скачать полные примеры и файлы данных с GitHub.
Параметры Сохранения
Aspose.HTML позволяет конвертировать HTML в MHTML, используя стандартные или пользовательские параметры сохранения. Использование MHTMLSaveOptions позволяет настроить процесс рендеринга; вы можете указать PageUrlRestriction, ResourceUrlRestriction, MaxHandlingDepth и т. д.
Property | Description |
---|---|
PageUrlRestriction | This property gets or sets restrictions applied to URLs of handled pages. The default value is RootAndSubFolders. |
ResourceUrlRestriction | Gets or sets restrictions applied to URLs of handled resources such as CSS, js, images, etc. The default is SameHost. |
MaxHandlingDepth | Gets or sets the maximum depth of pages that will be handled. |
Чтобы узнать больше о MHTMLSaveOptions, прочитайте Конвертеры тонкой настройки.
Конвертировать HTML в MHTML с использованием MHTMLSaveOptions
Чтобы конвертировать HTML в MHTML с указанием MHTMLSaveOptions, вам необходимо выполнить несколько шагов:
- Загрузите или подготовьте файл HTML.
- Создайте новый объект MHTMLSaveOptions.
- Используйте метод ConvertHTML() класса Converter, чтобы сохранить HTML как файл MHTML. Вам необходимо передать HTMLDocument, MHTMLSaveOptions и путь к выходному файлу методу ConvertHTML() для преобразования HTML в MHTML.
В следующем примере показано, как использовать MHTMLSaveOptions и создать файл MHTML с настраиваемыми параметрами сохранения:
1// Convert HTML to MHTML with custom settings using C#
2
3// Prepare HTML code with a link to another file and save it to the file as 'document.html'
4string code = "<span>Hello, World!!</span> " +
5 "<a href='document2.html'>click</a>";
6File.WriteAllText("document.html", code);
7
8// Prepare HTML code and save it to the file as 'document2.html'
9code = @"<span>Hello, World!!</span>";
10File.WriteAllText("document2.html", code);
11
12string savePath = Path.Combine(OutputDir, "output-options.mht");
13
14// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
15MHTMLSaveOptions options = new MHTMLSaveOptions()
16{
17 ResourceHandlingOptions =
18 {
19 MaxHandlingDepth = 1
20 }
21};
22
23// Convert HTML to MHTML
24Converter.ConvertHTML("document.html", options, savePath);
Конструктор MHTMLSaveOptions() инициализирует экземпляр класса MHTMLSaveOptions, который передается методу ConvertHTML(). Метод ConvertHTML() принимает «документ», «параметры», путь к выходному файлу «savePath» и выполняет операцию преобразования. Класс MHTMLSaveOptions предоставляет множество свойств, которые дают вам полный контроль над широким диапазоном параметров и улучшают процесс преобразования HTML в формат MHTML.
В приведенном выше примере мы используем свойство MaxHandlingDepth = 1
, что означает, что будут обрабатываться только страницы, на которые есть прямые ссылки из сохраненного документа.
Вы можете скачать полные примеры и файлы данных с GitHub.
Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в MHTML, который конвертирует HTML в MHTML с высоким качеством, легко и быстро. Просто загрузите, конвертируйте свои файлы и получите результат за несколько секунд!