Gjuha e Markupimit të HyperText (HTML) është një gjuhë standarde shënjimi për krijimin e faqeve në internet. Ai lejon krijimin dhe strukturën e seksioneve, paragrafëve dhe lidhjeve duke përdorur elementë/etiketa HTML. Dhe në rast se disa shkronja të personalizuara përdoren në një skedar HTML ose referohet ndonjë objekt dinamik i cili kërkon një lidhje aktive me makinën/serverin burimor, ka shanse për të komprometuar besnikërinë e dokumentit. Nga ana tjetër, në Specifikimin e letrës XML (XPS), elementët e faqes përcaktohen në mënyrë të pavarur nga një sistem operativ, printeri ose aplikacioni i veçantë shikimi. Pra, një qasje inteligjente është konvertimi i HTML në formatin XPS.
API-ja e konvertimit HTML
Aspose.HTML Cloud SDK për Java është një API e lehtë e bazuar në arkitekturë REST që ofron aftësi për të krijuar, manipuluar dhe konvertuar skedarët HTML në PDF, DOCX, TIFF, JPEG , etj. Ai gjithashtu mbështet konvertimin e HTML në XPS. Pra, së pari, ne duhet të shtojmë detajet e mëposhtme në pom.xml të projektit të llojit të ndërtimit të Maven për të përfshirë SDK-në në projektin tonë 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>
Pas instalimit, hapi tjetër është një abonim falas në shërbimet tona cloud nëpërmjet Aspose.Cloud dashboard duke përdorur GitHub ose llogarinë Google. Ose, thjesht krijoni një llogari të re dhe merrni detajet e Kredencialeve tuaja të Klientit.
Konvertoni HTML në XPS në Java
Ju lutemi ndiqni udhëzimet e specifikuara më poshtë për të zhvilluar një konvertues HTML në XPS.
- Para së gjithash, ne duhet të specifikojmë detaje kundër metodave Configuration.setAPPSID dhe Configuration.setAPIKEY
- Së dyti, ne vendosim detaje për setBasePath (..), setAuthPath (..) dhe specifikojmë setUserAgent (…) si WebKit
- Së treti, për ndihmën tonë, ne do të vendosim setDebug(..) si true
- Tani krijoni një objekt të klasës ConversionApi
- Specifikoni detajet e marzhit dhe emrin për informacionin për skedarin rezultues
- Më në fund, thirrni metodën GetConvertDocumentToXps(…) e cila kërkon hyrjen e emrit HTML, dimensionet dhe detajet e margjinës si argumente
// për më shumë shembuj, ju lutemi vizitoni https://github.com/aspose-html-cloud/aspose-html-cloud-java
try
{
// Merrni ClientID dhe ClientSecret nga https://dashboard.aspose.cloud/
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// detaje për thirrjen 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);
// Krijo një objekt të Aspose.HTML Cloud API
com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
// Dokumenti html nga ruajtja në renë kompjuterike
String name = "list.html";
// format rezultante të imazhit
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
// Kërkoni API për konvertimin HTML në 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);
}
Kodi i mësipërm kthen rezultatin në rrjedhën e përgjigjes, kështu që, për të ruajtur daljen në një disk lokal, ne mund të konsiderojmë përdorimin e metodës së mëposhtme të personalizuar.
/*
* Metoda merr ResponseBody dhe emrin e skedarit rezultues si argumente
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException
{
// Dërgoni në mënyrë sinkrone kërkesën dhe ktheni përgjigjen e saj.
retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
// Trupi i deserializuar i përgjigjes i një përgjigjeje të suksesshme
okhttp3.ResponseBody answer = res.body();
//Ruaje në drejtorinë e testimit
boolean result = saveToDisc(answer, fileName);
// vërtetoni se vlera e rezultatit është e vërtetë (hap opsional)
Assert.assertTrue(result);
}
/*
*
* Thirrni këtë metodë për të ruajtur përmbajtjen e përgjigjes si skedar në diskun lokal
*
*/
public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName)
{
// krijoni objekt skedari që tregon vendndodhjen për skedarin rezultues
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;
// ruajeni rrjedhën e skedarit në diskun lokal
outputStream.write(fileReader, 0, read);
fileSizeDownloaded += read;
}
// pastroni shembullin e rrjedhës së daljes
outputStream.flush();
// kthehu i vërtetë pasi skedari ruhet me sukses
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} // saveToDisc ends here
Skedarët mostër të përdorura në shembullin e mësipërm mund të shkarkohen nga list.html dhe resultantFile.xps.
HTML në XPS duke përdorur komandat cURL
API-të REST mund të aksesohen gjithashtu nëpërmjet komandave cURL, kështu që në këtë seksion, ne do të mësojmë hapat se si të kryejmë konvertimin HTML në XPS duke përdorur komandën cURL. Tani si një parakusht, ne duhet së pari të gjenerojmë një JSON Web Token (JWT) bazuar në kredencialet tuaja individuale të klientit. Ju lutemi ekzekutoni komandën e mëposhtme për të gjeneruar shenjën JWT.
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"
Tani që kemi tokenin JWT, ju lutemi ekzekutoni komandën e mëposhtme në terminal për të kryer konvertimin HTML në 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
konkluzioni
Ky artikull ka shpjeguar detajet për konvertimin e HTML në XPS duke përdorur REST API. Ne kemi mësuar hapat për të kthyer HTML në XPS duke përdorur copa kodi Java si dhe përmes komandave cURL. Për më tepër, ju lutemi vini re se Produkti Dokumentacioni është një burim i shkëlqyeshëm për të mësuar aftësitë e mahnitshme që ofrohen nga API. Për më tepër, nëse hasni ndonjë problem gjatë përdorimit të API-së, ju lutemi mos ngurroni të kontaktoni Forumin e mbështetjes falas të produktit.
Artikuj të ngjashëm
Ne gjithashtu rekomandojmë të vizitoni bloget e mëposhtme për detaje të mëtejshme në lidhje me: