HTML a PDF en C#
Este tutorial presentará el método para convertir una cadena HTML a PDF en C#.
HTML a PDF con el paquete HtmlRenderer.PdfSharp
en C#
El paquete HtmlRenderer.PdfSharp
se utiliza para generar un archivo pdf a partir de fragmentos HTML en C#. Este paquete facilita la conversión de una cadena que contiene un fragmento de HTML en un documento PDF que contiene la vista web de ese fragmento de HTML. El paquete HtmlRenderer.PdfSharp
es un paquete externo y no viene preinstalado con la biblioteca .NET
. Tenemos que instalar este paquete por separado usando el administrador de paquetes NuGet. El comando para instalar el paquete HtmlRenderer.PdfSharp
se da a continuación.
dotnet add package HtmlRenderer.PdfSharp-- version 1.5.0.6
El siguiente ejemplo de código nos muestra cómo convertir una cadena que contiene un fragmento HTML en un archivo PDF con el paquete HtmlRenderer.PdfSharp
en C#.
using PdfSharp;
using PdfSharp.Pdf;
using System;
using System.IO;
using TheArtOfDev.HtmlRenderer.PdfSharp;
namespace html_to_pdf {
class Program {
static void Main(string[] args) {
string htmlString =
"<h1>Document</h1> <p>This is an HTML document which is converted to a pdf file.</p>";
PdfDocument pdfDocument = PdfGenerator.GeneratePdf(htmlString, PageSize.A4);
pdfDocument.Save("C:/File/HTML to PDF Document.pdf");
}
}
}
C:\File\HTML to PDF Document.pdf
Archivo:
En el código anterior, convertimos el fragmento HTML dentro de la variable de cadena htmlString
a un archivo PDF con el paquete HtmlRenderer.PdfSharp
en C#. Primero inicializamos la cadena htmlString
con un fragmento de HTML. Luego creamos una instancia de la clase PdfDocument
con la función PdfGenerator.GeneratePdf()
en C#. Al final, guardamos el documento en una ruta especificada con la función PdfDocument.Save()
. El contenido del archivo se puede ver en el fragmento de pantalla que se muestra arriba.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn