Passer au contenu du pied de page
UTILISATION DE IRONPDF

Conversion de HTML en PDF dans .NET à l'aide d'IronPDF for .NET

IronPDF est un convertisseur HTML vers PDF .NET qui utilise le moteur de rendu de Chrome pour transformer les chaînes HTML, les fichiers et les pages Web en documents PDF de haute qualité avec un rendu CSS précis et une prise en charge de l'exécution JavaScript.

La conversion de HTML en PDF représente un défi complexe dans le développement .NET. Vous avez besoin d'un convertisseur PDF qui prenne en charge les mises en page CSS modernes, exécute correctement JavaScript et produise des documents de qualité, tout en étant simple à mettre en œuvre. IronPDF relève ces défis grâce à un rendu basé sur Chrome, vous permettant de convertir des fichiers HTML, des chaînes de caractères et des pages Web avec une fidélité équivalente à celle d'un navigateur.

Cet article explore comment implémenter la génération de PDF professionnels dans votre application .NET, des conversions de base aux fonctionnalités avancées telles que les signatures numériques et la manipulation de PDF sous Windows, Linux et Azure . Vous apprendrez à utiliser les opérations asynchrones pour optimiser les performances et la journalisation personnalisée pour le débogage.

Bannière de la page d'accueil de la bibliothèque PDF IronPDF C# présentant ses principales fonctionnalités, notamment la conversion HTML vers PDF, les outils d'édition PDF, les options de déploiement flexibles et une offre d'essai gratuit.

Pourquoi choisir IronPDF pour la conversion HTML vers PDF en .NET ?

Pourquoi le rendu Chrome est-il supérieur pour la génération de PDF ?

Le moteur de rendu Chrome d'IronPDF offre des résultats exceptionnels. Contrairement aux bibliothèques utilisant des versions obsolètes WebKit , IronPDF utilise la même technologie Blink que Google Chrome. Vos fichiers PDF s'affichent exactement comme ils apparaissent dans l'aperçu avant impression de Chrome : aucun style manquant ni mise en page incorrecte. Découvrez les capacités de rendu de Chrome et comparez-les aux solutions concurrentes .

Comment IronPDF gère-t-il les technologies web modernes ?

Les applications web modernes utilisent des technologies CSS et JavaScript sophistiquées. IronPDF offre une prise en charge native de CSS3, notamment flexbox, les systèmes de grille, les transformations et les animations. Le moteur traite le JavaScript avant le rendu, garantissant ainsi un affichage correct du contenu généré dynamiquement. Qu'il s'agisse de convertir des fichiers ou de rendre des pages, IronPDF capture l'état final. La bibliothèque prend en charge les mises en page Bootstrap , les conceptions réactives et le contenu WebGL .

Pourquoi la conception de l'API est-elle conviviale pour les développeurs ?

La bibliothèque privilégie l'expérience développeur grâce à une conception d'API simple. Vous travaillez avec du HTML et du CSS familiers tandis qu'IronPDF gère la complexité. La classe ChromePdfRenderer fournit des valeurs par défaut intelligentes tout en offrant un contrôle précis en cas de besoin. IronPDF offre une facilité d'utilisation supérieure à celle de QuestPDF ou de Syncfusion .

! Tableau de bord présentant les quatre principales fonctionnalités PDF : Créer des PDF, Convertir des PDF, Modifier des PDF, et Signer et sécuriser des PDF, avec des listes de fonctionnalités détaillées sous chaque catégorie.

Comment installer IronPDF dans votre projet .NET 8 ?

Quelle est la méthode d'installation la plus rapide via un gestionnaire de paquets ?

L'installation d'IronPDF ne prend que quelques minutes. Utiliser la console du gestionnaire de packages dans Visual Studio :

Install-Package IronPdf

! Console du gestionnaire de packages affichant le processus d'installation du package NuGet IronPDF avec plusieurs dépendances en cours de téléchargement

Cela télécharge le package et ses dépendances, en configurant automatiquement les références du projet. Ce package inclut des binaires spécifiques à la plateforme, résolus à l'exécution. Pour les scénarios avancés, explorez le déploiement Docker ou les conteneurs distants .

Comment installer un logiciel à l'aide de l'interface de ligne de commande .NET ?

Pour l'installation en ligne de commande :

dotnet add package IronPdf

Cela fonctionne bien avec VS Code, Rider ou les pipelines automatisés. Consultez la documentation pour obtenir des instructions spécifiques à la plateforme, notamment concernant la prise en charge de F# .

Qu'en est-il des méthodes d'installation basées sur une interface graphique ?

Le gestionnaire de packages NuGet de Visual Studio offre une interface de recherche. Faites un clic droit sur votre projet, sélectionnez " Gérer les packages NuGet ", recherchez " IronPdf " et installez-le. Découvrez les options de configuration avancée pour les déploiements en entreprise.

Comment configurer IronPDF après l'installation ?

Ajoutez l'espace de noms :

using IronPdf;
using IronPdf.Rendering; // For rendering options
using IronPdf.Editing; // For PDF editing features
using IronPdf;
using IronPdf.Rendering; // For rendering options
using IronPdf.Editing; // For PDF editing features
Imports IronPdf
Imports IronPdf.Rendering ' For rendering options
Imports IronPdf.Editing ' For PDF editing features
$vbLabelText   $csharpLabel

Activez votre licence de production :

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

// Optional: Configure global settings
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

// Optional: Configure global settings
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"

' Optional: Configure global settings
IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf"
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
$vbLabelText   $csharpLabel

L' essai gratuit de 30 jours offre toutes les fonctionnalités pour les tests. Consultez la documentation de la licence pour connaître les options de configuration.

Comment convertir des chaînes HTML en PDF avec IronPDF ?

Quelle est l'approche de base pour la conversion de chaînes HTML ?

La conversion de chaînes HTML représente le cas d'utilisation le plus courant. Commencez par une conversion de base à l'aide de RenderHtmlAsPdf :

using IronPdf;

// Create the renderer
var renderer = new ChromePdfRenderer();

// Configure options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Convert HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");

// Save the PDF
pdf.SaveAs("invoice.pdf");

// Get bytes for web response
byte[] pdfBytes = pdf.BinaryData;
using IronPdf;

// Create the renderer
var renderer = new ChromePdfRenderer();

// Configure options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Convert HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");

// Save the PDF
pdf.SaveAs("invoice.pdf");

// Get bytes for web response
byte[] pdfBytes = pdf.BinaryData;
Imports IronPdf

' Create the renderer
Dim renderer As New ChromePdfRenderer()

' Configure options
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Convert HTML to PDF
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>")

' Save the PDF
pdf.SaveAs("invoice.pdf")

' Get bytes for web response
Dim pdfBytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

Cela crée un PDF avec une sélection de texte appropriée pour garantir la conformité aux normes d'accessibilité. Explorez les options de marges personnalisées et de format de papier .

Sortie

Visionneuse PDF affichant une facture simple portant le numéro 12345 et un montant total de 99,99 $ (zoom à 100 %) .

Comment puis-je mettre en forme des PDF avec CSS ?

Intégrez directement le CSS dans votre HTML :

var styledHtml = @"
    <style>
        @import url('___PROTECTED_URL_73___

        body { 
            font-family: 'Roboto', Arial, sans-serif; 
            margin: 40px;
            line-height: 1.6;
        }
        .header { 
            color: #2563eb; 
            border-bottom: 2px solid #e5e7eb; 
            padding-bottom: 10px;
        }
        .amount { 
            font-size: 24px; 
            font-weight: bold; 
            color: #059669;
        }
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for fonts

var pdf = renderer.RenderHtmlAsPdf(styledHtml);
pdf.SaveAs("styled-invoice.pdf");
var styledHtml = @"
    <style>
        @import url('___PROTECTED_URL_73___

        body { 
            font-family: 'Roboto', Arial, sans-serif; 
            margin: 40px;
            line-height: 1.6;
        }
        .header { 
            color: #2563eb; 
            border-bottom: 2px solid #e5e7eb; 
            padding-bottom: 10px;
        }
        .amount { 
            font-size: 24px; 
            font-weight: bold; 
            color: #059669;
        }
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for fonts

var pdf = renderer.RenderHtmlAsPdf(styledHtml);
pdf.SaveAs("styled-invoice.pdf");
Imports System
Imports IronPdf

Dim styledHtml As String = "
    <style>
        @import url('___PROTECTED_URL_73___

        body { 
            font-family: 'Roboto', Arial, sans-serif; 
            margin: 40px;
            line-height: 1.6;
        }
        .header { 
            color: #2563eb; 
            border-bottom: 2px solid #e5e7eb; 
            padding-bottom: 10px;
        }
        .amount { 
            font-size: 24px; 
            font-weight: bold; 
            color: #059669;
        }
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
    </div>
    <p class='amount'>$1,234.56</p>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' Wait for fonts

Dim pdf = renderer.RenderHtmlAsPdf(styledHtml)
pdf.SaveAs("styled-invoice.pdf")
$vbLabelText   $csharpLabel

Le rendu CSS est identique à celui de Chrome. Explorez les options de rendu et les polices web .

Comment gérer les ressources externes telles que les images ?

Les ressources externes nécessitent un chemin de base :

var htmlWithImage = @"
    <html>
    <head>
        <link rel='stylesheet' href='styles.css' />
    </head>
    <body>
        <img src='logo.png' alt='Company Logo' />
        <h1>Document Title</h1>
    </body>
    </html>";

var renderer = new ChromePdfRenderer();

// Set base path for relative URLs
var pdf = renderer.RenderHtmlAsPdf(htmlWithImage, @"C:\assets\");

// Alternative: Use web resources
var webHtml = "<img src='/images/logo.png' />";
var pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, new Uri("___PROTECTED_URL_74___"));

pdf.SaveAs("document-with-assets.pdf");
var htmlWithImage = @"
    <html>
    <head>
        <link rel='stylesheet' href='styles.css' />
    </head>
    <body>
        <img src='logo.png' alt='Company Logo' />
        <h1>Document Title</h1>
    </body>
    </html>";

var renderer = new ChromePdfRenderer();

// Set base path for relative URLs
var pdf = renderer.RenderHtmlAsPdf(htmlWithImage, @"C:\assets\");

// Alternative: Use web resources
var webHtml = "<img src='/images/logo.png' />";
var pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, new Uri("___PROTECTED_URL_74___"));

pdf.SaveAs("document-with-assets.pdf");
Dim htmlWithImage As String = "
    <html>
    <head>
        <link rel='stylesheet' href='styles.css' />
    </head>
    <body>
        <img src='logo.png' alt='Company Logo' />
        <h1>Document Title</h1>
    </body>
    </html>"

Dim renderer As New ChromePdfRenderer()

' Set base path for relative URLs
Dim pdf = renderer.RenderHtmlAsPdf(htmlWithImage, "C:\assets\")

' Alternative: Use web resources
Dim webHtml As String = "<img src='/images/logo.png' />"
Dim pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, New Uri("___PROTECTED_URL_74___"))

pdf.SaveAs("document-with-assets.pdf")
$vbLabelText   $csharpLabel

Découvrez comment gérer les ressources et Azure Blob Storage .

Sortie

Visionneuse PDF affichant le logo IronPDF pour .NET sur fond blanc, page 1 sur 1 à 100 % de zoom

Comment convertir des fichiers HTML et des URL en PDF ?

Comment convertir des fichiers HTML locaux ?

La conversion des fichiers HTML locaux utilise RenderHtmlFileAsPdf :

// Simple conversion
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("report-template.html");
pdf.SaveAs("report-output.pdf");

// Advanced conversion
var advancedRenderer = new ChromePdfRenderer();
advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment;
advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = true;

var advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html");
advancedPdf.MetaData.Title = "Monthly Sales Report";
advancedPdf.SaveAs("advanced-report.pdf");
// Simple conversion
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("report-template.html");
pdf.SaveAs("report-output.pdf");

// Advanced conversion
var advancedRenderer = new ChromePdfRenderer();
advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment;
advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = true;

var advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html");
advancedPdf.MetaData.Title = "Monthly Sales Report";
advancedPdf.SaveAs("advanced-report.pdf");
' Simple conversion
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("report-template.html")
pdf.SaveAs("report-output.pdf")

' Advanced conversion
Dim advancedRenderer = New ChromePdfRenderer()
advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4
advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment
advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = True

Dim advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html")
advancedPdf.MetaData.Title = "Monthly Sales Report"
advancedPdf.SaveAs("advanced-report.pdf")
$vbLabelText   $csharpLabel

Cette méthode gère la lecture des fichiers en interne, en traitant les ressources liées. Pour les fichiers ZIP, voir HTML à partir des archives .

Quel est le processus de conversion des pages Web en production ?

Utilisez RenderUrlAsPdf pour les pages web :

// Basic URL conversion
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___");
pdf.SaveAs("website-snapshot.pdf");

// Advanced conversion with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};

secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);
var securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___");
securePdf.SaveAs("secure-dashboard.pdf");
// Basic URL conversion
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___");
pdf.SaveAs("website-snapshot.pdf");

// Advanced conversion with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};

secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);
var securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___");
securePdf.SaveAs("secure-dashboard.pdf");
' Basic URL conversion
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___")
pdf.SaveAs("website-snapshot.pdf")

' Advanced conversion with authentication
Dim secureRenderer As New ChromePdfRenderer()
secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .Username = "user@example.com",
    .Password = "secure-password"
}

secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500)
Dim securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___")
securePdf.SaveAs("secure-dashboard.pdf")
$vbLabelText   $csharpLabel

IronPDF exécute du JavaScript et attend le contenu avant de générer les PDF. Découvrez l'authentification et les cookies .

Comment gérer les designs responsifs dans les PDF ?

Configurer la fenêtre d'affichage pour les sites réactifs :

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.ViewPortWidth = 1920;

var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___");
pdf.SaveAs("responsive-output.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.ViewPortWidth = 1920;

var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___");
pdf.SaveAs("responsive-output.pdf");
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280)
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
renderer.RenderingOptions.ViewPortWidth = 1920

Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___")
pdf.SaveAs("responsive-output.pdf")
$vbLabelText   $csharpLabel

Consultez la documentation sur la fenêtre d'affichage et le guide CSS réactif .

Quelles sont les fonctionnalités PDF avancées offertes par IronPDF ?

Comment ajouter des en-têtes et des pieds de page professionnels ?

Les en-têtes et les pieds de page améliorent les documents de plusieurs pages :

var renderer = new ChromePdfRenderer();

// Configure header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = @"
        <div style='text-align: center; font-size: 12px;'>
            Annual Report 2024 - Confidential
        </div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

// Configure footer with page numbers
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>");
pdf.SaveAs("report-with-headers.pdf");
var renderer = new ChromePdfRenderer();

// Configure header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = @"
        <div style='text-align: center; font-size: 12px;'>
            Annual Report 2024 - Confidential
        </div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

// Configure footer with page numbers
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>");
pdf.SaveAs("report-with-headers.pdf");
Dim renderer = New ChromePdfRenderer()

' Configure header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 50,
    .HtmlFragment = "
        <div style='text-align: center; font-size: 12px;'>
            Annual Report 2024 - Confidential
        </div>",
    .BaseUrl = New Uri("file:///C:/assets/")
}

' Configure footer with page numbers
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 30,
    .HtmlFragment = "
        <div style='text-align: center; font-size: 10px;'>
            Page {page} of {total-pages}
        </div>",
    .DrawDividerLine = True
}

renderer.RenderingOptions.MarginTop = 60
renderer.RenderingOptions.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

Les espaces réservés spéciaux comme {page} et {total-pages} sont remplacés automatiquement. Consultez le tutoriel sur les en-têtes .

Comment puis-je appliquer des filigranes aux fichiers PDF ?

Protéger les documents avec des filigranes :

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply text watermark
pdf.ApplyWatermark(
    "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

pdf.SaveAs("watermarked-document.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply text watermark
pdf.ApplyWatermark(
    "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

pdf.SaveAs("watermarked-document.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>")

' Apply text watermark
pdf.ApplyWatermark(
    "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>",
    rotation:=45,
    opacity:=30
)

pdf.SaveAs("watermarked-document.pdf")
$vbLabelText   $csharpLabel

Découvrez les techniques de filigrane et les options d'estampage .

Quelles sont les exigences pour les signatures numériques ?

Ajouter des signatures pour garantir l'authenticité :

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Load certificate
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");

// Create signature
var signature = new PdfSignature(cert)
{
    SigningContact = "John Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};

// Sign the PDF
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Load certificate
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");

// Create signature
var signature = new PdfSignature(cert)
{
    SigningContact = "John Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};

// Sign the PDF
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>")

' Load certificate
Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password")

' Create signature
Dim signature = New PdfSignature(cert) With {
    .SigningContact = "John Smith",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval"
}

' Sign the PDF
pdf.Sign(signature)
pdf.SaveAsRevision("signed-contract.pdf")
$vbLabelText   $csharpLabel

Explorez la signature basée sur les certificats et l'intégration HSM .

Comment implémenter les fonctionnalités de sécurité des fichiers PDF ?

Sécuriser les informations sensibles :

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Set metadata
pdf.MetaData.Author = "Corporate Security";
pdf.MetaData.Title = "Confidential Report";

// Apply encryption
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("secure-document.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Set metadata
pdf.MetaData.Author = "Corporate Security";
pdf.MetaData.Title = "Confidential Report";

// Apply encryption
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("secure-document.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Set metadata
pdf.MetaData.Author = "Corporate Security"
pdf.MetaData.Title = "Confidential Report"

' Apply encryption
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

pdf.SaveAs("secure-document.pdf")
$vbLabelText   $csharpLabel

Examiner la documentation de sécurité et l'assainissement des fichiers PDF .

Comment déployer IronPDF en production ?

Que faut-il pour déployer Windows Server ?

Configurer IronPDF au démarrage :

var builder = WebApplication.CreateBuilder(args);

// Configure license
IronPdf.License.LicenseKey = builder.Configuration["IronPdf:LicenseKey"];

// Configure for Windows Server
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"D:\IronPdfTemp";

// Configure logging
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;
IronPdf.Logging.LogFilePath = @"D:\Logs\IronPdf.log";

var app = builder.Build();
var builder = WebApplication.CreateBuilder(args);

// Configure license
IronPdf.License.LicenseKey = builder.Configuration["IronPdf:LicenseKey"];

// Configure for Windows Server
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"D:\IronPdfTemp";

// Configure logging
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;
IronPdf.Logging.LogFilePath = @"D:\Logs\IronPdf.log";

var app = builder.Build();
Dim builder = WebApplication.CreateBuilder(args)

' Configure license
IronPdf.License.LicenseKey = builder.Configuration("IronPdf:LicenseKey")

' Configure for Windows Server
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.TempFolderPath = "D:\IronPdfTemp"

' Configure logging
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All
IronPdf.Logging.LogFilePath = "D:\Logs\IronPdf.log"

Dim app = builder.Build()
$vbLabelText   $csharpLabel

Voir Installation de Windows et déploiement d'IIS .

Comment déployer sur des environnements Linux ?

Linux nécessite des dépendances supplémentaires :

FROM mcr.microsoft.com/dotnet/aspnet:8.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libnss3 \
    libatk1.0-0 \
    libatk-bridge2.0-0 \
    libcups2 \
    && apt-get clean

WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Voir Déploiement Linux et intégration Docker .

Quelle configuration Azure App Service est nécessaire ?

Configurer pour Azure :

{
  "IronPdf": {
    "LicenseKey": "your-license-key",
    "TempFolderPath": "D:\\home\\IronPdfTemp",
    "ChromeGpuMode": "Disabled"
  }
}

Découvrez le déploiement Azure et Azure Functions .

Comment IronPDF excelle-t-il dans l'environnement de bibliothèque PDF .NET ?

Pourquoi le rendu basé sur Chrome représente-t-il une avancée significative ?

Le moteur Chrome offre des avantages fondamentaux. Alors que d'autres utilisent des moteurs plus anciens, IronPDF utilise la technologie qui alimente Chrome. Lorsque Chrome ajoute des propriétés CSS ou des API JavaScript, IronPDF acquiert automatiquement ces fonctionnalités. Cela permet un rendu au pixel près, supérieur aux solutions traditionnelles .

Comment fonctionne réellement la prise en charge multiplateforme ?

IronPDF assure un rendu cohérent sous Windows, Linux et macOS grâce à des binaires optimisés pour chaque plateforme. Que le développement se fasse sous Windows et le déploiement sur des conteneurs Linux, le résultat reste identique. Découvrez les considérations relatives à la plateforme et aux options de moteur .

Quelles sont les fonctionnalités avancées qui distinguent IronPDF ?

Au-delà de la conversion de base, IronPDF prend en charge :

Quelles sont les prochaines étapes pour démarrer ?

IronPDF transforme la conversion HTML vers PDF en une mise en œuvre simple. Son moteur Chrome garantit la précision tandis que la conception de l'API simplifie l'intégration. Des conversions de base aux fonctionnalités avancées, IronPDF couvre l'ensemble des besoins en matière de PDF.

Pour commencer, trois étapes sont nécessaires : installer le package NuGet , écrire votre premier code et déployer en toute confiance. L' essai gratuit de 30 jours offre un accès complet pour évaluation.

! La page de licences IronPDF présente quatre niveaux de licences perpétuelles (Lite, Plus, Professionnel et Illimité) avec les prix et les fonctionnalités pour différentes tailles d'équipe.

Explorez des exemples de code , des tutoriels et la documentation de l'API . Le système de licences flexible d'IronPDF s'adapte aussi bien aux développeurs individuels qu'aux équipes d'entreprise. Consultez le journal des modifications pour les mises à jour.

Questions Fréquemment Posées

À quoi sert IronPDF ?

IronPDF permet de convertir du HTML en PDF dans les applications .NET. Il prend en charge les CSS et JavaScript modernes et produit des documents PDF de haute qualité.

Comment IronPDF gère-t-il les mises en page HTML complexes ?

IronPDF utilise un moteur de rendu basé sur Chrome pour traiter avec précision les mises en page HTML complexes, garantissant ainsi que le PDF généré corresponde à ce que vous voyez dans votre navigateur.

IronPDF peut-il exécuter du JavaScript lors de la conversion en PDF ?

Oui, IronPDF peut exécuter du JavaScript, ce qui est essentiel pour un rendu précis du contenu dynamique dans le fichier PDF généré.

IronPDF est-il facile à implémenter dans les applications .NET ?

IronPDF est conçu pour être simple à mettre en œuvre et à déployer, ce qui le rend accessible aux développeurs travaillant avec .NET.

Quels types de fichiers HTML IronPDF peut-il convertir en PDF ?

IronPDF peut convertir des fichiers HTML, des chaînes HTML et des pages Web entières au format PDF.

IronPDF préserve-t-il la qualité du code HTML original dans le PDF ?

Oui, IronPDF produit des documents PDF de haute qualité avec la même fidélité que le contenu HTML original.

Qu'est-ce qui différencie IronPDF des autres convertisseurs PDF ?

IronPDF offre une expérience de conversion fluide grâce à son moteur de rendu basé sur Chrome, garantissant la compatibilité avec les normes web modernes.

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 ...

Lire la suite