! Base de conocimiento de Itext En nuestra publicación anterior, hablamos sobre API ITEXTPDF para trabajar con archivos PDF usando C#/vb.net en aplicaciones .NET. La API le permite crear, editar y manipular documentos PDF sin entrar en ningún detalle del formato de archivo interno del formato de archivo PDF. El uso de ITEXTPDF es fácil de trabajar y con solo unas pocas líneas de código, puede comenzar a crear, leer y manipular archivos PDF. En este artículo, hablaremos sobre el uso de ITEXTPDF en la aplicación .NET para crear, leer y guardar archivos PDF programáticamente en nuestra aplicación C#. Entonces, comencemos y echemos un vistazo a cómo podemos crear un PDF en C#.

Instalación de Itextpdf

Puede instalar ItextPDF API desde Nuget o desde Itext Artifactory Server . Antes de que pueda crear su aplicación C# para usar la API ITEXTPDF, debe instalarla desde cualquiera de estas fuentes. Puede consultar el Artículo de instrucciones para instalar ITEXTPDF API para configurar su aplicación de consola para este propósito.

Descripción general de las principales clases de API de ITEXTPDF

Algunas de las principales clases de ITEXTPDF son las siguientes.

PDFDocument

Cada documento PDF creado con ITEXTPDF se inicia utilizando un objeto de la clase PDFDocument.

PDFWriter

La clase PDFWriter es responsable de escribir el contenido PDF a un destino, como un archivo o una transmisión. Proporciona la funcionalidad para crear un documento PDF y especificar el destino de salida. Algunas características clave y responsabilidades de la clase PDFWriter son las siguientes.

Destination ConfigurationThe PdfWriter constructor allows you to specify the output destination for the PDF content. It can accept parameters like a file path, a Stream object, or an instance of IOutputStreamCounter. This determines where the PDF content will be written.
PDF Document CreationWhen you create a new instance of PdfWriter, it automatically creates a new PdfDocument object associated with it. The PdfDocument represents the logical structure of a PDF file and provides methods to manipulate its content.
PDF Compression and Version ControlThe PdfWriter class allows you to configure various aspects of the PDF file, such as compression settings and PDF version compatibility.
Writing PDF ContentOnce you have a PdfWriter instance, you can use it to write content to the associated PdfDocument. You can add pages, create annotations, add text, images, and other graphical elements to the PDF document using the provided methods.
Closing the WriterAfter you finish writing the PDF content, it’s important to close the PdfWriter to ensure the document is finalized and any necessary resources are released.

párrafo

La clase de párrafo representa un párrafo de texto en un documento PDF. Se usa para agregar contenido textual a un documento PDF. Aquí hay algunas características y responsabilidades clave de la clase de párrafo:

Text ContentThe primary purpose of the Paragraph class is to hold and display textual content within a PDF document. You can pass a string or any other text representation to the Paragraph constructor to initialize its content.
Text FormattingThe Paragraph class allows you to apply various formatting options to the text, such as font size, font family, text color, bold, italic, underline, and more. You can use methods like SetFontSize(), SetFont(), SetBold(), SetItalic(), SetUnderline(), etc., to specify the desired formatting.
Alignment and IndentationThe Paragraph class provides methods to set the alignment of the text within the paragraph. You can align the text to the left, right, or center, or justify it. Additionally, you can apply indentation to control the left and right margins of the paragraph.
Inline ElementsApart from plain text, you can also add inline elements within a Paragraph. For example, you can include phrases or words with different formatting styles, add hyperlinks, insert images, or include other elements supported by iText.
NestingYou can nest multiple paragraphs within each other or combine them with other iText elements like tables, lists, or chunks to create complex document structures.
Integration with DocumentThe Paragraph instances can be added to the Document object using the Add() method. This allows you to include paragraphs in your PDF document at the desired location.

¿Cómo crear un archivo PDF en C#?

Ahora que tenemos una buena idea sobre ITEXTPDF y sus clases principales, procedamos a crear un documento PDF en C# usando la API ITEXTPDF. Esto se puede hacer con solo unos pocos pasos como a continuación.

  1. Cree un nuevo proyecto en Visual Studio.
  2. Instale la biblioteca ITEXTPDF C# usando el Administrador de paquetes Nuget.
  3. Crear instancias de clases PDFDocument y PDFWriter
  4. Crear instancias de clases de documentos y párrafos
  5. Cierre el documento usando el método de document.close ()

C# Código de fragmento para generar archivo PDF

El siguiente código C# se puede usar para generar un archivo PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        // Specify the output file path
        string outputPath = "example.pdf";
        // Create a new PDF document
        PdfWriter writer = new PdfWriter(outputPath);
        PdfDocument pdf = new PdfDocument(writer);
        // Create a document instance
        Document document = new Document(pdf);
        // Add content to the document
        document.Add(new Paragraph("Hello, World!"));
        // Close the document
        document.Close();
        Console.WriteLine("PDF created successfully.");
    }
}

¿Cómo actualizar un archivo PDF en C#?

La actualización/edición de un archivo PDF en C# se puede realizar fácilmente utilizando ITEXTPDF.

  1. Abra el documento PDF existente usando un objeto PDFreader .
  2. Cree un objeto PDFWriter con un destino de salida nuevo o modificado (como un archivo o una transmisión).
  3. Cree un objeto PDFDocument usando los objetos PDFreader y PDFWriter .
  4. Acceda a las páginas y contenido existentes del documento utilizando la instancia de PDFDocument.
  5. Haga las modificaciones necesarias al documento, como agregar o eliminar contenido, actualizar el texto, modificar anotaciones, etc.
  6. Cierre el PDFDocument , que cierra automáticamente el PDFreader Associado y PDFWriter también, y guarda los cambios en el destino de salida.

fragmento de código C# para actualizar el archivo PDF

El siguiente código C# se puede usar para actualizar un archivo PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        string filePath = "existing.pdf";
        string outputPath = "updated.pdf";
        // Open the existing PDF document
        PdfReader reader = new PdfReader(filePath);
        // Create a new PDF document with modified output destination
        PdfWriter writer = new PdfWriter(outputPath);
        // Create a PdfDocument object with both the reader and writer
        PdfDocument pdfDoc = new PdfDocument(reader, writer);
        // Access the first page of the document
        PdfPage firstPage = pdfDoc.GetPage(1);
        // Create a document instance for the page
        Document document = new Document(pdfDoc, firstPage);
        // Add a new paragraph to the document
        document.Add(new Paragraph("This is a new paragraph added to the existing PDF."));
        // Close the document, which saves the changes
        document.Close();
        // Close the reader
        reader.Close();
        Console.WriteLine("PDF updated successfully.");
    }
}

Conclusión

En este artículo, exploramos la API ITEXTPDF para .NET para aprender sobre la creación y manipulación de archivos PDF desde nuestra aplicación .NET. La API es de código abierto y se aloja en el repositorio de GitHub como itext-dotnet. En nuestros próximos blogs, exploraremos más a fondo esta API para trabajar con diferentes componentes de un documento PDF, como tablas, imágenes, anotaciones, PDF redactado y muchos otros. Así que estad atentos.