html konvertálása pdf-be

Hogyan lehet HTML-t PDF-be konvertálni | HTML-ből PDF-be online

A HTML a webfejlesztés vezető fájlformátuma, és a modern webböngészők többsége támogatja a HTML specifikációit. Bár platformfüggetlen, és bármilyen operációs rendszeren megtekinthető, hajlamosak a rosszindulatú szkriptekre, és nem oszthatók meg könnyen az interneten keresztül. Ezért az ilyen körülmények elkerülése és a hosszú távú archiválás érdekében egy weboldalt PDF(Portable Document Format) formátumban mentünk el. Tehát ebben a cikkben megvitatjuk a HTML-t PDF-be konvertálásának lépéseit a Java REST API segítségével.

HTML-ből PDF-be konvertáló API

Az Aspose.HTML Cloud SDK for Java lehetővé teszi HTML-kezelési műveletek végrehajtását a Java alkalmazásokon belül. A HTML-t fix elrendezésű dokumentumformátumokká (PDF vagy XPS) is tudjuk konvertálni. Tehát az átalakítás végrehajtásához betölthetjük a forrás HTML-t (XHTML, MHTML, EPUB, Markdown) a felhőtárhelyről, vagy megadhatjuk az URL-t egy weboldalról. Most az SDK használatához adja hozzá a következő függőséget a maven build projektjének pom.xml fájljához, hogy az aspose-html.jar hozzáadható legyen a projekthez:

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

Konvertálja a HTML-t PDF-be Java nyelven

Kérjük, kövesse az alábbi lépéseket a weboldal PDF formátumba konvertálásához a Java alkalmazásban.

  • Először is meg kell adnunk részleteket a Configuration.setAPPSID mezőben.
  • Másodszor megadjuk a Configuration.setAPIKEY információt.
  • Harmadszor, beállítjuk a setBasePath(..) részleteit.
  • Ezután meg kell adnunk a setAuthPath(..) részleteit.
  • A setUserAgent(…) beállítása WebKit-ként.
  • Saját segítségünkre a setDebug(..) függvényt igaznak fogjuk beállítani.
  • Az API azt is lehetővé teszi, hogy megadjuk a margó részleteit az eredményül kapott fájlhoz.
  • A következő lépés a bemeneti HTML-fájl beolvasása és betöltése a fájlpéldányba.
  • Most létre kell hoznunk a RequestBody osztály példányát, és az adathordozót “multipart/form-data”-ként kell elemezni.
  • Hozzon létre egy objektumot a ConversionApi osztályból.
  • Mivel a fájlt felhőtárhelyre fogjuk feltölteni, ezért létre kell hoznunk a StorageApi példányát is.
  • Most meg kell hívnunk a PostConvertDocumentInRequestToPdf(..) függvényt az átalakítási folyamat elindításához. Ez a módszer argumentumként fogadja el a bemeneti fájlnevet, az eredő fájlnevet, valamint az eredő fájl margóját és a méretadatokat.
  • Az átalakítás után az eredmény visszakerül a Stream objektumhoz, amely a választörzs nyers bájtjait tartalmazza.
  • Most be kell kérnünk a sikeres válasz deserializált választörzsét a ResponseBody objektumba.
  • Töltse le az eredményül kapott fájlt a felhőtárhelyről a ResponseBody objektumra.
  • Végül meg fogjuk hívni egyéni módszerünket, hogy az eredményül kapott PDF-dokumentumot a helyi rendszermeghajtóra mentsük.
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();
    //Mentés a tesztkönyvtárba
    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

}

Következtetés

Ebben a cikkben megtanultuk, hogyan lehet egy weboldalt PDF formátumba konvertálni Java SDK használatával. Megfigyeltük, hogy kevesebb kódsorral a teljes HTML teljes hűséggel PDF formátumba kerül. A PDF formátumon kívül az API lehetővé teszi HTML-ből JPG-be, HTML-ből PNG-be, HTML-ből TIFF-be, HTML-ből BMP-be és HTML-be GIF konverziós művelet. Hasonlóképpen konvertálhatunk Markdown fájlt HTML formátumba vagy MHTML-t HTML formátumba ugyanazzal az API-val.

Ha bármilyen problémába ütközik az API használata során, forduljon hozzánk bizalommal az ingyenes terméktámogatási fórumon.

Kapcsolódó linkek

Javasoljuk, hogy látogassa meg az alábbi linkeket, ha többet szeretne megtudni erről