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