HTML XPS:ään

Muunna HTML XPS:ksi

HyperText Markup Language (HTML) on tavallinen merkintäkieli verkkosivujen luomiseen. Se mahdollistaa osien, kappaleiden ja linkkien luomisen ja rakenteen HTML-elementtejä/tageja käyttämällä. Ja jos joitain mukautettuja kirjasimia käytetään HTML-tiedostossa tai viitataan mihin tahansa dynaamiseen objektiin, joka vaatii aktiivisen yhteyden lähdekoneeseen/palvelimeen, asiakirjan tarkkuus saattaa vaarantua. Toisaalta XML-paperimäärityksessä (XPS) sivuelementit määritellään tietystä käyttöjärjestelmästä, tulostimesta tai katselusovelluksesta riippumatta. Joten älykäs lähestymistapa on muuntaa HTML XPS-muotoon.

HTML Conversion API

Aspose.HTML Cloud SDK for Java on kevyt REST-arkkitehtuuripohjainen sovellusliittymä, joka tarjoaa mahdollisuuden luoda, käsitellä ja muuntaa HTML-tiedostoja PDF, DOCX, TIFF, JPEG jne. Se tukee myös HTML:n muuntamista XPS:ksi. Joten ensin meidän on lisättävä seuraavat tiedot Maven build -tyyppisen projektin pom.xml-tiedostoon sisällyttääksemme SDK:n Java-projektiimme.

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

Asennuksen jälkeen seuraava vaihe on ilmainen tilaus pilvipalveluihimme Aspose.Cloud dashboardin kautta GitHub- tai Google-tilillä. Tai yksinkertaisesti luo uusi tili ja hanki asiakastietosi.

Muunna HTML XPS:ksi Javassa

Noudata alla annettuja ohjeita kehittääksesi HTML-XPS-muuntimen.

  • Ensinnäkin meidän on määritettävä tiedot Configuration.setAPPSID- ja Configuration.setAPIKEY-menetelmiä vastaan
  • Toiseksi asetamme tiedot setBasePath(..), setAuthPath(..) ja määritämme setUserAgent(…) WebKitiksi
  • Kolmanneksi, omaksi avuksemme, asetamme setDebug(..) todeksi
  • Luo nyt ConversionApi-luokan objekti
  • Määritä tuloksena olevan tiedoston marginaalin tiedot ja nimi
  • Kutsu lopuksi GetConvertDocumentToXps(…)-menetelmä, joka vaatii argumentteina syöttämään HTML-nimen, mitat ja marginaalin tiedot.
// Lisää esimerkkejä on osoitteessa https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Hanki ClientID ja ClientSecret osoitteesta https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // Api-kutsun tiedot
    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);
        
    // Luo Aspose.HTML Cloud API -objekti
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // html-dokumentti pilvivarastosta
    String name = "list.html";
    // tuloksena oleva kuvamuoto
    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
    	
    // Kutsu API HTML:stä XPS:ksi muuntamiseen
    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);
    }

Yllä oleva koodi palauttaa tuloksen vastausvirrassa, joten voimme harkita seuraavan mukautetun menetelmän käyttöä tulosteen tallentamiseksi paikalliselle asemalle.

/*
* Menetelmä, jossa ResponseBody ja tuloksena oleva tiedostonimi otetaan argumenteina
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Lähetä pyyntö synkronisesti ja palauta vastaus.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Onnistuneen vastauksen deserialisoitu vastausteksti
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Tallenna testihakemistoon
	    boolean result = saveToDisc(answer, fileName);
	    
	    // vahvista, että tulosarvo on tosi (valinnainen vaihe)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Kutsu tämä menetelmä tallentaaksesi vastauksen sisällön tiedostona paikalliselle asemalle
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // Luo tiedostoobjekti, joka ilmaisee tuloksena olevan tiedoston sijainnin
	    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;

                // tallenna tiedostovirta paikalliselle asemalle
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // tyhjennä tulosvirran ilmentymä
	    outputStream.flush();
	    
	    // palauta tosi tiedostona, tallennus onnistui
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML XPS:ään

Image1:- HTML-XPS-esikatselu

Yllä olevassa esimerkissä käytetyt mallitiedostot voidaan ladata osoitteesta list.html ja resultantFile.xps.

HTML XPS:ään käyttämällä cURL-komentoja

REST-sovellusliittymiä voidaan käyttää myös cURL-komennoilla, joten tässä osiossa opimme HTML-muunnos XPS-muunnoksen suorittamiseen cURL-komennolla. Nyt ennakkoedellytyksenä meidän on ensin luotava JSON Web Token (JWT) yksittäisten asiakastietojesi perusteella. Suorita seuraava komento luodaksesi JWT-tunnus.

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"

Nyt kun meillä on JWT-tunnus, suorita seuraava komento päätteessä suorittaaksesi HTML-muunnoksen XPS:ksi.

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

Johtopäätös

Tässä artikkelissa on selitetty yksityiskohdat HTML:n muuntamisesta XPS:ksi REST API:n avulla. Olemme oppineet HTML-muunnoksen vaiheet XPS:ksi Java-koodinpätkän ja cURL-komentojen avulla. Huomaa lisäksi, että tuote dokumentaatio on loistava lähde API:n tarjoamien uskomattomien ominaisuuksien oppimiseen. Lisäksi, jos kohtaat ongelmia API:n käytössä, ota rohkeasti yhteyttä ilmaiseen tuotetukifoorumiin.

Aiheeseen liittyvät artikkelit

Suosittelemme myös vierailemaan seuraavissa blogeissa saadaksesi lisätietoja aiheesta: