HTML till XPS

Konvertera HTML till XPS

HyperText Markup Language (HTML) är ett standardspråk för att skapa webbsidor. Det gör det möjligt att skapa och strukturera avsnitt, stycken och länkar med HTML-element/taggar. Och om vissa anpassade typsnitt används i en HTML-fil eller det refereras till något dynamiskt objekt som kräver en aktiv anslutning till källmaskinen/servern, finns det chanser att äventyra dokumentets trohet. Å andra sidan, i XML Paper Specification(XPS), definieras sidelementen oberoende av ett visst operativsystem, skrivare eller visningsprogram. Så ett intelligent tillvägagångssätt är att konvertera HTML till XPS-format.

HTML Conversion API

Aspose.HTML Cloud SDK för Java är ett lätt REST-arkitekturbaserat API som ger möjlighet att skapa, manipulera och konvertera HTML-filer till PDF, DOCX, TIFF, [JPEG] ]6, etc. Det stöder även konvertering av HTML till XPS. Så först måste vi lägga till följande detaljer i pom.xml av Maven-byggtypsprojektet för att inkludera SDK i vårt Java-projekt.

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

Efter installationen är nästa steg en gratis prenumeration på våra molntjänster via Aspose.Cloud dashboard med GitHub eller Google-konto. Eller, helt enkelt skapa ett nytt konto och skaffa dina kunduppgifter.

Konvertera HTML till XPS i Java

Följ instruktionerna nedan för att utveckla en HTML till XPS-konverterare.

  • Först och främst måste vi specificera detaljer mot metoderna Configuration.setAPPSID och Configuration.setAPIKEY
  • För det andra ställer vi in detaljer för setBasePath(..), setAuthPath(..) och anger setUserAgent(…) som WebKit
  • För det tredje, för vår egen hjälp, kommer vi att ställa in setDebug(..) som sant
  • Skapa nu ett objekt av ConversionApi-klassen
  • Ange marginaldetaljer och namn för information för den resulterande filen
  • Till sist, anropa metoden GetConvertDocumentToXps(…) som kräver inmatning av HTML-namn, dimensioner och marginaldetaljer som argument
// för fler exempel, besök https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Hämta ClientID och ClientSecret från https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // detaljer för Api-anrop
    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);
        
    // Skapa ett objekt av Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // HTML-dokumentet från molnlagring
    String name = "list.html";
    // resulterande bildformat
    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
    	
    // Anropa API för HTML till XPS-konvertering
    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);
    }

Ovanstående kod returnerar resultatet i svarsströmmen, så för att spara utdata på en lokal enhet kan vi överväga att använda följande anpassade metod.

/*
* Metod som tar ResponseBody och det resulterande filnamnet som argument
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Skicka förfrågan synkront och returnera dess svar.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Den deserialiserade svarskroppen för ett framgångsrikt svar
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Spara i testkatalogen
	    boolean result = saveToDisc(answer, fileName);
	    
	    // verifiera att resultatvärdet är sant (valfritt steg)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Anrop den här metoden för att spara svarsinnehåll som fil på lokal enhet
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // skapa filobjekt som anger plats för den resulterande filen
	    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;

                // spara filströmmen till lokal enhet
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // rensa utdataströmsinstansen
	    outputStream.flush();
	    
	    // returnera true som fil sparas framgångsrikt
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML till XPS

Bild1:- HTML till XPS förhandsgranskning

Exempelfilerna som används i exemplet ovan kan laddas ner från list.html och resultantFile.xps.

HTML till XPS med hjälp av cURL-kommandon

REST-API:erna kan också nås via cURL-kommandon, så i det här avsnittet kommer vi att lära oss stegen för hur man utför HTML till XPS-konverteringen med kommandot cURL. Nu som en förutsättning måste vi först generera ett JSON Web Token (JWT) baserat på dina individuella klientuppgifter. Vänligen kör följande kommando för att generera JWT-token.

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"

Nu när vi har JWT-token, vänligen kör följande kommando på terminalen för att utföra HTML till XPS-konvertering.

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

Slutsats

Den här artikeln har förklarat detaljerna för att konvertera HTML till XPS med REST API. Vi har lärt oss stegen för att konvertera HTML till XPS med Java-kodavsnitt såväl som genom cURL-kommandon. Observera dessutom att produkten Dokumentation är en utmärkt källa för att lära dig de fantastiska funktioner som API:et erbjuder. Dessutom, om du stöter på några problem när du använder API:t är du välkommen att kontakta Free product support forum.

relaterade artiklar

Vi rekommenderar också att du besöker följande bloggar för mer information om: