Generar PDF desde HTML en C#

Mientras navega por varios sitios web, es posible que desee descargar el contenido HTML de una página web como un archivo PDF para su uso posterior. En este caso, necesita un convertidor todo en uno para convertir correctamente su contenido de HTML a PDF. Como desarrollador de C#, podemos convertir fácilmente contenido HTML de archivos HTML a documentos PDF. También podemos generar un documento PDF a partir de una cadena HTML o guardar una página web como PDF desde una URL activa. En este artículo, aprenderemos cómo generar un PDF desde HTML en C#.

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

  1. API de C# para generar PDF desde HTML
  2. Generar documento PDF desde HTML
  3. Convertir HTML a PDF con opciones de guardado
  4. Generar PDF a partir de una cadena HTML
  5. Generar PDF desde URL en vivo

API de C# para generar PDF desde HTML

Para generar un documento PDF a partir de un archivo HTML, utilizaremos la API Aspose.HTML para .NET. Es una API avanzada de procesamiento de HTML que permite crear, modificar y extraer datos de documentos HTML. También permite convertir y renderizar documentos HTML sin ningún software externo.

La clase HTMLDocument de la API representa un documento HTML o la página web que vemos en el navegador. La clase PdfSaveOptions permite especificar varias opciones de guardado mientras se guarda como PDF. Tenemos la clase Converter que proporciona una amplia gama de conversiones a los 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 usando NuGet.

PM> Install-Package Aspose.Html

Generar documento PDF desde HTML en C#

Podemos generar fácilmente un documento PDF a partir de un archivo HTML 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, llame al método Converter.ConvertHTML() para generar un PDF. Toma HTMLDocument, PdfSaveOptions y la ruta del archivo PDF de salida como argumentos.

El siguiente ejemplo de código muestra cómo generar un documento PDF a partir de un archivo HTML mediante C#.

// Este ejemplo de código demuestra cómo generar un documento PDF a partir de un archivo HTML.
// Ruta del archivo HTML de entrada
string documentPath = @"C:\Files\sample.html";

// Ruta del archivo PDF de salida 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// Cargar archivo HTML de entrada
var document = new HTMLDocument(documentPath);

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

// Convertir HTML a PDF
Converter.ConvertHTML(document, options, savePath);
Generar-documento-PDF-desde-HTML-en-CSharp

Generar documento PDF desde HTML en C#

Convierta HTML a PDF con opciones de guardado en C#

Podemos generar un documento PDF a partir de un archivo HTML con opciones de guardado adicionales 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, etc.
  4. Finalmente, llame al método Converter.ConvertHTML() para generar un PDF.

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

// Este ejemplo de código demuestra cómo generar un documento PDF a partir de un archivo HTML con Opciones de guardado.
// Ruta del archivo HTML de entrada
string documentPath = @"C:\Files\sample.html";

// Ruta del archivo PDF de salida 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// Cargar archivo HTML de entrada
var document = new HTMLDocument(documentPath);

// Inicialice PdfSaveOptions. 
// Configure el tamaño de página, los márgenes, las resoluciones y cambie el color de fondo a AliceBlue 
var options = new PdfSaveOptions()
{
    HorizontalResolution = 200,
    VerticalResolution = 200,
    JpegQuality = 100,
    BackgroundColor = Color.AliceBlue
};

options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 300), new Margin(20, 10, 10, 10));

// Convertir HTML a PDF
Converter.ConvertHTML(document, options, savePath);

Generar PDF desde una cadena HTML en C#

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

  1. En primer lugar, cree una instancia de la clase PdfSaveOptions.
  2. Opcionalmente, defina las opciones de guardado.
  3. Finalmente, llame al método Converter.ConvertHTML() para generar 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 generar un PDF a partir de una cadena HTML usando C#.

// Este ejemplo de código demuestra cómo generar un documento PDF a partir de una cadena HTML.
string htmlString = @"<h1>Convert HTML to PDF!</h1><br/><h2>This is Sample Heading!</h2><p>This is first paragraph.</p>";

// 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");
Generar-PDF-desde-HTML-String-en-CSharp

Generar PDF desde una cadena HTML en C#

Generar PDF desde URL en vivo en C#

En la sección anterior, hemos visto cómo generar un PDF a partir de una cadena HTML. También podemos guardar una página web desde una URL a 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 usando 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 generar un PDF desde una URL activa usando C#.

// URL
Url url = new Url("https://docs.aspose.com/diagram/net/");

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

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

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 mediante programación;
  • definir las opciones de guardado de PDF;
  • guarde la cadena HTML como PDF;
  • guardar una página web como documento PDF;
  • convertir archivo HTML a PDF en C#.

Además de generar PDF desde HTML 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