
Cómo Editar un PDF en iPhone
PDF (Formato de Documento Portátil) es un formato de documento ampliamente utilizado que es popular debido a su capacidad para preservar el formato del documento, la seguridad y la portabilidad.
Los archivos PDF se han convertido en uno de los formatos de documento más utilizados en el mundo, y hay varias bibliotecas disponibles para crear y manipular PDFs en el lenguaje C#.
Descubra cómo editar archivos PDF usando C# con IronPDF e iTextSharp, haciendo la tarea sencilla al aprovechar estas potentes bibliotecas.
En este artículo, compararemos dos bibliotecas populares para la manipulación de PDF en C#: iTextSharp e IronPDF. Discutiremos cómo editar archivos PDF usando ambas bibliotecas, y luego exploraremos cómo IronPDF es una opción superior en comparación con iTextSharp, especialmente en términos de salida impresa, rendimiento y precios.
Introducción a las bibliotecas iTextSharp DLL y IronPDF
iTextSharp y características de IronPDF e información sobre el periodo de prueba están disponibles para ayudar a los desarrolladores a trabajar de manera eficiente con archivos PDF en C#. Ambas bibliotecas proporcionan una amplia gama de características y funcionalidades para crear, editar y manipular documentos PDF.
El DLL de iTextSharp es una versión en C# de la biblioteca iText basada en Java. Proporciona una API simple y fácil de usar para crear y manipular documentos PDF. iTextSharp es una biblioteca de código abierto que está disponible bajo la licencia AGPL.
IronPDF es una biblioteca .NET diseñada para crear, editar y manipular archivos PDF usando C#. Proporciona una API moderna e intuitiva para trabajar con documentos PDF. IronPDF es una biblioteca comercial que viene con una versión de prueba gratuita y opciones de suscripción para un uso más amplio.
Comparación de las bibliotecas iTextSharp y IronPDF
Ambas bibliotecas, iTextSharp e IronPDF, proporcionan una amplia gama de características y funcionalidades para crear, editar y manipular documentos PDF. Sin embargo, IronPDF tiene varias ventajas sobre iTextSharp, lo que la convierte en una opción preferida para trabajar con documentos PDF en C#.
Edición de archivos PDF con iTextSharp y IronPDF
Ahora que hemos discutido las diferencias entre iTextSharp e IronPDF, echemos un vistazo a cómo editar archivos PDF usando ambas bibliotecas. Pasaremos por ejemplos de agregar texto, campos de formulario y completar formularios en un documento PDF existente usando iTextSharp e IronPDF.
Edición de archivos PDF con iTextSharp
Prerrequisitos
Antes de comenzar, necesitarás lo siguiente:
- Visual Studio instalado en tu máquina.
- Conocimientos básicos del lenguaje de programación C#.
- Biblioteca iTextSharp instalada en tu proyecto.

Para instalar la biblioteca iTextSharp en tu proyecto, puedes usar el administrador de paquetes NuGet. Abre tu proyecto de Visual Studio y haz clic derecho en el nombre del proyecto en el Explorador de Soluciones. Seleccione "Administrar Paquetes NuGet" desde el menú contextual. En el Administrador de Paquetes NuGet, busca "iTextSharp" e instala la última versión del paquete.

Creación de un nuevo archivo PDF
Para crear un nuevo archivo PDF usando iTextSharp, necesitamos crear una nueva instancia de la clase "Documento" y pasar un nuevo objeto FileStream a su constructor. Aquí hay un ejemplo:
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
// Create a new PDF document
using (var writer = new PdfWriter(new FileStream("newfile.pdf", FileMode.Create)))
{
using (var pdf = new PdfDocument(writer))
{
var document = new Document(pdf);
// Create a header paragraph
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
// Add the header to the document
document.Add(header);
// Loop through pages and align header text
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
// Add the header text to each page
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
// Set the margins
document.SetTopMargin(50);
document.SetBottomMargin(50);
}
}Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports System.IO
' Create a new PDF document
Using writer = New PdfWriter(New FileStream("newfile.pdf", FileMode.Create))
Using pdf = New PdfDocument(writer)
Dim document As New Document(pdf)
' Create a header paragraph
Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
' Add the header to the document
document.Add(header)
' Loop through pages and align header text
Dim i As Integer = 1
Do While i <= pdf.GetNumberOfPages()
Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim x As Single = pageSize.GetWidth() / 2
Dim y As Single = pageSize.GetTop() - 20
' Add the header text to each page
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
i += 1
Loop
' Set the margins
document.SetTopMargin(50)
document.SetBottomMargin(50)
End Using
End UsingEn el código anterior, creamos un nuevo archivo PDF llamado "newfile.pdf" y agregamos un encabezado de párrafo.

Edición de un archivo PDF existente
Para editar un archivo PDF existente usando iTextSharp, necesita un objeto PdfReader para leer el documento PDF existente y un objeto PdfStamper para modificarlo. Aquí hay un ejemplo:
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using iText.Html2pdf;
using System.IO;
/**
* iText URL to PDF
* anchor-itext-url-to-pdf
**/
private void ExistingWebURL()
{
// Initialize PDF writer
PdfWriter writer = new PdfWriter("wikipedia.pdf");
// Initialize PDF document
using PdfDocument pdf = new PdfDocument(writer);
ConverterProperties properties = new ConverterProperties();
properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format");
// Convert HTML to PDF
Document document = HtmlConverter.ConvertToDocument(
new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
// Create and add a header paragraph
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
// Align header text for each page
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
// Add header text aligned at the top
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
// Set the top and bottom margins
document.SetTopMargin(50);
document.SetBottomMargin(50);
document.Close();
}Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports iText.Html2pdf
Imports System.IO
''' <summary>
''' iText URL to PDF
''' anchor-itext-url-to-pdf
''' </summary>
Private Sub ExistingWebURL()
' Initialize PDF writer
Dim writer As New PdfWriter("wikipedia.pdf")
' Initialize PDF document
Using pdf As New PdfDocument(writer)
Dim properties As New ConverterProperties()
properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format")
' Convert HTML to PDF
Dim document As Document = HtmlConverter.ConvertToDocument(New FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties)
' Create and add a header paragraph
Dim header As New Paragraph("HEADER") _
.SetTextAlignment(TextAlignment.CENTER) _
.SetFontSize(16)
document.Add(header)
' Align header text for each page
For i As Integer = 1 To pdf.GetNumberOfPages()
Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
Dim x As Single = pageSize.GetWidth() / 2
Dim y As Single = pageSize.GetTop() - 20
' Add header text aligned at the top
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
Next
' Set the top and bottom margins
document.SetTopMargin(50)
document.SetBottomMargin(50)
document.Close()
End Using
End SubEn este código, se abre un PDF existente y agregamos encabezados a sus páginas con la alineación de texto adecuada.
Edición de un documento PDF con IronPDF
IronPDF es una poderosa biblioteca de PDF para C# que facilita la edición de documentos PDF. Este tutorial guiará a través de los pasos para editar un archivo PDF existente usando IronPDF, incluida la creación de nuevos documentos PDF, agregar páginas, fusionar PDFs y más.

Prerrequisitos
Asegúrate de tener:
- IDE de Visual Studio
- Biblioteca IronPDF
Paso 1: Crear un nuevo proyecto
Crea un nuevo proyecto C# en Visual Studio. Elige el tipo de proyecto "Aplicación de Consola".
Paso 2: Instalar IronPDF

Usa el Administrador de Paquetes NuGet para instalar la biblioteca IronPDF en tu proyecto.
// Execute this command in the Package Manager Console
Install-Package IronPdf
Paso 3: Cargar un documento PDF existente
Cargue un documento PDF existente usando la clase PdfDocument:
using IronPdf;
// Path to an existing PDF file
var existingPdf = @"C:\path\to\existing\pdf\document.pdf";
// Load the PDF document
var pdfDoc = PdfDocument.FromFile(existingPdf);Imports IronPdf
' Path to an existing PDF file
Private existingPdf = "C:\path\to\existing\pdf\document.pdf"
' Load the PDF document
Private pdfDoc = PdfDocument.FromFile(existingPdf)
Paso 4: Añadir una nueva página a un documento PDF existente
Para agregar una página:
// Add a new page with default size
var newPage = pdfDoc.AddPage();
newPage.Size = PageSize.Letter;' Add a new page with default size
Dim newPage = pdfDoc.AddPage()
newPage.Size = PageSize.LetterPaso 5: Creación de un PDF a partir del sitio web
Genera un PDF directamente desde una URL de página web. Aquí hay un ejemplo:
using IronPdf;
/**
* IronPDF URL to PDF
* anchor-ironpdf-website-to-pdf
**/
private void ExistingWebURL()
{
// Create PDF from a webpage
var Renderer = new IronPdf.ChromePdfRenderer();
// Set rendering options
Renderer.RenderingOptions.MarginTop = 50; // millimeters
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
};
Renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
};
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.RenderDelay = 500; // milliseconds
// Render URL as PDF
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
}Imports IronPdf
'''
''' * IronPDF URL to PDF
''' * anchor-ironpdf-website-to-pdf
''' *
Private Sub ExistingWebURL()
' Create PDF from a webpage
Dim Renderer = New IronPdf.ChromePdfRenderer()
' Set rendering options
Renderer.RenderingOptions.MarginTop = 50 ' millimeters
Renderer.RenderingOptions.MarginBottom = 50
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
}
Renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
Renderer.RenderingOptions.EnableJavaScript = True
Renderer.RenderingOptions.RenderDelay = 500 ' milliseconds
' Render URL as PDF
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
PDF.SaveAs("wikipedia.pdf")
End SubDiferencias entre iTextSharp y IronPDF

iTextSharp es una popular biblioteca de código abierto para crear, manipular y extraer datos de documentos PDF en C#. Está bien documentada y se utiliza ampliamente. IronPDF, por otro lado, es más moderna, con características adicionales y beneficios que la hacen una mejor opción para los desarrolladores.
Generar PDF a partir de una cadena HTML
Aquí se muestra cómo puedes usar IronPDF para crear un PDF desde HTML:
using IronPdf;
/**
* IronPDF HTML to PDF
* anchor-ironpdf-document-from-html
**/
private void HTMLString()
{
// Render HTML to PDF
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};
var OutputPath = "ChromeHtmlToPdf.pdf";
PDF.SaveAs(OutputPath);
}Imports IronPdf
'''
''' * IronPDF HTML to PDF
''' * anchor-ironpdf-document-from-html
''' *
Private Sub HTMLString()
' Render HTML to PDF
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")
Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Dim OutputPath = "ChromeHtmlToPdf.pdf"
PDF.SaveAs(OutputPath)
End SubiText 7 HTML a PDF
Convierte texto HTML a PDF usando iText 7:
using iText.Html2pdf;
using System.IO;
/**
* iText HTML to PDF
* anchor-itext-html-to-pdf
**/
private void HTMLString()
{
HtmlConverter.ConvertToPdf("<h1>Hello iText7</h1>", new FileStream("iText7HtmlToPdf.pdf", FileMode.Create));
}Imports iText.Html2pdf
Imports System.IO
'''
''' * iText HTML to PDF
''' * anchor-itext-html-to-pdf
''' *
Private Sub HTMLString()
HtmlConverter.ConvertToPdf("<h1>Hello iText7</h1>", New FileStream("iText7HtmlToPdf.pdf", FileMode.Create))
End SubDesempeño
IronPDF está diseñado para ser más rápido y eficiente que iTextSharp, permitiendo una generación más rápida de PDFs usando menos recursos. Esta eficiencia es crucial para documentos grandes o complejos.
Precios
iTextSharp requiere una licencia comercial para ciertos casos de uso, lo que puede ser costoso. IronPDF, sin embargo, ofrece un modelo de precios más asequible con varias opciones adaptadas a diferentes necesidades y presupuestos.
Licencias y precios
Una de las principales diferencias entre iTextSharp e IronPDF son sus modelos de licencia y precios.
- iTextSharp: con licencia AGPL, requiere una licencia comercial para proyectos que no sean de código abierto. Las licencias comerciales varían en costo.
- IronPDF: ofrece una prueba gratuita con licencias flexibles, incluidas licencias de desarrollador y de servidor, lo que lo hace adecuado para uso comercial.

Conclusión
En conclusión, aunque tanto iTextSharp como IronPDF pueden manejar la manipulación de PDF en C#, IronPDF destaca como una opción más versátil y eficiente. Ofrece características avanzadas, una API intuitiva y un mejor rendimiento. Su precio flexible lo hace adecuado para proyectos comerciales y organizaciones más grandes.
Con la superior conversión de HTML a PDF de IronPDF, los desarrolladores pueden generar fácilmente informes o documentos con contenido rico en medios o interactivo. Junto con un precio rentable, IronPDF es una excelente opción para desarrolladores que necesitan una biblioteca de PDF poderosa y eficiente para proyectos en C#.

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 estructurados y visualmente atractivos.
Artículos Relacionados


