Passer au contenu du pied de page
UTILISATION DE IRONPDF

IronPDF vs iTextSharp MVC View to PDF File in C# (en anglais)

Conversion des vues ASP.NET MVC en documents PDF

La conversion des vues ASP.NET MVC en documents PDF est une exigence fondamentale dans les applications web modernes ASP.NET Core. Que vous produisiez des factures, des rapports ou des certificats, le défi reste le même : comment transformer vos vues Razor soigneusement élaborées en fichiers PDF professionnels tout en préservant le formatage et le style ? Ce processus nécessite de comprendre le code complet nécessaire pour générer du contenu PDF à partir de fichiers HTML. Ce tutoriel explore deux approches populaires - l'ancienne bibliothèque iTextSharpet la solution moderne IronPDF - pour vous aider à choisir l'outil adapté à vos besoins en matière de génération de PDF.

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 1 - IronPDF

Pourquoi convertir les vues ASP.NET MVC en documents PDF?

Les entreprises s'appuient sur la génération de PDF pour d'innombrables opérations critiques. Les systèmes de facturation doivent créer des documents de facturation inviolables. Les services des ressources humaines produisent des certificats et des contrats de travail. Les équipes de vente établissent des devis et des propositions. Les plateformes éducatives délivrent des certificats d'achèvement. Chaque scénario exige une génération de PDF côté serveur qui maintient un formatage cohérent sur tous les appareils et toutes les plateformes. Selon la documentation ASP.NET Core, les vues Razor constituent le système de modèles parfait pour générer du contenu dynamique pouvant être converti en PDF.

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 2 - Caractéristiques

Comment iTextSharpgère-t-il la conversion MVC vers PDF?

iTextSharp est une référence en matière de génération de PDF .NET depuis plus d'une décennie. Porté à l'origine à partir de la bibliothèque Java iText, il offre un contrôle de bas niveau sur la création de PDF. Cependant, son approche de la conversion HTML montre qu'elle est dépassée, en particulier lorsqu'il s'agit d'un contenu web moderne.

Installation d'iTextSharp

Pour ajouter iTextSharpà votre projet ASP.NET Core MVC, installez le package NuGet :

Install-Package iTextSharp

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 3 - Installer iTextSharp

Mise en œuvre de base avec iTextSharp

Voici un exemple complet montrant comment convertir une vue MVC en PDF à l'aide de la classe XMLWorkerHelper d'iTextSharp dans votre projet ASP.NET MVC :

using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult GeneratePDF()
    {
        // First step: Create a simple invoice HTML
        string invoiceHtml = @"
            <h1>Invoice #1001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
            <table border='1'>
                <tr><th>Item</th><th>Price</th></tr>
                <tr><td>Product A</td><td>$99.99</td></tr>
                <tr><td>Product B</td><td>$149.99</td></tr>
            </table>
            <p><strong>Total: $249.98</strong></p>";
        // Create PDF document using iTextSharp
        using (var stream = new MemoryStream())
        {
            var document = new Document(PageSize.A4);
            PdfWriter writer = PdfWriter.GetInstance(document, stream);
            document.Open();
            using (var srHtml = new StringReader(invoiceHtml))
            {
                XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
            }
            document.Close();
            // Return the PDF file with binary data
            return new FileContentResult(stream.ToArray(), "application/pdf")
            {
                FileDownloadName = "invoice.pdf"
            };
        }
    }
}
using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult GeneratePDF()
    {
        // First step: Create a simple invoice HTML
        string invoiceHtml = @"
            <h1>Invoice #1001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
            <table border='1'>
                <tr><th>Item</th><th>Price</th></tr>
                <tr><td>Product A</td><td>$99.99</td></tr>
                <tr><td>Product B</td><td>$149.99</td></tr>
            </table>
            <p><strong>Total: $249.98</strong></p>";
        // Create PDF document using iTextSharp
        using (var stream = new MemoryStream())
        {
            var document = new Document(PageSize.A4);
            PdfWriter writer = PdfWriter.GetInstance(document, stream);
            document.Open();
            using (var srHtml = new StringReader(invoiceHtml))
            {
                XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
            }
            document.Close();
            // Return the PDF file with binary data
            return new FileContentResult(stream.ToArray(), "application/pdf")
            {
                FileDownloadName = "invoice.pdf"
            };
        }
    }
}
Imports iTextSharp.text
Imports iTextSharp.tool.xml
Imports iTextSharp.text.pdf
Imports System.IO

Public Class HomeController
    Inherits Controller

    Public Function Index() As ActionResult
        Return View()
    End Function

    Public Function GeneratePDF() As ActionResult
        ' First step: Create a simple invoice HTML
        Dim invoiceHtml As String = "
            <h1>Invoice #1001</h1>
            <p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
            <table border='1'>
                <tr><th>Item</th><th>Price</th></tr>
                <tr><td>Product A</td><td>$99.99</td></tr>
                <tr><td>Product B</td><td>$149.99</td></tr>
            </table>
            <p><strong>Total: $249.98</strong></p>"

        ' Create PDF document using iTextSharp
        Using stream As New MemoryStream()
            Dim document As New Document(PageSize.A4)
            Dim writer As PdfWriter = PdfWriter.GetInstance(document, stream)
            document.Open()
            Using srHtml As New StringReader(invoiceHtml)
                XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml)
            End Using
            document.Close()
            ' Return the PDF file with binary data
            Return New FileContentResult(stream.ToArray(), "application/pdf") With {
                .FileDownloadName = "invoice.pdf"
            }
        End Using
    End Function
End Class
$vbLabelText   $csharpLabel

Ce code complet crée un document PDF de base à partir du contenu HTML de votre projet Visual Studio. La classe XMLWorkerHelper traite la chaîne HTML et ajoute des éléments au document PDF à l'aide du modèle d'objet. Le PdfWriter gère le processus de génération du PDF, tandis que le Document gère la structure des pages. Notez que cet exemple utilise l'approche la plus récente recommandée pour de meilleurs résultats.

Sortie

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 4 - Sortie PDF

Comprendre les limites d'iTextSharp

La classe XMLWorkerHelper prend en charge les balises HTML de base et les feuilles de style CSS en ligne. Les propriétés CSS3 modernes, les mises en page flexbox et les systèmes de grille ne s'affichent pas. Le contenu dépendant de JavaScript disparaît entièrement. Les styles complexes tels que les dégradés, les ombres et les transformations sont ignorés. Même les classes Bootstrap standard ne s'appliquent pas, ce qui donne à vos vues soigneusement conçues un aspect ordinaire et non professionnel. De nombreux développeurs ont reporté ces limitations sur Stack Overflow, entraînant une frustration lorsqu'ils essaient de convertir des vues MVC en PDF avec iTextSharp.

Le modèle de licence d'iTextSharp est peut-être encore plus préoccupant. La bibliothèque utilise la licence AGPL, qui exige que vous mettiez en open-source l'ensemble de votre application si vous utilisez la version gratuite. Les licences commerciales coûtent plusieurs milliers de dollars par an, ce qui les rend onéreuses pour de nombreuses entreprises. Cette restriction de licence a poussé de nombreux développeurs à chercher des alternatives qui correspondent mieux aux besoins de développement commercial. Comme indiqué dans la documentation .NET de Microsoft, le choix de bibliothèques avec des licences appropriées est crucial pour les projets commerciaux.

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 5 - IronPDF vs iTextSharpMVC View to PDF

Comment IronPDF transforme-t-il les vues MVC en PDF?

IronPDF représente une approche moderne de la génération de PDF dans ASP.NET Core MVC. Construit sur le moteur de rendu Chromium, il convertit HTML en PDF exactement comme il apparaît dans Google Chrome, en préservant tous les éléments de style, d'exécution JavaScript et de responsive design.

Installer IronPDF

Ajoutez IronPDF à votre projet à l'aide d'une simple commande NuGet :

Install-Package IronPdf

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 6 - Installation

Mise en œuvre moderne avec IronPDF

Créons la même facture avec un style amélioré en utilisant IronPDF for .NET dans votre application web ASP.NET MVC :

using IronPdf;
public class HomeController : Controller
{
    // Action method to display the index view
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult GenerateModernPDF()
    {
        // Create a styled invoice HTML file content with modern CSS
        string invoiceHtml = @"
            <style>
                body { font-family: 'Segoe UI', Arial; padding: 40px; }
                .invoice-header {
                    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                    color: white;
                    padding: 30px;
                    border-radius: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin: 20px 0;
                }
                th {
                    background-color: #f3f4f6;
                    padding: 12px;
                    text-align: left;
                }
                td {
                    padding: 12px;
                    border-bottom: 1px solid #e5e7eb;
                }
                .total {
                    font-size: 24px;
                    color: #10b981;
                    text-align: right;
                    margin-top: 20px;
                }
            </style>
            <div class='invoice-header'>
                <h1>Invoice #1001</h1>
                <p>Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
            </div>
            <table>
                <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
                <tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
                <tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
            </table>
            <div class='total'>Total: $249.98</div>
            <p>Page numbers and additional content can be added to each page.</p>";
        // Create PDF with Chrome rendering engine
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
        // Set content disposition for download in browser
        Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
        // Return the PDF file with binary data to the user
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
public class HomeController : Controller
{
    // Action method to display the index view
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult GenerateModernPDF()
    {
        // Create a styled invoice HTML file content with modern CSS
        string invoiceHtml = @"
            <style>
                body { font-family: 'Segoe UI', Arial; padding: 40px; }
                .invoice-header {
                    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                    color: white;
                    padding: 30px;
                    border-radius: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin: 20px 0;
                }
                th {
                    background-color: #f3f4f6;
                    padding: 12px;
                    text-align: left;
                }
                td {
                    padding: 12px;
                    border-bottom: 1px solid #e5e7eb;
                }
                .total {
                    font-size: 24px;
                    color: #10b981;
                    text-align: right;
                    margin-top: 20px;
                }
            </style>
            <div class='invoice-header'>
                <h1>Invoice #1001</h1>
                <p>Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
            </div>
            <table>
                <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
                <tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
                <tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
            </table>
            <div class='total'>Total: $249.98</div>
            <p>Page numbers and additional content can be added to each page.</p>";
        // Create PDF with Chrome rendering engine
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
        // Set content disposition for download in browser
        Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
        // Return the PDF file with binary data to the user
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf

Public Class HomeController
    Inherits Controller

    ' Action method to display the index view
    Public Function Index() As ActionResult
        Return View()
    End Function

    Public Function GenerateModernPDF() As ActionResult
        ' Create a styled invoice HTML file content with modern CSS
        Dim invoiceHtml As String = "
            <style>
                body { font-family: 'Segoe UI', Arial; padding: 40px; }
                .invoice-header {
                    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                    color: white;
                    padding: 30px;
                    border-radius: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin: 20px 0;
                }
                th {
                    background-color: #f3f4f6;
                    padding: 12px;
                    text-align: left;
                }
                td {
                    padding: 12px;
                    border-bottom: 1px solid #e5e7eb;
                }
                .total {
                    font-size: 24px;
                    color: #10b981;
                    text-align: right;
                    margin-top: 20px;
                }
            </style>
            <div class='invoice-header'>
                <h1>Invoice #1001</h1>
                <p>Date: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
            </div>
            <table>
                <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
                <tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
                <tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
            </table>
            <div class='total'>Total: $249.98</div>
            <p>Page numbers and additional content can be added to each page.</p>"

        ' Create PDF with Chrome rendering engine
        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(invoiceHtml)

        ' Set content disposition for download in browser
        Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf")

        ' Return the PDF file with binary data to the user
        Return New FileContentResult(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

Cette mise en œuvre s'appuie sur le ChromePdfRenderer d'IronPDF pour convertir le HTML exactement tel qu'il apparaîtrait dans Chrome. Les arrière-plans en dégradé, les polices modernes et le style sophistiqué rendent parfaitement la traduction. Le moteur de rendu gère des propriétés CSS complexes que iTextSharpne peut pas traiter, y compris flexbox, les dispositions en grille, les transformations et les animations (rendues sous forme d'images statiques). La méthode RenderHtmlAsPdf rend la conversion de HTML en PDF dans MVC remarquablement simple.

Sortie

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 7 - Sortie IronPDF

Démarrez votre essai gratuit et découvrez la génération moderne de PDF avec le moteur de rendu d'IronPDF alimenté par Chrome.

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 8 - Compatibilité multiplateforme

Quelle est la meilleure bibliothèque pour la génération de PDF ?

Lorsque l'on compare iTextSharpet IronPDF pour la conversion de vues .NET MVC, plusieurs facteurs critiques émergent et différencient clairement ces bibliothèques.

Comparaison des fonctionnalités

Caractéristiques iTextSharp IronPDF
Support HTML5 Limitée Tous les documents doivent être traduits en anglais
Rendu CSS3 De base uniquement Complète
Exécution JavaScript Non Oui
Prise en charge de Flexbox/Grid Non Oui
Compatibilité avec Bootstrap Partiel Tous les documents doivent être traduits en anglais
Prise en charge des polices Web Limitée Complète
Graphiques SVG Non Oui
Conception réactive Non Oui
Courbe d'apprentissage Steep Douceur
Complexité de l'API Faible niveau Niveau élevé

Considérations relatives aux licences

La différence de licence entre ces bibliothèques a un impact significatif sur le développement commercial. la licence AGPL d'iTextSharp crée des obligations légales que de nombreuses entreprises ne peuvent accepter. L'utilisation de la version gratuite nécessite l'ouverture de l'ensemble de votre application, y compris la logique commerciale propriétaire. Cette restriction rend iTextSharpinadapté à la plupart des projets commerciaux, à moins que vous n'achetiez une licence commerciale onéreuse.

IronPDF propose une licence commerciale directe à partir de $799 pour un seul développeur. La licence comprend un an de mises à jour et d'assistance, sans obligation de mettre votre application en open-source. Ce modèle de tarification transparent s'aligne sur les budgets typiques de développement de logiciels, rendant la génération de PDF professionnels accessible aux entreprises de toutes tailles lors de la conversion de vues MVC en PDF en C#.

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 9 - Licence

Analyse de la qualité des sorties

La différence de qualité de rendu devient immédiatement évidente lorsque l'on compare les résultats. iTextSharpproduit des PDF basiques qui ressemblent à des documents du début des années 2000. Les tableaux n'ont pas de style approprié, les polices sont par défaut des normes du système et les éléments de conception modernes disparaissent complètement. Les PDF qui en résultent ne sont pas professionnels et ne correspondent pas à l'image de marque de votre application.

IronPDF génère des PDF parfaits au pixel près qui correspondent exactement à votre conception web. Les dégradés s'affichent de manière fluide, les polices personnalisées s'affichent correctement et les mises en page complexes conservent leur structure. Le moteur Chromium garantit que vos PDF ont une apparence identique à la vue web, préservant ainsi l'identité de votre marque et l'aspect professionnel de tous les documents générés.

Quelles fonctionnalités avancées IronPDF offre-t-il ?

Au-delà de la conversion HTML de base, IronPDF offre des fonctionnalités de niveau entreprise qui rationalisent la génération de PDF professionnels. La documentation complète de l'API démontre les capacités étendues de la bibliothèque pour convertir les vues MVC en PDF.

En-têtes et pieds de page

Ajoutez des en-têtes et des pieds de page professionnels avec un contenu dynamique :

var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        HtmlHeader = new HtmlHeaderFooter
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align: center'>Company Name</div>"
        },
        HtmlFooter = new HtmlHeaderFooter
        {
            MaxHeight = 20,
            HtmlFragment = "<center>Page {page} of {total-pages}</center>"
        }
    }
};
var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        HtmlHeader = new HtmlHeaderFooter
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align: center'>Company Name</div>"
        },
        HtmlFooter = new HtmlHeaderFooter
        {
            MaxHeight = 20,
            HtmlFragment = "<center>Page {page} of {total-pages}</center>"
        }
    }
};
Dim renderer = New ChromePdfRenderer With {
    .RenderingOptions = New ChromePdfRenderOptions With {
        .HtmlHeader = New HtmlHeaderFooter With {
            .MaxHeight = 25,
            .HtmlFragment = "<div style='text-align: center'>Company Name</div>"
        },
        .HtmlFooter = New HtmlHeaderFooter With {
            .MaxHeight = 20,
            .HtmlFragment = "<center>Page {page} of {total-pages}</center>"
        }
    }
}
$vbLabelText   $csharpLabel

Cette configuration permet d'ajouter une image de marque cohérente à chaque page. Les caractères génériques {page} et {total-pages} se remplissent automatiquement avec les valeurs correctes, garantissant une pagination précise dans l'ensemble de votre document.

Sécurité et Chiffrement

Protégez les documents sensibles avec des mots de passe et des autorisations en utilisant les fonctions de sécurité complètes d'IronPDF :

var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Add password protection
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
' Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SecuritySettings.AllowUserCopyPasteContent = False
$vbLabelText   $csharpLabel

Ces paramètres de sécurité empêchent les accès non autorisés et contrôlent la façon dont les destinataires peuvent interagir avec vos PDF lorsque vous convertissez des vues MVC en PDF. Vous pouvez restreindre l'impression, la copie et l'édition tout en conservant le contrôle total du propriétaire à des fins administratives.

Sortie

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 10 - Sortie PDF sécurisée

Traitement des champs de formulaire

IronPDF convertit en toute transparence des formulaires HTML en formulaires PDF interactifs :

string formHtml = @"
    <form>
        <label>Name:</label>
        <input type='checkbox'> Accept Terms
        <select name='country'>
            <option>USA</option>
            <option>Canada</option>
        </select>
    </form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
string formHtml = @"
    <form>
        <label>Name:</label>
        <input type='checkbox'> Accept Terms
        <select name='country'>
            <option>USA</option>
            <option>Canada</option>
        </select>
    </form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
Dim formHtml As String = "
    <form>
        <label>Name:</label>
        <input type='checkbox'> Accept Terms
        <select name='country'>
            <option>USA</option>
            <option>Canada</option>
        </select>
    </form>"
Dim pdf = renderer.RenderHtmlAsPdf(formHtml)
$vbLabelText   $csharpLabel

Le PDF résultant conserve l'interactivité du formulaire, permettant aux utilisateurs de remplir les champs directement dans leur lecteur PDF. Cette fonctionnalité élimine la nécessité d'utiliser des outils de création de formulaires distincts, ce qui rationalise le flux de travail de vos documents.

Sortie

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 11 - Sortie du formulaire

Comment résoudre les problèmes courants de génération de PDF?

Même avec les bibliothèques et les outils modernes de Visual Studio, certains défis requièrent des solutions spécifiques pour garantir une sortie PDF optimale. Cet article explique les modèles de code suivants pour vous aider à générer des PDF de manière efficace.

Optimisation du rendu CSS

Pour obtenir de meilleurs résultats avec des feuilles de style CSS complexes lorsque vous convertissez des fichiers HTML au format PDF, utilisez des requêtes de support d'impression :

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
$vbLabelText   $csharpLabel

Ce paramètre applique des règles CSS spécifiques à l'impression, optimisant les mises en page pour la sortie PDF plutôt que pour l'affichage à l'écran dans le navigateur. La méthode garantit un rendu correct de votre document.

Temps d'exécution JavaScript

Lorsque vous convertissez du contenu dynamique et que vous travaillez avec des données provenant de votre base de données, prévoyez du temps pour l'exécution de JavaScript dans votre projet MVC. Ce processus garantit un rendu complet :

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
$vbLabelText   $csharpLabel

Cette configuration garantit que les appels AJAX se terminent et que les manipulations DOM se terminent avant le début de la génération du PDF, capturant ainsi l'état entièrement rendu de votre vue MVC dans le PDF. Notez qu'il s'agit de la première étape de la gestion du contenu dynamique lorsque vous générez le fichier PDF.

Sortie

IronPDF vs iTextSharpMVC View to PDF File in C# : Image 12 - Sortie de l'exécution JavaScript

Intégration de polices et formatage de documents

Veillez à ce que les polices personnalisées s'affichent correctement en les intégrant dans votre code HTML. Cet exemple montre comment créer un nouveau paragraphe avec des polices personnalisées dans votre code source :

@font-face {
    font-family: 'CustomFont';
    src: url(data:font/woff2;base64,[base64-encoded-font]) format('woff2');
}

L'intégration des polices directement dans le code HTML garantit un rendu cohérent dans tous les environnements, éliminant ainsi les problèmes de polices manquantes dans les documents PDF générés. L'utilisation d'iTextSharp peut nécessiter une configuration supplémentaire pour le même résultat. Il suffit d'écrire les CSS et render adéquats pour produire des PDF professionnels avec une mise en forme parfaite. N'oubliez pas de télécharger et de tester la version finale sur différents systèmes pour garantir la compatibilité.

Conclusion

Si iTextSharpa bien servi la communauté .NET pendant de nombreuses années, le développement web moderne exige des capacités de génération de PDF plus sophistiquées. Le processus de création et de génération de fichiers PDF a considérablement évolué. Le moteur de rendu d'IronPDF basé sur Chrome offre une précision au pixel près et une prise en charge de CSS3 dont les applications ASP.NET MVC d'aujourd'hui ont besoin. Son API simple, sa documentation complète et sa licence adaptée aux entreprises en font le choix évident pour les projets ASP.NET Core MVC.

Démarrez avec IronPDF dès aujourd'hui pour télécharger la bibliothèque et transformer vos vues MVC en documents PDF époustouflants en quelques lignes de code. Soumettez votre premier projet et découvrez la puissance de la génération moderne de PDF.

Questions Fréquemment Posées

Quel est l'objectif de la conversion des vues MVC en PDF ?

La conversion des vues MVC en PDF permet aux développeurs de générer des documents imprimables et facilement partageables directement à partir d'applications web, en préservant la mise en page et la conception de la vue d'origine.

Qu'est-ce que IronPDF ?

IronPDF est une bibliothèque .NET qui facilite la création, l'édition et la conversion de documents PDF au sein des applications .NET, offrant ainsi un moyen simple d'intégrer la fonctionnalité PDF.

Comment IronPDF simplifie-t-il la conversion des vues MVC en PDF ?

IronPDF simplifie le processus en permettant aux développeurs de rendre les vues HTML et MVC directement au format PDF sans exigences de codage approfondies, en préservant la mise en page et la conception d'origine.

Quels sont les avantages d'utiliser iTextSharp pour la conversion PDF ?

iTextSharp est une bibliothèque PDF robuste qui offre des fonctionnalités étendues pour la création et la manipulation de documents PDF. Elle est largement utilisée pour sa fiabilité et son ensemble complet de fonctionnalités.

IronPDF et iTextSharp peuvent-ils être utilisés ensemble ?

Oui, IronPDF et iTextSharp peuvent être utilisés ensemble pour tirer parti des atouts des deux bibliothèques, en améliorant les capacités de création et de manipulation de PDF au sein des applications .NET.

Quelles sont les exigences système pour utiliser IronPDF ?

IronPDF nécessite .NET Framework 4.0 ou une version supérieure, et il est compatible avec les systèmes d'exploitation Windows, Linux et Mac, ce qui permet de l'utiliser dans divers environnements de développement.

Est-il possible de personnaliser la sortie PDF lors de la conversion de vues MVC ?

Oui, en utilisant IronPDF, les développeurs peuvent personnaliser la sortie PDF en ajustant des paramètres tels que la taille de la page, l'orientation, les marges, et plus encore, pour répondre à des exigences spécifiques.

IronPDF prend-il en charge le style CSS pour la conversion PDF ?

IronPDF prend en charge le style CSS, ce qui garantit que le PDF converti conserve l'aspect visuel de la vue HTML ou MVC d'origine, notamment les polices, les couleurs et la mise en page.

Comment les performances d'IronPdf se comparent-elles à celles d'autres bibliothèques PDF ?

IronPDF est conçu pour de hautes performances, offrant des capacités de traitement PDF rapides et efficaces qui le rendent adapté aux applications nécessitant une génération rapide de documents.

Où puis-je trouver de la documentation sur IronPDF ?

Une documentation complète pour IronPDF est disponible sur le site officiel d'Iron Software, y compris des guides, des tutoriels et des références d'API pour aider les développeurs dans la mise en œuvre.

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