HTML do obrazu

Jak przekonwertować HTML na obraz w Javie

HTML jest formatem defacto do strukturyzowania stron internetowych i przechowywania treści w standardowym formacie tekstowym. Znaczniki w kodzie HTML określają układ i zawartość strony internetowej, w tym tekst, tabele, obrazy i hiperłącza, które są wyświetlane w przeglądarce internetowej. Jednak na koniec zaobserwowano, że złośliwe skrypty mogą być osadzane na stronach HTML i mogą być wykorzystywane w wielu różnych typach ataków, w tym w cross-site scripting (XSS). Dlatego wiele organizacji/systemów blokuje ładowanie plików HTML udostępnianych w trybie offline. Praktycznym rozwiązaniem jest więc konwersja formatu HTML na format obrazu. W tym artykule omówimy szczegóły konwersji HTML do JPG w Javie.

Interfejs API konwersji HTML na obraz

Zamierzamy użyć Aspose.HTML Cloud SDK for Java do konwersji HTML na obraz. Ten interfejs API zapewnia funkcję ładowania i manipulowania istniejącymi plikami HTML. Jednocześnie oferuje również funkcję renderowania HTML do PDF, XPS, DOCX i formatów graficznych, w tym (JPEG, PNG, BMP i TIFF). Teraz dodaj następujące wiersze do pliku pom.xml swojego projektu typu kompilacja maven, aby pobrać i zainstalować zestaw SDK.

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html-cloud</artifactId>
<version>20.7.0</version>
</dependency>

Kolejnym ważnym krokiem jest bezpłatna subskrypcja naszych usług w chmurze za pośrednictwem pulpitu nawigacyjnego Aspose.Cloud przy użyciu konta GitHub lub Google. Możesz też po prostu utworzyć nowe konto i uzyskać dane uwierzytelniające klienta.

Jak przekonwertować HTML na JPG w Javie

Postępuj zgodnie z instrukcjami podanymi poniżej, aby spełnić wymagania konwersji HTML na JPG.

  • Przede wszystkim musimy określić szczegóły dotyczące metod Configuration.setAPPSID i Configuration.setAPIKEY
  • Po drugie ustawiamy szczegóły dla setBasePath(..), setAuthPath(..) i określamy setUserAgent(…) jako WebKit
  • Po trzecie, dla własnej pomocy, ustawimy setDebug(..) jako true
  • Teraz utwórz obiekt klasy ConversionApi
  • Określ szczegóły marginesu i nazwę dla informacji o pliku wynikowym
  • Na koniec wywołaj GetConvertDocumentToImage(…), aby zainicjować proces konwersji. Ta metoda akceptuje wejściową nazwę HTML, wynikowy format obrazu, margines i szczegóły wymiarów jako argumenty
// więcej przykładów można znaleźć na stronie https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Uzyskaj ClientID i ClientSecret z https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // szczegóły wywołania 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);
        
    // Utwórz obiekt Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Dokument HTML z magazynu w chmurze
    String name = "list.html";
    // Wynikowy format obrazu
    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
    	
    // Wywołaj interfejs API do konwersji HTML na JPG
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToImage(name, outFormat, width, height, leftMargin, rightMargin, topMargin, bottomMargin, resolution, folder, storage);
    
    // (opcjonalna niestandardowa metoda zapisywania wynikowego JPG na dysku lokalnym)
    checkAndSave(call, "resultantFile.png");
  
    System.out.println("HTML to JPG conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Konwertuj HTML na JPG za pomocą poleceń cURL

Dostęp do interfejsów API chmury Aspose.HTML można również uzyskać za pomocą poleceń cURL za pomocą terminali wiersza poleceń. Ale jako warunek wstępny musimy najpierw wygenerować token sieciowy JSON (JWT) na podstawie indywidualnych danych uwierzytelniających klienta. Wykonaj następujące polecenie, aby wygenerować 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"

Po wygenerowaniu tokena JWT wykonaj następujące polecenie na terminalu, aby przeprowadzić konwersję HTML na obraz.

curl -v -X GET "https://api.aspose.cloud/html/list.html/convert/image/JPG" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>"

Wniosek

Nauczyliśmy się konwersji HTML na obraz za pomocą fragmentów kodu Java, a także szczegółów, w jaki sposób możemy przekonwertować HTML na JPG za pomocą poleceń cURL. Produkt Dokumentacja jest doskonałym źródłem informacji o innych niesamowitych możliwościach oferowanych przez API. Ponadto, jeśli napotkasz jakiekolwiek problemy podczas korzystania z interfejsu API, skontaktuj się z Bezpłatne forum wsparcia produktu.

Powiązane artykuły

Zalecamy również odwiedzenie następujących blogów w celu uzyskania dalszych informacji dotyczących: