HTML तः XPS यावत्

HTML XPS मध्ये परिवर्तयन्तु

HyperText Markup Language (HTML) इति जालपुटनिर्माणार्थं मानकमार्कअपभाषा अस्ति । एतत् HTML तत्त्वानां/टैग्स् इत्यस्य उपयोगेन विभागानां, अनुच्छेदानां, लिङ्कानां च निर्माणं, संरचनां च कर्तुं शक्नोति । तथा च यदि HTML सञ्चिकायां केचन कस्टम् फॉन्ट् उपयुज्यन्ते अथवा कोऽपि गतिशीलः वस्तु सन्दर्भितः भवति यस्य स्रोतयन्त्रस्य/सर्वरस्य सक्रियसंयोजनस्य आवश्यकता भवति तर्हि दस्तावेजस्य निष्ठायाः सम्भावनाः सन्ति अपरपक्षे, XML Paper Specification(XPS) इत्यस्मिन् पृष्ठतत्त्वानि कस्यचित् विशेषस्य प्रचालनतन्त्रस्य, मुद्रकस्य, अथवा दृश्यानुप्रयोगस्य स्वतन्त्रतया परिभाषिताः भवन्ति । अतः एकः बुद्धिमान् उपायः अस्ति यत् HTML XPS प्रारूपेण परिवर्तयितुं शक्यते ।

HTML रूपान्तरण एपिआइ

जावा कृते Aspose.HTML Cloud SDK एकः लघुः REST आर्किटेक्चर-आधारितः API अस्ति यः HTML सञ्चिकानां निर्माणं, परिवर्तनं, परिवर्तनं च PDF, DOCX, TIFF, JPEG इत्यत्र कर्तुं क्षमताम् प्रदाति , इत्यादीनि HTML इत्यस्य XPS -रूपान्तरणस्य अपि समर्थनं करोति । अतः, प्रथमं, अस्माकं Java परियोजनायां SDK समावेशयितुं Maven build type project इत्यस्य pom.xml इत्यत्र निम्नलिखितविवरणं योजयितुं आवश्यकम् ।

<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>

संस्थापनानन्तरं अग्रिमः सोपानः GitHub अथवा Google खातेः उपयोगेन Aspose.Cloud dashboard मार्गेण अस्माकं क्लाउड् सेवानां निःशुल्कसदस्यता अस्ति । अथवा, केवलं नवीनं खातं रचयन्तु अपि च स्वस्य Client Credentials विवरणं प्राप्नुवन्तु ।

जावा मध्ये HTML XPS मध्ये परिवर्तयन्तु

कृपया 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
    {
    // https://dashboard.aspose.cloud/ इत्यस्मात् ClientID तथा ClientSecret प्राप्तुं शक्नुवन्ति।
    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
    	
    // HTML तः XPS परिवर्तनार्थं API आह्वयन्तु
    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();
	    
	    // सञ्चिकारक्षणं सफलतया इति सत्यं प्रत्यागच्छतु
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML तः XPS यावत्

Image1:- HTML तः XPS पूर्वावलोकनम्

उपर्युक्ते उदाहरणे प्रयुक्तानि नमूनासञ्चिकाः list.html तथा resultantFile.xps इत्यस्मात् अवतरणं कर्तुं शक्यन्ते ।

cURL Commands इत्यस्य उपयोगेन HTML तः XPS यावत्

REST APIs इत्येतत् cURL आदेशैः अपि अभिगन्तुं शक्यते अतः अस्मिन् विभागे, वयं cURL आदेशस्य उपयोगेन HTML to XPS परिवर्तनं कथं कर्तव्यमिति पदानि ज्ञातुं गच्छामः । अधुना पूर्वापेक्षारूपेण प्रथमं भवतः व्यक्तिगतग्राहकप्रमाणपत्राधारितं 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 to 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 मध्ये परिवर्तनस्य विवरणं व्याख्यातम् अस्ति । जावा कोडस्निपेट् इत्यस्य उपयोगेन तथा च cURL आदेशानां माध्यमेन HTML इत्यस्य XPS मध्ये परिवर्तनस्य पदानि वयं ज्ञातवन्तः । अपि च, कृपया ज्ञातव्यं यत् उत्पादः दस्तावेजीकरणं एपिआइ द्वारा प्रदत्तानां आश्चर्यजनकक्षमतानां ज्ञातुं महान् स्रोतः अस्ति । अपि च, यदि भवान् एपिआइ-उपयोगं कुर्वन् किमपि समस्यां प्राप्नोति तर्हि कृपया Free product support forum इत्यनेन सह सम्पर्कं कर्तुं निःशङ्कः भवतु ।

सम्बन्धित लेख

विषये अधिकविवरणार्थं निम्नलिखितब्लॉग्स् द्रष्टुं अपि वयं अनुशंसयामः: