HTML v XPS

Pretvorite HTML v XPS

HyperText Markup Language (HTML) je standardni označevalni jezik za ustvarjanje spletnih strani. Omogoča ustvarjanje in strukturo razdelkov, odstavkov in povezav z uporabo elementov/oznak HTML. In v primeru, da so v datoteki HTML uporabljene nekatere pisave po meri ali se sklicuje na kateri koli dinamični objekt, ki zahteva aktivno povezavo z izvornim strojem/strežnikom, obstaja možnost ogrožanja zvestobe dokumenta. Po drugi strani pa so v XML Paper Specification (XPS) elementi strani definirani neodvisno od določenega operacijskega sistema, tiskalnika ali aplikacije za pregledovanje. Torej je inteligenten pristop pretvorba HTML v format XPS.

API za pretvorbo HTML

Aspose.HTML Cloud SDK za Javo je lahek API, ki temelji na arhitekturi REST in zagotavlja zmožnosti za ustvarjanje, upravljanje in pretvorbo datotek HTML v PDF, DOCX, TIFF, JPEG itd. Podpira tudi pretvorbo HTML v XPS. Torej, najprej moramo dodati naslednje podrobnosti v pom.xml projekta vrste gradnje Maven, da vključimo SDK v naš projekt 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>

Po namestitvi je naslednji korak brezplačna naročnina na naše storitve v oblaku prek Aspose.Cloud dashboard z uporabo računa GitHub ali Google. Ali pa preprosto ustvarite nov račun in pridobite podatke o svojih poverilnicah stranke.

Pretvorite HTML v XPS v Javi

Sledite spodnjim navodilom za razvoj pretvornika HTML v XPS.

  • Najprej moramo določiti podrobnosti glede metod Configuration.setAPPSID in Configuration.setAPIKEY
  • Drugič, nastavimo podrobnosti za setBasePath(..), setAuthPath(..) in določimo setUserAgent(…) kot WebKit
  • Tretjič, zaradi lastne pomoči bomo setDebug(..) nastavili kot true
  • Zdaj ustvarite objekt razreda ConversionApi
  • Podajte podrobnosti robov in ime za informacije za nastalo datoteko
  • Na koncu pokličite metodo GetConvertDocumentToXps(…), ki kot argumente zahteva vnos imena HTML, dimenzij in podrobnosti robov
// za več primerov obiščite https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Pridobite ClientID in ClientSecret na https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // podrobnosti za priklic API-ja
    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);
        
    // Ustvarite objekt Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Dokument html iz shrambe v oblaku
    String name = "list.html";
    // nastali format slike
    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
    	
    // Prikličite API za pretvorbo HTML v 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);
    }

Zgornja koda vrne rezultat v odzivnem toku, tako da lahko razmislimo o uporabi naslednje metode po meri, da bi shranili izhod na lokalni pogon.

/*
* Metoda, ki kot argumenta sprejme ResponseBody in posledično ime datoteke
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Sinhrono pošlji zahtevo in vrni njen odgovor.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Deserializirano telo odziva uspešnega odziva
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Shrani v testni imenik
	    boolean result = saveToDisc(answer, fileName);
	    
	    // potrdite, da je vrednost rezultata resnična (izbirni korak)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Pokličite to metodo, da shranite vsebino odziva kot datoteko na lokalnem disku
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // ustvari datotečni objekt, ki označuje lokacijo nastale datoteke
	    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;

                // shranite tok datotek na lokalni disk
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // počisti primerek izhodnega toka
	    outputStream.flush();
	    
	    // vrni vrednost true kot uspešno shranjevanje datoteke
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML v XPS

Slika1:- Predogled HTML v XPS

Vzorčne datoteke, uporabljene v zgornjem primeru, lahko prenesete iz list.html in resultantFile.xps.

HTML v XPS z uporabo ukazov cURL

Do API-jev REST je mogoče dostopati tudi prek ukazov cURL, zato se bomo v tem razdelku naučili korakov, kako izvesti pretvorbo HTML v XPS z ukazom cURL. Kot predpogoj moramo najprej ustvariti spletni žeton JSON (JWT) na podlagi poverilnic vašega posameznega odjemalca. Izvedite naslednji ukaz, da ustvarite žeton 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"

Zdaj, ko imamo žeton JWT, izvedite naslednji ukaz na terminalu, da izvedete pretvorbo HTML v 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

Zaključek

V tem članku so razložene podrobnosti za pretvorbo HTML v XPS z uporabo REST API-ja. Naučili smo se korakov za pretvorbo HTML v XPS z uporabo odrezkov kode Java in prek ukazov cURL. Poleg tega upoštevajte, da je izdelek Dokumentacija odličen vir za spoznavanje izjemnih zmogljivosti, ki jih ponuja API. Poleg tega, če med uporabo API-ja naletite na kakršne koli težave, se obrnite na Free product support forum.

povezani članki

Priporočamo tudi, da obiščete naslednje bloge za več podrobnosti o: