HTML'den XPS'ye dönüştürücü

HTML’yi XPS’ye dönüştür

Köprü Metni Biçimlendirme Dili (HTML), web sayfası oluşturmaya yönelik standart bir biçimlendirme dilidir. HTML öğelerini/etiketlerini kullanarak bölümlerin, paragrafların ve bağlantıların oluşturulmasına ve yapılandırılmasına olanak tanır. Ve bir HTML dosyasında bazı özel yazı tiplerinin kullanılması veya kaynak makineye/sunucuya etkin bir bağlantı gerektiren herhangi bir dinamik nesneye başvurulması durumunda, belgenin aslına uygunluğundan ödün verme olasılığı vardır. Öte yandan, XML Kağıt Spesifikasyonunda(XPS), sayfa öğeleri belirli bir işletim sisteminden, yazıcıdan veya görüntüleme uygulamasından bağımsız olarak tanımlanır. Bu nedenle, HTML’yi XPS formatına dönüştürmek akıllı bir yaklaşımdır.

HTML Dönüştürme API’sı

Aspose.HTML Cloud SDK for Java, HTML dosyalarını oluşturma, işleme ve PDF, DOCX, TIFF, JPEG dosyalarına dönüştürme yetenekleri sağlayan hafif bir REST mimarisi tabanlı API’dir. vb. Ayrıca HTML’nin XPS’ye dönüştürülmesini de destekler. Bu nedenle, SDK’yı Java projemize dahil etmek için öncelikle Maven build type projesinin pom.xml dosyasına aşağıdaki ayrıntıları eklememiz gerekiyor.

<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>

Yüklemeden sonraki adım, GitHub veya Google hesabı kullanılarak Aspose.Cloud dashboard aracılığıyla bulut hizmetlerimize ücretsiz aboneliktir. Veya yeni bir Hesap oluşturun ve Müşteri Kimlik Bilgileri ayrıntılarınızı alın.

Java’da HTML’yi XPS’ye dönüştürme

Bir HTML’den XPS’e dönüştürücü geliştirmek için lütfen aşağıda belirtilen talimatları izleyin.

  • Öncelikle Configuration.setAPPSID ve Configuration.setAPIKEY metotlarına karşı detayları belirlememiz gerekiyor.
  • İkinci olarak setBasePath(..), setAuthPath(..) için detayları ayarlıyoruz ve setUserAgent(…)‘ı WebKit olarak belirtiyoruz.
  • Üçüncü olarak, kendi yardımımız için setDebug(..) öğesini doğru olarak ayarlayacağız.
  • Şimdi ConversionApi sınıfından bir nesne oluşturun
  • Ortaya çıkan dosya için bilgi için kenar boşluğu ayrıntılarını ve adını belirtin
  • Son olarak, bağımsız değişken olarak HTML adı, boyutlar ve kenar boşluğu ayrıntılarını girmeyi gerektiren GetConvertDocumentToXps(…) yöntemini çağırın.
// daha fazla örnek için lütfen https://github.com/aspose-html-cloud/aspose-html-cloud-java adresini ziyaret edin.

try
    {
    // https://dashboard.aspose.cloud/ adresinden ClientID ve ClientSecret'i edinin
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // API çağrısı için ayrıntılar
    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 nesnesi oluşturun
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Bulut depolama alanındaki html belgesi
    String name = "list.html";
    // sonuç görüntü formatı
    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
    	
    // HTML'den XPS'e dönüştürme için API'yi çağırın
    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);
    }

Yukarıdaki kod, sonucu yanıt akışında döndürür, bu nedenle, çıktıyı yerel bir sürücüye kaydetmek için aşağıdaki özel yöntemi kullanmayı düşünebiliriz.

/*
* ResponseBody ve sonuçtaki dosya adını bağımsız değişken olarak alan yöntem
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Eşzamanlı olarak isteği gönderin ve yanıtını döndürün.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Başarılı bir yanıtın serisi kaldırılmış yanıt gövdesi
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Test dizinine kaydet
	    boolean result = saveToDisc(answer, fileName);
	    
	    // sonuç değerinin doğru olduğunu doğrulayın (isteğe bağlı adım)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Yanıt içeriğini yerel sürücüde dosya olarak kaydetmek için bu yöntemi çağırın
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // ortaya çıkan dosya için konumu gösteren dosya nesnesi oluştur
	    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;

                // dosya akışını yerel sürücüye kaydet
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // çıktı akışı örneğini temizle
	    outputStream.flush();
	    
	    // dosya başarıyla kaydedildiğinde true değerini döndür
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML'den XPS'ye dönüştürücü

Image1:- HTML’den XPS’e önizleme

Yukarıdaki örnekte kullanılan örnek dosyalar list.html ve resultantFile.xps‘den indirilebilir.

cURL Komutlarını Kullanarak HTML’den XPS’e

REST API’lerine cURL komutları aracılığıyla da erişilebilir, bu nedenle bu bölümde, cURL komutunu kullanarak HTML’den XPS’ye dönüştürmenin nasıl gerçekleştirileceğine ilişkin adımları öğreneceğiz. Şimdi bir ön koşul olarak, önce bireysel müşteri kimlik bilgilerinize dayalı olarak bir JSON Web Simgesi (JWT) oluşturmamız gerekiyor. JWT jetonunu oluşturmak için lütfen aşağıdaki komutu yürütün.

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"

Artık JWT belirtecine sahip olduğumuza göre, HTML’den XPS’ye dönüştürme gerçekleştirmek için lütfen terminalde aşağıdaki komutu yürütün.

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

Çözüm

Bu makale, REST API kullanarak HTML’yi XPS’ye dönüştürmenin ayrıntılarını açıkladı. Java kod parçacıklarını ve cURL komutlarını kullanarak HTML’yi XPS’ye dönüştürme adımlarını öğrendik. Ayrıca, Belgeler ürününün, API tarafından sunulan harika yetenekleri öğrenmek için harika bir kaynak olduğunu lütfen unutmayın. Ayrıca, API’yi kullanırken herhangi bir sorunla karşılaşırsanız lütfen Ücretsiz ürün destek forumu ile iletişime geçmekten çekinmeyin.

İlgili Makaleler

Aşağıdakilerle ilgili daha fazla ayrıntı için aşağıdaki blogları ziyaret etmenizi de öneririz: