IRONSOFTWAREHOME
OUTILS PDF

Découvrez les meilleurs éditeurs PDF pour Mac en 2025

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

IronPDF simplifie la création d'en-têtes et de pieds de page PDF avec une configuration basée sur les propriétés et un support natif HTML, tandis que iText nécessite l'implémentation de PdfPageEventHelper avec des calculs de coordonnées manuels pour un positionnement précis.

Lors de la production de documents PDF Professional (rapports commerciaux, factures, documentation technique), des en-têtes et des pieds de page cohérents sont un gage de qualité et renforcent l'image de marque. Les développeurs qui ont travaillé avec iText connaissent le défi : ajouter des en-têtes et pieds de page signifie écrire des gestionnaires d'événements de page, calculer des coordonnées, et gérer des polices à un niveau bas. IronPDF adopte une approche fondamentalement différente, vous permettant de décrire ce que vous voulez plutôt que de spécifier chaque pixel. Ce guide compare les deux bibliothèques afin de vous permettre de prendre une décision éclairée pour votre prochain projet.

Comment installer IronPDF?

Avant de passer aux comparaisons, voici comment ajouter IronPDF à un projet .NET 10. Utilisez l'interface de ligne de commande .NET ou la console du gestionnaire de packages NuGet dans Visual Studio :

dotnet add package IronPdf
# Or in the NuGet Package Manager Console:
# Install-Package IronPdf
SHELL

Après l'installation, ajoutez un appel de clé de licence unique au démarrage de l'application :

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

Le package NuGet IronPDF cible .NET 8+ et est livré avec un moteur Chromium intégré, aucune dépendance d'exécution supplémentaire n'est donc nécessaire. Une licence d'essai gratuite est disponible pour vous permettre d'évaluer IronPDF dans votre environnement avant de vous engager.

Quels sont les défis de l'implémentation des en-têtes et pieds de page avec iText ?

Travailler avec iText nécessite l'implémentation de la classe PdfPageEventHelper et le remplacement de la méthode OnEndPage pour ajouter des en-têtes et des pieds de page. Cette approche implique une manipulation directe de l'objet PdfContentByte et des calculs de coordonnées précis. Contrairement aux solutions modernes HTML vers PDF, l'architecture événementielle d'iText exige une compréhension approfondie de la structure PDF et des systèmes de coordonnées.

Le système de coordonnées commence dans le coin inférieur gauche de la page, ce qui va à l'encontre de la façon dont la plupart des développeurs conçoivent les mises en page. Ceci découle directement de la manière dont la spécification PDF définit l'espace des coordonnées de la page. À chaque changement de format de page (par exemple, passage du format A4 au format Lettre), chaque valeur de coordonnée doit être recalculée. L'ajout d'un soulignement sous l'en-tête, le centrage du texte ou l'alignement d'un pied de page sur la marge de droite nécessitent tous des décalages numériques explicites.

public class HeaderFooterEvent : PdfPageEventHelper
{
    private readonly Font headerFont = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
    private readonly Font footerFont = new Font(Font.FontFamily.HELVETICA, 10);

    public override void OnEndPage(PdfWriter writer, Document document)
    {
        PdfContentByte cb = writer.DirectContent;

        // Add header text -- requires precise Y coordinate calculation
        float headerY = document.PageSize.Height - 30;
        ColumnText.ShowTextAligned(cb, Element.ALIGN_CENTER,
            new Phrase("Company Report", headerFont),
            document.PageSize.Width / 2, headerY, 0);

        // Draw underline manually
        cb.MoveTo(40, headerY - 5);
        cb.LineTo(document.PageSize.Width - 40, headerY - 5);
        cb.Stroke();

        // Add footer with page number
        string footerText = $"Page {writer.PageNumber}";
        ColumnText.ShowTextAligned(cb, Element.ALIGN_RIGHT,
            new Phrase(footerText, footerFont),
            document.PageSize.Width - 40, 30, 0);

        // Add date on left side
        ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT,
            new Phrase(DateTime.Now.ToString("MM/dd/yyyy"), footerFont),
            40, 30, 0);
    }
}

// Usage
PdfWriter writer = PdfWriter.GetInstance(document, stream);
writer.PageEvent = new HeaderFooterEvent();

Cette approche de positionnement manuel devient plus complexe lorsqu'il s'agit de gérer différentes orientations de page, des formats de papier personnalisés ou des exigences de marge variables. Pour les systèmes de production nécessitant la conformité PDF/A ou des signatures numériques , l'approche manuelle engendre des frais de maintenance substantiels.

À quoi ressemble le résultat avec des en-têtes de base ?

Document PDF affichant un rapport d'entreprise avec l'en-tête contenant du texte au titre et le pied de page montrant la numérotation des pages, démontrant une implémentation de base de l'en-tête et du pied de page dans la génération PDF

Le code ci-dessus démontre le travail manuel requis : vous calculez des coordonnées exactes, gérez les polices séparément, et gérez le rendu via DirectContent. Chaque modification de conception implique la modification de constantes numériques disséminées dans tout le gestionnaire d'événements.

Pourquoi la mise en page par coordonnées crée-t-elle des problèmes de maintenance ?

Lorsqu'une modification de conception survient (déplacer le logo, ajuster la taille de la police, Shift la date), un développeur doit analyser les décalages en pixels pour comprendre ce qu'il faut modifier. Il n'y a pas de couche visuelle ; Le code lui-même est la seule spécification de la mise en page. Cela rend les transferts de fichiers entre développeurs sujets aux erreurs et augmente le temps nécessaire pour produire même des modifications visuelles mineures.

Comment IronPDF simplifie-t-il la création d'en-têtes et de pieds de page?

IronPDF transforme le processus de création d'en-têtes et de pieds de page grâce à une API intuitive. Au lieu d'implémenter des gestionnaires d'événements, vous configurez les en-têtes et les pieds de page via des réglages simples des propriétés sur le ChromePdfRenderer. Cette approche est conforme aux pratiques de développement .NET modernes et réduit considérablement la courbe d'apprentissage.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure text header with multiple properties
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Company Report",
    LeftText = "CONFIDENTIAL",
    RightText = DateTime.Now.ToString("MMMM yyyy"),
    DrawDividerLine = true,
    FontSize = 12,
    FontFamily = "Arial",
    Spacing = 5
};

// Configure text footer with dynamic placeholders
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date} {time}",
    CenterText = "© 2024 Company Name",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10,
    Spacing = 10
};

// Set margins to ensure proper spacing
renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginBottom = 25;

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("report.pdf");

Les options de rendu d' IronPDF offrent un contrôle précis sur la génération de PDF tout en préservant la lisibilité du code. Cette approche basée sur les propriétés facilite la maintenance et la modification des en-têtes et des pieds de page sans avoir à manipuler les fichiers PDF de bas niveau.

Comment IronPDF gère-t-il la mise en forme Professional ?

Document PDF de deux pages démontrant les capacités des en-têtes et pieds de page d'IronPDF avec le branding de l'entreprise, la numérotation des pages, et les horodatages sur plusieurs pages avec un formatage cohérent

La différence est immédiatement visible : IronPDF gère automatiquement le positionnement, les marges et le rendu tout en fournissant des espaces réservés intégrés pour le contenu dynamique. Le moteur de rendu Chrome de la bibliothèque garantit un rendu impeccable, parfaitement conforme à votre aperçu HTML.

Quelles sont les fonctionnalités les plus importantes pour les systèmes de production ?

Comparaison des fonctionnalités : iText vs IronPDF pour les en-têtes et pieds de page
CaractéristiqueiTextIronPDF
Méthode de mise en œuvreClasse PdfPageEventHelperPropriétés RenderingOptions
Complexité du codeCalculs de coordonnées manuelsAttribution simple de propriété
Numéros de pageSuivi manuel avec writer.PageNumberEspace réservé {page} intégré
Prise en charge de l'HTMLLimité, nécessite XMLWorkerPrise en charge native des en-têtes HTML
Gestion des margesCalcul manuelRéglage automatique
Contenu dynamiqueImplémentation personnalisée requiseespaces réservés prédéfinis
Première page différentelogique conditionnelle complexepropriété FirstPageNumber
Courbe d'apprentissageRaideGraduel

Comment ajouter des en-têtes et des pieds de page avec des numéros de page ?

La numérotation des pages est une exigence standard pour les documents PDF. Avec iText, vous devez suivre le numéro de page actuel et le total des pages manuellement, nécessitant souvent une approche en deux étapes pour obtenir des décomptes de pages totales précis :

// iTextSharp approach with complete page numbering
public class CompleteHeaderFooterEvent : PdfPageEventHelper
{
    private readonly PdfTemplate totalPageCount;
    private readonly Font normalFont = new Font(Font.FontFamily.HELVETICA, 10);

    public CompleteHeaderFooterEvent(PdfWriter writer)
    {
        // Create placeholder for total page count
        totalPageCount = writer.DirectContent.CreateTemplate(30, 16);
    }

    public override void OnEndPage(PdfWriter writer, Document document)
    {
        PdfPTable footerTable = new PdfPTable(3);
        footerTable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
        footerTable.SetWidths(new float[] { 1, 1, 1 });

        PdfPCell leftCell = new PdfPCell(new Phrase(DateTime.Now.ToString("dd/MM/yyyy"), normalFont));
        leftCell.Border = Rectangle.NO_BORDER;
        leftCell.HorizontalAlignment = Element.ALIGN_LEFT;

        PdfPCell centerCell = new PdfPCell(new Phrase("Confidential", normalFont));
        centerCell.Border = Rectangle.NO_BORDER;
        centerCell.HorizontalAlignment = Element.ALIGN_CENTER;

        PdfPCell rightCell = new PdfPCell();
        rightCell.Border = Rectangle.NO_BORDER;
        rightCell.HorizontalAlignment = Element.ALIGN_RIGHT;

        Chunk pageNum = new Chunk($"Page {writer.PageNumber} of ", normalFont);
        rightCell.AddElement(pageNum);
        rightCell.AddElement(Image.GetInstance(totalPageCount));

        footerTable.AddCell(leftCell);
        footerTable.AddCell(centerCell);
        footerTable.AddCell(rightCell);

        footerTable.WriteSelectedRows(0, -1, document.LeftMargin,
            document.PageSize.GetBottom(document.BottomMargin), writer.DirectContent);
    }

    public override void OnCloseDocument(PdfWriter writer, Document document)
    {
        ColumnText.ShowTextAligned(totalPageCount, Element.ALIGN_LEFT,
            new Phrase(writer.PageNumber.ToString(), normalFont), 0, 0, 0);
    }
}

Ce modèle nécessite la création d'un objet modèle PDF comme espace réservé, puis le remplissage du nombre total de pages après la fermeture du document. La nature en deux étapes de l'opération n'est pas évidente pour quiconque n'est pas familier avec les internels d'iText, et se tromper produit des décomptes de pages incorrects dans le PDF final.

Pourquoi l'approche d'IronPDF est-elle plus facile à maintenir ?

IronPDF gère la numérotation des pages grâce à des espaces réservés intégrés et à une gestion automatique des numéros de page :

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date} {time}",
    CenterText = "Confidential -- Internal Use Only",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10,
    FontFamily = "Calibri",
    Spacing = 8
};

// Skip numbering on cover page
renderer.RenderingOptions.FirstPageNumber = 0;

renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 30;

var pdf = renderer.RenderHtmlAsPdf(htmlContent);

Les espaces réservés intégrés prennent en charge {page}, {total-pages}, {date}, {time}, {html-title}, {pdf-title}, et {url}. Il n'est pas nécessaire d'effectuer un post-traitement complexe ni un rendu en deux passes. La bibliothèque calcule en interne le nombre total de pages et l'injecte automatiquement sur chaque site de substitution.

Pouvez-vous créer des en-têtes HTML avec un contenu dynamique ?

Pour les mises en page incluant des logos d'entreprise, une typographie stylisée ou des tableaux structurés, les en-têtes HTML offrent une flexibilité bien supérieure aux en-têtes textuels. IronPDF excelle ici grâce à sa prise en charge native des en-têtes et pieds de page HTML :

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 10px 0;'>
            <img src='logo.png' style='height: 40px;'>
            <div style='text-align: center;'>
                <h2 style='margin: 0; color: #2c3e50;'>Annual Report 2024</h2>
                <p style='margin: 0; font-size: 12px; color: #7f8c8d;'>Financial Performance &amp; Strategic Overview</p>
            </div>
            <div style='text-align: right; font-size: 11px; color: #95a5a6;'>
                Document ID: AR-2024-001<br>
                Classification: Public
            </div>
        </div>",
    MaxHeight = 80,
    DrawDividerLine = true,
    BaseUrl = new Uri(System.IO.Path.GetFullPath("assets/")).AbsoluteUri
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <table style='width: 100%; font-size: 10px; color: #34495e;'>
            <tr>
                <td style='width: 33%; text-align: left;'>Generated: {date} at {time}</td>
                <td style='width: 34%; text-align: center;'>Page {page} of {total-pages}</td>
                <td style='width: 33%; text-align: right;'>Annual Report 2024</td>
            </tr>
        </table>",
    MaxHeight = 30,
    DrawDividerLine = true
};

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("annual-report.pdf");

Comment les en-têtes complexes sont-ils rendus en pratique ?

Document PDF comportant un en-tête professionnel avec le logo de l'entreprise et le logo de l'entreprise, démontrant les capacités avancées de rendu de l'en-tête HTML d'IronPDF avec un formatage multi-pages cohérent

Avec iText, obtenir des en-têtes HTML nécessite d'ajouter l'extension XMLWorker et d'écrire du code de parsing complexe. La prise en charge limitée du CSS par la bibliothèque rend difficile la production de mises en page modernes fonctionnant de manière fiable sur différents formats de papier . Les images, les mises en page flexibles et les polices web nécessitent des solutions de contournement qui ajoutent une complexité de code importante.

Comment gérez-vous différemment les en-têtes de la première page ?

De nombreux documents Professional nécessitent un en-tête différent sur la page de couverture : un grand logo pour la page de titre, puis un en-tête compact pour les pages suivantes. IronPDF prend en charge ce modèle grâce au HTML et au CSS conditionnels :

using IronPdf;

var renderer = new ChromePdfRenderer();

string firstPageHeader = @"
    <div style='text-align: center; padding: 20px 0;'>
        <img src='logo-large.png' style='height: 80px; margin-bottom: 10px;'>
        <h1 style='margin: 0; color: #2c3e50;'>2024 Annual Report</h1>
        <h3 style='margin: 5px 0; color: #7f8c8d;'>Fiscal Year Ending December 31, 2024</h3>
    </div>";

string subsequentPageHeader = @"
    <div style='display: flex; justify-content: space-between; align-items: center;'>
        <img src='logo-small.png' style='height: 30px;'>
        <span>Annual Report 2024</span>
        <span>Page {page}</span>
    </div>";

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = $@"
        <style>
            .first-page {{display: none;}}
            .other-pages {{display: block;}}
            @page:first {{
                .first-page {{display: block;}}
                .other-pages {{display: none;}}
            }}
        </style>
        <div class='first-page'>{firstPageHeader}</div>
        <div class='other-pages'>{subsequentPageHeader}</div>",
    MaxHeight = 100
};

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("report-with-cover.pdf");
C#

Cette approche permet de centraliser la définition de l'en-tête, facilitant ainsi la mise à jour simultanée de l'en-tête de couverture et de l'en-tête intérieur. Vous pouvez également envisager le rendu PDF asynchrone pour les scénarios à haut débit.

Quelle approche offre les meilleures performances et la meilleure flexibilité ?

Les performances deviennent cruciales lors de la génération de documents volumineux ou du traitement simultané de nombreux fichiers PDF. Le moteur de rendu Chrome d'IronPDF offre plusieurs avantages pour les charges de travail de production :

  1. Performances de rendu : IronPDF met en cache les en-têtes et pieds de page rendus, améliorant ainsi le débit pour les documents multipages.
  2. Efficacité mémoire : La bibliothèque gère automatiquement la gestion de la mémoire, évitant les fuites qui peuvent survenir avec la manipulation manuelle de PdfContentByte
  3. Traitement parallèle : La prise en charge des opérations asynchrones permet une génération par lots efficace à l'aide du modèle Task.WhenAll
using IronPdf;

public async Task GenerateReportsAsync(List<ReportData> reports)
{
    var renderer = new ChromePdfRenderer();

    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Monthly Report",
        DrawDividerLine = true
    };

    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        RightText = "Page {page} of {total-pages}",
        DrawDividerLine = true
    };

    // Disable JavaScript if not required for faster rendering
    renderer.RenderingOptions.EnableJavaScript = false;
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

    var tasks = reports.Select(async report =>
    {
        string html = await GenerateHtmlAsync(report);
        return await renderer.RenderHtmlAsPdfAsync(html);
    });

    PdfDocument[] pdfs = await Task.WhenAll(tasks);
}

Qu'en est-il des considérations relatives aux licences pour une utilisation en production ?

Le modèle de licence IronPDF offre des termes favorables aux entreprises par rapport à la licence AGPL d'iText, qui exige de rendre le code de votre application open-source à moins d'acheter une licence commerciale iText distincte. Pour les systèmes de production, IronPDF fournit :

  • Licences perpétuelles sans frais récurrents
  • Prise en charge du déploiement sur Windows , Linux , macOS et Azure
  • Assistance aux utilisateurs sous licence
  • Aucun filigrane dans le produit final

Quelle est la difficulté d'apprentissage pour les équipes ?

Pour les développeurs familiers avec le système d'événements de page d'iText, il y a une période d'adaptation, mais la documentation et les exemples d'IronPDF permettent de le maintenir gérable. La possibilité d'utiliser CSS pour le style et HTML pour la mise en page ouvre des possibilités qui nécessiteraient un code étendu et personnalisé dans iText. The documentation includes:

En quoi les calculs de marge et d'espacement diffèrent-ils ?

La mise en page de documents Professional exige un contrôle précis des marges. IronPDF simplifie cela grâce à des mesures en millimètres, une unité naturelle pour les mises en page d'impression :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Set margins in millimeters
renderer.RenderingOptions.MarginTop = 25.4;    // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;
renderer.RenderingOptions.MarginLeft = 19.05;  // 0.75 inch
renderer.RenderingOptions.MarginRight = 19.05;

renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Internal Report",
    DrawDividerLine = true,
    Spacing = 5
};

// Use print CSS media type for accurate page layout
// See MDN reference: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("margin-report.pdf");

Comparez cela à l'approche basée sur les coordonnées d'iText où vous devez calculer les positions par rapport aux limites de la page et vérifier manuellement que le contenu ne chevauche pas les en-têtes ou pieds de page.

Quelles sont vos prochaines étapes ?

L'ajout d'en-têtes et de pieds de page aux documents PDF ne nécessite pas forcément une gestion complexe des événements ni des calculs de coordonnées. Bien que l'approche d'iText offre un contrôle granulaire à travers des événements de page et une manipulation directe du contenu, IronPDF offre une solution plus intuitive avec une configuration basée sur les propriétés et un support HTML natif.

Le choix s'impose lorsqu'on considère la rapidité de développement, la maintenabilité et la facilité de production de documents d'aspect professionnel. L'approche d'IronPDF en matière d'en-têtes et de pieds de page illustre parfaitement la génération moderne de PDF : puissante et accessible. Pour les équipes qui privilégient une architecture propre et un code maintenable, l'API d'IronPDF s'aligne parfaitement sur les pratiques de développement .NET .

Les principaux avantages pour les systèmes de production sont les suivants :

  • Réduction du temps de développement : Configuration basée sur les propriétés vs. gestionnaires d'événements complexes
  • Meilleure maintenabilité : utilisation de HTML/CSS pour les mises en page au lieu de calculs de coordonnées
  • Flexibilité accrue : Prise en charge native des designs responsifs et des polices web
  • Haute Performance : Rendu optimisé avec une mise en cache et un support de traitement parallèle Résultats Professional : rendu impeccable au pixel près, conforme aux normes web modernes

Commencez par installer IronPDF via NuGet, puis suivez le guide de démarrage rapide pour créer votre premier en-tête et pied de page en quelques minutes. Lorsque vous serez prêt à passer en production, examinez les options de licence pour trouver le plan qui correspond à vos exigences de déploiement. Si vous rencontrez le moindre problème lors de l'intégration, l' équipe d'assistance est là pour vous aider.

Veuillez noter: iText est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé par ou sponsorisé par iText. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 999 $