# Cómo editar PDFs en C#
Iron Software ha simplificado varias funciones de edición de PDF en métodos fáciles de entender en la biblioteca `IronPDF`. Ya sea añadiendo firmas, añadiendo pies de página en HTML, estampando marcas de agua o añadiendo anotaciones. IronPDF es la herramienta para ti, permitiéndote tener código legible, generación de PDF por programación, depuración fácil y despliegue sin problemas a cualquier entorno o plataforma compatibles.
IronPDF cuenta con numerosas características para editar PDFs. En este artículo tutorial, repasaremos algunas de las más importantes, proporcionando ejemplos de código y explicaciones.
Con este artículo, tendrás una buena comprensión de cómo usar IronPDF para editar tus PDFs en C#.
*as-heading:2(Inicio rápido: edite sus archivos PDF en segundos)*
Edita documentos PDF sin esfuerzo en C# con IronPDF. Esta guía rápida te muestra cómo añadir un sello de texto a un archivo PDF existente. Con solo unas pocas líneas de código, puedes modificar tu PDF y guardar los cambios al instante. Perfecto para desarrolladores que necesitan una solución rápida y eficiente para editar PDFs.
```cs
:title=Edit PDFs Instantly with IronPDF
var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential"));
pdf.SaveAs("edited_example.pdf");
```
*as-heading:2(Tabla de contenido)*
- **Editar estructura del documento**
- [Acceder al objeto DOM del PDF](#anchor-access-pdf-dom-object)
- [Guardar y exportar documentos PDF](#anchor-save-export-documents)
- [Cargar PDFs desde la memoria](#anchor-load-pdfs-from-memory)
- [Exportar PDFs a la memoria](#anchor-export-pdfs-to-memory)
- **Editar propiedades del documento**
- [Analizar PDFs en C#](#anchor-parse-pdfs-in-c)
- [Extraer texto e imágenes](#anchor-extract-text-images)
- [Redactar texto y regiones](#anchor-redact-texts-regions)
- [Reemplazar texto en PDF](#anchor-replace-text-in-pdf)
- **Mejorar diseño de PDF**
- [Añadir y editar anotaciones](#anchor-add-edit-annotations)
- [Estampar texto e imágenes](#anchor-stamp-text-images)
- [Marcas de agua personalizadas](#anchor-custom-watermarks)
- [Fondos y primeros planos](#anchor-backgrounds-foregorunds)
- [Dibujar texto y mapa de bits](#anchor-draw-text-bitmap)
- [Dibujar línea y rectángulo](#anchor-draw-line-rectangle)
- [Rotar texto y páginas](#anchor-rotate-text-and-pages)
- [Transformar páginas del PDF](#anchor-transform-pdf-pages)
## Editar estructura del documento
### Acceso al objeto PDF DOM
Manipular y acceder a los objetos PDF es rápido y sencillo. IronPDF simplifica cómo los desarrolladores interactúan con los Objetos `DOM` haciéndolos familiares con cómo manipular el `DOM` de una página web, permitiendo a los desarrolladores acceder y manipular varios elementos, como texto, de manera programada.
```cs
using IronPdf;
using System.Linq;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Create a PDF from a URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Access DOM Objects
var objects = pdf.Pages.First().ObjectModel;
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/access-pdf-dom-object/).
### Guardar y exportar documentos
Para guardar y exportar documentos, IronPDF permite a los usuarios guardar rápidamente el documento editado `PdfDocument.SaveAs` en el disco mientras también permite exportaciones a otros formatos, como Datos Binarios y Flujos de Memoria.
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/export-save-pdf-csharp/).
### Cargar archivos PDF desde la memoria
IronPDF se integra perfectamente con aplicaciones existentes de C# .NET; podemos cargar y crear archivos PDF desde `MemoryStream`s a través del objeto `MemoryStream`.
```cs
using IronPdf;
using System.IO;
// Read PDF file as stream
var fileByte = File.ReadAllBytes("sample.pdf");
// Instantiate PDF object from stream
PdfDocument pdf = new PdfDocument(fileByte);
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/pdf-memory-stream/).
### Exportar PDF a la memoria
De manera similar, también podemos exportar PDFs a `MemoryStream` en C# .NET a través del objeto `MemoryStream`.
```cs
using IronPdf;
using System.IO;
var renderer = new ChromePdfRenderer();
// Convert the URL into PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Export PDF as Stream
MemoryStream pdfAsStream = pdf.Stream;
// Export PDF as Byte Array
byte[] pdfAsByte = pdf.BinaryData;
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/pdf-to-memory-stream/).
## Editar texto del documento
### Parse PDFs in C#
Extraer texto de un PDF es rápido y fácil con IronPDF. Simplemente use el método `ExtractAllText` para extraer todo el texto de cada página, permitiéndole acceder y utilizar el contenido de su documento sin esfuerzo. ¡Esta potente función mejora la productividad y agiliza tu flujo de trabajo!
```cs
using IronPdf;
// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from an pdf
string allText = pdf.ExtractAllText();
// Extract all text from page 1
string page1Text = pdf.ExtractTextFromPage(0);
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/csharp-parse-pdf/).
### Extraer texto e imágenes
Con IronPDF, no solo estás limitado a extraer texto: ¡también es increíblemente fácil extraer imágenes de tus PDFs! Con la función `ExtractAllImages`, puede capturar rápidamente todos los elementos visuales que necesita.
```cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Extract images
var images = pdf.ExtractAllImages();
for(int i = 0; i < images.Count; i++)
{
// Export the extracted images
images[i].SaveAs($"images/image{i}.png");
}
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/extract-text-and-images/).
### Redactar textos y regiones
En escenarios donde necesitamos proteger información sensible redactándola, tenemos una herramienta poderosa a nuestra disposición: `RedactTextonAllPages`. Con esta función, podemos identificar y ocultar fácilmente cada instancia de una palabra clave específica en todo el PDF. Es una forma eficiente de asegurar que los detalles confidenciales permanezcan protegidos, mientras nos permite compartir el documento con confianza.
```cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric");
pdf.SaveAs("redacted.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/redact-text/).
### Reemplazar texto en PDF
Para mejorar sus documentos PDF usando IronPDF, puede reemplazar fácilmente texto en todo el archivo. Utilizando la función `ReplaceTextonAllPages`, puede proporcionar el `oldText` que necesita ser reemplazado junto con el `newText` que servirá como su sustituto. Este método actualiza eficientemente todas las instancias del `oldText` en el documento, asegurando una apariencia consistente y profesional.
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");
string oldText = ".NET6";
string newText = ".NET7";
// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);
pdf.SaveAs("replaceText.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/find-replace-text/).
## Mejorar el Diseño de PDF
### Añadir y editar anotaciones
IronPDF ofrece amplias opciones de personalización para las anotaciones en PDF, permitiendo a los usuarios añadir comentarios tipo "nota adhesiva" directamente a las páginas del PDF. A través de la clase `TextAnnotation`, se pueden agregar anotaciones de manera programada, presentando opciones avanzadas como tamaño, opacidad, selección de iconos y capacidades de edición.
```cs
using IronPdf;
using IronPdf.Annotations;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>");
// Create a PDF annotation object on a specified page index
TextAnnotation annotation = new TextAnnotation(0)
{
Title = "This is the title",
Contents = "This is the long 'sticky note' comment content...",
X = 50,
Y = 700,
};
// Add the annotation
pdf.Annotations.Add(annotation);
pdf.SaveAs("annotation.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/annotations/).
### Textos e imágenes
IronPDF proporciona amplias opciones para personalizar cómo estampar texto e imágenes en un PDF. En este ejemplo, utilizaremos la clase `TextStamper` para aplicar un sello al PDF usando el método `ApplyStamp`, como se muestra a continuación.
```cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/stamp-text-image/).
### Marcas de agua personalizadas
También podemos emplear el método `ApplyWatermark` para integrar sin problemas una marca de agua tanto en PDFs recién generados como en documentos existentes. Esta funcionalidad permite un mayor reconocimiento de marca, asegurando que tus materiales transmitan una imagen profesional.
```cs
using IronPdf;
string watermarkHtml = @"
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");
// Apply watermark
pdf.ApplyWatermark(watermarkHtml);
pdf.SaveAs("watermark.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/custom-watermark/).
### Fondos y primeros planos
Además de marcas de agua y sellos, también podemos añadir un fondo para personalizar su PDF usando `AddBackgroundPdf` completamente.
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");
// Render background
PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");
// Add background
pdf.AddBackgroundPdf(background);
pdf.SaveAs("addBackground.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/background-foreground/).
### Dibujar texto y mapa de bits
Dibujar texto en PDFs es intuitivo y sencillo; usamos `DrawText` y le proporcionamos los parámetros necesarios. En este ejemplo, estamos añadiendo la nueva frase `Some text` con la fuente Times New Roman.
```cs
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);
pdf.SaveAs("drawText.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/draw-text-and-bitmap/).
### Dibujar línea y rectángulo
IronPDF también soporta el dibujo de líneas en el PDF. Primero creamos los puntos de inicio y fin inicializando dos clases `PointF`, luego los aplicamos con el método `DrawLine`, como se muestra a continuación.
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Configure the required parameters
int pageIndex = 0;
var start = new IronSoftware.Drawing.PointF(200,150);
var end = new IronSoftware.Drawing.PointF(1000,150);
int width = 10;
var color = new IronSoftware.Drawing.Color("#000000");
// Draw line on PDF
pdf.DrawLine(pageIndex, start, end, width, color);
pdf.SaveAs("drawLine.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/draw-line-and-rectangle/).
### Rotar texto y páginas
Para rotar las páginas del PDF, podemos usar el método `SetPageRotation` para rotar páginas específicas. En el ejemplo a continuación, solo estamos rotando las páginas 2 a 4, dejando la página 1 sin cambios para mostrar las capacidades.
```cs
using IronPdf;
using IronPdf.Rendering;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("multi-page.pdf");
// Set rotation for a single page
pdf.SetPageRotation(0, PdfPageRotation.Clockwise90);
// Set rotation for multiple pages
pdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270);
// Set rotation for the entire document
pdf.SetAllPageRotations(PdfPageRotation.Clockwise180);
pdf.SaveAs("rotated.pdf");
```
Para una lista de los enumerados disponibles con respecto al ángulo de rotación, por favor consulta [aquí](https://ironpdf.com/object-reference/api/IronPdf.Rendering.PdfPageRotation.html).
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/rotating-text/).
### Transformar páginas PDF
Aparte de las rotaciones, también podemos transformar las páginas del pdf proporcionando una serie de parámetros. En el ejemplo a continuación, seleccionamos la primera página del PDF y, utilizando `Transform`, movemos el contenido de la primera página 50 puntos a la derecha y hacia abajo y lo escalamos al 80% de su tamaño original.
```cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("basic.pdf");
pdf.Pages[0].Transform(50, 50, 0.8, 0.8);
pdf.SaveAs("transformPage.pdf");
```
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa [guía de cómo hacerlo](https://ironpdf.com/how-to/transform-pdf-pages/).
## Edición de PDFs en el contexto regulatorio español: VeriFactu, LOPDGDD y TicketBAI
Las funciones de edición de PDFs de IronPDF tienen aplicaciones directas en el ecosistema fiscal y legal español, donde los ISVs deben modificar documentos con estrictos requisitos normativos.
### Estampar la leyenda VERI*FACTU y el código QR de la AEAT
El sistema **VeriFactu** (regulado por la AEAT) exige que los PDFs de facturas generados por software de facturación incluyan la leyenda **VERI*FACTU** (con asterisco obligatorio entre "VERI" y "FACTU") y el código QR de verificación de la sede electrónica de la AEAT. Estos elementos se añaden mediante `TextStamper` e `ImageStamper` de IronPDF sobre el PDF ya renderizado:
```csharp
// Stamp mandatory VERI*FACTU legend
var textStamper = new IronPdf.Editing.TextStamper
{
Text = "VERI*FACTU",
FontSize = 8,
VerticalAlignment = IronPdf.Editing.VerticalAlignment.Bottom,
HorizontalAlignment = IronPdf.Editing.HorizontalAlignment.Right
};
pdf.ApplyStamp(textStamper);
```
> **Nota para ISVs:** El incumplimiento de VeriFactu puede acarrear sanciones de hasta **150.000 €/año** para los proveedores de software. IronPDF actúa como componente dentro del software certificado; la certificación ante la AEAT es responsabilidad del ISV.
### Pseudonimización de datos personales bajo LOPDGDD con redacción de texto
La **LOPDGDD** (Ley Orgánica de Protección de Datos y Garantía de Derechos Digitales) puede exigir la entrega de versiones pseudonimizadas de facturas u otros documentos que contengan datos personales. IronPDF permite redactar (oscurecer permanentemente) datos personales usando `RedactTextOnAllPages` o `RedactTextOnPage`, convirtiendo por ejemplo el nombre del destinatario en un identificador anónimo antes de compartir el PDF con terceros, cumpliendo así con los principios de minimización de datos de la LOPDGDD y las directrices de la **AEPD**.
### Insertar notas de rectificativa o enmienda en facturas AEAT
Cuando una factura española debe ser rectificada (factura rectificativa), la normativa de la AEAT exige que la factura rectificativa haga referencia explícita a la factura original. Con IronPDF, puede añadir anotaciones o texto estampado sobre el PDF de la factura original para indicar que ha sido rectificada, o insertar encabezados con la referencia a la factura rectificativa correspondiente usando `HtmlHeaderFooter`.
### TicketBAI: añadir leyenda obligatoria al PDF del tique
Los tiques generados bajo **TicketBAI** para **Bizkaia**, **Gipuzkoa** y **Araba** deben incluir una leyenda obligatoria específica de cada territorio foral. Con `TextStamper` de IronPDF, puede añadir esta leyenda en la posición requerida por cada hacienda foral (inferior del tique), garantizando el cumplimiento de los requisitos de presentación de cada una de las tres diputaciones forales.
## Conclusión
La lista de ejemplos anteriores demuestra que IronPDF tiene características clave que funcionan desde el primer momento cuando se trata de editar PDFs.
Si deseas hacer una solicitud de función o tienes alguna pregunta general sobre IronPDF o licencias, por favor [contacta a nuestro equipo de soporte](/troubleshooting/engineering-request-pdf/). Estaremos más que felices de asistirte.
Iron Software ha simplificado varias funciones de edición de PDF en métodos fáciles de entender en la biblioteca IronPDF. Ya sea añadiendo firmas, añadiendo pies de página en HTML, estampando marcas de agua o añadiendo anotaciones. IronPDF es la herramienta para ti, permitiéndote tener código legible, generación de PDF por programación, depuración fácil y despliegue sin problemas a cualquier entorno o plataforma compatibles.
IronPDF cuenta con numerosas características para editar PDFs. En este artículo tutorial, repasaremos algunas de las más importantes, proporcionando ejemplos de código y explicaciones.
Con este artículo, tendrás una buena comprensión de cómo usar IronPDF para editar tus PDFs en C#.
Inicio rápido: edite sus archivos PDF en segundos
Edita documentos PDF sin esfuerzo en C# con IronPDF. Esta guía rápida te muestra cómo añadir un sello de texto a un archivo PDF existente. Con solo unas pocas líneas de código, puedes modificar tu PDF y guardar los cambios al instante. Perfecto para desarrolladores que necesitan una solución rápida y eficiente para editar PDFs.
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
Install-Package IronPdf
2Copie y ejecute este fragmento de código.
var pdf = IronPdf.PdfDocument.FromFile("example.pdf");pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential"));pdf.SaveAs("edited_example.pdf");
var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential"));
pdf.SaveAs("edited_example.pdf");
C#
3Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Manipular y acceder a los objetos PDF es rápido y sencillo. IronPDF simplifica cómo los desarrolladores interactúan con los Objetos DOM haciéndolos familiares con cómo manipular el DOM de una página web, permitiendo a los desarrolladores acceder y manipular varios elementos, como texto, de manera programada.
using IronPdf;using System.Linq;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Create a PDF from a URLPdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");// Access DOM Objectsvar objects = pdf.Pages.First().ObjectModel;
using IronPdf;
using System.Linq;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Create a PDF from a URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Access DOM Objects
var objects = pdf.Pages.First().ObjectModel;
ImportsIronPdfImportsSystem.Linq' Instantiate RendererPrivate renderer As New ChromePdfRenderer()' Create a PDF from a URLPrivate pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")' Access DOM ObjectsPrivate objects = pdf.Pages.First().ObjectModel
Imports IronPdf
Imports System.Linq
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Create a PDF from a URL
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Access DOM Objects
Private objects = pdf.Pages.First().ObjectModel
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Guardar y exportar documentos
Para guardar y exportar documentos, IronPDF permite a los usuarios guardar rápidamente el documento editado PdfDocument.SaveAs en el disco mientras también permite exportaciones a otros formatos, como Datos Binarios y Flujos de Memoria.
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Cargar archivos PDF desde la memoria
IronPDF se integra perfectamente con aplicaciones existentes de C# .NET; podemos cargar y crear archivos PDF desde MemoryStreams a través del objeto MemoryStream.
using IronPdf;using System.IO;// Read PDF file as streamvar fileByte = File.ReadAllBytes("sample.pdf");// Instantiate PDF object from streamPdfDocument pdf = new PdfDocument(fileByte);
using IronPdf;
using System.IO;
// Read PDF file as stream
var fileByte = File.ReadAllBytes("sample.pdf");
// Instantiate PDF object from stream
PdfDocument pdf = new PdfDocument(fileByte);
ImportsIronPdfImportsSystem.IO' Read PDF file as streamPrivate fileByte = File.ReadAllBytes("sample.pdf")' Instantiate PDF object from streamPrivate pdf As New PdfDocument(fileByte)
Imports IronPdf
Imports System.IO
' Read PDF file as stream
Private fileByte = File.ReadAllBytes("sample.pdf")
' Instantiate PDF object from stream
Private pdf As New PdfDocument(fileByte)
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Exportar PDF a la memoria
De manera similar, también podemos exportar PDFs a MemoryStream en C# .NET a través del objeto MemoryStream.
using IronPdf;using System.IO;var renderer = new ChromePdfRenderer();// Convert the URL into PDFPdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");// Export PDF as StreamMemoryStream pdfAsStream = pdf.Stream;// Export PDF as Byte Arraybyte[] pdfAsByte = pdf.BinaryData;
using IronPdf;
using System.IO;
var renderer = new ChromePdfRenderer();
// Convert the URL into PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Export PDF as Stream
MemoryStream pdfAsStream = pdf.Stream;
// Export PDF as Byte Array
byte[] pdfAsByte = pdf.BinaryData;
ImportsIronPdfImportsSystem.IOPrivate renderer = New ChromePdfRenderer()' Convert the URL into PDFPrivate pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")' Export PDF as StreamPrivate pdfAsStream AsMemoryStream = pdf.Stream' Export PDF as Byte ArrayPrivate pdfAsByte() AsByte = pdf.BinaryData
Imports IronPdf
Imports System.IO
Private renderer = New ChromePdfRenderer()
' Convert the URL into PDF
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Export PDF as Stream
Private pdfAsStream As MemoryStream = pdf.Stream
' Export PDF as Byte Array
Private pdfAsByte() As Byte = pdf.BinaryData
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Editar texto del documento
Parse PDFs in C#
Extraer texto de un PDF es rápido y fácil con IronPDF. Simplemente use el método ExtractAllText para extraer todo el texto de cada página, permitiéndole acceder y utilizar el contenido de su documento sin esfuerzo. ¡Esta potente función mejora la productividad y agiliza tu flujo de trabajo!
using IronPdf;// Select the desired PDF FilePdfDocument pdf = PdfDocument.FromFile("sample.pdf");// Extract all text from an pdfstring allText = pdf.ExtractAllText();// Extract all text from page 1string page1Text = pdf.ExtractTextFromPage(0);
using IronPdf;
// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from an pdf
string allText = pdf.ExtractAllText();
// Extract all text from page 1
string page1Text = pdf.ExtractTextFromPage(0);
ImportsIronPdf' Select the desired PDF FilePrivate pdf AsPdfDocument = PdfDocument.FromFile("sample.pdf")' Extract all text from an pdfPrivate allText AsString = pdf.ExtractAllText()' Extract all text from page 1Private page1Text AsString = pdf.ExtractTextFromPage(0)
Imports IronPdf
' Select the desired PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extract all text from an pdf
Private allText As String = pdf.ExtractAllText()
' Extract all text from page 1
Private page1Text As String = pdf.ExtractTextFromPage(0)
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Extraer texto e imágenes
Con IronPDF, no solo estás limitado a extraer texto: ¡también es increíblemente fácil extraer imágenes de tus PDFs! Con la función ExtractAllImages, puede capturar rápidamente todos los elementos visuales que necesita.
using IronPdf;PdfDocument pdf = PdfDocument.FromFile("sample.pdf");// Extract imagesvar images = pdf.ExtractAllImages();for(int i = 0; i < images.Count; i++){ // Export the extracted images images[i].SaveAs($"images/image{i}.png");}
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Extract images
var images = pdf.ExtractAllImages();
for(int i = 0; i < images.Count; i++)
{
// Export the extracted images
images[i].SaveAs($"images/image{i}.png");
}
ImportsIronPdfPrivate pdf AsPdfDocument = PdfDocument.FromFile("sample.pdf")' Extract imagesPrivate images = pdf.ExtractAllImages()For i AsInteger = 0 To images.Count - 1 ' Export the extracted images images(i).SaveAs($"images/image{i}.png")Next i
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extract images
Private images = pdf.ExtractAllImages()
For i As Integer = 0 To images.Count - 1
' Export the extracted images
images(i).SaveAs($"images/image{i}.png")
Next i
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Redactar textos y regiones
En escenarios donde necesitamos proteger información sensible redactándola, tenemos una herramienta poderosa a nuestra disposición: RedactTextonAllPages. Con esta función, podemos identificar y ocultar fácilmente cada instancia de una palabra clave específica en todo el PDF. Es una forma eficiente de asegurar que los detalles confidenciales permanezcan protegidos, mientras nos permite compartir el documento con confianza.
using IronPdf;PdfDocument pdf = PdfDocument.FromFile("novel.pdf");// Redact 'Alaric' phrase from all pagespdf.RedactTextOnAllPages("Alaric");pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric");
pdf.SaveAs("redacted.pdf");
ImportsIronPdfPrivate pdf AsPdfDocument = PdfDocument.FromFile("novel.pdf")' Redact 'Alaric' phrase from all pagespdf.RedactTextOnAllPages("Alaric")pdf.SaveAs("redacted.pdf")
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric")
pdf.SaveAs("redacted.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Reemplazar texto en PDF
Para mejorar sus documentos PDF usando IronPDF, puede reemplazar fácilmente texto en todo el archivo. Utilizando la función ReplaceTextonAllPages, puede proporcionar el oldText que necesita ser reemplazado junto con el newText que servirá como su sustituto. Este método actualiza eficientemente todas las instancias del oldText en el documento, asegurando una apariencia consistente y profesional.
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");string oldText = ".NET6";string newText = ".NET7";// Replace text on all pagespdf.ReplaceTextOnAllPages(oldText, newText);pdf.SaveAs("replaceText.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");
string oldText = ".NET6";
string newText = ".NET7";
// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);
pdf.SaveAs("replaceText.pdf");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")Private oldText AsString = ".NET6"Private newText AsString = ".NET7"' Replace text on all pagespdf.ReplaceTextOnAllPages(oldText, newText)pdf.SaveAs("replaceText.pdf")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
' Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText)
pdf.SaveAs("replaceText.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Mejorar el Diseño de PDF
Añadir y editar anotaciones
IronPDF ofrece amplias opciones de personalización para las anotaciones en PDF, permitiendo a los usuarios añadir comentarios tipo "nota adhesiva" directamente a las páginas del PDF. A través de la clase TextAnnotation, se pueden agregar anotaciones de manera programada, presentando opciones avanzadas como tamaño, opacidad, selección de iconos y capacidades de edición.
using IronPdf;using IronPdf.Annotations;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>");// Create a PDF annotation object on a specified page indexTextAnnotation annotation = new TextAnnotation(0){Title = "This is the title",Contents = "This is the long 'sticky note' comment content...",X = 50,Y = 700,};// Add the annotationpdf.Annotations.Add(annotation);pdf.SaveAs("annotation.pdf");
using IronPdf;
using IronPdf.Annotations;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>");
// Create a PDF annotation object on a specified page index
TextAnnotation annotation = new TextAnnotation(0)
{
Title = "This is the title",
Contents = "This is the long 'sticky note' comment content...",
X = 50,
Y = 700,
};
// Add the annotation
pdf.Annotations.Add(annotation);
pdf.SaveAs("annotation.pdf");
ImportsIronPdfImportsIronPdf.AnnotationsDim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>")' Create a PDF annotation object on a specified page indexDim annotation As New TextAnnotation(0) With { .Title = "This is the title", .Contents = "This is the long 'sticky note' comment content...", .X = 50, .Y = 700}' Add the annotationpdf.Annotations.Add(annotation)pdf.SaveAs("annotation.pdf")
Imports IronPdf
Imports IronPdf.Annotations
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>")
' Create a PDF annotation object on a specified page index
Dim annotation As New TextAnnotation(0) With {
.Title = "This is the title",
.Contents = "This is the long 'sticky note' comment content...",
.X = 50,
.Y = 700
}
' Add the annotation
pdf.Annotations.Add(annotation)
pdf.SaveAs("annotation.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Textos e imágenes
IronPDF proporciona amplias opciones para personalizar cómo estampar texto e imágenes en un PDF. En este ejemplo, utilizaremos la clase TextStamper para aplicar un sello al PDF usando el método ApplyStamp, como se muestra a continuación.
using IronPdf;using IronPdf.Editing;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");// Create text stamperTextStamper textStamper = new TextStamper(){Text = "Text Stamper!",FontFamily = "Bungee Spice",UseGoogleFont = true,FontSize = 30,IsBold = true,IsItalic = true,VerticalAlignment = VerticalAlignment.Top,};// Stamp the text stamperpdf.ApplyStamp(textStamper);pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
ImportsIronPdfImportsIronPdf.EditingPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create text stamperPrivate textStamper As New TextStamper() With { .Text = "Text Stamper!", .FontFamily = "Bungee Spice", .UseGoogleFont = True, .FontSize = 30, .IsBold = True, .IsItalic = True, .VerticalAlignment = VerticalAlignment.Top}' Stamp the text stamperpdf.ApplyStamp(textStamper)pdf.SaveAs("stampText.pdf")
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Marcas de agua personalizadas
También podemos emplear el método ApplyWatermark para integrar sin problemas una marca de agua tanto en PDFs recién generados como en documentos existentes. Esta funcionalidad permite un mayor reconocimiento de marca, asegurando que tus materiales transmitan una imagen profesional.
using IronPdf;string watermarkHtml = @"<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1>Iron Software</h1>";ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");// Apply watermarkpdf.ApplyWatermark(watermarkHtml);pdf.SaveAs("watermark.pdf");
using IronPdf;
string watermarkHtml = @"
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");
// Apply watermark
pdf.ApplyWatermark(watermarkHtml);
pdf.SaveAs("watermark.pdf");
ImportsIronPdfPrivate watermarkHtml AsString = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1>Iron Software</h1>"Private renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>")' Apply watermarkpdf.ApplyWatermark(watermarkHtml)pdf.SaveAs("watermark.pdf")
Imports IronPdf
Private watermarkHtml As String = "
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>")
' Apply watermark
pdf.ApplyWatermark(watermarkHtml)
pdf.SaveAs("watermark.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Fondos y primeros planos
Además de marcas de agua y sellos, también podemos añadir un fondo para personalizar su PDF usando AddBackgroundPdf completamente.
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");// Render backgroundPdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");// Add backgroundpdf.AddBackgroundPdf(background);pdf.SaveAs("addBackground.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");
// Render background
PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");
// Add background
pdf.AddBackgroundPdf(background);
pdf.SaveAs("addBackground.pdf");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")' Render backgroundPrivate background AsPdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>")' Add backgroundpdf.AddBackgroundPdf(background)pdf.SaveAs("addBackground.pdf")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")
' Render background
Private background As PdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>")
' Add background
pdf.AddBackgroundPdf(background)
pdf.SaveAs("addBackground.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Dibujar texto y mapa de bits
Dibujar texto en PDFs es intuitivo y sencillo; usamos DrawText y le proporcionamos los parámetros necesarios. En este ejemplo, estamos añadiendo la nueva frase Some text con la fuente Times New Roman.
using IronPdf;using IronSoftware.Drawing;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");// Draw text on PDFpdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);pdf.SaveAs("drawText.pdf");
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);
pdf.SaveAs("drawText.pdf");
ImportsIronPdfImportsIronSoftware.DrawingDim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")' Draw text on PDFpdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize:=12, PageIndex:=0, X:=100, Y:=100, Color.Black, Rotation:=0)pdf.SaveAs("drawText.pdf")
Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize:=12, PageIndex:=0, X:=100, Y:=100, Color.Black, Rotation:=0)
pdf.SaveAs("drawText.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Dibujar línea y rectángulo
IronPDF también soporta el dibujo de líneas en el PDF. Primero creamos los puntos de inicio y fin inicializando dos clases PointF, luego los aplicamos con el método DrawLine, como se muestra a continuación.
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");// Configure the required parametersint pageIndex = 0;var start = new IronSoftware.Drawing.PointF(200,150);var end = new IronSoftware.Drawing.PointF(1000,150);int width = 10;var color = new IronSoftware.Drawing.Color("#000000");// Draw line on PDFpdf.DrawLine(pageIndex, start, end, width, color);pdf.SaveAs("drawLine.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Configure the required parameters
int pageIndex = 0;
var start = new IronSoftware.Drawing.PointF(200,150);
var end = new IronSoftware.Drawing.PointF(1000,150);
int width = 10;
var color = new IronSoftware.Drawing.Color("#000000");
// Draw line on PDF
pdf.DrawLine(pageIndex, start, end, width, color);
pdf.SaveAs("drawLine.pdf");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")' Configure the required parametersPrivate pageIndex AsInteger = 0Private start = New IronSoftware.Drawing.PointF(200,150)Private [end] = New IronSoftware.Drawing.PointF(1000,150)Private width AsInteger = 10Private color = New IronSoftware.Drawing.Color("#000000")' Draw line on PDFpdf.DrawLine(pageIndex, start, [end], width, color)pdf.SaveAs("drawLine.pdf")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Configure the required parameters
Private pageIndex As Integer = 0
Private start = New IronSoftware.Drawing.PointF(200,150)
Private [end] = New IronSoftware.Drawing.PointF(1000,150)
Private width As Integer = 10
Private color = New IronSoftware.Drawing.Color("#000000")
' Draw line on PDF
pdf.DrawLine(pageIndex, start, [end], width, color)
pdf.SaveAs("drawLine.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Rotar texto y páginas
Para rotar las páginas del PDF, podemos usar el método SetPageRotation para rotar páginas específicas. En el ejemplo a continuación, solo estamos rotando las páginas 2 a 4, dejando la página 1 sin cambios para mostrar las capacidades.
using IronPdf;using IronPdf.Rendering;using System.Linq;// Import PDFPdfDocument pdf = PdfDocument.FromFile("multi-page.pdf");// Set rotation for a single pagepdf.SetPageRotation(0, PdfPageRotation.Clockwise90);// Set rotation for multiple pagespdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270);// Set rotation for the entire documentpdf.SetAllPageRotations(PdfPageRotation.Clockwise180);pdf.SaveAs("rotated.pdf");
using IronPdf;
using IronPdf.Rendering;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("multi-page.pdf");
// Set rotation for a single page
pdf.SetPageRotation(0, PdfPageRotation.Clockwise90);
// Set rotation for multiple pages
pdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270);
// Set rotation for the entire document
pdf.SetAllPageRotations(PdfPageRotation.Clockwise180);
pdf.SaveAs("rotated.pdf");
ImportsIronPdfImportsIronPdf.RenderingImportsSystem.Linq' Import PDFPrivate pdf AsPdfDocument = PdfDocument.FromFile("multi-page.pdf")' Set rotation for a single pagepdf.SetPageRotation(0, PdfPageRotation.Clockwise90)' Set rotation for multiple pagespdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270)' Set rotation for the entire documentpdf.SetAllPageRotations(PdfPageRotation.Clockwise180)pdf.SaveAs("rotated.pdf")
Imports IronPdf
Imports IronPdf.Rendering
Imports System.Linq
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("multi-page.pdf")
' Set rotation for a single page
pdf.SetPageRotation(0, PdfPageRotation.Clockwise90)
' Set rotation for multiple pages
pdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270)
' Set rotation for the entire document
pdf.SetAllPageRotations(PdfPageRotation.Clockwise180)
pdf.SaveAs("rotated.pdf")
Para una lista de los enumerados disponibles con respecto al ángulo de rotación, por favor consulta aquí.
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Transformar páginas PDF
Aparte de las rotaciones, también podemos transformar las páginas del pdf proporcionando una serie de parámetros. En el ejemplo a continuación, seleccionamos la primera página del PDF y, utilizando Transform, movemos el contenido de la primera página 50 puntos a la derecha y hacia abajo y lo escalamos al 80% de su tamaño original.
using IronPdf;PdfDocument pdf = PdfDocument.FromFile("basic.pdf");pdf.Pages[0].Transform(50, 50, 0.8, 0.8);pdf.SaveAs("transformPage.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("basic.pdf");
pdf.Pages[0].Transform(50, 50, 0.8, 0.8);
pdf.SaveAs("transformPage.pdf");
ImportsIronPdfDim pdf AsPdfDocument = PdfDocument.FromFile("basic.pdf")pdf.Pages(0).Transform(50, 50, 0.8, 0.8)pdf.SaveAs("transformPage.pdf")
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("basic.pdf")
pdf.Pages(0).Transform(50, 50, 0.8, 0.8)
pdf.SaveAs("transformPage.pdf")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra completa guía de cómo hacerlo.
Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.
IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.
Edición de PDFs en el contexto regulatorio español: VeriFactu, LOPDGDD y TicketBAI
Las funciones de edición de PDFs de IronPDF tienen aplicaciones directas en el ecosistema fiscal y legal español, donde los ISVs deben modificar documentos con estrictos requisitos normativos.
Estampar la leyenda VERI*FACTU y el código QR de la AEAT
El sistema VeriFactu (regulado por la AEAT) exige que los PDFs de facturas generados por software de facturación incluyan la leyenda VERI*FACTU (con asterisco obligatorio entre "VERI" y "FACTU") y el código QR de verificación de la sede electrónica de la AEAT. Estos elementos se añaden mediante TextStamper e ImageStamper de IronPDF sobre el PDF ya renderizado:
Imports IronPdf.Editing
' Stamp mandatory VERI*FACTU legend
Dim textStamper As New TextStamper With {
.Text = "VERI*FACTU",
.FontSize = 8,
.VerticalAlignment = VerticalAlignment.Bottom,
.HorizontalAlignment = HorizontalAlignment.Right
}
pdf.ApplyStamp(textStamper)
Nota para ISVs: El incumplimiento de VeriFactu puede acarrear sanciones de hasta 150.000 €/año para los proveedores de software. IronPDF actúa como componente dentro del software certificado; la certificación ante la AEAT es responsabilidad del ISV.
Pseudonimización de datos personales bajo LOPDGDD con redacción de texto
La LOPDGDD (Ley Orgánica de Protección de Datos y Garantía de Derechos Digitales) puede exigir la entrega de versiones pseudonimizadas de facturas u otros documentos que contengan datos personales. IronPDF permite redactar (oscurecer permanentemente) datos personales usando RedactTextOnAllPages o RedactTextOnPage, convirtiendo por ejemplo el nombre del destinatario en un identificador anónimo antes de compartir el PDF con terceros, cumpliendo así con los principios de minimización de datos de la LOPDGDD y las directrices de la AEPD.
Insertar notas de rectificativa o enmienda en facturas AEAT
Cuando una factura española debe ser rectificada (factura rectificativa), la normativa de la AEAT exige que la factura rectificativa haga referencia explícita a la factura original. Con IronPDF, puede añadir anotaciones o texto estampado sobre el PDF de la factura original para indicar que ha sido rectificada, o insertar encabezados con la referencia a la factura rectificativa correspondiente usando HtmlHeaderFooter.
TicketBAI: añadir leyenda obligatoria al PDF del tique
Los tiques generados bajo TicketBAI para Bizkaia, Gipuzkoa y Araba deben incluir una leyenda obligatoria específica de cada territorio foral. Con TextStamper de IronPDF, puede añadir esta leyenda en la posición requerida por cada hacienda foral (inferior del tique), garantizando el cumplimiento de los requisitos de presentación de cada una de las tres diputaciones forales.
Conclusión
La lista de ejemplos anteriores demuestra que IronPDF tiene características clave que funcionan desde el primer momento cuando se trata de editar PDFs.
Si deseas hacer una solicitud de función o tienes alguna pregunta general sobre IronPDF o licencias, por favor contacta a nuestro equipo de soporte. Estaremos más que felices de asistirte.
Preguntas Frecuentes
¿Cómo puedo editar un documento PDF en C#?
IronPDF proporciona herramientas integrales para editar documentos PDF en C#. Puede manipular páginas, agregar o eliminar contenido y aplicar varias modificaciones de manera eficiente usando métodos como AddPage y RemovePage.
¿Cuáles son los pasos para agregar una marca de agua a un PDF usando C#?
Para agregar una marca de agua a un PDF en C#, use el método ApplyWatermark de IronPDF con la clase TextStamper, lo que le permite personalizar el texto, la opacidad y la rotación de la marca de agua.
¿Cómo puedo comprimir un archivo PDF usando C#?
IronPDF proporciona el método CompressAndSaveAs, que comprime las imágenes incrustadas y, opcionalmente, elimina el árbol de estructura del PDF en una sola llamada. Utilice PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40) para comprimir y guardar con una calidad JPEG especificada (0–100). Pase removeStructureTree: true como tercer parámetro para reducir aún más el tamaño del archivo. Para flujos de trabajo en memoria, utilice CompressPdfToBytes o CompressPdfToStream para obtener el resultado comprimido como una matriz de bytes o un Stream sin escribir en el disco.
¿Es posible agregar encabezados y pies de página a un PDF en C#?
Sí, con IronPDF, puede agregar encabezados y pies de página a un PDF usando las clases HtmlHeaderFooter o TextHeaderFooter, donde puede definir contenido HTML o texto y ajustar propiedades como la altura.
¿Qué método se puede usar para fusionar múltiples PDFs en un documento?
Para fusionar múltiples PDFs, cargue cada documento con PdfDocument.FromFile y luego use el método Merge para combinarlos en un solo archivo que se puede guardar como un nuevo documento.
¿Cómo reemplazo texto específico dentro de un PDF usando C#?
IronPDF le permite reemplazar texto dentro de un PDF usando el método ReplaceTextOnPage, que busca texto específico en una página y lo reemplaza programáticamente.
¿Puede IronPDF facilitar la creación y llenado de formularios PDF?
Sí, IronPDF admite la creación de formularios PDF y el llenado de campos de formulario existentes de manera programática, permitiendo la interacción dinámica con documentos PDF.
¿Cómo puedo agregar anotaciones a un PDF usando IronPDF?
IronPDF proporciona funcionalidad para agregar anotaciones a PDFs. Puede crear anotaciones de texto y otros tipos usando objetos de anotación y colocándolos en las páginas deseadas.
¿Cómo puedo manejar firmas digitales en PDFs con C#?
IronPDF admite la adición de firmas digitales a documentos PDF usando certificados digitales X509Certificate2, asegurando la autenticidad e integridad del documento.
¿Es posible establecer un fondo para una página PDF en C#?
Sí, usando IronPDF, puede establecer un fondo para una página PDF aplicando fondos de imagen o color para mejorar el diseño y presentación del documento.
¿IronPDF es compatible con .NET 10 y qué beneficios aporta?
Sí, IronPDF es totalmente compatible con .NET 10 y aprovecha sus mejoras de rendimiento y lenguaje. Funciona perfectamente en proyectos .NET 10 en escritorio, web, MAUI y servicios, con mejoras como la desvirtualización de métodos de interfaz de matriz y la asignación de pila.
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.