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 ponente señala que el orden del texto tendrá sentido una vez que recorran el código. También explican que usarán .NET 5 para demostrar cómo funciona PDFsharp. Para una visión más amplia sobre crear PDFs desde cero en C#,IronPDFofrece un enfoque alternativo simplificado.

Aquí hay una vista rápida de cómo difieren PDFsharp eIronPDFen las capacidades más relevantes para proyectos de PDF en .NET:

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

Explicaciones detalladas y ejemplos de código para cada una de estas diferencias se presentan en las secciones a continuación. Los equipos que comparan ambas bibliotecas pueden probar las capacidades deIronPDFcon una prueba gratuita de 30 días.

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) usando 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. Los equipos que deseen evitar esta configuración de múltiples paquetes por completo 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 ponente explica que se debe registrar un proveedor para System.Text.Encoding. El proveedor proviene del paquete System.Text.Encoding.CodePages, y el ponente destaca la importancia de registrar el paquete para garantizar 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 ponente presenta una simple aplicación de consola que utiliza PDFsharp para generar un archivo PDF. Explican que antes de usar la biblioteca, se deben declarar las sentencias 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);  
        }
    }
}
$vbLabelText   $csharpLabel

El ponente 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 (ver cómo convertir imágenes a 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) usando PDFSharp: Figura 2

El ponente explica la importancia de configurar correctamente el entorno 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) usando PDFSharp: Figura 3

El ponente luego introduce la variable XGraphics, que proporciona métodos para dibujar cosas como texto, líneas e imágenes — funcionalidad queIronPDFmaneja a través de su API de estampado de texto e imágenes sin requerir cálculos de coordenadas manuales. La variable XFont también se introduce como un 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 discute el 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 distintos parámetros involucrados, 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

El ponente luego 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 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) usando 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 de PDF para C# para crear, editar y manipular documentos PDF. Se envía como un solo paquete NuGet — Install-Package IronPdf — e integra con aplicaciones .NET sin requerir configuración adicional de dependencias.

PDFsharp proporciona un sólido control de dibujo a nivel bajo y se distribuye bajo una licencia permisiva MIT — dos verdaderas fortalezas que lo han convertido en un elemento básico en muchos proyectos .NET. Donde los equipos a menudo encuentran fricción es cuando los requisitos crecen más allá del renderizado basado en coordenadas a áreas como conversión de HTML a PDF, firmas digitales o cifrado de documentos.IronPDFes una biblioteca comercialmente soportada 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, incluida la renderización de 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

Una de las características clave deIronPDFes su capacidad para convertir HTML a PDF usando IronPDF, lo que hace que sea sencillo crear documentos PDF a partir de páginas web. La conversión de HTML a PDF está fuera del alcance actual de PDFsharp — opera a nivel de dibujo basado en coordenadas — por lo que los equipos que necesiten esa capacidad suelen agregar una biblioteca de renderizado separada o evaluar el motor Chromium integrado de IronPDF.

IronPDF también incluye soporte para firmas digitales y cifrado de PDF con protección de 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 características más amplio y una oferta de soporte más completa en comparación con PDFsharp, cubriendo renderización HTML, cifrado y firmas digitales en un solo paquete NuGet. Es un producto comercial, sin embargo, por lo que los equipos cuyos requisitos encajan dentro del modelo de dibujo por coordenadas de PDFsharp — y que no necesitan conversión de HTML ni características de seguridad integradas — pueden preferir el enfoque de código abierto bajo licencia MIT de PDFsharp.

Más allá del costo de la licencia, el costo total del proyecto incluye las horas de desarrollador gastadas ensamblando bibliotecas de renderizado separadas, gestionando diseños de página basados en coordenadas para documentos complejos y solucionando problemas con la configuración de múltiples paquetes que requiere PDFsharp. Para equipos que evalúan el costo en un ciclo de vida de proyecto de varios años, estos costos de integración y mantenimiento a menudo superan la diferencia entre las licencias de código abierto y comerciales.

¿Listo para ver cómo se adaptaIronPDFa tu flujo de trabajo? Descarga una prueba gratuita de 30 días para probar cada característica cubierta 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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me