Comment ajouter et supprimer des pièces jointes dans un PDF C#

Comment ajouter et supprimer des pièces jointes PDF en C# ; avec IronPdf

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF vous permet d'ajouter, de récupérer et de supprimer par programmation des pièces jointes dans des documents PDF à l'aide de méthodes C# simples telles que AddAttachment() et RemoveAttachment(), ce qui vous permet d'incorporer des fichiers supplémentaires directement dans vos PDF.

<TODO : Ajouter une image ici -->

Les pièces jointes dans un document PDF font référence à des fichiers ou des données supplémentaires intégrés dans le fichier PDF lui-même. Cela est distinct du contenu régulier du PDF, qui inclut du texte visible, des images et du formatage lorsque vous visualisez le PDF. Ces pièces jointes peuvent prendre la forme de divers types de fichiers, y compris des images, des documents, des feuilles de calcul ou d'autres formats. En règle générale, les pièces jointes sont utilisées pour fournir des matériaux de référence supplémentaires ou des données complémentaires que les utilisateurs peuvent consulter lorsqu'ils ouvrent le PDF. Cette capacité est particulièrement utile pour créer des rapports PDF complets ou lorsque vous devez fusionner plusieurs PDF avec de la documentation à l'appui.

Démarrage rapide : Ajouter des pièces jointes au PDF

Ajoutez des pièces jointes à vos documents PDF à l'aide d'IronPDF. Ce rapide exemple démontre comment intégrer un fichier en tant que pièce jointe dans un PDF. Chargez votre PDF existant, utilisez la méthode AddAttachment et enregistrez le document mis à jour. Ce processus permet de s'assurer que les documents supplémentaires sont inclus dans le PDF, ce qui les rend accessibles directement à partir de n'importe quelle visionneuse PDF.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

  2. Copiez et exécutez cet extrait de code.

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.Attachments.AddAttachment("file.txt", System.IO.File.ReadAllBytes("file.txt"));
    pdf.SaveAs("updated.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment ajouter un fichier en pièce jointe à un PDF?

Pour ajouter un fichier en tant que pièce jointe, commencez par le charger sous la forme d'un byte[]. La manière la plus simple de le faire est d'utiliser la méthode File.ReadAllBytes. Le fichier étant chargé sous la forme d'un byte[], utilisez la méthode AddAttachment pour ajouter l'objet à un PDF en tant que pièce jointe :

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-add-attachment.cs
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");
$vbLabelText   $csharpLabel

La fonction AddAttachment produit un objet PdfAttachment que vous pouvez conserver pour référence ultérieure ou supprimer plus tard si nécessaire. Cette approche est similaire à la manière dont vous ajouteriez des images aux PDF ou géreriez d'autres ressources PDF.

Après avoir enregistré le PDF, vous pouvez ouvrir la pièce jointe depuis la barre d'outils d'un lecteur PDF. L'image ci-dessous montre où trouver cette fonctionnalité dans la visionneuse PDF de Google Chrome :

Visualisation PDF montrant le document Hello World avec des contrôles de navigation et un panneau latéral

Vous pouvez ensuite cliquer sur la pièce jointe et l'enregistrer dans votre espace de stockage.

Quels types de fichiers puis-je joindre à un PDF ?

IronPDF permet de joindre pratiquement n'importe quel type de fichier aux documents PDF. Les types de pièces jointes les plus courants sont les suivants :

  • Documents Office (DOCX, XLSX, PPTX)
  • Images (JPG, PNG, GIF, SVG)
  • Fichiers texte (TXT, CSV, XML)
  • Archives (ZIP, RAR)
  • Autres PDF

Le système de pièces jointes fonctionne avec des données binaires, de sorte que tout fichier pouvant être lu sous forme d'octets peut être joint. Lorsque vous travaillez avec des types de documents spécifiques, vous pouvez également envisager les fonctions de conversion intégrées d'IronPDF, telles que convertir DOCX en PDF ou convertir des images en PDF.

Où apparaissent les pièces jointes dans les visionneurs de PDF ?

Les différentes visionneuses PDF affichent les pièces jointes à des endroits différents :

  • Adobe Acrobat : Affiche une icône de trombone dans le volet de navigation
  • Visionneur PDF Chrome : Affiche les pièces jointes dans la barre latérale gauche lorsqu'on clique dessus
  • Firefox PDF Viewer : Affiche les pièces jointes dans un panneau dédié
  • Microsoft Edge : Semblable à Chrome, avec un affichage des pièces jointes dans la barre latérale

La plupart des visionneuses PDF modernes prennent en charge les pièces jointes, bien que l'interface puisse varier légèrement d'une application à l'autre.

Qu'arrive-t-il à l'objet PdfAttachment après son ajout ?

Lorsque vous appelez AddAttachment(), IronPDF crée un objet PdfAttachment qui contient :

  • Nom : Le nom d'affichage de la pièce jointe
  • Données : Le contenu binaire du fichier joint
  • Description : Métadonnées facultatives sur la pièce jointe

Cet objet est ajouté à la collection interne de pièces jointes du PDF et reste accessible via la propriété Attachments jusqu'à ce qu'il soit explicitement supprimé.

Comment récupérer les pièces jointes d'un PDF existant?

Les pièces jointes d'un PDF peuvent être récupérées sous forme de données binaires en accédant à la propriété Attachments de l'objet PdfDocument. Avec les données binaires, vous pouvez exporter les pièces jointes du PDF dans leurs formats de fichier respectifs.

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-retrieve-attachment.cs
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);
    }
}
$vbLabelText   $csharpLabel

Ce processus est particulièrement utile lorsque vous devez extraire du contenu à partir de PDF ou traiter des documents joints de manière programmatique.

Comment accéder à plusieurs pièces jointes dans un PDF?

La propriété Attachments renvoie une collection que vous pouvez parcourir ou interroger à l'aide de 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");
// 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");
$vbLabelText   $csharpLabel

Quelles sont les propriétés disponibles pour les pièces jointes récupérées ?

Chaque objet PdfAttachment fournit :

  • Nom : Le nom d'affichage de la pièce jointe
  • Données : contenu binaire sous forme de tableau d'octets
  • Description : Métadonnées de description facultatives (si définies)

Vous pouvez utiliser ces propriétés pour identifier, filtrer et traiter les pièces jointes en fonction de vos besoins.

Comment filtrer les pièces jointes par nom ou par type?

Les pièces jointes étant stockées avec leur nom d'affichage, vous pouvez les filtrer à l'aide d'opérations sur les chaînes de caractères :

// 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();
// 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();
$vbLabelText   $csharpLabel

Comment supprimer les pièces jointes d'un PDF?

Pour supprimer une pièce jointe, utilisez la fonction RemoveAttachment. Cette méthode nécessite une référence à la pièce jointe, qui peut être récupérée à partir de la propriété Attachments. Voici comment procéder en utilisant le fichier enregistré ci-dessus :

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-remove-attachment.cs
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");
$vbLabelText   $csharpLabel

Après avoir retiré la pièce jointe et ouvert le fichier résultant dans un lecteur PDF, vous verrez que la pièce jointe n'apparaît plus :

Visualiseur PDF avec panneau des pièces jointes ouvert, montrant le document Hello World et le bouton Afficher les pièces jointes

Que se passe-t-il lorsque je supprime une pièce jointe?

Lorsque vous supprimez une pièce jointe :

  1. Les données de la pièce jointe sont entièrement supprimées du fichier PDF
  2. La taille du fichier diminue d'environ la taille de la pièce jointe supprimée
  3. Toutes les références à cette pièce jointe dans la structure du PDF sont nettoyées
  4. La modification est permanente une fois que vous avez enregistré le PDF

Cette opération est similaire à d'autres opérations de modification de PDF telles que suppression de pages ou rédaction de contenu.

Peut-on supprimer plusieurs pièces jointes à la fois ?

Oui, vous pouvez supprimer plusieurs pièces jointes en une seule opération. Voici un exemple :

// 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());
}
// 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());
}
$vbLabelText   $csharpLabel

Comment vérifier qu'une pièce jointe a bien été supprimée?

Vous pouvez vérifier la suppression des pièces jointes de plusieurs façons :

// 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");
// 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");
$vbLabelText   $csharpLabel

Bonnes pratiques pour les pièces jointes PDF

Lorsque vous travaillez avec des pièces jointes PDF dans IronPDF, tenez compte de ces meilleures pratiques :

  1. Gestion de la taille des fichiers : faites attention à la taille des pièces jointes, car elles augmentent directement la taille des fichiers PDF
  2. Conventions d'appellation : Utilisez des noms clairs et descriptifs pour les pièces jointes afin d'aider les utilisateurs à les identifier
  3. Considérations de sécurité : Lorsque vous manipulez des pièces jointes sensibles, pensez à appliquer des mots de passe et autorisations pour les PDF
  4. Performance : Pour les pièces jointes volumineuses ou les nombreux fichiers, pensez à utiliser des opérations async pour maintenir la réactivité de l'application

Prêt à voir ce que vous pouvez faire d'autre? Consultez notre page de tutoriel ici : Organiser les PDFs

Questions Fréquemment Posées

Comment ajouter des pièces jointes à un PDF de manière programmatique en C# ?

IronPDF propose une méthode simple, AddAttachment(), pour intégrer des fichiers dans les PDF. Tout d'abord, chargez votre fichier sous forme de tableau d'octets à l'aide de File.ReadAllBytes(), puis utilisez la méthode AddAttachment sur votre objet PdfDocument. La méthode prend le nom du fichier et le tableau d'octets comme paramètres.

Quels types de fichiers peuvent être joints aux PDF ?

IronPDF vous permet de joindre différents types de fichiers aux PDF, notamment des images, des documents, des feuilles de calcul et d'autres formats. Ces pièces jointes sont intégrées directement dans le fichier PDF et sont accessibles via le panneau des pièces jointes de n'importe quelle visionneuse PDF standard.

Comment charger un PDF existant pour y ajouter des pièces jointes ?

Vous pouvez charger un PDF existant à l'aide de la méthode IronPDF PdfDocument.FromFile(). Une fois chargé, vous pouvez utiliser la propriété Attachments pour gérer les pièces jointes, y compris l'ajout de nouvelles pièces jointes avec AddAttachment() ou la suppression de pièces jointes existantes.

Quelle est la différence entre le contenu d'un fichier PDF et les pièces jointes d'un fichier PDF ?

Le contenu d'un PDF comprend le texte visible, les images et la mise en forme que vous voyez lorsque vous consultez le PDF. Les pièces jointes sont des fichiers distincts intégrés au PDF qui n'apparaissent pas dans la vue principale du document. Avec IronPDF, les pièces jointes sont accessibles via le panneau des pièces jointes de la visionneuse PDF et servent de matériel supplémentaire.

Comment supprimer les pièces jointes d'un PDF ?

IronPDF fournit une méthode RemoveAttachment() pour supprimer par programme les fichiers incorporés dans les PDF. La fonction AddAttachment renvoie un objet PdfAttachment auquel vous pouvez faire référence ultérieurement pour les opérations de suppression.

Où les utilisateurs peuvent-ils trouver des pièces jointes dans une visionneuse PDF ?

Après avoir utilisé IronPDF pour ajouter des pièces jointes, les utilisateurs peuvent y accéder via la barre d'outils de la visionneuse PDF. La plupart des visionneuses PDF, y compris la visionneuse intégrée de Google Chrome, affichent une icône de pièce jointe ou un panneau où les fichiers incorporés peuvent être ouverts ou enregistrés.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 17,012,929 | Version : 2025.12 vient de sortir