HTML-დან XPS-მდე

გადაიყვანეთ HTML XPS-ში

ჰიპერტექსტის მარკირების ენა (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>http://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
HTML-დან XPS-მდე

სურათი 1: - HTML-დან XPS-ის გადახედვა

ზემოთ მოყვანილ მაგალითში გამოყენებული ფაილების ნიმუშის ჩამოტვირთვა შესაძლებელია 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-ს გამოყენებისას, გთხოვთ, დაუკავშირდეთ პროდუქტის უფასო მხარდაჭერის ფორუმს.

დაკავშირებული სტატიები

ჩვენ ასევე გირჩევთ ეწვიოთ შემდეგ ბლოგებს დამატებითი დეტალებისთვის: