API PDF pour .NET Core : Générer et éditer des PDF en C#

IronPDF est une API PDF pour .NET Core et .NET 10 qui génère, convertit et modifie des documents PDF via du code C#. Installez le package NuGet , créez une instance ChromePdfRenderer et produisez des PDF à partir de chaînes HTML, d'URL en direct ou de fichiers existants en quelques lignes.
La génération de PDF est une exigence standard dans les applications .NET Core pour les factures, les rapports, les contrats et les documents de conformité. Le défi consiste à trouver une bibliothèque qui rende le HTML avec précision, s'intègre parfaitement à ASP.NET Core et Blazor, produit un résultat cohérent sous Windows, Linux et macOS, et gère des opérations avancées comme les signatures numériques et la protection par mot de passe sans nécessiter d'outils séparés. Ce guide présente l'API PDF .NET Core d'IronPDF, de son installation aux opérations les plus courantes sur les documents, avec des exemples de code C# fonctionnels pour chaque opération.
Comment débuter avec IronPDF dans .NET Core?
Installez IronPDF à partir de NuGet en utilisant la console du gestionnaire de packages ou l'interface de ligne de commande .NET :
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
Après l'installation, ajoutez votre clé de licence au démarrage de l'application dans Program.cs :
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronPdf
' Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY"
Un essai gratuit est disponible pour évaluation sans carte de crédit. IronPDF prend en charge .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ et toutes les principales versions de .NET Core . La bibliothèque fonctionne sous Windows, macOS et Linux sans dépendances d'exécution supplémentaires, ce qui la rend adaptée aux déploiements conteneurisés et aux environnements cloud, notamment Azure , Docker et AWS.
Pour les projets ASP.NET Core , enregistrez les services IronPDF dans Program.cs avant de créer l'application, puis injectez ChromePdfRenderer via le conteneur d'injection de dépendances standard. IronPDF s'intègre aux types de projets ASP.NET Core , notamment Web API, MVC, Razor Pages et Blazor Server. Le package NuGet s'installe comme une dépendance unique sans nécessiter de bibliothèques d'exécution natives ni d'exécutables externes, ce qui simplifie votre pipeline CI et vos images de conteneurs. Aucune configuration supplémentaire n'est requise pour les déploiements Linux ou macOS au-delà du kit de développement logiciel .NET standard.
Parce que ChromePdfRenderer est thread-safe, vous pouvez l'enregistrer comme singleton et le partager entre les gestionnaires de requêtes. Dans les scénarios à haut débit, créez un pool d'instances de rendu ou utilisez les méthodes de rendu asynchrones (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) pour éviter de bloquer les threads de requête pendant l'exécution de la génération PDF. La page de licences d'IronPDF détaille les limites de postes de déploiement et de threads simultanés pour les environnements de production.
Comment générer des PDF à partir de HTML en C# ?
La conversion HTML vers PDF est l'utilisation la plus courante d'une API PDF .NET . Le ChromePdfRenderer d'IronPDF convertit les chaînes HTML, les fichiers locaux ou les URL en direct tout en préservant les styles CSS, les polices, la sortie JavaScript et les images lors de leur rendu dans Chrome.
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
Imports IronPdf
' Create the renderer and define HTML content with full CSS support
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>"
Dim document = renderer.RenderHtmlAsPdf(html)
document.SaveAs("sales-report.pdf")
Document PDF de sortie

Le ChromePdfRenderer renvoie un objet PdfDocument que vous pouvez enregistrer dans un chemin de fichier, exporter vers un byte[] pour les réponses HTTP, ou écrire dans un MemoryStream pour le traitement en mémoire. Le moteur de rendu respecte toutes les propriétés CSS, y compris les polices personnalisées, flexbox, les mises en page en grille, les requêtes média et les règles @page pour le contrôle des marges et de la taille de la page. Pour les modèles HTML stockés sur disque avec les ressources CSS et image, appelez RenderHtmlFileAsPdf avec le chemin du fichier au lieu de passer une chaîne en ligne. IronPDF résout les chemins d'accès relatifs aux ressources par rapport au répertoire du fichier, de sorte que les feuilles de style liées et les images locales apparaissent dans le résultat sans configuration supplémentaire.
Pour les applications qui doivent capturer des pages Web en direct, utilisez RenderUrlAsPdfAsync pour capturer une URL lors de l'exécution de JavaScript:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render a live URL including all JavaScript-rendered content
Dim document = Await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report")
document.SaveAs("monthly-report.pdf")
' Return PDF bytes in an ASP.NET Core controller
Dim pdfBytes As Byte() = document.BinaryData
Return File(pdfBytes, "application/pdf", "report.pdf")
Le rendu des URL attend la fin de l'exécution de JavaScript avant la capture, ce qui garantit que les graphiques, tableaux et visualisations de données chargés dynamiquement apparaissent correctement dans le PDF de sortie. Vous pouvez configurer les options de rendu pour définir les marges de la page, le format du papier, l'orientation et le délai d'exécution de JavaScript . Les cookies d'authentification et les en-têtes HTTP personnalisés peuvent également être injectés dans la requête avant le rendu, ce qui permet de capturer les pages nécessitant une session connectée.
Comment configurer la mise en page et les options de rendu d'un PDF ?
La propriété RenderingOptions sur ChromePdfRenderer contrôle les dimensions de la page, les marges, l'orientation et le comportement d'attente JavaScript avant l'exécution de tout appel de rendu. Définissez ces propriétés une seule fois sur l'instance du moteur de rendu et elles s'appliqueront à chaque document qu'il produit.
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 15
renderer.RenderingOptions.MarginBottom = 15
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
' Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500)
Dim document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>")
document.SaveAs("landscape-report.pdf")
Les formats de papier indiqués couvrent les formats standard, notamment A4, A3, Lettre, Légal, ainsi que les dimensions personnalisées spécifiées en millimètres. Les propriétés de marge acceptent des valeurs en millimètres et s'appliquent indépendamment à chaque bord. L'API WaitFor contrôle le moment d'exécution JavaScript , ce qui est utile lorsque votre HTML charge des données de manière asynchrone avant de rendre des graphiques ou des valeurs de tableau calculées. Pour les pages qui utilisent des règles CSS @page, IronPDF respecte ces déclarations et les applique directement. Consultez la documentation complète des options de rendu pour obtenir la liste complète des propriétés, notamment le facteur de Zoom , la couleur d'arrière-plan et la sélection de la version PDF.
Comment convertir des fichiers DOCX et des images en PDF ?
Au-delà du HTML, IronPDF convertit les documents DOCX, les formats d'image courants et les fichiers Markdown en PDF. Cela permet de traiter les pipelines qui acceptent plusieurs types d'entrée.
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
Imports IronPdf
' Convert a Word document to PDF while preserving its formatting
Dim docxPdf = New DocxToPdfRenderer().RenderDocxAsPdf("contract.docx")
docxPdf.SaveAs("contract.pdf")
' Combine multiple images into a single multi-page PDF
Dim images = {"page1.png", "page2.png", "page3.png"}
Dim imagePdf = ImageToPdfConverter.ImageToPdf(images)
imagePdf.SaveAs("scanned-document.pdf")
Exemple : Fichier DOCX en entrée vs. Fichier PDF en sortie

La fonction de conversion DOCX vers PDF préserve les styles de paragraphe, les tableaux, les en-têtes, les pieds de page, les images intégrées et les listes du document Word source. Le convertisseur d'images en PDF accepte les formats JPEG, PNG, TIFF, BMP et GIF, optimise automatiquement la taille du fichier de sortie et permet de combiner plusieurs images en un seul document paginé. Les deux convertisseurs renvoient une instance standard PdfDocument, vous pouvez donc les chaîner avec des opérations d'édition telles que la fusion, la signature ou le filigrane. Pour les fichiers DOCX générés par Microsoft Word , le convertisseur gère les structures de tableaux complexes et les images intégrées tout en conservant la hiérarchie originale des paragraphes et des titres.
Comment ajouter des signatures numériques et des champs de formulaire ?
Les flux de production de documents nécessitent souvent des signatures cryptographiques pour garantir leur authenticité et des champs de formulaire interactifs pour la collecte de données. IronPDF propose la prise en charge des signatures numériques et des formulaires PDF via une même API.
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
Imports IronPdf
Imports IronPdf.Signing
' Load an existing PDF and apply a digital signature using an X.509 certificate
Dim pdf = PdfDocument.FromFile("agreement.pdf")
Dim signature = New PdfSignature("certificate.pfx", "pfx-password")
pdf.Sign(signature)
' Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation"
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd")
pdf.Form.FindFormField("Amount").Value = "$12,500.00"
pdf.SaveAs("signed-agreement.pdf")
Exemple de signature vérifiée

Les signatures numériques utilisent des certificats X.509 au format PFX et sont conformes aux normes de signature PDF reconnues par Adobe Acrobat et d'autres visionneuses PDF. Le panneau de signature d'Acrobat confirme l'émetteur du certificat, la date et l'état d'intégrité. L' API des formulaires PDF prend en charge les champs de texte, les cases à cocher, les boutons radio et les menus déroulants. Vous pouvez créer des modèles de formulaires par programmation, les remplir de données lors de l'exécution et lire les valeurs des champs soumis à partir des documents remplis. Ce modèle est utile pour la gestion des contrats, l'intégration des RH et les pipelines de collecte automatisée de données où le même modèle PDF est réutilisé pour de nombreuses transactions avec des valeurs de champs différentes.
Pour les signatures basées sur l'horodatage, transmettez une instance PdfSignature configurée avec un URI de serveur d'horodatage afin que l'heure de signature soit certifiée par un tiers de confiance plutôt que par l'horloge du système local. Le guide de signature aborde les images de signature visibles, les signataires multiples séquentiels et les options de validation des certificats.
Comment modifier et manipuler des documents PDF existants ?
IronPDF vous permet de modifier des fichiers PDF sans les reconstruire à partir de HTML. Ajoutez des en-têtes, des pieds de page, des filigranes, des annotations ou fusionnez et divisez des pages par programmation.
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
Imports IronPdf
Dim document = PdfDocument.FromFile("report.pdf")
' Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>", rotation:=30, opacity:=50)
' Add a branded header to every page
document.AddHtmlHeaders(New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
})
' Append supplementary pages from a second document
Dim appendix = PdfDocument.FromFile("appendix.pdf")
document.AppendPdf(appendix)
document.SaveAs("final-report.pdf")
' Export to bytes for HTTP streaming
Dim pdfBytes As Byte() = document.BinaryData
Exemple de sortie

L' API des en-têtes et pieds de page HTML prend en charge les variables de modèle, notamment {page}, {total-pages} et {date} pour le contenu dynamique. La méthode de filigrane personnalisé accepte un fragment HTML, ce qui vous permet d'appliquer des superpositions stylisées, pivotées et semi-transparentes sur toutes les pages en un seul appel. Vous pouvez également diviser les PDF par plage de pages, fusionner plusieurs documents et extraire les images intégrées et le contenu textuel de n'importe quel PDF. L'extraction de texte préserve l'ordre de lecture entre les colonnes et les tableaux, ce qui simplifie le traitement en aval pour l'indexation de la recherche, la migration de contenu ou les flux de travail de validation des données.
Comment appliquer la protection par mot de passe et les paramètres de sécurité ?
La protection des documents PDF par des mots de passe et des indicateurs d'autorisation est une exigence standard pour les rapports financiers, les documents juridiques et les dossiers RH.
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
Imports IronPdf
Imports IronPdf.Security
Dim pdf = PdfDocument.FromFile("financial-report.pdf")
' Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password"
pdf.SecuritySettings.OwnerPassword = "admin-password"
' Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SaveAs("protected-report.pdf")
L' API des paramètres de sécurité PDF applique un chiffrement AES 128 bits ou 256 bits. Le paramètre UserPassword exige que les lecteurs saisissent le mot de passe lors de l'ouverture du fichier dans n'importe quelle visionneuse PDF. Le paramètre OwnerPassword restreint la modification programmatique et les opérations au niveau du propriétaire. Les indicateurs d'autorisation contrôlent indépendamment la qualité d'impression, la sélection du texte, les annotations et l'accès aux champs de formulaire. Après application des paramètres de sécurité, la propriété BinaryData renvoie les octets PDF chiffrés pour le stockage ou la transmission HTTP. Ces paramètres sont conformes au modèle de contrôle d'accès de la spécification PDF, de sorte que les documents protégés s'ouvrent correctement dans Adobe Acrobat, les visionneuses PDF basées sur un navigateur et les applications de lecture mobiles.
Pour supprimer la protection d'un document dont vous êtes propriétaire, chargez le fichier avec le mot de passe du propriétaire passé comme paramètre à PdfDocument.FromFile, puis enregistrez sans appliquer de paramètres de sécurité. Cela permet le traitement programmatique de documents dans des flux de travail côté serveur où des fichiers protégés par mot de passe arrivent en entrée et doivent être transformés avant d'être redistribués.
Quelles sont vos prochaines étapes ?
L'API PDF d'IronPDF for .NET Core gère l'intégralité du cycle de vie des documents en C# : génération à partir de chaînes HTML et d'URL, conversion de fichiers DOCX et d'images, configuration de la mise en page et des options de rendu, modification des filigranes, des en-têtes et des pieds de page, application de signatures numériques et protection des documents par chiffrement. Toutes les opérations utilisent une API cohérente sur .NET 8, .NET 9 et .NET 10 sous Windows, macOS et Linux.
Démarrez un essai gratuit pour évaluer IronPDF avec vos propres documents. Pour d'autres scénarios, consultez le guide des options de rendu HTML vers PDF , la compression et l'optimisation PDF , ainsi que la présentation complète des fonctionnalités IronPDF . Examiner les options de licence pour le déploiement en production.
Questions Fréquemment Posées
Qu'est-ce que l'API PDF d'IronPDF for .NET Core ?
IronPDF est une bibliothèque .NET qui génère, convertit, et édite des documents PDF dans des applications C#. Il s'installe en tant qu'un seul package NuGet et prend en charge .NET 10, .NET 9, .NET 8, et .NET Framework 4.6.2 ou ultérieur.
Comment générer un PDF à partir de HTML dans .NET Core ?
Créez une instance ChromePdfRenderer et appelez RenderHtmlAsPdf avec une chaîne HTML, ou RenderUrlAsPdfAsync avec une URL. Le moteur convertit la sortie HTML, CSS, et JavaScript en un objet PdfDocument que vous pouvez enregistrer ou diffuser.
Comment configurez-vous la taille des pages et les marges dans IronPDF ?
Définissez les propriétés sur renderer.RenderingOptions avant d'appeler une méthode de rendu. Utilisez PaperSize pour les formats standard, PaperOrientation pour portrait ou paysage, et MarginTop, MarginBottom, MarginLeft, MarginRight pour les marges en millimètres.
IronPDF peut-il convertir des fichiers DOCX en PDF dans .NET Core ?
Oui. Utilisez DocxToPdfRenderer.RenderDocxAsPdf avec le chemin du fichier. Le convertisseur préserve les styles de paragraphe, les tableaux, les en-têtes, les pieds de page et les images intégrées du document Word source.
Comment ajoutez-vous une signature numérique à un PDF en C# ?
Chargez le PDF avec PdfDocument.FromFile, créez une PdfSignature avec le chemin du certificat PFX et le mot de passe, puis appelez pdf.Sign(signature). Le document résultant est vérifié dans Adobe Acrobat et les visionneuses PDF conformes.
Comment protégez-vous par mot de passe un PDF avec IronPDF ?
Définissez pdf.SecuritySettings.UserPassword pour le mot de passe d'ouverture et pdf.SecuritySettings.OwnerPassword pour le mot de passe propriétaire. Utilisez AllowUserPrinting, AllowUserCopyPasteContent, et les indicateurs connexes pour contrôler les permissions individuelles.
Comment renvoyez-vous un PDF généré en tant que réponse HTTP dans ASP.NET Core ?
Accédez à la propriété BinaryData de l'instance PdfDocument pour récupérer le PDF sous forme de tableau d'octets, puis renvoyez-le avec File(pdfBytes, 'application/pdf', 'filename.pdf') dans une action de contrôleur ASP.NET Core.
IronPDF fonctionne-t-il sur Linux et macOS pour les applications .NET Core ?
Oui. IronPDF fonctionne sur Windows, macOS et Linux sans dépendances d'exécution natives supplémentaires. Il prend en charge les déploiements conteneurisés sur Docker, Azure et AWS sans configuration spécifique à la plateforme.
Comment ajoutez-vous des en-têtes et pieds de page à un PDF avec IronPDF ?
Appelez document.AddHtmlHeaders avec un objet HtmlHeaderFooter dont HtmlFragment contient le balisage de l'en-tête. Utilisez les variables de modèle {page}, {total-pages}, et {date} pour les valeurs dynamiques. La même API s'applique aux pieds de page.
IronPDF est-il sûr pour une utilisation dans ASP.NET Core ?
ChromePdfRenderer est sûr pour les threads et peut être enregistré en tant que singleton dans le conteneur d'injection de dépendances. Pour des charges de travail à haute capacité, utilisez les méthodes de rendu asynchrones (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) pour éviter de bloquer les threads de requêtes.



