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