HTML a imagen

Cómo convertir HTML a imagen en Java

HTML es el formato de facto para estructurar páginas web y almacena contenido en formato de texto estándar. Las etiquetas dentro de HTML definen el diseño de la página y el contenido de la página web, incluido el texto, las tablas, las imágenes y los hipervínculos, que se muestran en el navegador web. Sin embargo, por último, se observó que los scripts maliciosos se pueden incrustar dentro de las páginas HTML y se pueden usar en una variedad de tipos de ataques diferentes, incluido el cross-site scripting (XSS). Por lo tanto, muchas organizaciones/sistemas bloquean la carga de archivos HTML compartidos en modo sin conexión. Entonces, una solución viable es convertir HTML a formato de imagen. En este artículo, vamos a discutir los detalles de cómo convertir HTML a JPG en Java.

API de conversión de HTML a imagen

Vamos a utilizar Aspose.HTML Cloud SDK for Java para realizar la conversión de HTML a imagen. Esta API proporciona la función para cargar y manipular archivos HTML existentes. Al mismo tiempo, también ofrece la función de renderizar HTML a PDF, XPS, DOCX y formatos de imagen que incluyen (JPEG, PNG, BMP y TIFF). Ahora agregue las siguientes líneas al pom.xml de su proyecto de tipo de compilación maven para descargar e instalar el SDK.

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

El próximo gran paso es una suscripción gratuita a nuestros servicios en la nube a través de Aspose.Cloud Dashboard utilizando GitHub o una cuenta de Google. O simplemente cree una nueva cuenta y obtenga los detalles de sus credenciales de cliente.

Cómo convertir HTML a JPG en Java

Siga las instrucciones que se dan a continuación para cumplir con el requisito de convertir HTML a JPG.

  • En primer lugar, necesitamos especificar detalles contra los métodos Configuration.setAPPSID y Configuration.setAPIKEY
  • En segundo lugar, establecemos los detalles para setBasePath(..), setAuthPath(..) y especificamos setUserAgent(…) como WebKit
  • En tercer lugar, para nuestra propia ayuda, vamos a configurar setDebug(..) como verdadero
  • Ahora crea un objeto de la clase ConversionApi
  • Especifique los detalles del margen y el nombre de la información del archivo resultante
  • Finalmente, llame a GetConvertDocumentToImage(…) para iniciar el proceso de conversión. Este método acepta el nombre HTML de entrada, el formato de imagen resultante, el margen y los detalles de las dimensiones como argumentos.
// para obtener más ejemplos, visite https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // detalles para la invocación de 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);
        
    // Crear un objeto de Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // El documento html del almacenamiento en la nube
    String name = "list.html";
    // formato de imagen 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 la API para la conversión de HTML a JPG
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToImage(name, outFormat, width, height, leftMargin, rightMargin, topMargin, bottomMargin, resolution, folder, storage);
    
    // (método personalizado opcional para guardar el JPG resultante en la unidad local)
    checkAndSave(call, "resultantFile.png");
  
    System.out.println("HTML to JPG conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Convierta HTML a JPG usando comandos cURL

También se puede acceder a las API de Aspose.HTML Cloud a través de comandos cURL utilizando terminales de línea de comandos. Pero como requisito previo, primero debemos generar un token web JSON (JWT) en función de sus credenciales de cliente individuales. Ejecute el siguiente comando para generar el 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"

Una vez que se haya generado el token JWT, ejecute el siguiente comando en el terminal para realizar la conversión de HTML a imagen.

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

Conclusión

Hemos aprendido la conversión de HTML a imagen usando fragmentos de código Java, así como los detalles sobre cómo podemos convertir HTML a JPG usando comandos cURL. La Documentación del producto es una excelente fuente para conocer otras funciones increíbles que ofrece la API. Además, si encuentra algún problema al utilizar la API, no dude en ponerse en contacto con el Foro gratuito de soporte de productos.

Artículos relacionados

También recomendamos visitar los siguientes blogs para obtener más detalles sobre: