HTML-ից մինչև XPS

Փոխակերպեք HTML-ը XPS-ի

HyperText Markup Language (HTML) ստանդարտ նշագրման լեզու է վեբ էջի ստեղծման համար: Այն թույլ է տալիս ստեղծել և կառուցվածք ունենալ բաժինների, պարբերությունների և հղումների միջոցով՝ օգտագործելով HTML տարրեր/պիտակներ: Եվ եթե որոշ հատուկ տառատեսակներ օգտագործվում են HTML ֆայլում կամ հղում է արվում որևէ դինամիկ օբյեկտի, որը պահանջում է ակտիվ կապ աղբյուրի մեքենայի/սերվերի հետ, փաստաթղթի հավատարմությունը վտանգելու հնարավորություններ կան: Մյուս կողմից, XML Paper Specification-ում (XPS) էջի տարրերը սահմանվում են անկախ որոշակի օպերացիոն համակարգից, տպիչից կամ դիտող հավելվածից: Այսպիսով, խելացի մոտեցում է HTML-ը XPS ձևաչափի փոխարկելը:

HTML փոխակերպման API

Aspose.HTML Cloud SDK-ն Java-ի համար թեթև REST ճարտարապետության վրա հիմնված API է, որն ապահովում է HTML ֆայլեր ստեղծելու, շահարկելու և փոխակերպելու հնարավորություններ PDF, DOCX, TIFF, JPEG: և այլն: Այն նաև աջակցում է HTML-ի XPS-ի փոխակերպմանը: Այսպիսով, նախ, մենք պետք է ավելացնենք հետևյալ մանրամասները Maven build-ի տիպի նախագծի pom.xml-ում՝ SDK-ն մեր Java նախագծում ներառելու համար:

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
	<artifactId>aspose-html-cloud</artifactId>
	<version>20.7.0</version>
	<scope>compile</scope>
    </dependency>
</dependencies>

Տեղադրումից հետո հաջորդ քայլը մեր ամպային ծառայությունների անվճար բաժանորդագրությունն է Aspose.Cloud dashboard-ի միջոցով՝ օգտագործելով GitHub կամ Google հաշիվ: Կամ պարզապես ստեղծեք նոր Հաշիվ և ստացեք Ձեր Հաճախորդի հավատարմագրերի տվյալները:

Փոխարկել HTML-ը XPS-ի Java-ում

Խնդրում ենք հետևել ստորև նշված հրահանգներին՝ HTML-ից XPS փոխարկիչ մշակելու համար:

  • Նախևառաջ, մենք պետք է մանրամասներ նշենք Configuration.setAPPSID և Configuration.setAPIKEY մեթոդների դեմ:
  • Երկրորդ, մենք մանրամասներ ենք սահմանում setBasePath (..), setAuthPath (..) և սահմանում ենք setUserAgent (…) որպես WebKit:
  • Երրորդ, մեր սեփական աջակցության համար մենք պատրաստվում ենք setDebug(..) սահմանել որպես ճշմարիտ
  • Այժմ ստեղծեք ConversionApi դասի օբյեկտ
  • Ստացված ֆայլի համար նշեք լուսանցքի մանրամասները և անվանումը
  • Ի վերջո, զանգահարեք GetConvertDocumentToXps(…) մեթոդ, որը պահանջում է մուտքագրել HTML անունը, չափերը և լուսանցքի մանրամասները որպես արգումենտ:
// Լրացուցիչ օրինակների համար այցելեք https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Ստացեք ClientID-ը և ClientSecret-ը https://dashboard.aspose.cloud/-ից
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // մանրամասներ Api-ի կանչի համար
    com.aspose.html.Configuration.setAPP_SID(clientId);
    com.aspose.html.Configuration.setAPI_KEY(clientSecret);
    com.aspose.html.Configuration.setBasePath("https://api.aspose.cloud/v3.0");
    com.aspose.html.Configuration.setAuthPath("https://api.aspose.cloud/connect/token");
    com.aspose.html.Configuration.setUserAgent("WebKit");
    com.aspose.html.Configuration.setDebug(true);
        
    // Ստեղծեք Aspose.HTML Cloud API-ի օբյեկտ
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // html փաստաթուղթը ամպային պահեստից
    String name = "list.html";
    // արդյունքի պատկերի ձևաչափը
    String outFormat = "PNG";
    	
    Integer width = 800; // Resulting image width.
    Integer height = 1000; // Resulting image height.
    Integer leftMargin = 10; // Left resulting image margin.
    Integer rightMargin = 10; // Right resulting image margin.
    Integer topMargin = 10; // Top resulting image margin.
    Integer bottomMargin = 10; // Bottom resulting image margin.
    Integer resolution = 300; // Resolution of resulting image.
    String folder = null; // The folder in the storage. Should exist.
    String storage = "Internal"; // Name of the storage. null
    	
    // Կանչեք API-ն HTML-ից XPS փոխակերպման համար
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToXps(name, width, height, leftMargin, rightMargin, topMargin, bottomMargin, folder, storage);
      
    System.out.println("HTML to XPS conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Վերոնշյալ կոդը վերադարձնում է արդյունքը պատասխան հոսքի մեջ, այնպես որ, ելքը տեղական սկավառակի վրա պահելու համար մենք կարող ենք դիտարկել հետևյալ հատուկ մեթոդի օգտագործումը:

/*
* ResponseBody-ի և արդյունքում ֆայլի անվանումը որպես արգումենտ ընդունելու մեթոդ
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Սինքրոն ուղարկեք հարցումը և վերադարձրեք դրա պատասխանը:
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Հաջող պատասխանի ապասերիալացված արձագանքման մարմինը
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Պահել փորձարկման գրացուցակում
	    boolean result = saveToDisc(answer, fileName);
	    
	    // վավերացնել արդյունքի արժեքը ճշմարիտ է (ըստ ցանկության քայլ)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Զանգահարեք այս մեթոդը՝ Response բովանդակությունը որպես ֆայլ տեղական սկավառակում պահելու համար
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // ստեղծել ֆայլի օբյեկտ, որը ցույց է տալիս ստացված ֆայլի գտնվելու վայրը
	    File savedFile = new File("c:\\Downloads\\"+fileName);
      
	    try (InputStream inputStream = body.byteStream();
	    OutputStream outputStream = new FileOutputStream(savedFile))
	    {
	    byte[] fileReader = new byte[4096];
	    long fileSizeDownloaded = 0;

	    while (true) {
	        int read = inputStream.read(fileReader);
		if (read == -1) break;

                // պահպանել ֆայլի հոսքը տեղական սկավառակում
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // մաքրել ելքային հոսքի օրինակը
	    outputStream.flush();
	    
	    // վերադարձնել true, քանի որ ֆայլը հաջողությամբ պահպանվել է
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML-ից մինչև XPS

Պատկեր 1.- HTML-ից XPS նախադիտում

Վերոնշյալ օրինակում օգտագործված նմուշային ֆայլերը կարելի է ներբեռնել list.html և resultantFile.xps-ից:

HTML դեպի XPS՝ օգտագործելով cURL հրամանները

REST API-ներին կարելի է մուտք գործել նաև cURL հրամանների միջոցով, ուստի այս բաժնում մենք պատրաստվում ենք սովորել քայլերը, թե ինչպես կատարել HTML-ի XPS փոխակերպումը cURL հրամանի միջոցով: Այժմ, որպես նախապայման, մենք պետք է նախ ստեղծենք JSON Web Token (JWT)՝ հիմնված ձեր անհատական հաճախորդի հավատարմագրերի վրա: Խնդրում ենք կատարել հետևյալ հրամանը՝ JWT նշանը ստեղծելու համար:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Այժմ, երբ մենք ունենք JWT նշանը, խնդրում ենք կատարել հետևյալ հրամանը տերմինալի վրա՝ HTML-ի XPS փոխակերպումը կատարելու համար:

curl -v -X GET "https://api.aspose.cloud/html/list.html/convert/xps" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o final.xps

Եզրակացություն

Այս հոդվածը բացատրել է REST API-ի միջոցով HTML-ը XPS-ի փոխարկելու մանրամասները: Մենք սովորել ենք HTML-ը XPS-ի փոխարկելու քայլերը՝ օգտագործելով Java կոդի հատվածները, ինչպես նաև cURL հրամանների միջոցով: Ավելին, խնդրում ենք նկատի ունենալ, որ Ապրանքը Փաստաթղթեր հիանալի աղբյուր է API-ի կողմից առաջարկվող զարմանալի հնարավորությունները սովորելու համար: Ավելին, եթե API-ն օգտագործելիս որևէ խնդրի եք հանդիպում, խնդրում ենք ազատ զգալ կապվել Անվճար արտադրանքի աջակցության ֆորում:

Առնչվող հոդվածներ

Մենք նաև խորհուրդ ենք տալիս այցելել հետևյալ բլոգները՝ առնչվող լրացուցիչ մանրամասների համար.