HyperText Markup Language (HTML) je štandardný značkovací jazyk na vytváranie webových stránok. Umožňuje vytváranie a štruktúru sekcií, odsekov a odkazov pomocou prvkov/značiek HTML. A v prípade, že sa v súbore HTML použijú nejaké vlastné písma alebo sa odkazuje na akýkoľvek dynamický objekt, ktorý vyžaduje aktívne pripojenie k zdrojovému stroju/serveru, existuje možnosť narušenia vernosti dokumentu. Na druhej strane v špecifikácii papiera XML (XPS) sú prvky stránky definované nezávisle od konkrétneho operačného systému, tlačiarne alebo aplikácie na prezeranie. Inteligentným prístupom je teda previesť HTML do formátu XPS.
HTML Conversion API
Aspose.HTML Cloud SDK for Java je ľahké API založené na REST architektúre, ktoré poskytuje možnosti na vytváranie, manipuláciu a konverziu HTML súborov do PDF, DOCX, TIFF, JPEG atď. Podporuje tiež konverziu HTML na XPS. Najprv teda musíme pridať nasledujúce podrobnosti do pom.xml projektu typu zostavy Maven, aby sme zahrnuli SDK do nášho projektu Java.
<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>
Po inštalácii je ďalším krokom bezplatné predplatné našich cloudových služieb cez Aspose.Cloud dashboard pomocou GitHub alebo účtu Google. Alebo jednoducho vytvorte nový účet a získajte podrobnosti o svojich klientskych povereniach.
Previesť HTML na XPS v Jave
Pri vývoji konvertora HTML na XPS postupujte podľa pokynov uvedených nižšie.
- Najprv musíme špecifikovať podrobnosti o metódach Configuration.setAPPSID a Configuration.setAPIKEY
- Po druhé, nastavíme podrobnosti pre setBasePath(..), setAuthPath(..) a špecifikujeme setUserAgent(…) ako WebKit
- Po tretie, pre našu vlastnú pomoc nastavíme setDebug(..) ako true
- Teraz vytvorte objekt triedy ConversionApi
- Zadajte podrobnosti okraja a názov pre informácie o výslednom súbore
- Nakoniec zavolajte metódu GetConvertDocumentToXps(…), ktorá vyžaduje vstupný HTML názov, rozmery a podrobnosti o okrajoch ako argumenty
// ďalšie príklady nájdete na https://github.com/aspose-html-cloud/aspose-html-cloud-java
try
{
// Získajte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// podrobnosti o vyvolaní API
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);
// Vytvorte objekt Aspose.HTML Cloud API
com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
// html dokument z cloudového úložiska
String name = "list.html";
// výsledný obrazový formát
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
// Vyvolajte API pre konverziu HTML na 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);
}
Vyššie uvedený kód vráti výsledok v toku odpovedí, takže na uloženie výstupu na lokálnu jednotku môžeme zvážiť použitie nasledujúcej vlastnej metódy.
/*
* Metóda berie ResponseBody a výsledný názov súboru ako argumenty
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException
{
// Synchrónne odoslať požiadavku a vrátiť jej odpoveď.
retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
// Deserializované telo odpovede úspešnej odpovede
okhttp3.ResponseBody answer = res.body();
//Uložiť do testovacieho adresára
boolean result = saveToDisc(answer, fileName);
// overiť, či je výsledná hodnota pravdivá (voliteľný krok)
Assert.assertTrue(result);
}
/*
*
* Zavolaním tejto metódy uložíte obsah odpovede ako súbor na lokálny disk
*
*/
public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName)
{
// vytvoriť objekt súboru označujúci umiestnenie výsledného súboru
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;
// uložiť prúd súborov na lokálny disk
outputStream.write(fileReader, 0, read);
fileSizeDownloaded += read;
}
// vymazať inštanciu výstupného toku
outputStream.flush();
// vrátiť hodnotu true ako súbor úspešne uložiť
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} // saveToDisc ends here
Vzorové súbory použité vo vyššie uvedenom príklade si môžete stiahnuť z list.html a resultantFile.xps.
HTML na XPS pomocou príkazov cURL
K rozhraniam REST API je možné pristupovať aj prostredníctvom príkazov cURL, takže v tejto časti sa naučíme kroky, ako vykonať konverziu HTML na XPS pomocou príkazu cURL. Teraz ako nevyhnutnú podmienku musíme najprv vygenerovať JSON Web Token (JWT) na základe vašich individuálnych prihlasovacích údajov klienta. Ak chcete vygenerovať token JWT, vykonajte nasledujúci príkaz.
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"
Teraz, keď máme token JWT, vykonajte na termináli nasledujúci príkaz, aby ste vykonali konverziu HTML na 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
Záver
V tomto článku sú vysvetlené podrobnosti o konverzii HTML na XPS pomocou REST API. Naučili sme sa kroky na konverziu HTML na XPS pomocou útržkov kódu Java, ako aj pomocou príkazov cURL. Okrem toho upozorňujeme, že produkt dokumentácia je skvelým zdrojom informácií o úžasných možnostiach, ktoré ponúka rozhranie API. Okrem toho, ak sa pri používaní rozhrania API stretnete s akýmikoľvek problémami, neváhajte kontaktovať Free product support forum.
Súvisiace články
Odporúčame tiež navštíviť nasledujúce blogy, kde nájdete ďalšie podrobnosti týkajúce sa: