PdfSharpCore es una biblioteca popular y robusta para la manipulación de archivos PDF en aplicaciones .NET.
Derivada de la famosa biblioteca PdfSharp, esta versión ofrece soporte multiplataforma a través de .NET Core.
Con PdfSharpCore, podemos crear, modificar y procesar documentos PDF de manera eficiente, proporcionando una herramienta esencial para aplicaciones que necesitan manejar documentos PDF de manera programática.
Características de PdfSharpCore,
- Creación de PDFs: Genera documentos PDF desde cero con texto, imágenes, gráficos y más.
- Modificación de PDFs: Permite modificar documentos PDF existentes, agregar contenido nuevo, cambiar el contenido existente, etc.
- Compatibilidad multiplataforma: Funciona en .NET Core, lo que permite su uso en diferentes plataformas, incluyendo Windows, Linux y macOS.
- Soporte para fuentes y gráficos: Integra fuentes y gráficos personalizados en los documentos PDF.
Para más información, documentación detallada y acceso al código fuente, visita el repositorio del proyecto en GitHub - PdfSharpCore.
Instalación de PdfSharpCore
Para empezar a utilizar PdfSharpCore en tu proyecto de .NET, puedes agregar el paquete NuGet correspondiente ejecutando el siguiente comando en tu consola de NuGet Package Manager:
Install-Package PdfSharpCore
O bien, utilizando el Administrador de paquetes NuGet en Visual Studio.
Cómo usar PdfSharpCore
Creación de un PDF básico
A continuación, se muestra cómo crear un documento PDF básico con texto utilizando PdfSharpCore:
using PdfSharpCore.Drawing;
using PdfSharpCore.Pdf;
public void CreatePdf()
{
// Crear un nuevo documento PDF
PdfDocument document = new PdfDocument();
document.Info.Title = "Creando un PDF con PdfSharpCore";
// Crear una nueva página
PdfPage page = document.AddPage();
// Obtener el objeto de gráficos XGraphics para la página
XGraphics gfx = XGraphics.FromPdfPage(page);
// Crear una fuente
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Dibujar el texto
gfx.DrawString("¡Hola, mundo!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Guardar el documento
string filename = "HelloWorld.pdf";
document.Save(filename);
}
Agregar gráficos al PDF
PdfSharpCore también permite agregar gráficos como líneas, rectángulos y elipses. Aquí hay un ejemplo de cómo hacerlo:
public void CreatePdfWithGraphics()
{
PdfDocument document = new PdfDocument();
document.Info.Title = "PDF con Gráficos";
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
// Dibujar un rectángulo
gfx.DrawRectangle(XPens.Black, XBrushes.LightGray, new XRect(50, 50, 200, 100));
// Dibujar una elipse
gfx.DrawEllipse(XPens.Blue, new XRect(300, 50, 200, 100));
// Dibujar una línea
gfx.DrawLine(XPens.Red, 50, 200, 450, 200);
string filename = "GraphicsSample.pdf";
document.Save(filename);
}
Modificación de un PDF existente
PdfSharpCore también permite modificar documentos PDF existentes. Aquí hay un ejemplo de cómo abrir un documento PDF existente y agregarle texto:
public void ModifyExistingPdf(string existingPdfPath)
{
// Abrir el documento PDF existente
PdfDocument document = PdfReader.Open(existingPdfPath, PdfDocumentOpenMode.Modify);
// Obtener la primera página del documento
PdfPage page = document.Pages[0];
// Obtener el objeto de gráficos XGraphics para la página
XGraphics gfx = XGraphics.FromPdfPage(page);
// Crear una fuente
XFont font = new XFont("Verdana", 14, XFontStyle.Regular);
// Dibujar el texto en la página existente
gfx.DrawString("Texto agregado a un PDF existente.", font, XBrushes.Black, new XPoint(50, 50));
// Guardar el documento modificado
document.Save(existingPdfPath);
}