ჰიპერტექსტის მარკირების ენა (HTML) არის სტანდარტული მარკირების ენა ვებ გვერდის შესაქმნელად. ის საშუალებას აძლევს შექმნას და სტრუქტურას სექციები, აბზაცები და ბმულები HTML ელემენტების/ტეგების გამოყენებით. და იმ შემთხვევაში, თუ HTML ფაილში გამოიყენება ზოგიერთი მორგებული შრიფტი ან მითითებულია რაიმე დინამიური ობიექტი, რომელიც მოითხოვს აქტიურ კავშირს წყაროს მანქანასთან/სერვერთან, არსებობს დოკუმენტის ერთგულების კომპრომეტირების შანსი. მეორეს მხრივ, XML ქაღალდის სპეციფიკაციაში (XPS), გვერდის ელემენტები განისაზღვრება კონკრეტული ოპერაციული სისტემის, პრინტერის ან სანახავი პროგრამისგან დამოუკიდებლად. ასე რომ, ინტელექტუალური მიდგომაა HTML-ის XPS ფორმატში გადაყვანა.
HTML კონვერტაციის API
Aspose.HTML Cloud SDK Java-სთვის არის მსუბუქი REST არქიტექტურაზე დაფუძნებული API, რომელიც უზრუნველყოფს HTML ფაილების შექმნის, მანიპულირებისა და კონვერტაციის შესაძლებლობებს PDF, DOCX, TIFF, JPEG. და ა.შ. ის ასევე მხარს უჭერს HTML-ის XPS-ად გადაქცევას. ასე რომ, პირველ რიგში, ჩვენ უნდა დავამატოთ შემდეგი დეტალები Maven build ტიპის პროექტის pom.xml-ში, რათა ჩართოთ SDK ჩვენს 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>
ინსტალაციის შემდეგ, შემდეგი ნაბიჯი არის ჩვენი ღრუბლოვანი სერვისების უფასო გამოწერა Aspose.Cloud dashboard-ის მეშვეობით GitHub ან Google ანგარიშის გამოყენებით. ან უბრალოდ შექმენით ახალი ანგარიში და მიიღეთ თქვენი კლიენტის სერთიფიკატების დეტალები.
გადაიყვანეთ HTML XPS-ად Java-ში
გთხოვთ, მიჰყვეთ ქვემოთ მითითებულ ინსტრუქციას HTML-ში XPS კონვერტორის შესაქმნელად.
- უპირველეს ყოვლისა, ჩვენ უნდა მივუთითოთ დეტალები Configuration.setAPPSID და Configuration.setAPIKEY მეთოდებთან მიმართებაში.
- მეორეც, ჩვენ დავაყენეთ დეტალები setBasePath(..), setAuthPath(..) და ვაკონკრეტებთ setUserAgent(…) როგორც WebKit.
- მესამე, ჩვენივე დახმარებისთვის, ჩვენ ვაპირებთ setDebug(..) დავაყენოთ როგორც true
- ახლა შექმენით ConversionApi კლასის ობიექტი
- მიუთითეთ მინდვრის დეტალები და სახელი შედეგის ფაილის ინფორმაციისთვის
- დაბოლოს, გამოიძახეთ GetConvertDocumentToXps(…) მეთოდი, რომელიც არგუმენტად მოითხოვს HTML სახელის, ზომების და ზღვრის დეტალების შეყვანას.
// დამატებითი მაგალითებისთვის, გთხოვთ ეწვიოთ https://github.com/aspose-html-cloud/aspose-html-cloud-java
try
{
// მიიღეთ ClientID და ClientSecret https://dashboard.aspose.cloud/-დან
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// დეტალები 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);
// შექმენით Aspose.HTML Cloud API-ის ობიექტი
com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
// html დოკუმენტი ღრუბლოვანი საცავიდან
String name = "list.html";
// შედეგად მიღებული გამოსახულების ფორმატი
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
// გამოიძახეთ API HTML-ში 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);
}
ზემოაღნიშნული კოდი აბრუნებს შედეგს საპასუხო ნაკადში, ასე რომ, ლოკალურ დისკზე გამოსავლის შესანახად, შეიძლება განვიხილოთ შემდეგი მორგებული მეთოდის გამოყენება.
/*
* არგუმენტად ResponseBody-ის და შედეგის ფაილის სახელის მიღების მეთოდი
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException
{
// სინქრონულად გაგზავნეთ მოთხოვნა და დააბრუნეთ მისი პასუხი.
retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
// წარმატებული პასუხის დესერიალიზებული საპასუხო ორგანო
okhttp3.ResponseBody answer = res.body();
//შეინახეთ სატესტო დირექტორიაში
boolean result = saveToDisc(answer, fileName);
// დაადასტურეთ შედეგის მნიშვნელობა true (არასავალდებულო ნაბიჯი)
Assert.assertTrue(result);
}
/*
*
* გამოიძახეთ ეს მეთოდი Response-ის კონტენტის ფაილად ადგილობრივ დისკზე შესანახად
*
*/
public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName)
{
// შექმენით ფაილის ობიექტი, რომელიც მიუთითებს შედეგის ფაილის ადგილმდებარეობას
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;
// შეინახეთ ფაილის ნაკადი ადგილობრივ დისკზე
outputStream.write(fileReader, 0, read);
fileSizeDownloaded += read;
}
// გამომავალი ნაკადის ინსტანციის გასუფთავება
outputStream.flush();
// დააბრუნეთ true როგორც ფაილის წარმატებით შენახვა
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
} // saveToDisc ends here
ზემოთ მოყვანილ მაგალითში გამოყენებული ფაილების ნიმუშის ჩამოტვირთვა შესაძლებელია list.html-დან და resultantFile.xps-დან.
HTML-დან XPS-მდე cURL ბრძანებების გამოყენებით
REST API-ებზე წვდომა ასევე შესაძლებელია cURL ბრძანებების საშუალებით, ამიტომ ამ განყოფილებაში ჩვენ ვაპირებთ ვისწავლოთ ნაბიჯები, თუ როგორ უნდა შეასრულოთ HTML-ში XPS კონვერტაცია cURL ბრძანების გამოყენებით. ახლა, როგორც წინაპირობა, ჯერ უნდა გამოვამუშაოთ JSON Web Token (JWT) თქვენი ინდივიდუალური კლიენტის სერთიფიკატების საფუძველზე. გთხოვთ შეასრულოთ შემდეგი ბრძანება 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"
ახლა, როდესაც ჩვენ გვაქვს JWT ჟეტონი, გთხოვთ, შეასრულოთ შემდეგი ბრძანება ტერმინალზე, რათა შეასრულოთ HTML-ში 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
დასკვნა
ამ სტატიაში აღწერილია HTML-ის XPS-ად გადაქცევის დეტალები REST API-ის გამოყენებით. ჩვენ ვისწავლეთ HTML-ის XPS-ად გადაქცევის ნაბიჯები Java კოდის ფრაგმენტების გამოყენებით, ასევე cURL ბრძანებების მეშვეობით. გარდა ამისა, გთხოვთ, გაითვალისწინოთ, რომ პროდუქტი დოკუმენტაცია არის შესანიშნავი წყარო API-ს მიერ შემოთავაზებული საოცარი შესაძლებლობების შესასწავლად. გარდა ამისა, თუ რაიმე პრობლემას წააწყდებით API-ს გამოყენებისას, გთხოვთ, დაუკავშირდეთ პროდუქტის უფასო მხარდაჭერის ფორუმს.
დაკავშირებული სტატიები
ჩვენ ასევე გირჩევთ ეწვიოთ შემდეგ ბლოგებს დამატებითი დეტალებისთვის: