Convertir HTML a PDF en C#

¿Alguna vez te has preguntado cómo convertir HTML a PDF en C#? Si es un desarrollador y necesita crear un documento que se pueda leer en pantalla y que también se pueda imprimir, convertir HTML a PDF sería una solución ideal para su problema. Puede usar este artículo como una guía paso a paso sobre cómo convertir HTML a PDF exactamente en C#. Encontrará pasos detallados y fragmentos de código que pueden ayudarlo a resolver este problema muy fácilmente.

HTML (Hyper Text Markup Language) es un lenguaje de marcado que permite la creación de páginas web. Una página HTML consta de elementos HTML que incluyen formularios, texto, imágenes, animaciones, enlaces, etc. Una etiqueta representa uno de estos elementos, seguido de varios otros. Cada etiqueta tiene un inicio y un final. Para la representación general del diseño, también puede incrustar scripts escritos en JavaScript u hojas de estilo (CSS). Podemos convertir y guardar páginas web como documentos PDF mediante programación. No hay limitación a la cantidad de información que podemos poner en un archivo PDF. Podemos incluir texto, imágenes, hipervínculos, campos de formulario, medios enriquecidos, firmas digitales, archivos adjuntos, metadatos, características geoespaciales y objetos 3D.

La conversión de HTML a PDF permite guardar sitios web u otras páginas web HTML independientes en un formato portátil o imprimirlas. Por lo tanto, siga leyendo para conocer los pasos detallados sobre cómo convertir HTML a PDF en C#.

En este artículo se tratarán los siguientes temas:

  1. API C# del convertidor de HTML a PDF
  2. Convertir HTML a PDF
  3. Convertir HTML a PDF con opciones de guardado
  4. Exportar cadena HTML a PDF
  5. Convertir HTML a PDF desde URL en vivo

Convertidor HTML a PDF C# API

Para convertir HTML a PDF, utilizaremos la API Aspose.HTML for .NET. La API permite la creación de documentos HTML. También permite modificar y extraer datos de documentos HTML. Además, le permite convertir y renderizar documentos HTML sin ningún software externo.

La API proporciona la clase HTMLDocument que representa un documento HTML o la página web que vemos en el navegador. La clase PdfSaveOptions de la API permite especificar varias opciones de guardado mientras se guarda como PDF. Podemos convertir los formatos admitidos usando la clase Convertidor. Proporciona una amplia gama de conversiones a formatos populares, como PDF, XPS, formatos de imagen, etc. Proporciona los métodos ConvertHTML() para convertir HTML a otros formatos.

Descargue la DLL de la API o instálela mediante NuGet.

PM> Install-Package Aspose.Html

Convierte HTML a PDF usando C#

Podemos convertir fácilmente cualquier archivo HTML en un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un documento HTML utilizando la clase HTMLDocument.
  2. A continuación, cree una instancia de la clase PdfSaveOptions.
  3. Finalmente, llama al método Converter.ConvertHTML(). Toma HTMLDocument, PdfSaveOptions y la ruta del archivo PDF de salida como argumentos.

El siguiente ejemplo de código muestra cómo convertir un archivo HTML en un documento PDF en C#.

// Este ejemplo de código muestra cómo convertir un archivo HTML en un documento PDF.
// Cargar archivo HTML de entrada
var document = new HTMLDocument(@"C:\Files\sample.html");

// Inicializar PdfSaveOptions 
var options = new PdfSaveOptions();

// Convertir HTML a PDF
Converter.ConvertHTML(document, options, @"C:\Files\output.pdf");
Convierte HTML a PDF usando C#

Convierte HTML a PDF usando C#

Convierta HTML a PDF con opciones de guardado en C#

Podemos configurar varias opciones de guardado adicionales específicamente para guardar un archivo HTML como un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un documento HTML utilizando la clase HTMLDocument.
  2. A continuación, cree una instancia de la clase PdfSaveOptions.
  3. Después de eso, especifique opciones de guardado como Resolución horizontal, Resolución vertical, Color de fondo, etc.
  4. Finalmente, llame al método Converter.ConvertHTML() para convertir un archivo HTML en PDF.

El siguiente ejemplo de código muestra cómo convertir un archivo HTML a PDF con opciones adicionales en C#.

// Este ejemplo de código demuestra cómo convertir un archivo HTML en un documento PDF con Opciones de guardado.
// Cargar archivo HTML de entrada
var document = new HTMLDocument(@"C:\Files\sample.html");

// Inicializar PdfSaveOptions
// Configure las resoluciones y cambie el color de fondo a Caqui 
var options = new PdfSaveOptions();
options.HorizontalResolution = 200;
options.VerticalResolution = 200;
options.JpegQuality = 100;
options.BackgroundColor = System.Drawing.Color.Khaki;

// Establecer tamaño de página y márgenes
options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 800), new Margin(10, 10, 10, 10));

// Convertir HTML a PDF
Converter.ConvertHTML(document, options, @"C:\Files\output_saveOptions.pdf");
Convierta HTML a PDF con opciones de guardado en C#

Convierta HTML a PDF con opciones de guardado en C#

Exportar cadena HTML a PDF en C#

También podemos convertir una cadena HTML en un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, defina una cadena HTML
  2. A continuación, cree una instancia de la clase PdfSaveOptions.
  3. Opcionalmente, defina las opciones de guardado.
  4. Finalmente, llame al método Converter.ConvertHTML() para convertir una cadena HTML en un PDF. Toma la cadena HTML, PdfSaveOptions y la ruta del archivo PDF de salida como argumentos.

El siguiente ejemplo de código muestra cómo convertir una cadena HTML en un documento PDF en C#.

// Este ejemplo de código muestra cómo convertir una cadena HTML en un documento PDF.
// Definir cadena HTML
string htmlString = @"<style>
        .st
        {
        color: green;
        }
        </style>
        <div id=id1>Aspose.Html rendering Text in Black Color</div>
        <div id=id2 class=''st''>Aspose.Html rendering Text in Green Color</div><div id=id3 class=''st'' style='color: blue;'>Aspose.Html rendering Text in Blue Color</div>
        <div id=id3 class=''st'' style='color: red;'><font face='Arial'>Aspose.Html rendering Text in Red Color</font></div>";

// Inicializar PdfSaveOptions 
var options = new PdfSaveOptions();

// Invoque el método ConvertHTML para convertir el código HTML a PDF           
Converter.ConvertHTML(htmlString, ".", options, @"C:\Files\HtmlStringToPdf.pdf");
Exportar cadena HTML a PDF en C#

Exportar cadena HTML a PDF en C#

Convierta HTML a PDF desde URL en vivo en C#

También podemos guardar cualquier página web desde una URL activa como un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase Url con la URL de una página web.
  2. A continuación, cree una instancia de la clase PdfSaveOptions.
  3. Opcionalmente, defina las opciones de guardado.
  4. Finalmente, guarde el HTML como PDF utilizando el método Converter.ConvertHTML(). Toma la URL, PdfSaveOptions y la ruta del archivo PDF de salida como argumentos.

El siguiente ejemplo de código muestra cómo convertir HTML a PDF desde una URL activa usando C#.

// Este ejemplo de código demuestra cómo convertir un HTML de una URL activa a un documento PDF.
// URL
Url url = new Url("https://docs.aspose.com/html/net/");

// Inicializar PdfSaveOptions 
var options = new PdfSaveOptions();

// Convierte el código HTML a PDF
Converter.ConvertHTML(url, options, @"C:\Files\outputFromURL.pdf");
Convierta HTML a PDF desde URL en vivo en C#

Convierta HTML a PDF desde URL en vivo en C#

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar Aspose.HTML para .NET sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • cargar un archivo HTML;
  • especificar las opciones de guardado de PDF;
  • convertir HTML de un archivo, cadena o una página web en vivo a PDF en C#.

Además de convertir HTML a PDF en C#, puede obtener más información sobre Aspose.HTML para la API .NET utilizando documentación. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también