Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment afficher, sauvegarder et imprimer des fichiers PDF dans un visualiseur ASP.NET Core

How to Display, Save, and Print PDFs in an ASP.NET Core Viewer

Afficher des documents PDF directement dans les navigateurs web est devenu une exigence essentielle pour les applications web modernes ASP.NET Core. Que vous génériez des factures, des rapports ou des contrats, les utilisateurs s'attendent à une visualisation transparente des PDF sans avoir besoin de télécharger les fichiers PDF ou d'installer Adobe Acrobat Reader ou d'autres plugins. Ce tutoriel démontre comment IronPDF simplifie l'affichage, l'enregistrement et l'impression des fichiers PDF dans votre visualiseur de PDF ASP.NET Core grâce à son puissant moteur de rendu basé sur Chrome.

Comment les navigateurs gèrent-ils l'affichage des PDF dans ASP.NET Core ?

Les navigateurs modernes incluent des visualiseurs PDF intégrés qui s'activent lorsqu'ils reçoivent un fichier PDF avec le type MIME correct (application/pdf). Lorsque votre application web ASP.NET Core renvoie un document PDF avec les en-têtes appropriés, le navigateur l'affiche automatiquement en ligne. Cela élimine le besoin de plugins externes, d'Adobe Acrobat Reader ou de bibliothèques JavaScript complexes. Selon MDN Web Docs, la configuration correcte des en-têtes est essentielle pour contrôler comment les navigateurs gèrent les téléchargements et l'affichage des fichiers.

IronPDF exploite cette capacité du navigateur en générant des fichiers PDF de haute qualité côté serveur via sa classe ChromePdfRenderer. Le moteur de rendu utilise un moteur Chrome complet sous le capot, garantissant que vos documents PDF s'affichent exactement comme prévu avec un support complet pour CSS modernes, JavaScript, signatures numériques et polices web. Contrairement aux visualiseurs de documents simples, IronPDF offre un contrôle complet sur le traitement et le rendu des PDF.

De quels outils avez-vous besoin pour afficher/voir des fichiers PDF dans ASP.NET Core ?

Configurer IronPDF dans votre projet de visualiseur de PDF ASP.NET Core ne prend que quelques étapes. Tout d'abord, créez un nouveau projet dans Visual Studio ou via la ligne de commande. Ouvrez Visual Studio et sélectionnez le modèle de projet Application Web ASP.NET Core :

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

Installer le package .NET IronPDF

Installez IronPDF via le gestionnaire de packages NuGet dans votre projet .NET :

Install-Package IronPdf

Ou, dans l'Explorateur de solutions, cliquez avec le bouton droit sur votre projet et sélectionnez "Gérer les packages NuGet". Choisissez la source de package appropriée et recherchez IronPDF.

C'est tout ce qui est nécessaire pour la configuration. IronPDF fonctionne parfaitement avec ASP.NET Core 3.1 et versions ultérieures (versions de support à long terme), y compris .NET 6, 7 et 8. La bibliothèque est fréquemment mise à jour pour garantir la compatibilité avec les derniers frameworks. Pour des instructions d'installation détaillées et des informations supplémentaires, visitez le guide d'installation d'IronPDF. Le package inclut tous les composants nécessaires à la génération, l'édition et le traitement des PDF.

Comment pouvez-vous afficher des fichiers PDF dans le navigateur en utilisant ASP.NET Core ?

Créer et afficher des fichiers PDF dans le navigateur ne nécessite que quelques lignes de code. Voici une action contrôleur complète qui génère un document PDF à partir de HTML et l'affiche en ligne. Cet extrait de code démontre la fonctionnalité principale :

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus crée une instance de ChromePdfRenderer et la configure pour inclure les couleurs d'arrière-plan et convertir les formulaires HTML en formulaires PDF. La méthode RenderHtmlAsPdf transforme la chaîne HTML en fichier PDF. Le code suivant montre comment le retour du PDF avec le type MIME application/pdf indique au navigateur de l'afficher en ligne plutôt que de le télécharger. Cette approche côté serveur garantit un rendu cohérent sur tous les navigateurs et plateformes.

Sortie

Comment afficher, enregistrer et imprimer des PDF dans un visualiseur ASP.NET Core : Figure 5 - Sortie PDF

Pour les fichiers HTML existants ou les pages Razor, vous pouvez utiliser des méthodes de rendu alternatives pour visualiser le contenu PDF :

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces méthodes offrent la flexibilité quant à la source de votre contenu HTML tout en maintenant la même qualité de rendu PDF. Vous pouvez également charger des documents PDF existants, éditer des fichiers PDF, et même travailler avec des formats Word (fichiers DOCX) et Excel en utilisant les fonctionnalités complètes d'IronPDF. En savoir plus sur les options de conversion HTML en PDF dans la documentation. Pour des capacités avancées de traitement et d'édition, consultez la référence de l'API.

Comment les utilisateurs peuvent-ils enregistrer des documents PDF depuis le navigateur ?

Pour permettre aux utilisateurs de télécharger des fichiers PDF au lieu de les afficher en ligne, modifiez l'en-tête Content-Disposition. Cette fonctionnalité est essentielle pour les applications web où les utilisateurs doivent enregistrer des documents pour un accès hors ligne :

public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ajouter le paramètre de nom de fichier configure automatiquement l'en-tête Content-Disposition sur "attachment", incitant le navigateur à télécharger le fichier. Les utilisateurs peuvent également enregistrer des fichiers PDF affichés en ligne en utilisant la fonctionnalité d'enregistrement intégrée de leur navigateur, accessible via Ctrl+S ou la barre d'outils du visualiseur PDF du navigateur. Le comportement par défaut permet aux utilisateurs de choisir l'emplacement de dossier préféré.

Sortie

Comment afficher, enregistrer et imprimer des PDF dans un visualiseur ASP.NET Core : Figure 6 - Sortie PDF du navigateur

Pour une meilleure efficacité mémoire lors du traitement de documents PDF volumineux, utilisez des flux :

public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette approche réduit la consommation de mémoire en diffusant directement le fichier PDF à la réponse sans créer de tableaux d'octets intermédiaires. Le code ci-dessus démontre le traitement efficace des fichiers pour les documents volumineux. Vous pouvez également charger des fichiers PDF existants depuis le dossier wwwroot ou d'autres emplacements, les éditer et diffuser les versions modifiées. Pour une manipulation plus avancée des documents PDF et un traitement des images, explorez la référence de l'API PdfDocument. Le composant prend en charge diverses opérations d'édition, y compris la sélection de texte, le remplissage de formulaires et l'ajout de signatures numériques.

Les utilisateurs peuvent-ils imprimer des documents PDF directement depuis les applications web ASP.NET Core ?

IronPDF optimise les fichiers PDF pour l'impression en configurant le type de média CSS approprié et les paramètres de page. Cette fonctionnalité garantit une sortie professionnelle que les utilisateurs impriment sur des imprimantes physiques ou enregistrent au format PDF :

public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Définir CssMediaType sur Print applique les styles CSS spécifiques à l'impression, garantissant que le document PDF a l'air correct lorsqu'il est imprimé. Les paramètres de marge assurent un espacement approprié pour le papier physique. Le code ci-dessous montre comment les utilisateurs peuvent imprimer des fichiers PDF directement depuis le visualiseur PDF de leur navigateur en utilisant la boîte de dialogue d'impression standard, tout en gardant un contrôle total sur la sélection et les paramètres de l'imprimante. En savoir plus sur les options de rendu PDF pour affiner votre sortie. Le composant central du visualiseur PDF gère automatiquement tous les détails d'impression.

Comment afficher, enregistrer et imprimer des PDF dans un visualiseur ASP.NET Core : Figure 7 - Sortie d'impression PDF

Support multiplateforme et de conteneurs

IronPDF fonctionne parfaitement sur Windows, Linux, macOS, conteneurs Docker, et plateformes cloud comme Azure et AWS. Cette compatibilité multiplateforme garantit que votre solution de visualiseur de PDF ASP.NET Core fonctionne de manière cohérente, quel que soit l'environnement de déploiement. La bibliothèque gère les détails de rendu spécifiques à la plateforme en interne, de sorte que le même code fonctionne partout sans modification.

Comment afficher, enregistrer et imprimer des PDF dans un visualiseur ASP.NET Core : Figure 8 - Compatibilité multiplateforme

Le traitement côté serveur garantit une génération PDF cohérente sur toutes les plateformes. Que ce soit déployé sur des serveurs Windows ou des conteneurs Linux, le composant maintient la même qualité de rendu. La bibliothèque gère automatiquement les différences de chemin entre les systèmes d'exploitation, de sorte que les fichiers dans le dossier wwwroot ou d'autres emplacements sont correctement gérés. Pour les déploiements en conteneurs, consultez le guide de déploiement Docker. Le package inclut toutes les dépendances nécessaires pour chaque plateforme, et la configuration ne nécessite aucune configuration supplémentaire au-delà des exigences standard d'ASP.NET Core.

Commencez avec un essai gratuit et transformez vos capacités de visionneuse de documents dès aujourd'hui.

Résumé

IronPDF transforme la gestion des PDF dans les applications web ASP.NET Core en combinant la génération côté serveur avec une visualisation native pour le navigateur. Avec seulement quelques lignes de code, vous pouvez créer des documents PDF professionnels à partir de HTML, afficher des fichiers PDF en ligne, permettre des téléchargements et optimiser pour l'impression. Le moteur de rendu basé sur Chrome assure une précision pixel-perfect sur toutes les plateformes, éliminant le besoin d'Adobe Acrobat Reader ou d'autres visualiseurs tiers.

Cette solution de visualiseur PDF ASP.NET Core offre des fonctionnalités complètes, y compris le remplissage de formulaires, la sélection de texte, les signatures numériques, et la possibilité d'éditer des fichiers PDF. Le composant prend également en charge la conversion de documents Word (fichiers DOCX), de feuilles de calcul Excel et d'images en PDF. Que vous construisiez un simple visualiseur de documents ou un système de gestion de documents complexe, IronPDF fournit les outils et le support dont vous avez besoin.

L'intégration des aides de balisage de la bibliothèque et sa documentation extensive rendent sa mise en œuvre simple. La page d'accueil de votre projet peut afficher des fichiers PDF directement, tandis que le traitement en arrière-plan gère les tâches complexes de génération de PDF. Le visualiseur maintient un comportement cohérent qu'il soit chargé depuis le dossier wwwroot, généré dynamiquement, ou récupéré à partir de sources externes. Avec un support de thème intégré et des paramètres de largeur personnalisables, vous pouvez parfaitement adapter le design de votre application.

Prêt à mettre en œuvre la visualisation de PDF dans votre application Web .NET Core ?

Pour une utilisation en production, les licences commencent à 749 $ et incluent un support complet et des mises à jour. Visitez la documentation pour des références API détaillées et des fonctionnalités avancées. Consultez nos exemples de code étendus pour mettre en œuvre rapidement la fonctionnalité de PDF dans vos projets ASP.NET Core.

Comment afficher, enregistrer et imprimer des PDF dans un visualiseur ASP.NET Core : Figure 9 - Licence

Questions Fréquemment Posées

Comment puis-je afficher des PDF dans une application ASP.NET Core ?

Vous pouvez afficher des PDF dans une application ASP.NET Core en utilisant IronPDF, qui fournit des fonctionnalités pour rendre des fichiers PDF directement au sein de votre application.

Quelles sont les étapes pour enregistrer un PDF dans ASP.NET Core en utilisant IronPDF ?

Pour enregistrer un PDF dans ASP.NET Core, vous pouvez utiliser les méthodes intégrées d'IronPDF pour convertir votre document en format PDF puis l'écrire sur un système de fichiers ou un flux.

Est-il possible d'imprimer des PDF dans des applications ASP.NET Core ?

Oui, IronPDF vous permet d'imprimer des PDF directement depuis votre application ASP.NET Core en utilisant ses fonctionnalités de rendu et d'impression.

Quels sont les avantages d'utiliser IronPDF dans ASP.NET Core ?

IronPDF offre une intégration fluide avec ASP.NET Core, permettant une manipulation PDF facile comme la visualisation, l'enregistrement et l'impression, avec un minimum de configuration.

IronPDF peut-il gérer de grands documents PDF dans ASP.NET Core ?

Oui, IronPDF est optimisé pour gérer efficacement de grands documents PDF, assurant des performances fluides même avec des fichiers complexes.

IronPDF prend-il en charge les annotations et commentaires PDF dans ASP.NET Core ?

IronPDF prend en charge l'ajout et la lecture d'annotations et de commentaires dans les PDF, améliorant l'interactivité et l'utilisabilité des documents PDF dans votre application ASP.NET Core.

Comment intégrer IronPDF dans un projet ASP.NET Core existant ?

Vous pouvez intégrer IronPDF dans votre projet ASP.NET Core en installant le package NuGet IronPDF et en utilisant son API pour gérer les PDF.

Y a-t-il des exigences spécifiques pour utiliser IronPDF avec ASP.NET Core ?

IronPDF nécessite .NET Core ou .NET 5+ et prend en charge tous les systèmes d'exploitation majeurs, ce qui en fait un choix flexible pour les projets ASP.NET Core.

IronPDF peut-il convertir d'autres formats de fichiers en PDF dans ASP.NET Core ?

Oui, IronPDF peut convertir divers formats de fichiers tels que HTML, images et documents en PDF dans un environnement ASP.NET Core.

Quel type de support IronPDF offre-t-il pour les développeurs ASP.NET Core ?

IronPDF fournit une documentation complète, des exemples de code et un support réactif pour assister les développeurs ASP.NET Core dans l'implémentation des fonctionnalités PDF.

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