Hiperteksto žymėjimo kalba (HTML) yra standartinė žymėjimo kalba tinklalapiams kurti. Tai leidžia kurti ir struktūrizuoti skyrius, pastraipas ir nuorodas naudojant HTML elementus / žymas. Ir jei kai kurie pasirinktiniai šriftai naudojami HTML faile arba nurodomas bet koks dinaminis objektas, kuriam reikalingas aktyvus ryšys su šaltinio mašina / serveriu, yra tikimybė, kad bus pažeistas dokumento tikslumas. Kita vertus, naudojant XML popieriaus specifikaciją (XPS), puslapio elementai apibrėžiami nepriklausomai nuo konkrečios operacinės sistemos, spausdintuvo ar peržiūros programos. Taigi protingas būdas yra konvertuoti HTML į XPS formatą.
HTML konversijos API
„Aspose.HTML Cloud SDK“, skirta „Java“, yra lengva REST architektūros API, suteikianti galimybę kurti, valdyti ir konvertuoti HTML failus į PDF, DOCX, TIFF, JPEG ir tt Ji taip pat palaiko HTML konvertavimą į XPS. Taigi pirmiausia turime pridėti toliau pateiktą informaciją į Maven build tipo projekto pom.xml, kad įtrauktume SDK į mūsų 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>
Po įdiegimo kitas veiksmas yra nemokama debesies paslaugų prenumerata per Aspose.Cloud dashboard naudojant GitHub arba Google paskyrą. Arba tiesiog sukurkite naują paskyrą ir gaukite išsamią kliento kredencialų informaciją.
Konvertuoti HTML į XPS Java
Vykdykite toliau pateiktas instrukcijas, kad sukurtumėte konverterį iš HTML į XPS.
- Visų pirma, mes turime nurodyti išsamią informaciją pagal metodus Configuration.setAPPSID ir Configuration.setAPIKEY
- Antra, nustatome setBasePath(..), setAuthPath(..) detales ir nurodome setUserAgent(…) kaip WebKit
- Trečia, norėdami padėti, nustatysime setDebug(..) kaip true
- Dabar sukurkite ConversionApi klasės objektą
- Nurodykite išsamią paraštės informaciją ir gauto failo informacijos pavadinimą
- Galiausiai iškvieskite GetConvertDocumentToXps(…) metodą, kuriam kaip argumentus reikia įvesti HTML pavadinimą, matmenis ir paraštės informaciją.
// Norėdami gauti daugiau pavyzdžių, apsilankykite https://github.com/aspose-html-cloud/aspose-html-cloud-java
try
{
// Gaukite ClientID ir ClientSecret iš https://dashboard.aspose.cloud/
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// išsami informacija apie Api iškvietimą
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);
// Sukurkite Aspose.HTML Cloud API objektą
com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
// html dokumentas iš debesies saugyklos
String name = "list.html";
// gautas vaizdo formatas
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
// Iškvieskite API, skirtą HTML konvertavimui į 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);
}
Aukščiau pateiktas kodas grąžina rezultatą atsakymo sraute, todėl norėdami išsaugoti išvestį vietiniame diske, galime apsvarstyti galimybę naudoti šį pasirinktinį metodą.
/*
* ResponseBody ir gauto failo pavadinimo kaip argumentų metodas
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException
{
// Sinchroniškai išsiųsti užklausą ir grąžinti jos atsakymą.
retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
// Deserializuotas sėkmingo atsako atsako kūnas
okhttp3.ResponseBody answer = res.body();
//Išsaugoti bandomajame kataloge
boolean result = saveToDisc(answer, fileName);
// patvirtinkite, kad rezultato reikšmė teisinga (pasirenkamas veiksmas)
Assert.assertTrue(result);
}
/*
*
* Iškvieskite šį metodą, kad išsaugotumėte atsakymo turinį kaip failą vietiniame diske
*
*/
public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName)
{
// sukurti failo objektą, nurodantį gauto failo vietą
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;
// išsaugoti failų srautą vietiniame diske
outputStream.write(fileReader, 0, read);
fileSizeDownloaded += read;
}
// išvalyti išvesties srauto egzempliorių
outputStream.flush();
// grąžinti true kaip failas sėkmingai išsaugotas
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} // saveToDisc ends here
Aukščiau pateiktame pavyzdyje naudotus pavyzdinius failus galima atsisiųsti iš list.html ir resultantFile.xps.
HTML į XPS naudojant cURL komandas
REST API taip pat galima pasiekti naudojant cURL komandas, todėl šiame skyriuje sužinosime, kaip atlikti HTML konvertavimą į XPS naudojant cURL komandą. Dabar kaip būtina sąlyga pirmiausia turime sugeneruoti JSON žiniatinklio prieigos raktą (JWT), pagrįstą jūsų individualiais kliento kredencialais. Vykdykite šią komandą, kad sugeneruotumėte JWT prieigos raktą.
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"
Dabar, kai turime JWT prieigos raktą, terminale vykdykite šią komandą, kad atliktumėte HTML konvertavimą į 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
Išvada
Šiame straipsnyje paaiškinta informacija, kaip konvertuoti HTML į XPS naudojant REST API. Išmokome HTML konvertavimo į XPS veiksmus naudodami Java kodo fragmentus ir cURL komandas. Be to, atminkite, kad Produktas Dokumentacija yra puikus šaltinis norint sužinoti apie nuostabias API teikiamas galimybes. Be to, jei naudojant API kyla problemų, susisiekite su Nemokamo produkto palaikymo forumu.
susiję straipsniai
Taip pat rekomenduojame apsilankyti šiuose tinklaraščiuose, kad gautumėte daugiau informacijos apie: