Конвертировать HTML в MHTML – Aspose.HTML Cloud SDK Конвертация между форматами требуется по разным причинам: для работы в привычном удобном формате или для использования разных форматов для конкретных задач. Aspose.HTML Cloud предоставляет самый простой способ конвертировать документы HTML в формат MHTML с высоким качеством, легко и быстро.
MHTML объединяет HTML и связанные с ним ресурсы (изображения, таблицы стилей и сценарии) в один файл. Преобразование HTML в MHTML упрощает архивирование и совместное использование веб-контента за счет объединения всех связанных ресурсов в один автономный файл. Более того, преобразование HTML в MHTML предлагает такие преимущества, как просмотр в автономном режиме, сохранение веб-контента, вложений электронной почты, соблюдение нормативных требований и т. д.
Эта статья содержит примеры кода, объясняющие, как преобразовать HTML в MHTML с помощью доступных SDK. Мы рассмотрим различные сценарии преобразования HTML в MHTML: из хранилища в хранилище, из локального файла в локальную файловую систему и из Интернета в локальную файловую систему.
Примеры преобразования HTML в MHTML Aspose.HTML Cloud позволяет вам получить HTML-документ из места хранения по его имени, из URL-адреса или локального файла на вашем диске, преобразовать его в указанный формат и сохранить в хранилище или на локальном диске. В следующих примерах кода показано, как программно преобразовать HTML в MHTML для различных случаев.
Пример 1. Преобразование HTML в MHTML с параметрами сохранения по умолчанию Рассмотрим пример преобразования локального файла HTML в MHTML и сохранения результата по локальному пути.
C# В следующем примере демонстрируется самый простой способ преобразования HTML в MHTML с применением языка C#. Вы можете скачать C# SDK из
репозитория GitHub .
Copy 1 // Initialize SDK API
2 var api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" ). ConvertApi ;
3
4 // Convert from HTML file to MHTML file
5 var result = await api. ConvertAsync ( "test.html" , "test.mhtml" );
Java В следующем примере показано, как преобразовать HTML в MHTML с использованием языка Java. Вы можете загрузить Java SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromLocalFile ( "input.html" )
8 . saveToLocal ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
C++ В следующем примере показано, как преобразовать HTML в MHTML с применением языка C++. Локальный HTML преобразуется в MHTML и сохраняется по локальному пути.
Copy 1 // Get current directory
2 std: : string cur_dir ( argv[ 0 ]);
3 int pos = cur_dir. find_last_of ( "/\\" );
4 cur_dir = cur_dir. substr ( 0 , pos + 1 ); // Include the last slash
5 std: : wstring w_cur_dir ( cur_dir. begin (), cur_dir. end ());
6
7 const utility:: string_t clientId = L"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ;
8 const utility:: string_t clientSecret = L"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
9 const utility:: string_t basePath = L"https://api.aspose.cloud/v4.0" ;
10 const utility:: string_t authPath = L"https://api.aspose.cloud/connect/token" ;
11
12 // Create configuration for authorization
13 std: : shared_ptr< ApiConfiguration> apiConfig ( new ApiConfiguration( clientId, clientSecret, basePath, authPath));
14
15 // Create client from configuration
16 std: : shared_ptr< ApiClient> apiClient ( new ApiClient( apiConfig));
17
18 // Create ConversionApi
19 std: : shared_ptr< ConversionApi> api = std:: make_shared< ConversionApi>( apiClient);
20
21 // File name for conversion
22 utility: : string_t src = w_cur_dir + L"test.html" ;
23 utility: : string_t dst = w_cur_dir + L"result.mhtml" ;
24
25 //Conversion
26 auto result = api-> convertLocalToLocal( src, dst);
27
28 // Check the result file
29 auto re = result-> getFile();
30 std: : ifstream f ( re. c_str ());
31 if (! f. good ())
32 {
33 throw std:: runtime_error( "Conversion failed" );
34 }
Python В следующем примере показано, как преобразовать HTML в MHTML на Python. Вы можете скачать Python SDK из
репозитория GitHub .
Copy 1 from asposehtmlcloud. configuration import Configuration
2 from asposehtmlcloud. api . html_api import HtmlApi
3 from asposehtmlcloud. api_client import ApiClient as Client
4 from asposehtmlcloud. rest import ApiException
5
6 configuration = Configuration( apiKey= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
7 appSid= "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
8 basePath= "https://api.aspose.cloud/v4.0" ,
9 authPath= "https://api.aspose.cloud/connect/token" ,
10 debug= True)
11 client = Client( configuration)
12 html_api = HtmlApi( client)
13
14 try:
15 res = html_api. convertApi . convert_local_to_local ( input_file= "test.html" , output_file= "test.mhtml" )
16 except ApiException as ex:
17 print( "Exception" )
18 print( "Info: " + str( ex))
19 raise ex
PHP В следующем примере показано, как преобразовать HTML в MHTML на PHP. Вы можете скачать PHP SDK из
репозитория GitHub .
Copy 1 <? php
2 require_once ( __DIR__ . ' / vendor/ autoload. php ' );
3
4 $conf = array(
5 "basePath" => "https://api.aspose.cloud/v4.0" ,
6 "authPath" => "https://api.aspose.cloud/connect/token" ,
7 "apiKey" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
8 "appSID" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
9 "defaultUserAgent" => "Webkit"
10 );
11
12 $api_html = new Client\ Invoker\ Api\ HtmlApi( $conf);
13
14 $src = ' input. html ' ;
15 $dst = ' output. mhtml ' ;
16
17 try {
18 // Request to server Api
19 $result = $api_html-> convertLocalToLocal( $src, $dst);
20 print_r( $result);
21 } catch ( Exception $e) {
22 echo ' Exception when calling HtmlApi-> convertLocalToLocal: ' , $e-> getMessage(), PHP_EOL;
23 }
24
25 ?>
Ruby В следующем примере показано, как преобразовать HTML в MHTML на Ruby. Вы можете скачать Ruby SDK из
репозитория GitHub .
Copy 1 # load the gem
2 require ' aspose_html_cloud'
3
4 # Get keys from aspose site.
5 # There is free quota available.
6 # For more details, see https: //purchase.aspose.cloud/pricing
7
8 CONFIG = {
9 "basePath" : "https://api.aspose.cloud/v4.0" ,
10 "authPath" : "https://api.aspose.cloud/connect/token" ,
11 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
12 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
13 "debug" : true
14 }
15
16 api_instance = AsposeHtml:: HtmlApi. new CONFIG
17
18 src = "test.html" # String | Full path to the input file.
19 dst = "test.mhtml" # String | Full path to the result.
20
21 begin
22 # Convert the document from the local file and save result to the local file.
23 result = api_instance. convert_local_to_local ( src, dst)
24 p result
25 rescue AsposeHtml:: ApiError => e
26 puts "Exception when calling api_instance.convert_local_to_local: #{e}"
27 end
Node.js В следующем примере показано, как преобразовать HTML в MHTML с помощью языка Node.js. Локальный HTML преобразуется в MHTML и сохраняется по локальному пути.
Copy 1 // Get keys from aspose site.
2 // There is free quota available.
3 // For more details, see https://purchase.aspose.cloud/pricing
4
5 var conf = {
6 "basePath" : "https://api.aspose.cloud/v4.0" ,
7 "authPath" : "https://api.aspose.cloud/connect/token" ,
8 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
9 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
10 "defaultUserAgent" : "NodeJsWebkit"
11 };
12
13 var api = require( ' @asposecloud / aspose- html- cloud' );
14
15 // Create Conversion Api object
16 var conversionApi = new api. ConversionApi ( conf);
17
18 var src = "/path/to/src/test.html" ; // {String} Source document.
19 var dst = "/path/to/dst/test.mhtml" ; // {String} Result document.
20 var opts = null ;
21
22 var callback = function( error, data, response) {
23 if ( error) {
24 console. error ( error);
25 } else {
26 console. log ( data);
27 }
28 };
29
30 conversionApi. convertLocalToLocal ( src, dst, opts, callback);
Swift В следующем примере показано, как преобразовать HTML в MHTML на Swift. Вы можете скачать Swift SDK из
репозитория GitHub .
Copy 1 import Alamofire
2 import Foundation
3 import XCTest
4 import AsposeHtmlCloud
5
6 static let fm = FileManager. default
7 let resourceDir = fm. homeDirectoryForCurrentUser . appendingPathComponent ( "Documents/Aspose.HTML.Cloud.SDK.Swift/Tests/AsposeHtmlCloudTests/Resources" )
8 let resultDir = fm. homeDirectoryForCurrentUser . appendingPathComponent ( "Documents/Aspose.HTML.Cloud.SDK.Swift/Tests/AsposeHtmlCloudTests/TestResult" )
9
10 func url ( forResource fileName: String) -> URL {
11 return resourceDir. appendingPathComponent ( fileName)
12 }
13
14 func fileExist ( name: String) -> Bool {
15 return FileManager. default . fileExists ( atPath: name)
16 }
17
18 ClientAPI. setConfig (
19 basePath: "https://api.aspose.cloud/v4.0" ,
20 authPath: "https://api.aspose.cloud/connect/token" ,
21 apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
22 appSID: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
23 debugging: true
24 )
25
26 let fileName = "test.html"
27 let format = "mhtml"
28 let src = url( forResource: fileName). absoluteString
29
30 let expectation = self. expectation ( description: "testConvert to \(format)" )
31 let dst = resultDir. appendingPathComponent ( "Output.\(format)" ). absoluteString
32 HtmlAPI. convertLocalToLocal ( src: src, dst: dst, options: nil) { ( data, error) in
33
34 guard error == nil else {
35 XCTFail( "Error convert html to \(format)). Error=\(error!.localizedDescription)" )
36 return
37 }
38 let resultPath = data!. file !
39 XCTAssertTrue( fileExist( name: resultPath))
40 expectation. fulfill ()
41 }
42 self. waitForExpectations ( timeout: 100.0 , handler: nil)
Java/Android В следующем примере показано, как преобразовать HTML в MHTML с помощью Java/Android. Вы можете загрузить Java/Android SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromLocalFile ( "input.html" )
8 . saveToLocal ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
CURL Загрузите локальный файл в хранилище с помощью
Storage API . Вызовите REST API для выполнения преобразования (в примере ниже). Загрузите результат преобразования обратно из хранилища с помощью
Storage API . В следующем примере показано, как преобразовать HTML в MHTML используя REST API. Выполните несколько обязательных шагов:
Copy 1 curl - X POST - v \
2 "https://api.aspose.cloud/v4.0/html/conversion/html-mhtml" \
3 - d "{'InputPath': '/testpage.html', 'OutputFile': 'test.mhtml'}" \
4 - H "Content-Type: application/json" \
5 - H "Authorization:Bearer <JWT_token>"
Пример 2. Преобразование веб-страницы в MHTML Преобразование в MHTML помогает сохранить целостность и структуру веб-страниц, гарантируя сохранение всех элементов для будущего использования или распространения. Aspose.HTML Cloud позволяет вам получить веб-страницу по ее URL-адресу, преобразовать ее в другой формат и сохранить в локальную файловую систему. В приведенном ниже примере показано, как преобразовать веб-страницу в MHTML с параметрами преобразования по умолчанию.
C# В следующем примере показано, как преобразовать HTML в MHTML с применением языка C#. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете скачать C# SDK из
репозитория GitHub .
Copy 1 // Initialize SDK API
2 var api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" ). ConvertApi ;
3
4 // Convert HTML to MHTML using ConvertUrlAsync() method
5 var result = await api. ConvertUrlAsync ( "https://example.com" , "test.mhtml" );
Java В следующем примере показано, как преобразовать HTML в MHTML с использованием языка Java. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете загрузить Java SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromUrl ( "https://example.com" )
8 . saveToLocal ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
C++ В следующем примере показано, как преобразовать HTML в MHTML с помощью языка C++. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе.
Copy 1 // Get current directory
2 std: : string cur_dir ( argv[ 0 ]);
3 int pos = cur_dir. find_last_of ( "/\\" );
4 cur_dir = cur_dir. substr ( 0 , pos + 1 ); // Include the last slash
5 std: : wstring w_cur_dir ( cur_dir. begin (), cur_dir. end ());
6
7 const utility:: string_t clientId = L"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ;
8 const utility:: string_t clientSecret = L"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
9 const utility:: string_t basePath = L"https://api.aspose.cloud/v4.0" ;
10 const utility:: string_t authPath = L"https://api.aspose.cloud/connect/token" ;
11
12 // Create configuration for authorization
13 std: : shared_ptr< ApiConfiguration> apiConfig ( new ApiConfiguration( clientId, clientSecret, basePath, authPath));
14
15 // Create client from configuration
16 std: : shared_ptr< ApiClient> apiClient ( new ApiClient( apiConfig));
17
18 // Create ConversionApi
19 std: : shared_ptr< ConversionApi> api = std:: make_shared< ConversionApi>( apiClient);
20
21 // File name for conversion
22 utility: : string_t src = L"https://example.com" ;
23 utility: : string_t dst = w_cur_dir + L"result.mhtml" ;
24
25 //Conversion
26 auto result = api-> convertUrlToLocal( src, dst);
27
28 // Check the result file
29 auto re = result-> getFile();
30 std: : ifstream f ( re. c_str ());
31 if (! f. good ())
32 {
33 throw std:: runtime_error( "Conversion failed" );
34 }
Python В следующем примере показано, как преобразовать HTML в MHTML на Python. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете скачать Python SDK из
репозитория GitHub .
Copy 1 import os
2 from asposehtmlcloud. configuration import Configuration
3 from asposehtmlcloud. api . html_api import HtmlApi
4 from asposehtmlcloud. api_client import ApiClient as Client
5 from asposehtmlcloud. rest import ApiException
6
7 # Get keys from aspose site.
8 # There is free quota available.
9 # For more details, see https: //purchase.aspose.cloud/pricing
10
11 configuration = Configuration( apiKey= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
12 appSid= "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
13 basePath= "https://api.aspose.cloud/v4.0" ,
14 authPath= "https://api.aspose.cloud/connect/token" ,
15 debug= True)
16
17 client = Client( configuration)
18 html_api = HtmlApi( client)
19
20 try:
21 res = html_api. convert_url_to_local ( input_file= "https://example.com" , output_file= "result.mhtml" )
22 if not os. path . exists ( res. file ):
23 print( ' conversion failed' )
24 except ApiException as ex:
25 print( "Exception" )
26 print( "Info: " + str( ex))
27 raise ex
PHP В следующем примере показано, как преобразовать HTML в MHTML на PHP. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете скачать PHP SDK из
репозитория GitHub .
Copy 1 <? php
2 require_once ( __DIR__ . ' / vendor/ autoload. php ' );
3
4 $conf = array(
5 "basePath" => "https://api.aspose.cloud/v4.0" ,
6 "authPath" => "https://api.aspose.cloud/connect/token" ,
7 "apiKey" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
8 "appSID" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
9 "defaultUserAgent" => "Webkit"
10 );
11
12 $api_html = new Client\ Invoker\ Api\ HtmlApi( $conf);
13
14 $src = ' https: //example.com';
15 $dst = ' output. mhtml ' ;
16
17 try {
18 // Request to server Api
19 $result = $api_html-> convertUrlToLocal( $src, $dst);
20 print_r( $result);
21 } catch ( Exception $e) {
22 echo ' Exception when calling HtmlApi-> convertUrlToLocal: ' , $e-> getMessage(), PHP_EOL;
23 }
24 ?>
Ruby В следующем примере показано, как преобразовать HTML в MHTML на Ruby. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете скачать Ruby SDK из
репозитория GitHub .
Copy 1 # load the gem
2 require ' aspose_html_cloud'
3
4 # Get keys from aspose site.
5 # There is free quota available.
6 # For more details, see https: //purchase.aspose.cloud/pricing
7
8
9 CONFIG = {
10 "basePath" : "https://api.aspose.cloud/v4.0" ,
11 "authPath" : "https://api.aspose.cloud/connect/token" ,
12 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
13 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
14 "debug" : true
15 }
16
17 api_instance = AsposeHtml:: HtmlApi. new CONFIG
18
19 src = "https://example.com" # String | Input url.
20 dst = "test.mhtml" # String | Result file.
21
22 begin
23 # Convert the HTML file from the web and save result to the local file.
24 result = api_instance. convert_url_to_local ( src, dst)
25 p result
26 rescue AsposeHtml:: ApiError => e
27 puts "Exception when calling api_instance.convert_url_to_local: #{e}"
28 end
Node.js В следующем примере показано, как преобразовать HTML в MHTML на Node.js. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе.
Copy 1 // Get keys from aspose site.
2 // There is free quota available.
3 // For more details, see https://purchase.aspose.cloud/pricing
4
5 var conf = {
6 "basePath" : "https://api.aspose.cloud/v4.0" ,
7 "authPath" : "https://api.aspose.cloud/connect/token" ,
8 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
9 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
10 "defaultUserAgent" : "NodeJsWebkit"
11 };
12
13 var api = require( ' @asposecloud / aspose- html- cloud' );
14
15 // Create Conversion Api object
16 var conversionApi = new api. ConversionApi ( conf);
17
18 var src = "https://example.com" ; // {String} Url for conversion.
19 var dst = "/path/to/dst/test.mhtml" ; // {String} Result document.
20 var opts = null ;
21
22 var callback = function( error, data, response) {
23 if ( error) {
24 console. error ( error);
25 } else {
26 console. log ( data);
27 }
28 };
29
30 conversionApi. convertUrlToLocal ( src, dst, opts, callback);
Swift В следующем примере показано, как преобразовать HTML в MHTML на Swift. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете скачать Swift SDK из
репозитория GitHub .
Copy 1 import Alamofire
2 import Foundation
3 import XCTest
4 import AsposeHtmlCloud
5
6 static let fm = FileManager. default
7 let resultDir = fm. homeDirectoryForCurrentUser . appendingPathComponent ( "Documents/Aspose.HTML.Cloud.SDK.Swift/Tests/AsposeHtmlCloudTests/TestResult" )
8
9 func fileExist ( name: String) -> Bool {
10 return FileManager. default . fileExists ( atPath: name)
11 }
12
13 ClientAPI. setConfig (
14 basePath: "https://api.aspose.cloud/v4.0" ,
15 authPath: "https://api.aspose.cloud/connect/token" ,
16 apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
17 appSID: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
18 debugging: true
19 )
20
21 let format = "mhtml"
22 let src = "https://example.com"
23 let dst = resultDir. appendingPathComponent ( "Output.\(format)" ). absoluteString
24
25 let expectation = self. expectation ( description: "testConvert to \(format)" )
26
27 HtmlAPI. convertUrlToLocal ( src: src, dst: dst, options: nil) { ( data, error) in
28
29 guard error == nil else {
30 XCTFail( "Error convert web site to \(format)). Error=\(error!.localizedDescription)" )
31 return
32 }
33 let resultPath = data!. file !
34 XCTAssertTrue( fileExist( name: resultPath))
35 expectation. fulfill ()
36 }
37 self. waitForExpectations ( timeout: 100.0 , handler: nil)
Java/Android В следующем примере показано, как преобразовать HTML в MHTML с помощью Java/Android. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Вы можете загрузить Java/Android SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromUrl ( "https://example.com" )
8 . saveToLocal ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
CURL Вызовите REST API для выполнения преобразования (в примере ниже). Загрузите результат преобразования обратно из хранилища с помощью
Storage API . В следующем примере показано, как преобразовать HTML в MHTML с помощью REST API. HTML берется из Интернета, преобразуется в MHTML и сохраняется в локальной файловой системе. Выполните несколько обязательных шагов:
Copy 1 curl - X POST - v \
2 "https://api.aspose.cloud/v4.0/html/conversion/html-mhtml" \
3 - d "{'InputPath': 'https://example.com', 'OutputFile': 'test.mhtml'}" \
4 - H "Content-Type: application/json" \
5 - H "Authorization:Bearer <JWT_token>"
Преобразование HTML в MHTML происходит с использованием параметров преобразования по умолчанию : ширина и высота результирующего документа MHTML соответствуют формату A4, а все поля имеют нулевое значение.
Пример 3. Преобразование HTML в MHTML внутри облачного хранилища. Aspose.HTML Cloud позволяет получить HTML-файл из облачного хранилища и сохранить результат преобразования обратно в облачное хранилище.
C# В следующем примере показано, как преобразовать HTML в MHTML с применением языка C#. HTML-файл находится в облачном хранилище, преобразуется в MHTML и сохраняется обратно в облачное хранилище. Вы можете скачать C# SDK из
репозитория GitHub .
Copy 1 // Initialize SDK API
2 var api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" ). ConvertApi ;
3
4 // Convert HTML to MHTML
5 var builder = new ConverterBuilder()
6 . FromStorageFile ( "/test.html" )
7 . ToStorageFile ( "/test.mhtml" );
8
9 var result = await api. ConvertAsync ( builder);
Java В следующем примере показано, как преобразовать HTML в MHTML с использованием языка Java. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете загрузить Java SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromStorageFile ( "input.html" )
8 . saveToStorage ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
C++ В следующем примере показано, как преобразовать HTML в MHTML с помощью языка C++. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище.
Copy 1 const utility:: string_t clientId = L"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ;
2 const utility:: string_t clientSecret = L"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
3 const utility:: string_t basePath = L"https://api.aspose.cloud/v4.0" ;
4 const utility:: string_t authPath = L"https://api.aspose.cloud/connect/token" ;
5
6 // Create configuration for authorization
7 std: : shared_ptr< ApiConfiguration> apiConfig ( new ApiConfiguration( clientId, clientSecret, basePath, authPath));
8
9 // Create client from configuration
10 std: : shared_ptr< ApiClient> apiClient ( new ApiClient( apiConfig));
11
12 // Create ConversionApi
13 std: : shared_ptr< ConversionApi> api = std:: make_shared< ConversionApi>( apiClient);
14
15 // File name for conversion
16 utility: : string_t src = L"file/in/storage/index.html" ;
17 utility: : string_t dst = L"result/in/storage/result.mhtml" ;
18
19 //Conversion
20 auto result = api-> convertStorageToStorage( src, dst);
Python В следующем примере показано, как преобразовать HTML в MHTML на Python. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете скачать Python SDK из
репозитория GitHub .
Copy 1 from asposehtmlcloud. configuration import Configuration
2 from asposehtmlcloud. api . html_api import HtmlApi
3 from asposehtmlcloud. api_client import ApiClient as Client
4 from asposehtmlcloud. rest import ApiException
5
6 configuration = Configuration( apiKey= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
7 appSid= "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
8 basePath= "https://api.aspose.cloud/v4.0" ,
9 authPath= "https://api.aspose.cloud/connect/token" ,
10 debug= True)
11 client = Client( configuration)
12 html_api = HtmlApi( client)
13
14 try:
15 res = html_api. convertApi . convert_storage_to_storage ( input_file= "test.html" , output_file= "test.mhtml" ,
16 storage_name= None)
17 except ApiException as ex:
18 print( "Exception" )
19 print( "Info: " + str( ex))
20 raise ex
PHP В следующем примере показано, как преобразовать HTML в MHTML на PHP. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете скачать PHP SDK из
репозитория GitHub .
Copy 1 <? php
2 require_once ( __DIR__ . ' / vendor/ autoload. php ' );
3
4 $configuration = array(
5 "basePath" => "https://api.aspose.cloud/v4.0" ,
6 "authPath" => "https://api.aspose.cloud/connect/token" ,
7 "apiKey" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
8 "appSID" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
9 "defaultUserAgent" => "Webkit"
10 );
11
12 $api_html = new HtmlApi( $configuration);
13
14 $src = "FolderInStorage/test.html" ;
15 $dst = ' FolderInStorage/ test. mhtml ' ;
16 $options = null ;
17
18 try {
19 $result = $api_html-> convertStorageToStorage( $src, $dst, null , $options);
20 print_r( $result);
21 } catch ( Exception $e) {
22 echo ' Exception when calling $api_html-> convertStorageToStorage: ' , $e-> getMessage(), PHP_EOL;
23 }
24 ?>
Ruby В следующем примере показано, как преобразовать HTML в MHTML на Ruby. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете скачать Ruby SDK из
репозитория GitHub .
Copy 1 # load the gem
2 require ' aspose_html_cloud'
3
4 # Get keys from aspose site.
5 # There is free quota available.
6 # For more details, see https: //purchase.aspose.cloud/pricing
7
8
9 CONFIG = {
10 "basePath" : "https://api.aspose.cloud/v4.0" ,
11 "authPath" : "https://api.aspose.cloud/connect/token" ,
12 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
13 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
14 "debug" : true
15 }
16
17 api_instance = AsposeHtml:: HtmlApi. new CONFIG
18
19 src = "FolderInStorage/test.html" # String | Source file.
20 dst = "FolderInStorage/test.mhtml" # String | Result file.
21 storage = nil
22
23 begin
24 # Convert the file from the storage and save result to the storage.
25 result = api_instance. convert_storage_to_storage ( src, dst, storage)
26 p result
27 rescue AsposeHtml:: ApiError => e
28 puts "Exception when calling api_instance.convert_storage_to_storage: #{e}"
29 end
Node.js В следующем примере показано, как преобразовать HTML в MHTML на Node.js. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище.
Copy 1 // Get keys from aspose site.
2 // There is free quota available.
3 // For more details, see https://purchase.aspose.cloud/pricing
4
5 var conf = {
6 "basePath" : "https://api.aspose.cloud/v4.0" ,
7 "authPath" : "https://api.aspose.cloud/connect/token" ,
8 "apiKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
9 "appSID" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
10 "defaultUserAgent" : "NodeJsWebkit"
11 };
12
13 var api = require( ' @asposecloud / aspose- html- cloud' );
14
15 // Create Conversion Api object
16 var conversionApi = new api. ConversionApi ( conf);
17
18 var src = "FolderInStorage/test.html" ; // {String} Source document.
19 var dst = "FolderInStorage/test.mhtml" ; // {String} Result document.
20 var opts = null ;
21 var storage = null ;
22
23 var callback = function( error, data, response) {
24 if ( error) {
25 console. error ( error);
26 } else {
27 console. log ( data);
28 }
29 };
30
31 conversionApi. convertStorageToStorage ( src, dst, storage, opts, callback);
Swift В следующем примере показано, как преобразовать HTML в MHTML на Swift. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете скачать Swift SDK из
репозитория GitHub .
Copy 1 import Alamofire
2 import Foundation
3 import XCTest
4 import AsposeHtmlCloud
5
6 ClientAPI. setConfig (
7 basePath: "https://api.aspose.cloud/v4.0" ,
8 authPath: "https://api.aspose.cloud/connect/token" ,
9 apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ,
10 appSID: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ,
11 debugging: true
12 )
13
14 let src = "FolderInStorage/test.html"
15 let dst = "FolderInStorage/test.mhtml"
16
17 let expectation = self. expectation ( description: "testConvert to mhtml" )
18
19 HtmlAPI. convertStorageToStorage ( src: src, dst: dst, storage: nil, options: nil) { ( data, error) in
20
21 guard error == nil else {
22 XCTFail( "Error convert html to mhtml. Error=\(error!.localizedDescription)" )
23 return
24 }
25
26 let resultPath = data!. file !
27
28 StorageAPI. objectExists ( path: resultPath, storageName: nil, versionId: nil) {( data, error) in
29 guard error == nil else {
30 XCTFail( "Error objectExists exist. Error=\(error!.localizedDescription)" )
31 return
32 }
33
34 XCTAssertTrue( data!. exists )
35 XCTAssertFalse( data!. isFolder )
36 expectation. fulfill ()
37 }
38 }
39 self. waitForExpectations ( timeout: 100.0 , handler: nil)
Java/Android В следующем примере показано, как преобразовать HTML в MHTML с помощью Java/Android. HTML-файл находится в облачном хранилище, конвертируется в MHTML и сохраняется обратно в облачное хранилище. Вы можете загрузить Java/Android SDK из
репозитория GitHub .
Copy 1 Configuration. setBasePath ( "https://api.aspose.cloud" );
2 Configuration. setAuthPath ( "https://api.aspose.cloud/connect/token" );
3
4 HtmlApi api = new HtmlApi( "CLIENT_ID" , "CLIENT_SECRET" );
5
6 JobBuilder builder = new ConverterBuilder()
7 . fromStorageFile ( "input.html" )
8 . saveToStorage ( "output.mhtml" );
9
10 OperationResult result = api. convert ( builder);
CURL В следующем примере показано, как преобразовать HTML в MHTML с помощью REST API. HTML-файл находится в облачном хранилище, преобразуется в MHTML и сохраняется обратно в облачное хранилище.
Copy 1 curl - X POST - v \
2 "https://api.aspose.cloud/v4.0/html/conversion/html-mhtml" \
3 - d "{'InputPath': '/test.html', 'OutputFile': '/test.mhtml'}" \
4 - H "Content-Type: application/json" \
5 - H "Authorization:Bearer <JWT_token>"
Смотрите также В статье
Параметры конвертации описан набор классов, представляющих параметры преобразования исходного документа на основе HTML в PDF, XPS и изображения. Облачный API Aspose.HTML вы можете вызвать непосредственно из браузера, открыв
Справочник по API . Aspose.HTML предлагает бесплатный онлайн
HTML в MHTML Конвертер , который конвертирует HTML в MHTML с высоким качеством, легкостью и скоростью. Просто загрузите файлы, конвертируйте их и получите результат через несколько секунд!