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 cobrará sentido una vez que revisen el código. También explican que usarán .NET 5 para demostrar cómo funciona PDFsharp. Para una visión más amplia de crear PDFs desde cero en C#,IronPDFofrece un enfoque alternativo simplificado.

A continuación se muestra un breve resumen de las diferencias entre PDFsharp eIronPDFen las funciones más importantes para los proyectos PDF .NET:

Características IronPDF PDFSharp
Conversión de HTML a PDF Yes No
Firmas digitales Yes No
Encriptación Yes No
HTML, CSS y JavaScript Yes No
Asistencia profesional Yes No
Licencias Comercial MIT (código abierto)

A continuación se ofrecen explicaciones detalladas y ejemplos de código para cada una de estas diferencias. Los equipos que comparen ambas bibliotecas pueden probar las capacidades deIronPDFcon una [prueba gratuita de 30 días](licencia de prueba.

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 porque proporciona la codificación necesaria para generar archivos PDF. El orador también señala que el no instalar correctamente los paquetes podría ser difícil de solucionar. Los equipos que deseen evitar por completo esta configuración multipaquete pueden seguir la Guía de migración de PDFsharp a IronPDF para una transición paso a paso.

Instalación de bibliotecas relacionadas

Para quePDFSharpfuncione correctamente, el orador explica que un proveedor debe estar registrado para System.Text.Encoding. El proveedor procede del paquete System.Text.Encoding.CodePages, y el ponente destaca la importancia de registrar el paquete para garantizar el correcto funcionamiento de PDFsharp. 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 ponente presenta una sencilla aplicación de consola que utiliza PDFsharp para generar un archivo PDF. Explican que antes de utilizar la biblioteca, se deben declarar las declaraciones using para PDFsharp Drawing y PDFsharp PDF. 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 ponente señala que el código para generar el archivo PDF puede ajustarse para incluir funciones más complejas, como añadir imágenes (véase cómo convertir imágenes en PDF con IronPDF), 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 ponente explica la importancia de configurar correctamente el entorno mediante la instalación de los paquetes NuGet necesarios y el registro de 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

A continuación, el ponente presenta la variable XGraphics, que proporciona métodos para dibujar elementos como texto, líneas e imágenes, funcionalidad queIronPDFgestiona a través de su API de estampado de texto e imágenes sin necesidad de cálculos manuales de coordenadas. También se introduce la variable XFont como medio para configurar una fuente para su uso 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 ponente habla del método DrawString, que escribe texto en el archivo PDF. Señala que la parte compleja del método es determinar dónde se dibujará el texto y explica los diversos parámetros implicados, como la fuente, el color y los límites de donde podría alinearse el texto. También explica el uso de la variable XBrushes para establecer el color del texto.

Explicación de DrawString y otros métodos

A continuación, el ponente presenta 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 en las que 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 utilizando la función de gráficos - tareas queIronPDFsimplifica a través de sus opciones de renderizado para márgenes, encabezados y DPI. 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.

¿Qué biblioteca elegir?

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.

¿Qué es IronPDF?

IronPDF es una biblioteca PDF en C# para crear, editar y manipular documentos PDF. Se distribuye como un único paquete NuGet - Install-Package IronPdf - y se integra con aplicaciones .NET sin necesidad de configurar dependencias adicionales.

PDFsharp proporciona un sólido control de dibujo de bajo nivel y se distribuye bajo una licencia MIT permisiva, dos puntos fuertes genuinos que lo han convertido en un elemento básico en muchos proyectos .NET. Los equipos suelen tener problemas cuando los requisitos van más allá de la renderización basada en coordenadas y se adentran en áreas como la conversión de HTML a PDF, las firmas digitales o el cifrado de documentos.IronPDFes una biblioteca con soporte comercial que aborda esos escenarios como operaciones de primera clase, con soporte profesional y una superficie de API diseñada en torno a flujos de trabajo comunes de generación de documentos que incluyen HTML, CSS y renderización de 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

Una de las principales características deIronPDFes su capacidad para convertir HTML a PDF mediante IronPDF, lo que facilita la creación de documentos PDF a partir de páginas web. La conversión de HTML a PDF está fuera del alcance actual de PDFsharp (funciona a nivel de dibujo de coordenadas), por lo que los equipos que necesitan esa capacidad suelen añadir una biblioteca de renderizado independiente o evaluar el motor Chromium integrado de IronPDF.

IronPDF también incluye soporte para firmas digitales y encriptación de PDF con protección por contraseña, que es crucial para documentos sensibles que requieren un manejo seguro. PDFsharp no está diseñado para abordar estos escenarios de seguridad, por lo que los equipos con requisitos de cumplimiento o protección de documentos a menudo encuentran este un punto de inflexión natural para evaluar IronPDF.

IronPDF proporciona un conjunto de funciones más amplio y una oferta de asistencia más completa en comparación con PDFsharp, ya que abarca el renderizado HTML, el cifrado y las firmas digitales en un único paquete NuGet. No obstante, se trata de un producto comercial, por lo que los equipos cuyos requisitos se ajusten al modelo de dibujo por coordenadas de PDFsharp -y que no necesiten conversión a HTML o funciones de seguridad integradas- pueden preferir el enfoque de código abierto con licencia MIT de PDFsharp.

Además del coste de la licencia, el coste total del proyecto incluye las horas que los desarrolladores dedican a ensamblar bibliotecas de renderizado independientes, gestionar diseños de página basados en coordenadas para documentos complejos y solucionar los problemas de configuración de varios paquetes que requiere PDFsharp. Para los equipos que evalúan los costes a lo largo del ciclo de vida de un proyecto de varios años, estos costes de integración y mantenimiento eclipsan con frecuencia la diferencia entre las licencias de código abierto y las comerciales.

¿Está listo para ver cómoIronPDFencaja en su flujo de trabajo? [Descargue una versión de prueba gratuita de 30 días](licencia de prueba para probar todas las funciones incluidas en esta comparación.

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

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame