Esta página puede contener texto traducido automáticamente.

Biblioteca .NET para generación de PDF

Genere documentos PDF utilizando la API de diseño que puede crear archivos PDF tan complejos o simples como necesite. Describe el diseño de tu documento en código usando Fluent API. El potente generador de PDF de C# con soporte de paginación hará el resto.

Utilice elementos estructurales como bloques de construcción en código C# o VB.NET para obtener documentos perfectos. Los elementos son páginas, contenedores, tablas, párrafos, imágenes, enlaces y similares. La biblioteca dividirá el contenido del documento en páginas automáticamente. Puede agregar encabezados y pies de página. La API admite componentes reutilizables personalizados. Layout API ofrece componentes integrados como tablas de contenido o marcas de agua.

Biblioteca de generación de PDF

La API de diseño está disponible como complemento gratuito para la biblioteca Docotic.Pdf. Tanto la biblioteca como el complemento son DLL de código 100% administrado. No tienen dependencias externas de terceros. Puede utilizar la API para crear documentos PDF en Windows, Linux, en entornos de nube de Amazon y Azure. macOS, iOS y Android también están bien.

Docotic.Pdf y el complemento Layout están disponibles en NuGet y en nuestro sitio. Para probar la biblioteca sin restricciones del modo de evaluación, obtenga la clave de licencia gratuita por tiempo limitado en la página de la biblioteca.

Biblioteca Docotic.Pdf 9.4.17469-dev Complemento de diseño 9.4.17469-dev
Pruebas de regresión 14,760 pasaron Descargas totales de NuGet 4,447,259

API fluida para crear PDF

El complemento proporciona una API fluida. Puede encadenar la mayoría de las llamadas. Esto conduce a un código más compacto que con los marcos "declarativos". Y aún puede utilizar todos los enfoques habituales para desarrollar código. Por ejemplo, puede hacer que la implementación de su diseño sea más concisa con partes reutilizables de clases y métodos auxiliares.

Cómo crear un documento PDF en C#

Ok, es hora de algunos ejemplos.

Hola PDF!

Aquí hay un ejemplo simple que muestra cómo generar PDF en C# usando Layout API. Crea un documento con dos páginas. Es algo sintético pero ilustra la forma en que funciona la API.

PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
    doc.Pages((PageLayout page) =>
    {
        page.Size(PdfPaperSize.A5);

        page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");

        page.Content().Column(c =>
        {
            for (int i = 0; i < 10; i++)
                c.Item().AlignCenter().Text($"Page 1 block {i + 1}");

            c.Item().PageBreak();
            c.Item().Text("Page 2");
        });

        page.Footer().Text(t => t.CurrentPageNumber());
    });
});

El método PdfDocumentBuilder.Generate proporciona una instancia de la clase Document. Utilizando el objeto y su método Pages, es posible definir un diseño para una o más páginas.

El código de muestra establece el tamaño de la página y describe el contenido en los espacios Header, Content y Footer. Todas estas ranuras tienen el mismo tipo LayoutContainer. LayoutContainer es un componente clave de la API de diseño. Usando contenedores puedes generar diseños arbitrarios.

El motor de diseño genera páginas que contienen todos los datos. El número exacto depende del contenido de PageLayout.Content y otros espacios. La biblioteca repite el contenido de los espacios Header y Footer en cada página. Todas las páginas tendrán el mismo tamaño.

Para tener páginas con diferente diseño o de diferente tamaño, utilice más de una llamada al método Pages.

Crear PDF de texto en C#

Una tarea común es convertir una cadena de texto en un archivo PDF. El siguiente código utiliza la API de diseño para crear un documento PDF a partir de un archivo de texto en C#.

PdfDocumentBuilder
    .Create()
    .Generate("long-text.pdf", doc => doc.Pages(page =>
    {
        string text = File.ReadAllText(@"PDF_Succinctly.txt");
        page.Content().Text(text);
    }));

El código lee todo el texto del archivo y lo usa para el espacio Content. No es necesario calcular ningún tamaño ni dividir la cadena de texto en fragmentos. El complemento Layout se encarga de todas estas tareas. Con la API, es fácil convertir texto a PDF en código C#.

Cifrar PDF en .NET

Para producir un PDF cifrado, utilice un controlador de cifrado como en el siguiente ejemplo de código C#.

PdfDocumentBuilder
    .Create()
    .Encryption(new PdfStandardEncryptionHandler("owner", "user"))
    .Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
    {
        // diseñe el contenido de la página aquí
    }));

La biblioteca producirá un PDF cifrado con las contraseñas de usuario y propietario. Es posible especificar permisos de PDF para los usuarios del documento cifrado. También puede proteger archivos PDF con certificados.

Otras lecturas

Layout API proporciona muchos medios para generar PDF en C#. Le animamos a leer sobre ellos en los siguientes artículos: