המרת html ל-pdf

כיצד להמיר HTML ל-PDF | HTML ל-PDF באינטרנט

ה-HTML הוא פורמט קבצים מוביל לפיתוח אתרים, ורוב דפדפני האינטרנט המודרניים תומכים במפרטי HTML. למרות שהוא בלתי תלוי בפלטפורמה וניתן לצפות בו בכל מערכת הפעלה, הם גם מועדים לסקריפטים זדוניים ולא ניתן לשתף אותם בקלות דרך האינטרנט. לכן, על מנת להימנע מנסיבות כאלה ולצורך ארכיון לטווח ארוך, אנו שומרים דף אינטרנט כ-PDF(פורמט מסמכים ניידים).אז במאמר זה, אנו הולכים לדון בשלבים כיצד להמיר HTML ל-PDF באמצעות Java REST API.

API להמרת HTML ל-PDF

Aspose.HTML Cloud SDK עבור Java מאפשר לך לבצע פעולות מניפולציה של HTML בתוך יישומי Java. אנו יכולים גם להמיר HTML לפורמטים של מסמכים בפריסה קבועה (PDF או XPS).אז כדי לבצע את ההמרה, נוכל לטעון את ה-HTML המקור (XHTML, MHTML, EPUB, Markdown) מאחסון ענן או לספק את כתובת האתר של דף אינטרנט. כעת על מנת להשתמש ב-SDK, אנא הוסף את התלות הבאה ב-pom.xml של פרויקט maven build שלך כדי שניתן יהיה להוסיף aspose-html.jar לפרויקט:

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://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>

המרת HTML ל-PDF ב-Java

אנא בצע את השלבים המפורטים להלן כדי להמיר את דף האינטרנט ל-PDF באפליקציית Java.

  • קודם כל, עלינו לציין פרטים מול Configuration.setAPPSID.
  • שנית, אנו מציינים את המידע Configuration.setAPIKEY.
  • שלישית, אנו מגדירים את פרטי setBasePath(..).
  • לאחר מכן עלינו לציין את פרטי setAuthPath(..).
  • הגדר את setUserAgent(…) בתור WebKit.
  • לסיוע שלנו, אנו הולכים להגדיר את setDebug(..) כ-true.
  • ה-API גם מאפשר לנו לציין את פרטי השוליים עבור הקובץ שנוצר.
  • השלב הבא הוא לקרוא את קובץ HTML הקלט ולטעון אותו למופע הקובץ.
  • כעת עלינו ליצור מופע של מחלקה RequestBody ולנתח מדיה כ"נתונים מרובי חלקים/טופס".
  • צור אובייקט של מחלקה ConversionApi.
  • מכיוון שאנחנו הולכים להעלות את הקובץ לאחסון בענן, אז אנחנו צריכים גם ליצור מופע של StorageApi.
  • כעת עלינו להתקשר ל-PostConvertDocumentInRequestToPdf(..) כדי להתחיל את תהליך ההמרה. שיטה זו מקבלת את שם קובץ הקלט, שם הקובץ המתקבל ופרטי השוליים והמידות של הקובץ כארגומנטים.
  • לאחר ההמרה, התוצאה מוחזרת לאובייקט Stream המכיל בתים גולמיים של גוף התגובה.
  • כעת עלינו לאחזר את גוף התגובה המבוסס על הרצף של התגובה המוצלחת לאובייקט ResponseBody.
  • הורד את הקובץ שנוצר מאחסון ענן לאובייקט ResponseBody.
  • ואז לבסוף, אנחנו הולכים לקרוא לשיטה המותאמת אישית שלנו כדי לשמור את מסמך ה-PDF שנוצר בכונן מערכת מקומית.
import com.aspose.html.api.ConversionApi;

import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import retrofit2.Call;
import java.io.*;
public class conversionCode {
    public static void main(String[] args) {
    com.aspose.html.Configuration.setAPP_SID("c235e685-1aab-4cda-a95b-54afd63eb87f");
    com.aspose.html.Configuration.setAPI_KEY("b8da4ee37494f2ef8da3c727f3a0acb9");
    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);
		
    String name = "Simple.html";// inpit Document name.
		    	
    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.
    String storage = null; // Name of the storage.
    File f = new File("/Users/nayyershahbaz/Documents/"+name);
    if(!f.exists()){
	System.out.println("file not found");
	}
    RequestBody requestBody = RequestBody.create( MediaType.parse("multipart/form-data"), f);
    MultipartBody.Part file = MultipartBody.Part.createFormData("file", f.getName(), requestBody);
				
    try {			
	ConversionApi api = new com.aspose.html.ApiClient().createService(ConversionApi.class);
	com.aspose.html.api.StorageApi storageApi = new com.aspose.html.ApiClient().createService(com.aspose.html.api.StorageApi.class);
		        
        Call<ResponseBody> call2 = api.PostConvertDocumentInRequestToPdf("resultantFile.pdf", file, width, height, leftMargin, rightMargin, topMargin, bottomMargin);
	retrofit2.Response<ResponseBody> res = call2.execute();
	ResponseBody resultant = res.body();
      	call2 = storageApi.downloadFile("resultantFile.pdf", null, storage);
      	checkAndSave(call2, "resultantFile.pdf");
        } catch (Exception e) {
	System.err.println("Exception during file processing...");
	e.printStackTrace();
	}
    } // main ends here
	
public static void checkAndSave(Call<ResponseBody> call, String fileName) throws IOException 
{
    retrofit2.Response<ResponseBody> res = call.execute();
    ResponseBody answer = res.body();
    //שמור לספריית הבדיקה
    boolean result = saveToDisc(answer, fileName);
}
  
public static boolean saveToDisc(ResponseBody body, String fileName) 
{
    File savedFile = new File("/Users/nayyershahbaz/Documents/"+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();
	return true;

    } catch (Exception e) {
	e.printStackTrace();
	return false;
    }
} // saveToDisc ends here

}

מַסְקָנָה

במאמר זה, למדנו את השלבים כיצד להמיר דף אינטרנט ל-PDF באמצעות Java SDK. ראינו שעם פחות שורות קוד, ה-HTML המלא עובר לפורמט PDF בנאמנות מלאה. מלבד פורמט PDF, ה-API גם מאפשר לבצע HTML ל-JPG, HTML ל-PNG, HTML ל-TIFF, HTML ל-BMP ו-HTML ל-GIF פעולות המרה. באופן דומה, אנו יכולים להמיר קובץ Markdown ל-HTML או להמיר MHTML לפורמט HTML באמצעות אותו API.

במקרה שנתקלת בבעיות כלשהן במהלך השימוש ב-API, אל תהסס לפנות אלינו דרך פורום תמיכת מוצרים בחינם.

קישורים קשורים

אנו ממליצים לבקר בקישורים הבאים כדי ללמוד עוד על