HTML a XPS

Cómo convertir HTML a XPS en C# .NET

El archivo HTML se utiliza ampliamente en Internet para compartir información. Dado que es compatible con la mayoría de las plataformas y casi todos los navegadores web son capaces de cargar este formato, lo convierte en uno de los formatos aceptables. Sin embargo, debido a su amplia aceptación, muchos piratas informáticos intentan incrustar scripts maliciosos dentro de archivos HTML. Los ataques de alto perfil de código HTML y JavaScript malicioso han experimentado un aumento drástico tanto en la concienciación como en la explotación en los últimos años. Por otro lado, un archivo XPS representa archivos de diseño de página que se basan en especificaciones de papel XML.

  • XPS es similar al formato de archivo PDF pero utiliza XML en el diseño, la apariencia y la información de impresión de un documento.

API de conversión HTML

Aspose.HTML Cloud está diseñado específicamente para proporcionar las capacidades de procesar archivos HTML. Además del HTML de entrada, también podemos cargar XHTML, MHTML, EPUB, Markdown o una página web por su URL. La salida resultante puede ser PDF, XPS, DOCX o formatos de imagen rasterizada: JPEG, PNG, TIFF, BMP, GIF. Como la API está desarrollada de acuerdo con la arquitectura REST, se puede utilizar en aplicaciones de escritorio, móviles, web e híbridas, así como en plataformas de escritorio o móviles.

Para facilitar aún más la tarea a nuestros clientes, hemos creado SDK específicos para cada lenguaje de programación. Los SDK en la nube son envoltorios de API REST en varios lenguajes de programación, lo que le permite procesar documentos en el lenguaje que elija. De esta manera, puede obtener de manera rápida y sencilla todos los beneficios de los tipos sólidos y las características destacadas del IDE. Consulte el repositorio de GitHub de Aspose.HTML para obtener SDK junto con ejemplos prácticos, para comenzar de inmediato. En este artículo, analizaremos las funciones de conversión de documentos de Aspose.HTML Cloud SDK para .NET.

Instalación

Para comenzar a utilizar el SDK de Cloud, el primer paso es instalarlo en el sistema. El SDK está disponible en NuGet y GitHub. Ejecute el siguiente comando en la ventana de terminal para realizar la instalación de NuGet

nuget install Aspose.HTML-Cloud

Otra opción es instalar el SDK a través de la consola del administrador de paquetes de Visual Studio. Ejecute el siguiente comando:

 PM> Install-Package Aspose.HTML-Cloud
Consola del administrador de paquetes

Imagen 1:- Paquete NuGet Aspose.HTML instalado.

Administrador de paquetes NuGet

Otro enfoque más sencillo es instalar el SDK a través del Administrador de paquetes NuGet dentro de Visual Studio IDE.

  1. Abra el Explorador de soluciones.
  2. Expanda el proyecto y haga clic derecho en la carpeta Paquetes dentro de su solución.
  3. Seleccione la opción Administrar paquetes NuGet…
  4. Haga clic en la pestaña Explorar y busque “Aspose.HTML-Cloud”.
  5. Haga clic en el paquete Aspose.HTML-Cloud, seleccione la versión adecuada en la pestaña derecha y haga clic en el botón Agregar paquete.

Suscripción gratuita a la nube

El siguiente paso importante es suscribirse a una cuenta gratuita en el panel de control de Aspose.Cloud. No se requiere tarjeta de crédito ni otros datos de pago. Si tiene una cuenta de GitHub o Google, simplemente regístrese o haga clic en el botón crear una nueva cuenta y proporcione la información solicitada. Ahora inicie sesión en el panel de control con sus credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Credenciales del cliente

Imagen 3: Credenciales del cliente en el panel de Aspose.Cloud.

HTML a XPS en C#

En esta sección, analizaremos la conversión de archivos HTML al formato XPS para los siguientes dos escenarios.

Cargar HTML desde el almacenamiento en la nube

Siga las instrucciones a continuación para cargar un archivo HTML al almacenamiento en la nube y luego realizar la conversión al formato XPS.

  • En primer lugar, cree una instancia de HtmlApi mientras pasa los detalles de ClientID y ClientSecret como argumentos.
  • En segundo lugar, lea el archivo HTML utilizando el método File.OpenRead(…).
  • En tercer lugar, cree una instancia de StorageApi y utilice el método UploadFile(…) para cargar el archivo HTML al almacenamiento en la nube.
  • Por último, llame al método PutConvertDocumentToXps(…) para realizar la conversión de HTML a XPS y guardar el XPS resultante en el almacenamiento en la nube.
// Obtenga ClientID desde https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// cadena URL base
const string SERVICE_API_HOST = "https://api.aspose.cloud";

// Crear una instancia de HtmlApi
HtmlApi htmlApi = new HtmlApi(clientID, clientSecret,SERVICE_API_HOST);

String name = "inputHTML.html";// inpit Document name.
int width = 800; // Resulting image width.
int height = 1000; // Resulting image height.
int leftMargin = 10; // Left resulting image margin.
int rightMargin = 10; // Right resulting image margin.
int topMargin = 10; // Top resulting image margin.
int bottomMargin = 10; // Bottom resulting image margin.

// nombre del archivo resultante
string resultantFile = "Resultant.xps";

try
{
    // cargar el archivo desde la unidad local
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Desktop\" + name))
    {
        // Crear una instancia de StorageApi
        var uploadFileRequest = new StorageApi(clientID, clientSecret, SERVICE_API_HOST);
        
        // Subir archivo HTML al almacenamiento en la nube
        uploadFileRequest.UploadFile(file, "inputHTML.html");
    }
    
    // Realizar la conversión a formato PDF
    // guardar la salida en el almacenamiento en la nube
    AsposeResponse response = htmlApi.PutConvertDocumentToPdf(
    name, resultantFile, width, height,
    leftMargin, rightMargin, topMargin, bottomMargin);
    
    // Imprimir mensaje de éxito si la conversión es exitosa
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("HTML successfully converted to XPS !");
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

Para fines de prueba, el HTML de entrada y el XPS resultante se pueden descargar de inputHTML.html y Resultant.xps.

Convertir HTML a XPS usando cURL

Como nuestras API se desarrollan según la arquitectura REST, también se puede acceder a ellas mediante comandos cURL. En esta sección, analizaremos la conversión de la página HTML al formato XPS mediante el comando cURL. Pero antes de continuar, el primer paso es crear un token web JSON (JWT) basado en las credenciales del cliente desde el panel de control de Aspose.Cloud. Siga los pasos que se indican a continuación para realizar la conversión de HTML a XPS.

  1. Obtén tu ID de cliente y secreto de cliente desde el panel de Cloud.
  2. Obtenga el token de acceso web JSON basado en las credenciales del cliente.
  3. Llame a la API PutConvertDocumentToXps.
  4. El archivo PDF resultante se guardará en el almacenamiento en la nube.

Ejecute el siguiente comando cURL para generar el token de acceso JWT.

 curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

Ejecute el siguiente comando para cargar los archivos HTML al almacenamiento en la nube:

curl -X PUT "https://api.aspose.cloud/html/storage/file/inputHTML.html" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

Una vez cargado el HTML en el almacenamiento en la nube, se puede utilizar el siguiente comando para realizar la conversión de HTML a XPS y guardar el archivo resultante en el almacenamiento en la nube.

curl -X PUT "https://api.aspose.cloud/html/inputHTML.html/convert/xps?outPath=converted.xps&width=800&height=1000&leftMargin=10&rightMargin=10&topMargin=10&bottomMargin=10" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Visor XPS gratuito

Para ver el archivo XPS, puede considerar usar la aplicación XPS Viewer App. Está desarrollada sobre API REST y le permite experimentar las increíbles capacidades de la API.

Conclusión

Hemos explorado las capacidades de Aspose.HTML Cloud para la conversión de archivos HTML a un diseño de página fijo y otras imágenes rasterizadas. Hemos explorado las funciones para convertir HTML mediante fragmentos de código C# .NET y comandos cURL.

Sin embargo, Aspose.HTML Cloud SDK for .NET, que es un contenedor de Aspose.HTML Cloud, se desarrolló bajo licencia MIT, por lo que el fragmento de código completo se puede descargar desde GitHub. Si tiene algún problema al usar la API, no dude en ponerse en contacto con nosotros a través del foro de soporte técnico gratuito del producto.

Artículos relacionados

Te recomendamos visitar los siguientes enlaces para conocer más sobre