HTML به XPS

HTML را به XPS تبدیل کنید

زبان نشانه گذاری HyperText (HTML) یک زبان نشانه گذاری استاندارد برای ایجاد صفحه وب است. این امکان ایجاد و ساختار بخش ها، پاراگراف ها و پیوندها را با استفاده از عناصر/برچسب های HTML فراهم می کند. و در صورتی که برخی از فونت‌های سفارشی در یک فایل HTML استفاده شود یا به هر شیء پویا که نیاز به اتصال فعال به ماشین/سرور منبع دارد، ارجاع داده شود، احتمال به خطر افتادن صحت سند وجود دارد. از طرف دیگر، در XML Paper Specification (XPS)، عناصر صفحه مستقل از یک سیستم عامل خاص، چاپگر یا برنامه مشاهده تعریف می شوند. بنابراین یک رویکرد هوشمندانه تبدیل HTML به فرمت XPS است.

API تبدیل HTML

Aspose.HTML Cloud SDK برای جاوا یک API سبک مبتنی بر معماری REST است که توانایی ایجاد، دستکاری و تبدیل فایل‌های HTML به PDF، DOCX، TIFF، JPEG را ارائه می‌کند. و غیره. همچنین از تبدیل HTML به XPS پشتیبانی می کند. بنابراین، ابتدا باید جزئیات زیر را در pom.xml پروژه ساخت Maven اضافه کنیم تا SDK را در پروژه جاوا خود قرار دهیم.

<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 در جاوا

لطفاً دستورالعمل‌های مشخص‌شده در زیر را برای توسعه یک مبدل HTML به XPS دنبال کنید.

  • اول از همه، باید جزئیات را در برابر متدهای Configuration.setAPPSID و Configuration.setAPIKEY مشخص کنیم.
  • در مرحله دوم، ما جزئیات را برای setBasePath(..)، setAuthPath(..) تنظیم می کنیم و setUserAgent (…) را به عنوان WebKit تعیین می کنیم.
  • ثالثاً، برای کمک خودمان، می‌خواهیم setDebug(..) را درست تنظیم کنیم
  • حالا یک شی از کلاس 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);
	}
	
  /*
  *
  * برای ذخیره محتوای 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

Image1: - پیش نمایش HTML به XPS

فایل های نمونه استفاده شده در مثال بالا را می توان از list.html و resultantFile.xps دانلود کرد.

HTML به XPS با استفاده از دستورات cURL

دسترسی به API های 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 را با استفاده از تکه کدهای جاوا و همچنین از طریق دستورات cURL آموخته ایم. علاوه بر این، لطفاً توجه داشته باشید که محصول اسناد منبع عالی برای یادگیری قابلیت های شگفت انگیز ارائه شده توسط API است. علاوه بر این، اگر هنگام استفاده از API با مشکلی مواجه شدید، لطفاً با تالار گفتمان پشتیبانی رایگان محصول تماس بگیرید.

مقالات مرتبط

همچنین توصیه می کنیم برای جزئیات بیشتر در مورد وبلاگ های زیر بازدید کنید: