Html a XPS

Tiontaigh HTML go XPS

Is teanga chaighdeánach mharcála í HyperText Markup Language (HTML) chun leathanaigh ghréasáin a chruthú. Ceadaíonn sé cruthú agus struchtúr ailt, ailt, agus naisc ag baint úsáide as eilimintí / clibeanna HTML. Agus ar eagla go n-úsáidtear roinnt clónna saincheaptha i gcomhad HTML nó go ndéantar tagairt d’aon réad dinimiciúil a éilíonn nasc gníomhach leis an meaisín foinse/freastalaí, tá seans ann go gcuirfear isteach ar dhílseacht an doiciméid. Ar an taobh eile, i Sonraíocht Pháipéir XML(XPS), sainmhínítear eilimintí an leathanaigh go neamhspleách ar chóras oibriúcháin, printéir nó feidhmchlár féachana ar leith. Mar sin is cur chuige cliste é HTML a thiontú go formáid XPS.

API Tiontú HTML

Is API éadrom ailtireacht-bhunaithe REST é Aspose.HTML Cloud SDK do Java a sholáthraíonn na hacmhainní chun comhaid HTML a chruthú, a ionramháil agus a thiontú go PDF, DOCX, TIFF, JPEG , etc Tacaíonn sé freisin le comhshó HTML go XPS. Mar sin, ar dtús, ní mór dúinn na sonraí seo a leanas a chur i pom.xml de thionscadal cineál tógála Maven chun an SDK a áireamh inár dtionscadal 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>

Tar éis na suiteála, is é an chéad chéim eile ná síntiús saor in aisce dár seirbhísí néil trí deais Aspose.Cloud ag baint úsáide as GitHub nó cuntas Google. Nó, níl le déanamh ach cruthaigh Cuntas nua agus faigh sonraí do Dhintiúir Cliant.

Tiontaigh HTML go XPS i Java

Lean na treoracha atá sonraithe thíos le do thoil chun tiontaire HTML go XPS a fhorbairt.

  • Ar an gcéad dul síos, ní mór dúinn sonraí a shonrú i gcoinne modhanna Configuration.setAPPSID agus Configuration.setAPIKEY
  • Ar an dara dul síos, socróimid sonraí le haghaidh setBasePath(..), setAuthPath(..) agus sonraigh setUserAgent(…) mar WebKit
  • Ar an tríú dul síos, as ár gcúnamh féin, táimid chun setDebug(..) a shocrú mar fhíor
  • Anois cruthaigh réad den rang ConversionApi
  • Sonraigh na sonraí corrlaigh agus an t-ainm le haghaidh faisnéise don chomhad iarmhartach
  • Ar deireadh, cuir glaoch ar an modh GetConvertDocumentToXps(…) a éilíonn ionchur HTML ainm, toisí agus sonraí corrlaigh mar argóintí
// le haghaidh tuilleadh samplaí, tabhair cuairt ar https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Faigh ClientID agus ClientSecret ó https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // sonraí le haghaidh agairt 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);
        
    // Cruthaigh réad de Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Íoslódáil an doiciméad html ó stóráil scamall
    String name = "list.html";
    // formáid íomhá dá bharr
    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
    	
    // Cuir an API le haghaidh comhshó HTML go 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);
    }

Tugann an cód thuas an toradh ar ais sa sruth freagartha agus mar sin, chun an t-aschur a shábháil ar thiomáint áitiúil, is féidir linn smaoineamh ar an modh saincheaptha seo a leanas a úsáid.

/*
* An modh ag glacadh ResponseBody agus an t-ainm comhaid dá bharr mar argóintí
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Seol an t-iarratas go sioncronach agus cuir a fhreagra ar ais.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // An comhlacht freagartha desrialized de freagra rathúil
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Sábháil chuig an eolaire tástála
	    boolean result = saveToDisc(answer, fileName);
	    
	    // bailíochtaigh go bhfuil luach an toraidh fíor (céim roghnach)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Glaoigh ar an modh seo chun ábhar Freagra a shábháil mar chomhad ar thiomáint áitiúil
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // oibiacht comhaid a chruthú a léiríonn suíomh an chomhaid iarmhartaigh
	    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;

                // Sábháil sruth comhaid ar thiomáint áitiúil
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // soiléir an sampla sruth aschuir
	    outputStream.flush();
	    
	    // fill true mar comhad a shábháil go rathúil
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
Html a XPS

Íomhá1:- Réamhamharc HTML go XPS

Is féidir na comhaid shamplacha a úsáidtear sa sampla thuas a íoslódáil ó list.html agus resultantFile.xps.

HTML go XPS ag baint úsáide as Orduithe CURL

Is féidir teacht ar na REST APIs freisin trí orduithe cURL agus mar sin san alt seo, táimid chun na céimeanna a fhoghlaim maidir le conas an comhshó HTML go XPS a dhéanamh ag baint úsáide as an ordú cURL. Anois mar réamhriachtanas, ní mór dúinn a ghiniúint ar dtús Comhartha Gréasáin JSON (JWT) bunaithe ar do dhintiúir cliaint aonair. Rith an t-ordú seo a leanas chun an comhartha JWT a ghiniúint.

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"

Anois go bhfuil an comhartha JWT againn, déan an t-ordú seo a leanas ar an teirminéal chun comhshó HTML go XPS a dhéanamh.

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

Conclúid

Mhínigh an t-alt seo na sonraí maidir le HTML a thiontú go XPS ag baint úsáide as REST API. Táimid tar éis na céimeanna a fhoghlaim chun HTML a thiontú go XPS ag baint úsáide as sníomhanna cód Java chomh maith le trí orduithe cURL. Ina theannta sin, tabhair faoi deara gur foinse iontach é an Táirge Doiciméadú chun na cumais iontacha atá á dtairiscint ag an API a fhoghlaim. Ina theannta sin, má thagann aon fhadhbanna ort agus an API á úsáid agat, ná bíodh drogall ort teagmháil a dhéanamh leis an Fóram tacaíochta táirge saor in aisce.

Airteagail Ghaolmhara

Molaimid freisin cuairt a thabhairt ar na blaganna seo a leanas le haghaidh tuilleadh sonraí maidir le: