Passer au contenu du pied de page
UTILISATION DE IRONPDF

Visualiseur PDF pour ASP.NET : Comment afficher des PDF dans .NET 10

Pour implémenter un visualiseur PDF dans ASP.NET Core, utilisez IronPDF pour générer des PDF à partir de HTML, d'URL ou de vues Razor. Servez-les avec des en-têtes appropriés pour un affichage en ligne dans le navigateur, offrant une expérience de visualisation de documents fluide sans plugins externes ou téléchargements.

Créer une application web en .NET nécessite souvent d'afficher des documents PDF directement dans le navigateur. Que ce soit pour des factures, des rapports, ou des formulaires PDF interactifs, les utilisateurs s'attendent à une expérience de visualisation fluide sans avoir besoin d'Adobe Acrobat Reader ou d'autres outils tiers pour le navigateur.

Dans ce tutoriel, vous apprendrez comment implémenter un visualiseur PDF pour ASP.NET et .NET Core en utilisant IronPDF. Ce contrôle de visualisation PDF fiable permet aux développeurs de créer, rendre et afficher des fichiers PDF dans les applications .NET, fournissant une solution professionnelle pour gérer des documents essentiels pour l'entreprise. L'approche décrite ici fonctionne avec .NET 10 et toutes les versions antérieures de .NET Core.

Comment fonctionne la visualisation PDF dans ASP.NET Core ?

Les navigateurs modernes servent de visualisateurs PDF intégrés. Lorsque vous servez un fichier PDF avec le type MIME correct (application/pdf), le navigateur l'affiche automatiquement en ligne. Cela signifie que vous n'avez pas besoin de plugins externes pour visualiser des documents PDF ou afficher des fichiers PDF. La clé réside dans la génération de fichiers PDF de haute qualité et la configuration correcte des en-têtes de réponse.

IronPDF est une bibliothèque PDF .NET fréquemment mise à jour, qui excelle à créer des pages PDF parfaites à partir de HTML, de vues Razor ou de documents existants. Son moteur de rendu basé sur Chrome assure un support précis des CSS, JavaScript et images, offrant aux utilisateurs une expérience de visualisation comparable à celle d'un visualiseur PDF de bureau. Vous pouvez explorer la liste complète des capacités sur la page des fonctionnalités d'IronPDF.

Lorsqu'une demande parvient à votre contrôleur ASP.NET Core, le flux de travail est simple : générez (ou chargez) un PDF en using IronPDF, définissez l'en-tête de réponse Content-Disposition à inline, spécifiez le type MIME comme application/pdf, et retournez les données binaires. Le navigateur se charge du rendu automatiquement -- aucun réglage JavaScript PDF.js requis, et aucune dépendance à des extensions de navigateur.

Comprendre ce modèle tôt vous fait gagner du temps de développement. Au lieu d'intégrer une bibliothèque de visualisation JavaScript complexe, vous déléguez le travail de rendu au navigateur et utilisez IronPDF uniquement pour la génération et la manipulation côté serveur. La documentation ASP.NET Core sur les réponses de fichiers explique le type sous-jacent FileResult utilisé dans ces modèles.

Comment configurer un projet ASP.NET Core ?

Commencez par créer une nouvelle application ASP.NET Core MVC. Ouvrez un terminal et exécutez :

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

Cela prépare une application .NET basique avec un support MVC. La structure MVC vous donne des contrôleurs pour gérer les demandes de génération de PDF et des vues pour construire l'interface front-end. Un PdfController dédié garde la logique liée aux PDF organisée et facile à maintenir au fur et à mesure que l'application grandit.

Comment installer et configurer IronPDF ?

L'installation d'IronPDF ne prend que quelques étapes. Utilisez soit la console du gestionnaire de packages NuGet dans Visual Studio soit le CLI .NET :

# Package Manager Console (Visual Studio)
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
# Package Manager Console (Visual Studio)
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
SHELL

Ensuite, configurez la bibliothèque dans Program.cs :

using IronPdf;

// Set license key at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronPdf;

// Set license key at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

Configurez votre clé de licence dans Program.cs avant toute opération PDF. Une licence d'essai gratuite est disponible pour le développement et l'évaluation. La documentation IronPDF fournit des exemples supplémentaires de configuration pour différents environnements de déploiement, y compris Azure et Docker.

Comment générer des PDFs pour la consultation ?

IronPDF vous permet de créer des fichiers PDF à partir de chaînes HTML brutes, de pages Web en direct ou de vues Razor. Le document PDF généré peut ensuite être affiché en ligne avec seulement quelques lignes de code C#.

Cette approche évite de forcer un téléchargement, donnant aux utilisateurs la possibilité de visualiser, imprimer, rechercher et enregistrer des PDFs directement dans le navigateur -- sans aucun composant de visualisation supplémentaire côté client.

Comment créer des PDFs à partir de chaînes HTML ?

L'approche la plus simple consiste à convertir directement une chaîne HTML en PDF. Utilisez ce modèle pour générer du contenu dynamique tel que des rapports ou des factures :

using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <html>
    <head>
        <style>
            body { font-family: Arial; padding: 20px; }
            h1 { color: #333; }
        </style>
    </head>
    <body>
        <h1>Sample PDF Document</h1>
        <p>This PDF was generated using IronPDF in ASP.NET Core.</p>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);

// Return PDF to browser for inline viewing
return File(pdf.BinaryData, "application/pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <html>
    <head>
        <style>
            body { font-family: Arial; padding: 20px; }
            h1 { color: #333; }
        </style>
    </head>
    <body>
        <h1>Sample PDF Document</h1>
        <p>This PDF was generated using IronPDF in ASP.NET Core.</p>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);

// Return PDF to browser for inline viewing
return File(pdf.BinaryData, "application/pdf");
$vbLabelText   $csharpLabel

Un ChromePdfRenderer est créé, qui utilise le moteur Chromium pour un rendu précis. Le HTML (avec CSS en ligne) est passé à RenderHtmlAsPdf, produisant un PdfDocument. Retourner le fichier avec le type MIME application/pdf assure que le navigateur l'affiche en ligne. Pour un regard plus approfondi sur cette méthode de conversion, voir le guide HTML string to PDF.

Comment générer des PDFs à partir d'URL ?

Convertir des pages Web existantes en PDFs est tout aussi simple. Cela est utile pour archiver du contenu en direct ou générer des instantanés de rapports publiés en tant que pages Web :

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var pdf = renderer.RenderUrlAsPdf("https://example.com/report");
Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf");

return File(pdf.BinaryData, "application/pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var pdf = renderer.RenderUrlAsPdf("https://example.com/report");
Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf");

return File(pdf.BinaryData, "application/pdf");
$vbLabelText   $csharpLabel

La méthode RenderUrlAsPdf récupère la page, applique les styles et les scripts, et produit un PDF soigné. Le réglage de l'en-tête Content-Disposition à inline fait que le fichier s'ouvre dans le visualiseur PDF de votre navigateur. Les options de rendu JavaScript garantissent que le contenu dynamique se charge correctement avant la capture.

Application web de visualiseur PDF affichant la documentation IronPDF for .NET avec les boutons Générer depuis HTML, Générer depuis URL, et Imprimer en haut

Comment convertir des vues Razor en PDF ?

Les vues Razor sont des modèles idéaux pour les documents structurés comme les factures, car le même modèle peut servir à la fois de page Web et de sortie PDF. Rendez la vue en une chaîne HTML, puis transmettez-la à IronPDF :

using IronPdf;

// Render the Razor view to an HTML string first
var htmlContent = await RenderViewToString("Invoice", invoiceModel);

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

return File(pdf.BinaryData, "application/pdf");
using IronPdf;

// Render the Razor view to an HTML string first
var htmlContent = await RenderViewToString("Invoice", invoiceModel);

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

return File(pdf.BinaryData, "application/pdf");
$vbLabelText   $csharpLabel

La vue est d'abord rendue en une chaîne HTML à l'aide d'une méthode d'assistance, puis convertie en utilisant RenderHtmlAsPdf. Cette approche vous permet de réutiliser les modèles Razor à la fois pour l'affichage Web et la génération PDF, garantissant que la sortie reste cohérente à travers les formats. Le guide HTML to PDF couvre d'autres modèles d'intégration Razor.

Comment afficher des PDFs en ligne dans le navigateur ?

Le secret pour afficher les PDFs en ligne (plutôt que de déclencher un téléchargement) réside dans le réglage des en-têtes de réponse corrects. Les navigateurs modernes prennent en charge l'affichage en ligne des PDFs lorsque le type de contenu et la disposition sont configurés correctement.

Le réglage de Content-Disposition: inline dit au navigateur de rendre le PDF directement, tandis que Content-Disposition: attachment déclencherait une boîte de dialogue de téléchargement. La distinction est un seul changement de valeur de l'en-tête, mais cela affecte sensiblement l'expérience utilisateur.

Vous pouvez également améliorer les documents affichés avec des en-têtes et des pieds de page pour la numérotation des pages et le branding, ou ajouter des filigranes personnalisés pour marquer les documents comme brouillons ou confidentiels.

Comment activer le chargement dynamique de PDF ?

Pour les applications qui ont besoin de passer entre plusieurs documents sans un rafraîchissement complet de page, utilisez une iframe combinée avec des points de terminaison de contrôleur :

using IronPdf;
using Microsoft.AspNetCore.Mvc;

// Controller action to list available PDFs
[HttpGet]
public IActionResult GetPdfList()
{
    var pdfs = new List<object>
    {
        new { id = 1, name = "Report 1" },
        new { id = 2, name = "Report 2" }
    };
    return Json(pdfs);
}

// Controller action to generate and return a specific PDF
[HttpGet]
public IActionResult GetPdf(int id)
{
    var renderer = new ChromePdfRenderer();
    string html = $"<h1>Report {id}</h1><p>Content for report {id}.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    Response.Headers.Add("Content-Disposition", $"inline; filename=report-{id}.pdf");
    return File(pdf.BinaryData, "application/pdf");
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

// Controller action to list available PDFs
[HttpGet]
public IActionResult GetPdfList()
{
    var pdfs = new List<object>
    {
        new { id = 1, name = "Report 1" },
        new { id = 2, name = "Report 2" }
    };
    return Json(pdfs);
}

// Controller action to generate and return a specific PDF
[HttpGet]
public IActionResult GetPdf(int id)
{
    var renderer = new ChromePdfRenderer();
    string html = $"<h1>Report {id}</h1><p>Content for report {id}.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    Response.Headers.Add("Content-Disposition", $"inline; filename=report-{id}.pdf");
    return File(pdf.BinaryData, "application/pdf");
}
$vbLabelText   $csharpLabel

Côté client, mettez à jour la source de l'iframe avec un court extrait JavaScript dans votre vue Razor pour charger différents PDFs sans rechargement de la page. Le contrôleur génère des PDFs à la demande, gardant la taille de la réponse prévisible. Pour les documents volumineux, combinez ce modèle avec la fonctionnalité de fusion et de division d'IronPDF pour servir les documents en sections.

Capture d'écran de PdfViewerApp montrant un visualiseur PDF affichant du texte 'Hello World' avec des commandes de navigation et des boutons d'action pour Générer depuis HTML, Générer depuis URL, et Imprimer

Comment gérer le déploiement et la performance ?

IronPDF fonctionne sur les projets ASP.NET, ASP.NET Core et Blazor Server. Vous pouvez l'héberger sur Windows Server, le déployer sur Azure ou le containeriser avec Docker. Puisqu'il prend en charge entièrement .NET 10 ainsi que ses versions antérieures, il s'intègre aussi bien dans les applications modernes que les applications héritées.

Comment déployer sur Azure ?

Lors du déploiement sur Azure App Service, IronPDF fonctionne avec une configuration minimale supplémentaire. Assurez-vous que votre plan App Service est au moins de niveau B1 pour des performances optimales. IronPDF gère automatiquement le déploiement du moteur de rendu Chrome.

Pour les déploiements containerisés sur Linux, ajoutez les dépendances système requises à votre Dockerfile :

RUN apt-get update && apt-get install -y libgdiplus
RUN apt-get update && apt-get install -y libgdiplus
SHELL

La documentation IronPDF couvre en détail les exigences spécifiques à chaque plateforme Linux. Envisagez d'utiliser IronPDF Slim pour réduire la taille des images du conteneur lorsque le moteur de rendu complet Chrome n'est pas requis.

Quels sont les principaux considérations de performance ?

La performance d'une application de service PDF dépend de la fréquence de génération des PDFs et de leur taille. Les pratiques suivantes s'appliquent à la plupart des déploiements en production :

  • Cachez les PDFs générés lorsque le contenu sous-jacent ne change pas fréquemment, en utilisant des flux de mémoire ou un cache distribué
  • Utilisez des actions de contrôleur asynchrones pour éviter de bloquer les threads pendant la génération PDF
  • Réglez les délais d'attente de rendu appropriés pour les pages HTML complexes avec beaucoup de JavaScript
  • Appliquez des filigranes et une compression pour réduire la taille des fichiers avant de les servir
  • Activez la conversion PDF en images pour générer des vignettes de prévisualisation plutôt que de charger des PDFs complets dans les listes de documents
  • Utilisez l'extraction de texte pour bâtir des index de recherche serveur au lieu de vous fier à la recherche PDF intégrée du navigateur

Comment dépanner les problèmes d'affichage PDF courants ?

Pourquoi le PDF se télécharge-t-il au lieu de s'afficher ?

Si les PDFs se téléchargent au lieu de s'afficher en ligne, vérifiez que les en-têtes de réponse sont correctement définis. Assurez-vous que le type MIME est exactement application/pdf et que Content-Disposition est réglé sur inline, non attachment :

Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
return File(pdf.BinaryData, "application/pdf");
Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
return File(pdf.BinaryData, "application/pdf");
$vbLabelText   $csharpLabel

Certains proxys et équilibres de charge retirent ou modifient les en-têtes de réponse -- confirmez que les en-têtes atteignent le navigateur à l'aide des outils de développement. Pour les scénarios cross-origin, ajoutez les en-têtes CORS dans Program.cs plutôt que sur des réponses individuelles pour garder la configuration centralisée. Si les PDFs contiennent des données sensibles, appliquez la signature PDF et la protection par mot de passe plutôt que de compter uniquement sur les restrictions CORS.

Comment gérer les fichiers PDF volumineux ?

Pour les documents volumineux, le streaming réduit la pression mémoire sur le serveur. Utilisez un FileStreamResult au lieu de retourner le tableau de bytes brut :

using IronPdf;

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

var stream = new MemoryStream(pdf.BinaryData);
return new FileStreamResult(stream, "application/pdf");
using IronPdf;

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

var stream = new MemoryStream(pdf.BinaryData);
return new FileStreamResult(stream, "application/pdf");
$vbLabelText   $csharpLabel

Pour les documents très volumineux, envisagez de les diviser en sections en utilisant la fonctionnalité de fusion et de division d'IronPDF et d'implémenter la pagination dans l'interface utilisateur. Cela garde les réponses PDF individuelles petites et rapides à charger. Les directives de Microsoft sur les fichiers volumineux ASP.NET Core couvrent également les stratégies de mise en mémoire tampon pertinentes à la livraison PDF.

Comment allez-vous plus loin avec IronPDF ?

Construire un visualiseur PDF dans ASP.NET Core ne nécessite pas de bibliothèques de visualisation tierces complexes. En combinant le moteur de rendu côté serveur d'IronPDF avec le support PDF natif du navigateur, vous obtenez une solution professionnelle de visualisation de documents qui évolue bien et nécessite une configuration minimale côté client. La page d'accueil d'IronPDF fournit un aperçu de la bibliothèque complète et des ressources pour commencer.

À partir d'ici, vous pouvez étendre l'implémentation dans plusieurs directions :

Pour la référence API complète, visitez la documentation IronPDF. Pour commencer à développer dès aujourd'hui, obtenez un essai gratuit d'IronPDF -- aucune carte de crédit requise.

Commencez avec IronPDF maintenant.
green arrow pointer

Questions Fréquemment Posées

Quelle est la meilleure façon d'afficher des documents PDF dans une application ASP.NET ?

L'utilisation de IronPDF permet aux développeurs de rendre facilement les documents PDF directement dans le navigateur au sein d'une application ASP.NET, offrant une expérience utilisateur fluide sans besoin d'outils tiers comme Adobe Acrobat Reader.

IronPDF peut-il être utilisé pour améliorer la visualisation de PDF dans les applications web ?

Oui, IronPDF est conçu pour améliorer la visualisation de PDF en permettant une intégration fluide dans les applications web, assurant que les utilisateurs peuvent visualiser les documents PDF avec aisance et efficacité.

Ai-je besoin d'outils supplémentaires pour visualiser les PDF en using IronPDF dans ASP.NET ?

Non, IronPDF élimine le besoin d'outils supplémentaires comme Adobe Acrobat Reader, offrant une solution intégrée pour visualiser les PDF directement dans les applications ASP.NET.

Comment puis-je implémenter une visionneuse PDF dans mon application web .NET ?

En intégrant IronPDF dans votre application web .NET, vous pouvez implémenter une visionneuse PDF puissante qui prend en charge diverses fonctionnalités PDF et offre une interface conviviale.

Pourquoi devrais-je utiliser IronPDF pour la visualisation de PDF dans ASP.NET ?

IronPDF fournit une solution fiable et efficace pour la visualisation de PDF dans les applications ASP.NET, permettant aux développeurs d'offrir aux utilisateurs une expérience fluide sans dépendre de plugins externes.

Est-il possible d'afficher des formulaires PDF interactifs en using IronPDF ?

Oui, IronPDF prend en charge l'affichage de formulaires PDF interactifs, permettant aux utilisateurs de remplir et d'interagir avec des documents PDF directement dans le navigateur.

Quels types de documents PDF peuvent être visualisés en using IronPDF ?

IronPDF peut gérer divers types de documents PDF, y compris des factures, rapports et formulaires interactifs, en faisant un outil polyvalent pour toute application ASP.NET.

IronPDF prend-il en charge .NET 10 pour la génération et l'affichage de fichiers PDF ?

Oui. IronPDF est entièrement compatible avec .NET 10, ainsi qu'avec les versions antérieures telles que .NET 9, 8, 7, 6, .NET Core et Framework. Vous pouvez donc utiliser IronPDF dans des applications ASP.NET ou Blazor modernes (.NET 10) pour générer, diffuser et afficher des PDF directement dans le navigateur. (ironpdf.com)

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me