HTML għal XPS

Ikkonverti HTML għal XPS

HyperText Markup Language (HTML) hija lingwa ta’ markup standard għall-ħolqien ta’ paġna web. Jippermetti l-ħolqien u l-istruttura ta’ sezzjonijiet, paragrafi, u links bl-użu ta’ elementi/tags HTML. U fil-każ li xi fonts personalizzati jintużaw f’fajl HTML jew kwalunkwe oġġett dinamiku jiġi referenzjat li jeħtieġ konnessjoni attiva mal-magna/server tas-sors, hemm ċansijiet li tiġi kompromessa l-fedeltà tad-dokument. Min-naħa l-oħra, fl-XML Paper Specification(XPS), l-elementi tal-paġna huma definiti indipendentement minn sistema operattiva partikolari, printer, jew applikazzjoni tal-wiri. Allura approċċ intelliġenti huwa li jikkonverti HTML għal format XPS.

HTML Konverżjoni API

Aspose.HTML Cloud SDK għal Java hija API ħafifa bbażata fuq arkitettura REST li tipprovdi l-kapaċitajiet biex toħloq, timmanipula u tikkonverti fajls HTML għal PDF, DOCX, TIFF, JPEG , eċċ. Jappoġġja wkoll il-konverżjoni ta ‘HTML għal XPS. Allura, l-ewwel, irridu nżidu d-dettalji li ġejjin f’pom.xml tal-proġett tat-tip tal-bini Maven biex jinkludi l-SDK fil-proġett Java tagħna.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://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>

Wara l-installazzjoni, il-pass li jmiss huwa abbonament b’xejn għas-servizzi tal-cloud tagħna permezz ta’ Aspose.Cloud dashboard billi tuża GitHub jew kont ta’ Google. Jew, sempliċiment oħloq Kont ġdid u tikseb id-dettalji tal-Kredenzjali tal-Klijent tiegħek.

Ikkonverti HTML għal XPS f’Java

Jekk jogħġbok segwi l-istruzzjonijiet speċifikati hawn taħt biex tiżviluppa konvertitur HTML għal XPS.

  • L-ewwelnett, irridu nispeċifikaw id-dettalji kontra l-metodi Configuration.setAPPSID u Configuration.setAPIKEY
  • It-tieni nett, nissettjaw id-dettalji għal setBasePath(..), setAuthPath(..) u nispeċifikaw setUserAgent(…) bħala WebKit
  • It-tielet nett, għall-assistenza tagħna stess, se nissettjaw setDebug(..) bħala vera
  • Issa oħloq oġġett tal-klassi ConversionApi
  • Speċifika d-dettalji tal-marġni u l-isem għall-informazzjoni għall-fajl li jirriżulta
  • Fl-aħħarnett, sejjaħ il-metodu GetConvertDocumentToXps(…) li jeħtieġ input isem HTML, dimensjonijiet u dettalji tal-marġni bħala argumenti
// għal aktar eżempji, jekk jogħġbok żur https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Ikseb ClientID u ClientSecret minn https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // dettalji għall-invokazzjoni 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);
        
    // Oħloq oġġett ta 'Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Id-dokument html mill-ħażna tas-sħab
    String name = "list.html";
    // format tal-immaġni li jirriżulta
    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
    	
    // Invoka l-API għall-konverżjoni HTML għal 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);
    }

Il-kodiċi ta ‘hawn fuq jirritorna r-riżultat fil-fluss tar-rispons għalhekk, sabiex insalvaw l-output fuq drive lokali, nistgħu nikkunsidraw li nużaw il-metodu tad-dwana li ġej.

/*
* Metodu li jieħu ResponseBody u l-isem tal-fajl li jirriżulta bħala argumenti
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Ibgħat it-talba b'mod sinkroniku u rritorna t-tweġiba tagħha.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Il-korp ta 'rispons deserialized ta' rispons b'suċċess
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Ħlief fid-direttorju tat-test
	    boolean result = saveToDisc(answer, fileName);
	    
	    // jivvalida l-valur tar-riżultat huwa veru (pass fakultattiv)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Sejħa dan il-metodu biex issalva l-kontenut tar-Reazzjoni bħala fajl fuq drive lokali
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // toħloq oġġett tal-fajl li jindika l-post għall-fajl li jirriżulta
	    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;

                // Issejvja l-fluss tal-fajl fuq drive lokali
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // ċar l-istanza tal-fluss tal-ħruġ
	    outputStream.flush();
	    
	    // ritorn veru bħala fajl ħlief b'suċċess
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML għal XPS

Image1:- HTML għal XPS preview

Il-fajls tal-kampjun użati fl-eżempju ta’ hawn fuq jistgħu jitniżżlu minn list.html u resultantFile.xps.

HTML għal XPS bl-użu tal-Kmandi tal-cURL

L-APIs REST jistgħu jiġu aċċessati wkoll permezz ta ‘kmandi cURL għalhekk f’din it-taqsima, se nitgħallmu l-passi dwar kif twettaq il-konverżjoni HTML għal XPS billi tuża l-kmand cURL. Issa bħala prerekwiżit, jeħtieġ li l-ewwel niġġeneraw JSON Web Token (JWT) ibbażat fuq il-kredenzjali tal-klijent individwali tiegħek. Jekk jogħġbok wettaq il-kmand li ġej biex tiġġenera t-token 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"

Issa li għandna t-token JWT, jekk jogħġbok tesegwixxi l-kmand li ġej fuq it-terminal biex twettaq konverżjoni HTML għal 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

Konklużjoni

Dan l-artikolu spjega d-dettalji għall-konverżjoni ta ‘HTML għal XPS bl-użu ta’ REST API. Tgħallimna l-passi biex nikkonverti HTML għal XPS billi tuża snippets tal-kodiċi Java kif ukoll permezz ta ‘kmandi cURL. Barra minn hekk, jekk jogħġbok innota li l-Prodott Dokumentazzjoni huwa sors kbir għat-tagħlim tal-kapaċitajiet aqwa li qed jiġu offruti mill-API. Barra minn hekk, jekk tiltaqa’ ma’ xi kwistjonijiet waqt li tuża l-API, jekk jogħġbok tħossok liberu li tikkuntattja lill-Forum ta’ appoġġ għall-prodott b’xejn.

Artikoli Relatati

Nirrakkomandaw ukoll li żżur il-blogs li ġejjin għal aktar dettalji dwar: