HTML para imagem

Como converter HTML para imagem em Java

HTML é o formato padrão para estruturar páginas da web e armazena conteúdo em formato de texto padrão. As tags dentro do HTML definem o layout da página e o conteúdo da página da web, incluindo texto, tabelas, imagens e hiperlinks, que são exibidos no navegador da web. No entanto, por último, observou-se que scripts maliciosos podem ser incorporados em páginas HTML e podem ser usados em uma variedade de tipos diferentes de ataque, incluindo cross-site scripting (XSS). Portanto, muitas organizações/sistemas bloqueiam o carregamento de arquivos HTML compartilhados no modo offline. Portanto, uma solução viável é converter HTML em formato de imagem. Neste artigo, vamos discutir os detalhes de como converter HTML para JPG em Java.

API de conversão de HTML para imagem

Vamos usar Aspose.HTML Cloud SDK for Java para realizar a conversão de HTML para imagem. Essa API fornece o recurso para carregar e manipular arquivos HTML existentes. Ao mesmo tempo, também oferece o recurso de renderizar HTML para PDF, XPS, DOCX e formatos de imagem, incluindo (JPEG, PNG, BMP e TIFF). Agora, adicione as seguintes linhas ao pom.xml do seu projeto de tipo de compilação maven para baixar e instalar o SDK.

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

A próxima grande etapa é uma assinatura gratuita de nossos serviços em nuvem por meio do painel Aspose.Cloud usando o GitHub ou a conta do Google. Ou simplesmente crie uma nova conta e obtenha os detalhes de suas credenciais de cliente.

Como converter HTML para JPG em Java

Siga as instruções fornecidas abaixo para cumprir o requisito de conversão de HTML para JPG.

  • Em primeiro lugar, precisamos especificar os detalhes dos métodos Configuration.setAPPSID e Configuration.setAPIKEY
  • Em segundo lugar, definimos detalhes para setBasePath(..), setAuthPath(..) e especificamos setUserAgent(…) como WebKit
  • Em terceiro lugar, para nossa própria ajuda, vamos definir setDebug(..) como true
  • Agora crie um objeto da classe ConversionApi
  • Especifique os detalhes da margem e o nome das informações do arquivo resultante
  • Finalmente, chame GetConvertDocumentToImage(…) para iniciar o processo de conversão. Este método aceita o nome HTML de entrada, o formato da imagem resultante, a margem e os detalhes das dimensões como argumentos
// para mais exemplos, visite https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Obtenha ClientID e ClientSecret em https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // detalhes para invocação da 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);
        
    // Crie um objeto de Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // O documento html do armazenamento em nuvem
    String name = "list.html";
    // formato de imagem resultante
    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
    	
    // Invoque a API para conversão de HTML para JPG
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToImage(name, outFormat, width, height, leftMargin, rightMargin, topMargin, bottomMargin, resolution, folder, storage);
    
    // (método personalizado opcional para salvar o JPG resultante na unidade local)
    checkAndSave(call, "resultantFile.png");
  
    System.out.println("HTML to JPG conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Converta HTML para JPG usando comandos cURL

As APIs Aspose.HTML Cloud também podem ser acessadas por meio de comandos cURL usando terminais de linha de comando. Mas, como pré-requisito, precisamos primeiro gerar um JSON Web Token (JWT) com base em suas credenciais de cliente individuais. Execute o seguinte comando para gerar o 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"

Depois que o token JWT for gerado, execute o seguinte comando no terminal para realizar a conversão de HTML para imagem.

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

Conclusão

Aprendemos a conversão de HTML em imagem usando trechos de código Java, bem como os detalhes sobre como podemos converter HTML em JPG usando comandos cURL. A [Documentação] do produto 13 é uma ótima fonte para conhecer outros recursos incríveis oferecidos pela API. Além disso, se você encontrar algum problema ao usar a API, sinta-se à vontade para entrar em contato com o Fórum de suporte gratuito ao produto.

Artigos relacionados

Também recomendamos visitar os seguintes blogs para obter mais detalhes sobre: