Saltar al pie de página
COMPARACIONES DE PRODUCTOS
Cómo generar un PDF en C# (.NET 5) usando PDFsharp

Cómo generar un PDF en C# (.NET 5) usando PDFSharp

El video es una guía de instrucciones sobre cómo usar la biblioteca PDFsharp para generar un archivo PDF utilizando código C#. El orador comienza introduciendo PDFsharp como una biblioteca complicada pero efectiva para generar archivos PDF. La biblioteca tiene características avanzadas y, a diferencia de muchos de sus competidores, es completamente gratuita. El orador enfatiza que a pesar de su complejidad, PDFsharp es una excelente opción para generar archivos PDF usando C#.

Para comenzar el tutorial, el orador presenta un ejemplo de un archivo PDF generado que consiste en tres líneas de texto. La primera línea de texto no es exactamente la primera, mientras que la tercera línea de texto aparece en la esquina inferior derecha. El orador señala que el orden del texto tendrá sentido una vez que profundice en el código. También explican que usarán .NET 5 para demostrar cómo funciona PDFsharp.

Instalación y configuración

Antes de entrar en el código, el orador destaca que configurar el entorno para PDFsharp puede ser bastante desafiante. Explican que deben instalarse tres paquetes NuGet antes de trabajar con Detalles del Paquete NuGet de PDFsharp. El primer paquete es PDFsharp en sí, que puede generar una advertencia de que puede no coincidir con .NET debido a su versión anterior. Los otros dos paquetes son System.Drawing.Common y System.Text.Encoding.CodePages.

Cómo generar PDF en C# (.NET 5) con PDFSharp: Figura 1

El orador enfatiza que deben instalarse los tres paquetes antes de trabajar con PDFsharp; de lo contrario, el código mostrará un error. Explican que el paquete System.Text.Encoding.CodePages es especialmente importante ya que proporciona el soporte de codificación necesario para generar archivos PDF. El orador también señala que el no instalar correctamente los paquetes podría ser difícil de solucionar.

Instalación de bibliotecas relacionadas

Para quePDFSharpfuncione correctamente, el orador explica que se debe registrar un proveedor para System.Text.Encoding. El proveedor proviene del paquete System.Text.Encoding.CodePages, y el orador destaca la importancia de registrar el paquete para asegurar que PDFsharp funcione correctamente. Explican que si no se registra el proveedor, se producirá un error, lo cual puede ser complicado de solucionar.

Creación de un archivo PDF

A continuación, el orador presenta una simple aplicación de consola que utiliza PDFsharp para generar un archivo PDF. Explican que antes de usar la biblioteca, deben declararse las sentencias using para Dibujo de PDFsharp y PDF de PDFsharp. El orador entonces presenta el código para generar el archivo PDF, que implica crear un nuevo documento, agregar una nueva página, y dibujar el texto en la página.

using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf

Namespace PdfSharpExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new PDF document
			Dim document As New PdfDocument()
			' Add a new page
			Dim page As PdfPage = document.AddPage()
			' Prepare to draw on the page
			Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
			' Define a font
			Dim font As New XFont("Verdana", 20, XFontStyle.Bold)

			' Draw a string to the page
			gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)

			' Save the document
			Const filename As String = "HelloWorld.pdf"
			document.Save(filename)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

El orador señala que el código para generar el archivo PDF se puede ajustar para incluir características más complejas, como agregar imágenes, tablas y gráficos. También explican que PDFsharp proporciona diversas características para trabajar con fuentes, incluyendo incrustar fuentes en el archivo PDF.

Cómo generar PDF en C# (.NET 5) con PDFSharp: Figura 2

El orador explica la importancia de configurar el entorno correctamente instalando los paquetes NuGet necesarios y registrando un proveedor para System.Text.Encoding. También presentan una simple aplicación de consola que utiliza PDFsharp para generar un archivo PDF y demuestran cómo se puede ajustar el código para incluir características más complejas. El video es un excelente recurso para cualquiera interesado en generar archivos PDF usando C# y PDFsharp.

Creación de listas y elementos más complejos

En la segunda parte del video, el orador comienza introduciendo un ejemplo más complejo de creación de un documento PDF. Él enfatiza que es inútil tener un documento PDF vacío y procede a explicar cómo crear una nueva página usando la biblioteca PDFSharp. Señala que el proceso es similar a crear cosas en complementos de Excel o PowerPoint, y que una vez que se crea la página, funciona con una referencia que no requiere la invocación de otro método.

Cómo generar PDF en C# (.NET 5) con PDFSharp: Figura 3

El orador entonces presenta la variable XGraphics, que proporciona métodos para dibujar cosas como texto, líneas e imágenes. La variable XFont también es presentada como un medio para configurar una fuente para usar en el documento PDF. El orador señala que la fuente se puede generar en otra parte, pero que es útil configurarla globalmente si hay un arreglo más complejo.

A continuación, el orador discute el método DrawString, que escribe texto en el archivo PDF. Afirma que la parte compleja del método es determinar dónde se dibujará el texto y explica los diversos parámetros involucrados, como la fuente, el color y los límites de donde podría alinearse el texto. Él también explica el uso de la variable XBrushes para establecer el color del texto.

Explicación de DrawString y otros métodos

El orador presenta entonces varios ejemplos de uso del método DrawString con diferentes parámetros, como alinear el texto en el centro, alinearlo en la parte inferior izquierda y especificar las coordenadas exactas donde se colocará el texto. Afirma que la última opción es la más personalizable y ofrece un gran nivel de flexibilidad.

Cómo generar PDF en C# (.NET 5) con PDFSharp: Figura 4

El orador explica cómo crear una tabla usando gráficos en el lenguaje de programación C#. Cubren cómo insertar imágenes, cadenas y líneas, así como cómo dibujar arcos y códigos de barras usando la característica de gráficos. También explican la importancia de prueba y error al trabajar con coordenadas y cómo dibujar líneas para separar filas.

El orador también discute el encabezado de la tabla y la necesidad de un punto de partida para los valores y la línea. Explican cómo ajustar la posición en y agregar filas de registros, y cómo pasar a otra página cuando la tabla excede cierto número de registros. Finalmente, mencionan la importancia de restablecer valores para cada página.

Conclusión

En conclusión, el orador enfatiza la importancia de estar familiarizado con los complementos de Microsoft Office al trabajar conPDFSharpy ofrece su propio curso sobre el tema. También señala que la biblioteca es altamente versátil y puede usarse para crear una amplia gama de documentos PDF, desde documentos de texto simples hasta más complejos con imágenes, gráficos y diseños personalizados.

IronPDF: Una biblioteca PDF en C

IronPDF es una biblioteca PDF en C# para crear, editar y manipular documentos PDF. Está diseñada para ser fácil de usar e integrarse con aplicaciones .NET sin problemas.

Comparado con PDF Sharp,IronPDFofrece varias ventajas. En primer lugar, es un producto comercial y viene con soporte profesional, que no está disponible con PDF Sharp. En segundo lugar,IronPDFtiene una mejor documentación y una API más intuitiva, lo que facilita que los desarrolladores comiencen y trabajen con la biblioteca. Además,IronPDFtiene un conjunto más amplio de características, incluyendo opciones avanzadas de creación de PDF y soporte para trabajar con HTML, CSS y JavaScript.

Características

Características IronPDF PDFSharp
Convertir HTML a PDF No
Soporte profesional No
Soporte de HTML, CSS y JavaScript No
Firmas digitales No
Encriptación No

One of the key features ofIronPDFis its ability to convert HTML to PDF using IronPDF, making it easy to create PDF documents from web pages. Esta característica no está disponible en PDF Sharp, lo que limita sus casos de uso.

IronPDF también tiene soporte para firmas digitales y encriptación, lo cual es crucial para documentos sensibles que requieren manejo seguro. Esta característica no está disponible en PDF Sharp.

IronPDF es una biblioteca PDF más poderosa y fácil de usar en comparación con PDF Sharp, con características adicionales y mejores opciones de soporte. Sin embargo, también es un producto comercial, por lo que puede no ser la mejor opción para desarrolladores que busquen una solución gratuita o de código abierto.

Por favor notaPDFsharp es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado ni patrocinado por PDFsharp. Todos los nombres de productos, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.

Preguntas Frecuentes

¿Cómo puedo generar un archivo PDF usando PDFsharp en C#?

Para generar un PDF usando PDFsharp, necesita crear un nuevo documento PDF, agregarle una página y utilizar el objeto XGraphics para dibujar texto o gráficos. Asegúrese de incluir las declaraciones de uso para los espacios de nombres PdfSharp.Drawing y PdfSharp.Pdf.

¿Cuáles son los paquetes NuGet esenciales requeridos para PDFsharp?

Para trabajar eficientemente con PDFsharp, necesita instalar los siguientes paquetes NuGet: PDFsharp, System.Drawing.Common y System.Text.Encoding.CodePages. Estos paquetes son cruciales para el soporte de codificación y la generación adecuada de PDF.

¿Cómo se compara IronPDF con PDFsharp para la generación de PDF en C#?

IronPDF es una biblioteca comercial que ofrece características avanzadas como la conversión de HTML a PDF, firmas digitales y encriptación, que no están disponibles en PDFsharp. También proporciona mejor documentación y soporte profesional, haciéndola más amigable para tareas complejas.

¿Cuáles son las limitaciones de usar PDFsharp para la generación de PDF?

PDFsharp no admite HTML, CSS o JavaScript, lo que limita sus casos de uso. Requiere un buen entendimiento de la configuración de codificación y complementos de Microsoft Office para documentos complejos, lo que puede hacerlo menos intuitivo en comparación con IronPDF.

¿Por qué es importante el paquete System.Text.Encoding.CodePages para PDFsharp?

El paquete System.Text.Encoding.CodePages proporciona el soporte de codificación necesario al generar archivos PDF con PDFsharp. Sin instalar y registrar correctamente este paquete, puede encontrar errores relacionados con la codificación.

¿Puedo convertir HTML a PDF usando una biblioteca gratuita de C#?

No, PDFsharp no admite la conversión de HTML a PDF. Para tal funcionalidad, necesitaría una biblioteca comercial como IronPDF, que ofrece esta característica junto con otras capacidades avanzadas.

¿Cómo puedo solucionar errores comunes en PDFsharp?

Los errores comunes en PDFsharp a menudo surgen de una configuración incorrecta de los paquetes NuGet o problemas de codificación. Asegúrese de que todos los paquetes requeridos, incluidos System.Text.Encoding.CodePages, estén instalados y registrados correctamente para resolver tales problemas.

¿Qué características avanzadas están disponibles en IronPDF para desarrolladores de C#?

IronPDF ofrece características avanzadas como la conversión de HTML a PDF, firmas digitales, encriptación y la capacidad de manejar CSS y JavaScript. También proporciona integración con aplicaciones .NET y soporte profesional, haciéndola una herramienta poderosa para los desarrolladores.

¿Cómo puedo personalizar el diseño de texto en un PDF usando PDFsharp?

Usando PDFsharp, puede personalizar el diseño de texto en un PDF utilizando el método DrawString de la clase XGraphics. Esto le permite establecer propiedades como fuente, color y alineación de texto dentro de los límites especificados.

¿Es PDFsharp adecuado para crear documentos PDF complejos en C#?

PDFsharp puede crear documentos PDF complejos, pero requiere una sólida comprensión de la codificación y los complementos de Microsoft Office. IronPDF puede ser una mejor opción para tareas complejas debido a su API más intuitiva y características adicionales.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más