IRONSOFTWAREHOME

Cómo añadir y eliminar archivos PDF adjuntos en C# con IronPDF

Curtis Chau
Curtis Chau
Updated: 22 de abril de 2026

IronPDF te permite agregar, recuperar y eliminar adjuntos de archivos en documentos PDF mediante simples métodos de C# como AddAttachment() y RemoveAttachment(), lo que te permite incrustar archivos suplementarios directamente en tus PDFs.

Los adjuntos en un documento PDF se refieren a archivos o datos adicionales incrustados dentro del propio archivo PDF. Esto es distinto del contenido habitual del PDF, que incluye texto visible, imágenes y formato cuando se visualiza el PDF. Estos adjuntos pueden ser de varios tipos de archivo, incluidos imágenes, documentos, hojas de cálculo u otros formatos. Típicamente, los adjuntos se utilizan para proporcionar materiales de referencia adicionales o datos complementarios que los usuarios pueden acceder al abrir el PDF. Esta capacidad es especialmente útil cuando se crean informes completos en PDF o cuando se necesita fusionar varios PDF con documentación de apoyo.

Inicio rápido: Cómo agregar archivos adjuntos a PDF

Añada archivos adjuntos a sus documentos PDF con IronPDF. Este ejemplo rápido demuestra cómo incrustar un archivo como adjunto en un PDF. Carga tu PDF existente, utiliza el método AddAttachment y guarda el documento actualizado. Este proceso garantiza que los materiales complementarios se incluyan con el PDF, de modo que sean accesibles directamente desde cualquier visor de PDF.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie y ejecute este fragmento de código.

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.Attachments.AddAttachment("file.txt", System.IO.File.ReadAllBytes("file.txt"));
    pdf.SaveAs("updated.pdf");
    C#
  3. 3Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo añado un archivo adjunto a un PDF?

Para agregar un archivo como adjunto, primero cárgalo como un byte[]. La forma más fácil de hacer esto es usando el método File.ReadAllBytes. Con el archivo cargado como un byte[], utiliza el método AddAttachment para añadir el objeto a un PDF como un adjunto:

using IronPdf;
using System.IO;

// Import attachment file
byte[] fileData = File.ReadAllBytes(@"path/to/file");

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add attachment to the PDF
pdf.Attachments.AddAttachment("Example", fileData);

pdf.SaveAs("addAttachment.pdf");

La función AddAttachment genera un objeto PdfAttachment que puedes conservar para referencia futura o eliminar más tarde si es necesario. Este enfoque es similar al de añadir imágenes a los PDF o gestionar otros activos PDF.

Después de guardar el PDF, puedes abrir el adjunto desde la barra de herramientas de un visor de PDF. La siguiente imagen muestra dónde encontrar esta función en el visor de PDF de Google Chrome:

Visor de PDF que muestra el documento Hola mundo con controles de navegación y panel de barra lateral

A partir de ahí, puede hacer clic en él y guardar el archivo adjunto en su almacenamiento.

¿Qué tipos de archivos puedo adjuntar a un PDF?

IronPDF permite adjuntar prácticamente cualquier tipo de archivo a documentos PDF. Los tipos de archivos adjuntos más comunes son:

  • Documentos de Office (DOCX, XLSX, PPTX)
  • Imágenes (JPG, PNG, GIF, SVG)
  • Archivos de texto (TXT, CSV, XML)
  • Archivos (ZIP, RAR)
  • Otros PDF

El sistema de adjuntos funciona con datos binarios, por lo que puede adjuntarse cualquier archivo que pueda leerse como bytes. Cuando trabaje con tipos de documentos específicos, también puede considerar las funciones de conversión integradas en IronPDF, como convertir DOCX a PDF o convertir imágenes a PDF.

¿Dónde aparecen los archivos adjuntos en los visores de PDF?

Los distintos visores de PDF muestran los archivos adjuntos en distintos lugares:

  • Adobe Acrobat: muestra el icono de un clip en el panel de navegación
  • Visor de PDF de Chrome: Muestra los archivos adjuntos en la barra lateral izquierda al hacer clic
  • Firefox PDF Viewer: Muestra los archivos adjuntos en un panel específico
  • Microsoft Edge: similar a Chrome, con una vista adjunta de barra lateral

La mayoría de los visores de PDF modernos admiten archivos adjuntos, aunque la interfaz puede variar ligeramente de una aplicación a otra.

¿Qué ocurre con el objeto PdfAttachment después de añadirlo?

Cuando llamas a AddAttachment(), IronPDF crea un objeto PdfAttachment que contiene:

  • Nombre: El nombre para mostrar del archivo adjunto
  • Datos: El contenido binario del archivo adjunto
  • Descripción: Metadatos opcionales sobre el archivo adjunto

Este objeto se añade a la colección interna de adjuntos del PDF y permanece accesible a través de la propiedad Attachments hasta que se elimina explícitamente.

Attachments

¿Cómo puedo recuperar archivos adjuntos de un PDF existente?

Los adjuntos en un PDF pueden ser recuperados como datos binarios accediendo a la propiedad Attachments del objeto PdfDocument. Con los datos binarios, puedes exportar los adjuntos del PDF en sus respectivos formatos de archivo.

using IronPdf;
using System.IO;

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");

// Iterate through all attachments
foreach (var attachment in pdf.Attachments)
{
    if (attachment.Name.Contains("Example"))
    {
        // Save byte to file
        File.WriteAllBytes($"{attachment.Name}.doc", attachment.Data);
    }
}

Este proceso es especialmente útil cuando se necesita extraer contenido de PDF o procesar documentos adjuntos mediante programación.

¿Cómo acceder a varios archivos adjuntos en un PDF?

La propiedad Attachments devuelve una colección que puedes iterar o consultar usando LINQ:

// Get all attachments as a list
var allAttachments = pdf.Attachments.ToList();

// Filter attachments by size (e.g., files larger than 1MB)
var largeAttachments = pdf.Attachments
    .Where(a => a.Data.Length > 1024 * 1024)
    .ToList();

// Find specific attachment by exact name
var specificAttachment = pdf.Attachments
    .FirstOrDefault(a => a.Name == "report.xlsx");

¿Qué propiedades están disponibles en los archivos adjuntos recuperados?

Cada objeto PdfAttachment proporciona:

  • Name: El nombre de visualización del adjunto
  • Data: Contenido binario como matriz de bytes
  • Description: Metadatos de descripción opcional (si se establecen)

Puede utilizar estas propiedades para identificar, filtrar y procesar archivos adjuntos en función de sus necesidades.

¿Cómo puedo filtrar archivos adjuntos por nombre o tipo?

Dado que los archivos adjuntos se almacenan con sus nombres para mostrar, puede filtrarlos mediante operaciones de cadena:

// Filter by file extension (assuming names include extensions)
var imageAttachments = pdf.Attachments
    .Where(a => a.Name.EndsWith(".jpg") || 
                a.Name.EndsWith(".png") || 
                a.Name.EndsWith(".gif"))
    .ToList();

// Filter by name pattern
var reportsOnly = pdf.Attachments
    .Where(a => a.Name.StartsWith("Report_"))
    .ToList();

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.

Milan Jovanovic

Microsoft MVP

Ver estudio de caso

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.

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

¿Cómo eliminar archivos adjuntos de un PDF?

Para eliminar un adjunto, utiliza la función RemoveAttachment. Este método requiere una referencia al adjunto, que puede ser recuperada de la propiedad Attachments. A continuación te explicamos cómo hacerlo utilizando el archivo guardado de arriba:

using IronPdf;
using System.Linq;

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");

// Add attachment to the PDF
PdfAttachmentCollection retrieveAttachments = pdf.Attachments;

// Remove attachment from PDF
pdf.Attachments.RemoveAttachment(retrieveAttachments.First());

pdf.SaveAs("removeAttachment.pdf");

Después de eliminar el adjunto y abrir el archivo resultante en un visor de PDF, verás que el adjunto ya no aparece:

Visor de PDF con el panel de archivos adjuntos abierto, mostrando el documento Hola mundo y el botón Mostrar archivos adjuntos

¿Qué ocurre cuando elimino un archivo adjunto?

Al eliminar un archivo adjunto:

  1. Los datos adjuntos se eliminan por completo del archivo PDF
  2. El tamaño del archivo se reduce aproximadamente en el tamaño del archivo adjunto eliminado
  3. Se limpia cualquier referencia a dicho anexo en la estructura del PDF
  4. El cambio es permanente una vez guardado el PDF

Esto es similar a otras operaciones de modificación de PDF como eliminar páginas o redactar contenido.

¿Puedo eliminar varios archivos adjuntos a la vez?

Sí, puede eliminar varios archivos adjuntos en una sola operación. Aquí hay un ejemplo:

// Remove all attachments that match a pattern
var attachmentsToRemove = pdf.Attachments
    .Where(a => a.Name.StartsWith("temp_"))
    .ToList();

foreach (var attachment in attachmentsToRemove)
{
    pdf.Attachments.RemoveAttachment(attachment);
}

// Or remove all attachments at once
while (pdf.Attachments.Count > 0)
{
    pdf.Attachments.RemoveAttachment(pdf.Attachments.First());
}

¿Cómo verifico que un archivo adjunto se ha eliminado correctamente?

Puede verificar la eliminación de archivos adjuntos de varias maneras:

// Check the attachment count
int attachmentCountBefore = pdf.Attachments.Count;
pdf.Attachments.RemoveAttachment(targetAttachment);
int attachmentCountAfter = pdf.Attachments.Count;

// Verify the count decreased
if (attachmentCountAfter < attachmentCountBefore)
{
    Console.WriteLine("Attachment successfully removed");
}

// Check if specific attachment exists
bool attachmentExists = pdf.Attachments
    .Any(a => a.Name == "specificFile.txt");

Bestes prácticas para adjuntar archivos PDF

Cuando trabaje con archivos PDF adjuntos en IronPDF, tenga en cuenta estas prácticas recomendadas:

  1. Gestión del Tamaño del Archivo: Sé consciente del tamaño de los adjuntos, ya que incrementan directamente el tamaño del archivo PDF
  2. Convenciones de Nombres: Usa nombres claros y descriptivos para los adjuntos para ayudar a los usuarios a identificarlos
  3. Consideraciones de Seguridad: Al manejar adjuntos sensibles, considera aplicar contraseñas y permisos en PDFs
  4. Rendimiento: Para adjuntos grandes o muchos archivos, considera usar operaciones asíncronas para mantener la capacidad de respuesta de la aplicación

¿Listo para ver qué más puedes hacer? Consulte nuestra página de tutoriales aquí: Organizar PDFs

Adjuntos PDF en el contexto de la facturación española

Los adjuntos PDF tienen aplicaciones prácticas específicas en el ecosistema de facturación electrónica español, donde los formatos Facturae y los flujos FACe permiten o exigen incluir documentación complementaria.

Adjuntar XML Facturae a PDFs de factura

El formato Facturae (utilizado para facturación B2G con la plataforma FACe de la AEAT) consiste en un archivo XML estructurado. Una práctica habitual en sistemas de facturación es adjuntar el XML Facturae al PDF de la factura para que el receptor cuente con ambas representaciones:

// Attach Facturae XML to invoice PDF
var facturaPdf = IronPdf.PdfDocument.FromFile("factura_001.pdf");
byte[] facturaXml = System.IO.File.ReadAllBytes("factura_001_facturae.xml");
facturaPdf.Attachments.AddAttachment("factura_001_facturae.xml", facturaXml);
facturaPdf.SaveAs("factura_001_con_xml.pdf");

Nota: La plataforma FACe requiere el envío del XML Facturae de forma independiente. El adjunto en el PDF es una copia de referencia para el receptor. IronPDF actúa como componente de generación de PDF; la firma y el envío a FACe corresponden al sistema de facturación certificado.

Política de retención LOPDGDD para adjuntos

Cuando los PDFs con adjuntos contienen datos personales (contratos, albaranes con datos de destinatario, expedientes), la AEPD recomienda:

  • Eliminar adjuntos que contengan datos personales cuando expire el plazo de conservación, manteniendo el PDF principal de la factura (que puede conservarse 5 años por obligación fiscal).
  • Usar RemoveAttachment para purgar adjuntos caducados sin necesidad de regenerar el PDF completo de la factura.
  • Documentar las eliminaciones en el Registro de Actividades de Tratamiento (RAT) requerido por la LOPDGDD.

Alternativa a iText AGPL para adjuntos en software de facturación

Los equipos que evalúan iText para gestión de adjuntos en software de facturación deben considerar que la licencia AGPL aplica íntegramente al código que integra la biblioteca, incluyendo el manejo de adjuntos Facturae. IronPDF elimina este riesgo con su licencia comercial sin cláusula copyleft.

Preguntas Frecuentes

¿Cómo puedo añadir archivos adjuntos a un PDF mediante programación en C#?

IronPDF proporciona un sencillo método AddAttachment() para incrustar archivos en los PDF. Primero, cargue su archivo como una matriz de bytes utilizando File.ReadAllBytes(), luego utilice el método AddAttachment en su objeto PdfDocument. El método toma el nombre del archivo y la matriz de bytes como parámetros.

¿Qué tipos de archivos pueden adjuntarse a los PDF?

IronPDF permite adjuntar varios tipos de archivos a los PDF, como imágenes, documentos, hojas de cálculo y otros formatos. Estos archivos adjuntos se incrustan directamente en el archivo PDF y se puede acceder a ellos a través del panel de archivos adjuntos de cualquier visor de PDF estándar.

¿Cómo se carga un PDF existente para añadirle archivos adjuntos?

Puede cargar un PDF existente utilizando el método PdfDocument.FromFile() de IronPDF. Una vez cargado, puede utilizar la propiedad Attachments para gestionar los archivos adjuntos, incluyendo la adición de otros nuevos con AddAttachment() o la eliminación de los existentes.

¿Cuál es la diferencia entre contenido PDF y archivos adjuntos PDF?

El contenido de un PDF incluye el texto visible, las imágenes y el formato que se ven al visualizar el PDF. Los archivos adjuntos son archivos independientes incrustados en el PDF que no aparecen en la vista principal del documento. Con IronPDF, se accede a los archivos adjuntos a través del panel de archivos adjuntos del visor de PDF y sirven como material complementario.

¿Cómo puedo eliminar archivos adjuntos de un PDF?

IronPDF proporciona un método RemoveAttachment() para eliminar mediante programación los archivos incrustados de los PDF. La función AddAttachment devuelve un objeto PdfAttachment al que puede hacer referencia posteriormente para las operaciones de eliminación.

¿Dónde pueden encontrar los usuarios archivos adjuntos en un visor de PDF?

Después de utilizar IronPDF para añadir archivos adjuntos, los usuarios pueden acceder a ellos a través de la barra de herramientas del visor de PDF. La mayoría de los visores de PDF, incluido el visor integrado de Google Chrome, muestran un icono o panel de archivos adjuntos donde se pueden abrir o guardar los archivos incrustados.

Is it possible to filter PDF attachments by type or name in IronPDF?

Yes, you can filter attachments using the `Attachments` collection based on file extensions or specific name patterns.

What are the best practices for managing PDF attachments in IronPDF?

Some best practices include managing file sizes, using descriptive naming conventions, securing sensitive content with passwords, and leveraging asynchronous operations for better performance.

How can I verify if an attachment was successfully removed?

You can verify attachment removal by checking the number of attachments before and after removal or confirming the absence of the specific attachment by name in the `Attachments` collection.

What happens to the PDF file size when attachments are removed using IronPDF?

Removing attachments with IronPDF reduces the file size roughly by the size of the attachment, as the attachment data is completely removed from the PDF file.

Curtis Chau
Escritor Técnico

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.

...
Leer más

¿Listo para empezar?

Nuget Downloads 20,990,528Versión:2026.9recién publicada

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999