HTML ngadto sa XPS

I-convert ang HTML ngadto sa XPS

Ang HyperText Markup Language (HTML) kay usa ka standard markup language para sa paghimo sa web page. Gitugotan niini ang paghimo ug istruktura sa mga seksyon, parapo, ug mga link gamit ang mga elemento / tag sa HTML. Ug kung ang pipila ka naandan nga mga font gigamit sa usa ka HTML file o bisan unsang dinamikong butang ang gi-refer nga nanginahanglan usa ka aktibo nga koneksyon sa gigikanan nga makina / server, adunay mga higayon nga makompromiso ang pagkamaunongon sa dokumento. Sa pikas bahin, sa XML Paper Specification(XPS), ang mga elemento sa panid gihubit nga independente sa usa ka partikular nga operating system, printer, o aplikasyon sa pagtan-aw. Mao nga ang usa ka intelihente nga pamaagi mao ang pag-convert sa HTML sa format nga XPS.

HTML Conversion API

Ang Aspose.HTML Cloud SDK para sa Java usa ka gaan nga REST nga arkitektura nga nakabase sa API nga naghatag mga kapabilidad sa paghimo, pagmaniobra ug pag-convert sa mga HTML nga file sa PDF, DOCX, TIFF, JPEG , ug uban pa. Gisuportahan usab niini ang pagkakabig sa HTML ngadto sa XPS. Busa, una, kinahanglan natong idugang ang mosunod nga mga detalye sa pom.xml sa Maven build type nga proyekto aron maapil ang SDK sa atong proyekto sa 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>

Pagkahuman sa pag-instalar, ang sunod nga lakang usa ka libre nga suskrisyon sa among mga serbisyo sa panganod pinaagi sa Aspose.Cloud dashboard gamit ang GitHub o Google account. O, yano paghimo usa ka bag-ong Account ug kuhaa ang imong mga detalye sa Mga Kredensyal sa Kliyente.

I-convert ang HTML ngadto sa XPS sa Java

Palihug sunda ang mga instruksyon nga gipiho sa ubos aron makahimo og HTML to XPS converter.

  • Una sa tanan, kinahanglan natong ipiho ang mga detalye batok sa Configuration.setAPPSID ug Configuration.setAPIKEY nga mga pamaagi
  • Ikaduha, nagtakda kami og mga detalye para sa setBasePath(..), setAuthPath(..) ug ipiho ang setUserAgent(…) isip WebKit
  • Ikatulo, alang sa among kaugalingon nga tabang, among itakda ang setDebug(..) ingon tinuod
  • Karon paghimo usa ka butang sa klase sa ConversionApi
  • Ipiho ang mga detalye sa margin ug ngalan alang sa impormasyon alang sa resulta nga file
  • Sa katapusan, tawga ang GetConvertDocumentToXps(…) nga pamaagi nga nanginahanglan og input HTML nga ngalan, mga dimensyon ug mga detalye sa margin isip mga argumento
// alang sa dugang nga mga pananglitan, palihug bisitaha ang https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Pagkuha ClientID ug ClientSecret gikan sa https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // mga detalye alang sa Api invocation
    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);
        
    // Paghimo og butang sa Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Ang html nga dokumento gikan sa cloud storage
    String name = "list.html";
    // resulta nga format sa imahe
    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
    	
    // Pagtawag sa API alang sa HTML ngadto sa XPS nga pagkakabig
    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);
    }

Ang kodigo sa ibabaw nagbalik sa resulta sa tubag nga stream aron, aron matipigan ang output sa usa ka lokal nga drive, mahimo natong ikonsiderar ang paggamit sa mosunod nga custom nga pamaagi.

/*
* Pamaagi sa pagkuha sa ResponseBody ug resulta nga ngalan sa file isip mga argumento
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Duyog nga ipadala ang hangyo ug ibalik ang tubag niini.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Ang deserialized nga tubag nga lawas sa usa ka malampuson nga tubag
	    okhttp3.ResponseBody answer = res.body();
	    
	    //I-save sa pagsulay nga direktoryo
	    boolean result = saveToDisc(answer, fileName);
	    
	    // balido ang resulta nga bili tinuod (opsyonal nga lakang)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Tawga kini nga pamaagi aron i-save ang sulud sa Tubag ingon file sa lokal nga drive
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // paghimo file object nga nagpaila sa lokasyon alang sa resulta nga file
	    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;

                // i-save ang file stream sa lokal nga drive
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // paglimpyo sa output stream pananglitan
	    outputStream.flush();
	    
	    // ibalik ang tinuod ingon nga malampuson nga pag-save sa file
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML ngadto sa XPS

Hulagway1:- HTML ngadto sa XPS preview

Ang sampol nga mga file nga gigamit sa pananglitan sa ibabaw mahimong ma-download gikan sa list.html ug resultantFile.xps.

HTML ngadto sa XPS gamit ang cURL Commands

Ang REST APIs mahimo usab nga ma-access pinaagi sa cURL commands mao nga sa niini nga seksyon, kita makakat-on sa mga lakang kon unsaon pagbuhat sa HTML ngadto sa XPS conversion gamit ang cURL command. Karon ingon usa ka kinahanglanon, kinahanglan una namon nga maghimo usa ka JSON Web Token (JWT) base sa imong indibidwal nga mga kredensyal sa kliyente. Palihug ipatuman ang mosunod nga sugo aron makamugna ang JWT token.

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"

Karon nga aduna na kitay JWT token, palihog ipatuman ang mosunod nga command sa terminal aron mahimo ang HTML ngadto sa XPS conversion.

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

Konklusyon

Gipasabot niining artikuloha ang mga detalye sa pag-convert sa HTML ngadto sa XPS gamit ang REST API. Natun-an namon ang mga lakang sa pag-convert sa HTML ngadto sa XPS gamit ang Java code snippet ingon man pinaagi sa cURL commands. Dugang pa, palihug timan-i nga ang Produkto Dokumentasyon usa ka maayo nga gigikanan sa pagkat-on sa katingalahang mga kapabilidad nga gitanyag sa API. Dugang pa, kung makasugat ka og bisan unsang mga isyu samtang naggamit sa API, palihug ayaw pagduhaduha sa pagkontak sa Free product support forum.

May Kalabutan nga mga Artikulo

Girekomenda usab namo ang pagbisita sa mosunod nga mga blog alang sa dugang nga mga detalye mahitungod sa: