HyperText Markup Language (HTML) er et standardopmærkningssprog til oprettelse af websider. Det tillader oprettelse og struktur af sektioner, afsnit og links ved hjælp af HTML-elementer/tags. Og i tilfælde af at nogle brugerdefinerede skrifttyper bruges i en HTML-fil, eller der henvises til et dynamisk objekt, som kræver en aktiv forbindelse til kildemaskinen/serveren, er der chancer for at kompromittere dokumentets troværdighed. På den anden side, i XML Paper Specification(XPS), er sideelementerne defineret uafhængigt af et bestemt operativsystem, printer eller visningsprogram. Så en intelligent tilgang er at konvertere HTML til XPS-format.
HTML Conversion API
Aspose.HTML Cloud SDK til Java er en letvægts REST-arkitektur-baseret API, der giver mulighed for at oprette, manipulere og konvertere HTML-filer til PDF, DOCX, TIFF, [JPEG] ]6, osv. Det understøtter også konvertering af HTML til XPS. Så først skal vi tilføje følgende detaljer i pom.xml af Maven build-projektet for at inkludere SDK’et i vores 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 er næste trin et gratis abonnement på vores cloud-tjenester via Aspose.Cloud-dashboard ved hjælp af GitHub eller Google-konto. Eller bare opret en ny konto og indhent dine kundeoplysninger.
Konverter HTML til XPS i Java
Følg venligst instruktionerne nedenfor for at udvikle en HTML til XPS-konverter.
- Først og fremmest skal vi specificere detaljer mod Configuration.setAPPSID og Configuration.setAPIKEY metoder
- For det andet sætter vi detaljer for setBasePath(..), setAuthPath(..) og specificerer setUserAgent(…) som WebKit
- For det tredje, for vores egen hjælp, vil vi indstille setDebug(..) som sand
- Opret nu et objekt af ConversionApi-klassen
- Angiv margendetaljerne og navn for information for den resulterende fil
- Til sidst skal du kalde GetConvertDocumentToXps(…) metoden, som kræver input HTML-navn, dimensioner og margendetaljer som argumenter
// for flere eksempler, besøg venligst https://github.com/aspose-html-cloud/aspose-html-cloud-java
try
{
// Hent ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// detaljer for Api-påkaldelse
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);
// Opret et objekt af Aspose.HTML Cloud API
com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
// HTML-dokumentet fra cloud storage
String name = "list.html";
// resulterende billedformat
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
// Kald API'et til HTML til 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);
}
Ovenstående kode returnerer resultatet i svarstrømmen, så for at gemme outputtet på et lokalt drev kan vi overveje at bruge følgende brugerdefinerede metode.
/*
* Metode, der tager ResponseBody og det resulterende filnavn som argumenter
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException
{
// Send anmodningen synkront og returner dens svar.
retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
// Den deserialiserede svartekst af et vellykket svar
okhttp3.ResponseBody answer = res.body();
//Gem i testbiblioteket
boolean result = saveToDisc(answer, fileName);
// valider, at resultatværdien er sand (valgfrit trin)
Assert.assertTrue(result);
}
/*
*
* Kald denne metode for at gemme svarindhold som fil på lokalt drev
*
*/
public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName)
{
// oprette filobjekt, der angiver placeringen af den resulterende fil
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;
// gem filstream til lokalt drev
outputStream.write(fileReader, 0, read);
fileSizeDownloaded += read;
}
// Ryd outputstream-forekomsten
outputStream.flush();
// returner true som fil gemt
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} // saveToDisc ends here
Eksempelfilerne brugt i ovenstående eksempel kan downloades fra list.html og resultantFile.xps.
HTML til XPS ved hjælp af cURL-kommandoer
REST API’erne kan også tilgås via cURL-kommandoer, så i dette afsnit vil vi lære trinene til, hvordan man udfører HTML til XPS-konverteringen ved hjælp af cURL-kommandoen. Nu som en forudsætning skal vi først generere et JSON Web Token (JWT) baseret på dine individuelle klientoplysninger. Udfør venligst følgende kommando for at generere JWT-tokenet.
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 hvor vi har JWT-tokenet, skal du udføre følgende kommando på terminalen for at udføre HTML til 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
Konklusion
Denne artikel har forklaret detaljerne for konvertering af HTML til XPS ved hjælp af REST API. Vi har lært trinene til at konvertere HTML til XPS ved hjælp af Java-kodestykker såvel som gennem cURL-kommandoer. Bemærk desuden, at produktet Dokumentation er en fantastisk kilde til at lære de fantastiske muligheder, som API’en tilbyder. Desuden, hvis du støder på problemer, mens du bruger API’en, er du velkommen til at kontakte Free product support forum.
relaterede artikler
Vi anbefaler også, at du besøger følgende blogs for yderligere oplysninger om: