HTML na XPS

Skakel HTML na XPS om

HyperText Markup Language (HTML) is ’n standaard opmaaktaal vir die skepping van webbladsye. Dit laat die skepping en struktuur van afdelings, paragrawe en skakels toe deur HTML-elemente/etikette te gebruik. En as sommige pasgemaakte lettertipes in ’n HTML-lêer gebruik word of daar verwys word na enige dinamiese voorwerp wat ’n aktiewe verbinding met die bronmasjien/bediener vereis, is daar kanse om die getrouheid van die dokument te benadeel. Aan die ander kant, in XML Paper Specification (XPS), word die bladsy-elemente onafhanklik van ’n spesifieke bedryfstelsel, drukker of kyktoepassing gedefinieer. So ’n intelligente benadering is om HTML na XPS-formaat om te skakel.

HTML-omskakeling API

Aspose.HTML Cloud SDK vir Java is ’n liggewig REST-argitektuur-gebaseerde API wat die vermoëns bied om HTML-lêers te skep, te manipuleer en om te skakel na PDF, DOCX, TIFF, [JPEG] ]6, ens. Dit ondersteun ook die omskakeling van HTML na XPS. So, eerstens, moet ons die volgende besonderhede in pom.xml van die Maven-boutipe-projek byvoeg om die SDK by ons Java-projek in te sluit.

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

Na die installasie is die volgende stap ’n gratis intekening op ons wolkdienste via Aspose.Cloud-dashboard met GitHub of Google-rekening. Of, eenvoudig skep ’n nuwe rekening en kry jou kliëntbewysbesonderhede.

Skakel HTML na XPS in Java om

Volg asseblief die instruksies hieronder gespesifiseer om ’n HTML na XPS-omskakelaar te ontwikkel.

  • Eerstens moet ons besonderhede spesifiseer teen Configuration.setAPPSID en Configuration.setAPIKEY metodes
  • Tweedens stel ons besonderhede vir setBasePath(..), setAuthPath(..) en spesifiseer setUserAgent(…) as WebKit
  • Derdens, vir ons eie bystand, gaan ons setDebug(..) as waar stel
  • Skep nou ’n objek van ConversionApi-klas
  • Spesifiseer die kantlynbesonderhede en naam vir inligting vir die resulterende lêer
  • Laastens, noem GetConvertDocumentToXps(…) metode wat invoer van HTML-naam, afmetings en kantlynbesonderhede as argumente vereis
// vir meer voorbeelde, besoek asseblief https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Kry ClientID en ClientSecret vanaf https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // besonderhede vir Api-aanroeping
    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);
        
    // Skep 'n objek van Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Die html-dokument van wolkberging
    String name = "list.html";
    // gevolglike beeldformaat
    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
    	
    // Roep die API aan vir HTML na XPS-omskakeling
    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);
    }

Die bogenoemde kode gee die resultaat in die reaksiestroom terug, dus, om die uitvoer op ’n plaaslike skyf te stoor, kan ons dit oorweeg om die volgende pasgemaakte metode te gebruik.

/*
* Metode wat ResponseBody en gevolglike lêernaam as argumente neem
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Stuur die versoek sinchronies en gee sy antwoord terug.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Die gedeserialiseerde reaksieliggaam van 'n suksesvolle reaksie
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Stoor na toetsgids
	    boolean result = saveToDisc(answer, fileName);
	    
	    // bevestig dat die resultaatwaarde waar is (opsionele stap)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Roep hierdie metode om Response-inhoud as lêer op plaaslike skyf te stoor
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // skep lêerobjek wat ligging vir die resulterende lêer aandui
	    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;

                // stoor lêerstroom na plaaslike skyf
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // maak die uitsetstroom-instansie skoon
	    outputStream.flush();
	    
	    // stuur waar as lêerstoor suksesvol terug
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML na XPS

Beeld 1: - HTML na XPS voorskou

Die voorbeeldlêers wat in die voorbeeld hierbo gebruik word, kan afgelaai word vanaf list.html en resultantFile.xps.

HTML na XPS met behulp van cURL-opdragte

Die REST API’s kan ook verkry word via cURL-opdragte, so in hierdie afdeling gaan ons die stappe leer oor hoe om die HTML na XPS-omskakeling uit te voer met behulp van die cURL-opdrag. Nou as ’n voorvereiste, moet ons eers ’n JSON Web Token (JWT) genereer gebaseer op jou individuele kliënt geloofsbriewe. Voer asseblief die volgende opdrag uit om die JWT-token te genereer.

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"

Noudat ons die JWT-token het, voer asseblief die volgende opdrag op die terminale uit om HTML na XPS-omskakeling uit te voer.

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

Afsluiting

Hierdie artikel het die besonderhede verduidelik vir die omskakeling van HTML na XPS met behulp van REST API. Ons het die stappe geleer om HTML na XPS om te skakel met behulp van Java-kodebrokkies sowel as deur middel van cURL-opdragte. Neem verder kennis dat die produk Dokumentasie ’n uitstekende bron is om die wonderlike vermoëns te leer wat deur die API aangebied word. Verder, as jy enige probleme ondervind tydens die gebruik van die API, kontak asseblief die Gratis produkondersteuningsforum.

verwante artikels

Ons beveel ook aan om die volgende blogs te besoek vir verdere besonderhede oor: