csharp-pdfsharpcore

Manipulación de PDFs en C# con PdfSharpCore

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);
}