HTML към XPS

Конвертирайте HTML в XPS

HyperText Markup Language (HTML) е стандартен език за маркиране за създаване на уеб страници. Позволява създаването и структурата на секции, параграфи и връзки с помощта на HTML елементи/тагове. И в случай, че някои потребителски шрифтове се използват в HTML файл или се споменава някакъв динамичен обект, който изисква активна връзка към изходната машина/сървър, има шансове за компрометиране на верността на документа. От друга страна, в XML Paper Specification (XPS), елементите на страницата се дефинират независимо от конкретна операционна система, принтер или приложение за преглед. Така че един интелигентен подход е да конвертирате HTML във формат XPS.

API за преобразуване на HTML

Aspose.HTML Cloud SDK за Java е олекотен API, базиран на REST архитектура, предоставящ възможностите за създаване, манипулиране и конвертиране на HTML файлове в PDF, DOCX, TIFF, JPEG и т.н. Той също така поддържа преобразуването на HTML в XPS. Така че, първо, трябва да добавим следните подробности в pom.xml на проекта тип компилация Maven, за да включим 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);
	    
	    // потвърдете, че резултатната стойност е вярна (незадължителна стъпка)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Извикайте този метод, за да запазите съдържанието на отговора като файл на локално устройство
  *
  */ 
	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

Image1:- Визуализация на HTML към XPS

Примерните файлове, използвани в горния пример, могат да бъдат изтеглени от list.html и resultantFile.xps.

HTML към XPS с помощта на cURL команди

Приложните програмни интерфейси на REST също могат да бъдат достъпни чрез команди cURL, така че в този раздел ще научим стъпките за това как да извършим преобразуването на HTML към XPS с помощта на командата cURL. Сега, като предварително условие, трябва първо да генерираме JSON уеб токен (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 команди. Освен това, имайте предвид, че [документацията] на продукта 12 е чудесен източник за научаване на невероятните възможности, предлагани от API. Освен това, ако срещнете някакви проблеми, докато използвате API, не се колебайте да се свържете с Безплатен форум за поддръжка на продукти.

Свързани статии

Също така препоръчваме да посетите следните блогове за допълнителни подробности относно: