Конвертировать 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 построчно:
- Загрузите файл HTML с помощью класса HTMLDocument.
- Создайте экземпляр класса MHTMLSaveOptions.
- Используйте метод 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 и т. д.
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 с настраиваемыми параметрами сохранения:
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 с высоким качеством, легко и быстро. Просто загрузите, конвертируйте свои файлы и получите результат за несколько секунд!