HTML ke XPS

Konversikan HTML ke XPS

HyperText Markup Language (HTML) adalah bahasa markup standar untuk pembuatan halaman web. Ini memungkinkan pembuatan dan struktur bagian, paragraf, dan tautan menggunakan elemen/tag HTML. Dan jika beberapa font khusus digunakan dalam file HTML atau objek dinamis apa pun direferensikan yang memerlukan koneksi aktif ke mesin/server sumber, ada kemungkinan mengorbankan kesetiaan dokumen. Di sisi lain, dalam Spesifikasi Kertas XML(XPS), elemen halaman ditentukan secara independen dari sistem operasi, printer, atau aplikasi tampilan tertentu. Jadi pendekatan yang cerdas adalah mengonversi format HTML ke XPS.

API Konversi HTML

Aspose.HTML Cloud SDK untuk Java adalah API berbasis arsitektur REST ringan yang menyediakan kemampuan untuk membuat, memanipulasi, dan mengonversi file HTML ke PDF, DOCX, TIFF, JPEG , dll. Ini juga mendukung konversi HTML ke XPS. Jadi, pertama-tama, kita perlu menambahkan detail berikut di pom.xml proyek tipe build Maven untuk menyertakan SDK dalam proyek Java kita.

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

Setelah instalasi, langkah selanjutnya adalah berlangganan gratis ke layanan cloud kami melalui Dasbor Aspose.Cloud menggunakan GitHub atau akun Google. Atau, cukup buat Akun baru dan dapatkan detail Kredensial Klien Anda.

Mengkonversi HTML ke XPS di Jawa

Harap ikuti petunjuk yang ditentukan di bawah ini untuk mengembangkan pengonversi HTML ke XPS.

  • Pertama-tama, kita perlu menentukan detail terhadap metode Configuration.setAPPSID dan Configuration.setAPIKEY
  • Kedua, kami menetapkan detail untuk setBasePath(..), setAuthPath(..) dan menentukan setUserAgent(…) sebagai WebKit
  • Ketiga, untuk bantuan kita sendiri, kita akan menyetel setDebug(..) sebagai true
  • Sekarang buat objek kelas ConversionApi
  • Tentukan rincian margin dan nama informasi untuk file yang dihasilkan
  • Terakhir, panggil metode GetConvertDocumentToXps(…) yang membutuhkan input nama HTML, dimensi, dan detail margin sebagai argumen
// untuk lebih banyak contoh, silakan kunjungi https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Dapatkan ClientID dan ClientSecret dari https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // detail untuk pemanggilan 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);
        
    // Buat objek Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Dokumen html dari penyimpanan awan
    String name = "list.html";
    // format gambar yang dihasilkan
    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
    	
    // Aktifkan API untuk konversi HTML ke 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);
    }

Kode di atas mengembalikan hasilnya dalam aliran respons sehingga, untuk menyimpan keluaran di drive lokal, kami dapat mempertimbangkan untuk menggunakan metode kustom berikut.

/*
* Metode mengambil ResponseBody dan nama file yang dihasilkan sebagai argumen
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Kirim permintaan secara sinkron dan kembalikan responsnya.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Badan respons deserialisasi dari respons yang berhasil
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Simpan ke direktori pengujian
	    boolean result = saveToDisc(answer, fileName);
	    
	    // memvalidasi nilai hasil benar (langkah opsional)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Panggil metode ini untuk menyimpan konten Respons sebagai file di drive lokal
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // buat objek file yang menunjukkan lokasi untuk file yang dihasilkan
	    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;

                // simpan aliran file ke drive lokal
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // hapus instance aliran keluaran
	    outputStream.flush();
	    
	    // kembalikan true saat penyimpanan file berhasil
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML ke XPS

Gambar 1: - Pratinjau HTML ke XPS

File sampel yang digunakan dalam contoh di atas dapat diunduh dari list.html dan resultantFile.xps.

HTML ke XPS menggunakan Perintah cURL

REST API juga dapat diakses melalui perintah cURL jadi pada bagian ini, kita akan mempelajari langkah-langkah tentang cara melakukan konversi HTML ke XPS menggunakan perintah cURL. Sekarang sebagai prasyarat, pertama-tama kita harus membuat Token Web JSON (JWT) berdasarkan kredensial klien individual Anda. Silakan jalankan perintah berikut untuk menghasilkan token 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"

Sekarang kita memiliki token JWT, silakan jalankan perintah berikut di terminal untuk melakukan konversi HTML ke 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

Kesimpulan

Artikel ini telah menjelaskan detail untuk mengonversi HTML ke XPS menggunakan REST API. Kami telah mempelajari langkah-langkah untuk mengonversi HTML ke XPS menggunakan cuplikan kode Java dan juga melalui perintah cURL. Selain itu, harap diperhatikan bahwa Produk Documentation adalah sumber yang bagus untuk mempelajari kemampuan luar biasa yang ditawarkan oleh API. Selain itu, jika Anda mengalami masalah saat menggunakan API, jangan ragu untuk menghubungi forum dukungan produk gratis.

Artikel Terkait

Kami juga merekomendasikan untuk mengunjungi blog berikut untuk perincian lebih lanjut mengenai: