Comment visualiser des PDF en .NET avec IronPDF C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF affiche les PDFs dans les applications .NET via le contrôle IronPdf.Viewer.Maui pour MAUI, en rasterisant les pages en images avec RasterizeToImageFiles pour tout framework UI, et via des contrôles hôtes tels que WebView2 dans WPF et Windows Forms. Le bon choix dépend du type d'application que vous construisez et de la quantité de chrome du visualiseur dont vous avez besoin.

" Visualiser " signifie différentes choses à travers ces chemins. Le visualiseur MAUI est un composant interactif complet avec une barre d'outils. Le chemin de tramage transforme chaque page en une image que vous pouvez afficher dans n'importe quel contrôle. Les itinéraires WebView2 et par défaut du visualiseur remettent le fichier à un moteur de navigateur ou au lecteur PDF installé par l'utilisateur. Cet article montre chacun d'entre eux et est honnête sur ce qu'il offre et ce qu'il ne vous donne pas.

Démarrage rapide : Visualiser un PDF dans MAUI avec IronPDF

Ajoutez le package NuGet IronPdf.Viewer.Maui, appelez ConfigureIronPdfView() dans MauiProgram.cs, puis liez un PDF à un IronPdfView. La ligne simple ci-dessous charge un fichier dans le contrôle du visualiseur.

  1. Installez IronPDF avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronPdf
  2. Copiez et exécutez cet extrait de code.

    new IronPdf.Viewer.Maui.IronPdfView { Source = IronPdf.Viewer.Maui.IronPdfViewSource.FromFile("document.pdf") };
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

Installez d'abord le package avec Install-Package IronPdf.Viewer.Maui, et ajoutez votre clé de licence IronPDF dans ConfigureIronPdfView pour supprimer le bandeau d'essai. Le tutoriel du visualiseur MAUI vous guide à travers la configuration complète du projet.


Comment afficher des PDF en ASP.NET et MVC?

Servez le PDF à partir d'une action du contrôleur et intégrez-le avec un HTML iframe. Le visualiseur PDF intégré du navigateur gère le rendu, de sorte que le document apparaît inline tandis que la mise en page de votre page reste intacte. Lorsque le PDF est généré à la volée, la conversion HTML en PDF de IronPDF produit le fichier que l'action retourne.

// Controller action to serve PDF
public ActionResult ViewPdf()
{
    var pdfPath = Server.MapPath("~/Content/sample.pdf");
    return File(pdfPath, "application/pdf");
}

// In your Razor view
<iframe src="@Url.Action("ViewPdf")" width="100%" height="600px"></iframe>
// Controller action to serve PDF
public ActionResult ViewPdf()
{
    var pdfPath = Server.MapPath("~/Content/sample.pdf");
    return File(pdfPath, "application/pdf");
}

// In your Razor view
<iframe src="@Url.Action("ViewPdf")" width="100%" height="600px"></iframe>
Imports System.Web.Mvc

' Controller action to serve PDF
Public Function ViewPdf() As ActionResult
    Dim pdfPath = Server.MapPath("~/Content/sample.pdf")
    Return File(pdfPath, "application/pdf")
End Function

' In your Razor view
<iframe src="@Url.Action("ViewPdf")" width="100%" height="600px"></iframe>
$vbLabelText   $csharpLabel

Si vous avez besoin de la sélection de texte, du zoom et de la navigation entre les pages que vous contrôlez plutôt que le défaut du navigateur, affichez les pages PDF sous forme d'images (montrées ci-dessous) et affichez-les, ou connectez un visualiseur JavaScript de votre choix.


Comment afficher des pages PDF sous forme d'images dans WPF, WinForms ou Blazor ?

Appelez RasterizeToImageFiles pour transformer chaque page de PDF en PNG, puis affichez ces images dans n'importe quel contrôle : un Image WPF, un PictureBox WinForms ou un <img> dans un composant Blazor. Ceci est le chemin de visualisation native IronPDF. Cela fonctionne de la même manière sur chaque framework UI et sur chaque système d'exploitation pris en charge par IronPDF, car cela produit des fichiers image simples plutôt que de dépendre d'un contrôle de navigateur hôte.

Entrée

:path=/static-assets/pdf/content-code-examples/how-to/net-pdf-viewer-rasterize.cs
using IronPdf;

// Load the PDF you want to display.
PdfDocument pdf = PdfDocument.FromFile("sample-report.pdf");

// Render every page to a PNG. The asterisk in the path is replaced with the page number,
// producing viewer-page-1.png, viewer-page-2.png, and so on. The last argument (100) is the DPI.
pdf.RasterizeToImageFiles("viewer-page-*.png", IronPdf.Imaging.ImageType.Png, 100);

// To show a page inside a GUI control without writing to disk, get in-memory bitmaps instead.
// ToBitmap returns one AnyBitmap per page; bind bitmaps[0] to a WPF Image or a WinForms PictureBox.
var bitmaps = pdf.ToBitmap();
bitmaps[0].SaveAs("viewer-firstpage.png");
Imports IronPdf

' Load the PDF you want to display.
Dim pdf As PdfDocument = PdfDocument.FromFile("sample-report.pdf")

' Render every page to a PNG. The asterisk in the path is replaced with the page number,
' producing viewer-page-1.png, viewer-page-2.png, and so on. The last argument (100) is the DPI.
pdf.RasterizeToImageFiles("viewer-page-*.png", IronPdf.Imaging.ImageType.Png, 100)

' To show a page inside a GUI control without writing to disk, get in-memory bitmaps instead.
' ToBitmap returns one AnyBitmap per page; bind bitmaps(0) to a WPF Image or a WinForms PictureBox.
Dim bitmaps = pdf.ToBitmap()
bitmaps(0).SaveAs("viewer-firstpage.png")
$vbLabelText   $csharpLabel

Sortie

Première page du PDF de rapport d'exemple rastérisée en image PNG pour l'affichage dans un contrôle d'interface .NET

Pour une option en mémoire, ToBitmap renvoie une image par page que vous pouvez lier à un contrôle sans accéder au disque. Ajustez l'argument DPI pour échanger la taille du fichier contre la netteté, le même contrôle que vous avez sur les options de rendu de IronPDF lors de la production du document.


Comment afficher des PDF dans des applications WPF?

Hébergez le PDF dans un contrôle WebView2, qui utilise le moteur Chromium de Microsoft Edge et est livré avec son propre visualiseur PDF (barre d'outils, zoom et impression inclus). Enregistrez le document sur le disque, puis naviguez le contrôle vers l'URI du fichier. WebView2 est le remplacement actuel pour le contrôle ancien WebBrowser, qui reposait sur le moteur Internet Explorer obsolète.

:path=/static-assets/pdf/content-code-examples/how-to/net-pdf-viewer-wpf-viewer.cs
// WPF: display a PDF using the WebView2 control (Microsoft Edge / Chromium).
// Install the NuGet package Microsoft.Web.WebView2 and add a <wv2:WebView2 x:Name="pdfWebView" />
// element to your XAML (xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf").
// WebView2 renders PDFs with the same built-in viewer as the Edge browser (toolbar, zoom, print).
using System;
using System.IO;

// Save the IronPDF-generated document to disk first, then point WebView2 at it.
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
string pdfPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "document.pdf");
pdf.SaveAs(pdfPath);

// pdfWebView is the WebView2 control declared in your XAML.
// EnsureCoreWebView2Async must complete before navigating.
await pdfWebView.EnsureCoreWebView2Async();
pdfWebView.CoreWebView2.Navigate(new Uri(pdfPath).AbsoluteUri);

// Legacy alternative: the older System.Windows.Controls.WebBrowser control still works on
// Windows machines that have a PDF handler installed, but it relies on the deprecated Internet
// Explorer engine and is not recommended for new applications. Prefer WebView2 above.
Imports System
Imports System.IO
Imports IronPdf

' WPF: display a PDF using the WebView2 control (Microsoft Edge / Chromium).
' Install the NuGet package Microsoft.Web.WebView2 and add a <wv2:WebView2 x:Name="pdfWebView" />
' element to your XAML (xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf").
' WebView2 renders PDFs with the same built-in viewer as the Edge browser (toolbar, zoom, print).

' Save the IronPDF-generated document to disk first, then point WebView2 at it.
Dim pdf = New ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
Dim pdfPath As String = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "document.pdf")
pdf.SaveAs(pdfPath)

' pdfWebView is the WebView2 control declared in your XAML.
' EnsureCoreWebView2Async must complete before navigating.
Await pdfWebView.EnsureCoreWebView2Async()
pdfWebView.CoreWebView2.Navigate(New Uri(pdfPath).AbsoluteUri)

' Legacy alternative: the older System.Windows.Controls.WebBrowser control still works on
' Windows machines that have a PDF handler installed, but it relies on the deprecated Internet
' Explorer engine and is not recommended for new applications. Prefer WebView2 above.
$vbLabelText   $csharpLabel

AvertissementWebView2 nécessite le Runtime Microsoft Edge WebView2 sur la machine cible. Il est pré-installé sur les versions actuelles de Windows 11; pour les systèmes plus anciens, fournissez le bootstrapper Evergreen avec votre installateur.


Icon Quote related to Comment afficher des PDF dans des applications WPF?

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Comment afficher des PDF dans des applications WPF?

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Comment afficher des PDF dans des applications WPF?

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Comment afficher des PDF dans des applications WPF?

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Comment afficher des PDF dans des applications WPF?

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Comment afficher des PDF dans des applications WPF?

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment visualiser les PDF dans Windows Forms?

Déposez un contrôle WebView2 sur votre formulaire et pointez-le vers le PDF enregistré, exactement comme dans WPF. Le contrôle s'initialise de manière asynchrone, donc attendez EnsureCoreWebView2Async avant d'appeler Navigate. Cela donne aux applications WinForms le même visualiseur basé sur Chromium sans intégrer un composant tiers.

:path=/static-assets/pdf/content-code-examples/how-to/net-pdf-viewer-winforms-viewer.cs
// Windows Forms: display a PDF using the WebView2 control (Microsoft Edge / Chromium).
// Install the NuGet package Microsoft.Web.WebView2, then drag a WebView2 control onto your form
// (or add it in code) and name it pdfWebView.
using System;
using System.IO;

// Generate or load the PDF with IronPDF, then save it so WebView2 can open the file.
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
string pdfPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "document.pdf");
pdf.SaveAs(pdfPath);

// pdfWebView is the WebView2 control on your form.
// Initialize the runtime, then navigate to the local file URI.
await pdfWebView.EnsureCoreWebView2Async();
pdfWebView.CoreWebView2.Navigate(new Uri(pdfPath).AbsoluteUri);

// Legacy alternative: the System.Windows.Forms.WebBrowser control can host a PDF when a system
// PDF handler is registered, but it uses the deprecated Internet Explorer engine. Use WebView2
// for new projects so the viewer works consistently across modern Windows installs.
Imports System
Imports System.IO
Imports IronPdf

' Generate or load the PDF with IronPDF, then save it so WebView2 can open the file.
Dim pdf = New ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
Dim pdfPath As String = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "document.pdf")
pdf.SaveAs(pdfPath)

' pdfWebView is the WebView2 control on your form.
' Initialize the runtime, then navigate to the local file URI.
Await pdfWebView.EnsureCoreWebView2Async()
pdfWebView.CoreWebView2.Navigate(New Uri(pdfPath).AbsoluteUri)

' Legacy alternative: the System.Windows.Forms.WebBrowser control can host a PDF when a system
' PDF handler is registered, but it uses the deprecated Internet Explorer engine. Use WebView2
' for new projects so the viewer works consistently across modern Windows installs.
$vbLabelText   $csharpLabel

Si vous préférez ne pas héberger de contrôle de navigateur, l'approche basée sur les images de la section ci-dessus s'intègre directement dans un PictureBox et évite complètement la dépendance d'exécution WebView2.


Comment afficher les PDF dans la visionneuse PDF par défaut du système?

Transmettez le chemin de fichier à System.Diagnostics.Process.Start pour ouvrir le PDF dans le lecteur que l'utilisateur a défini par défaut, tel qu'un navigateur ou Adobe Acrobat. Cela remet le rendu à une application externe au lieu de l'intégrer, ce qui convient aux utilitaires et outils par lots qui n'ont besoin que d'afficher le fichier fini.

:path=/static-assets/pdf/content-code-examples/how-to/net-pdf-viewer-default-pdf-viewer.cs
using IronPdf;

// Render any HTML fragment or document to HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

var outputPath = "ChromePdfRenderer.pdf";

// Export PDF document
pdf.SaveAs(outputPath);

// This neat trick opens our PDF file so we can see the result in our default PDF viewer
System.Diagnostics.Process.Start(outputPath);
Imports IronPdf

' Render any HTML fragment or document to HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")

Private outputPath = "ChromePdfRenderer.pdf"

' Export PDF document
pdf.SaveAs(outputPath)

' This neat trick opens our PDF file so we can see the result in our default PDF viewer
System.Diagnostics.Process.Start(outputPath)
$vbLabelText   $csharpLabel

En production, enveloppez l'appel afin qu'en cas d'absence de gestionnaire PDF, l'application ne se bloque pas :

try
{
    var psi = new System.Diagnostics.ProcessStartInfo
    {
        FileName = outputPath,
        UseShellExecute = true
    };
    System.Diagnostics.Process.Start(psi);
}
catch (Exception ex)
{
    // Handle the case where no PDF viewer is installed
    MessageBox.Show($"Unable to open PDF: {ex.Message}");
}
try
{
    var psi = new System.Diagnostics.ProcessStartInfo
    {
        FileName = outputPath,
        UseShellExecute = true
    };
    System.Diagnostics.Process.Start(psi);
}
catch (Exception ex)
{
    // Handle the case where no PDF viewer is installed
    MessageBox.Show($"Unable to open PDF: {ex.Message}");
}
Imports System.Diagnostics
Imports System.Windows.Forms

Try
    Dim psi As New ProcessStartInfo With {
        .FileName = outputPath,
        .UseShellExecute = True
    }
    Process.Start(psi)
Catch ex As Exception
    ' Handle the case where no PDF viewer is installed
    MessageBox.Show($"Unable to open PDF: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Conclusion

Chaque chemin de visualisation ici échange l'interactivité pour la portabilité : le visualiseur MAUI offre une barre d'outils complète, la rasterisation en images fonctionne sur toutes les interfaces utilisateur sur toutes les plateformes, WebView2 réutilise le moteur Edge, et Process.Start se rapporte au lecteur de l'utilisateur. Choisissez celui qui correspond à votre application plutôt que d'imposer une seule solution.

Étant donné que la plupart des visualisations commencent par un document que vous avez généré, associez ces techniques au tutoriel complet du visualiseur MAUI lorsque vous avez besoin d'un composant de barre d'outils interactif.

Questions Fréquemment Posées

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

IronPDF fournit un composant de visionnage PDF interactif pour les projets MAUI dans le package NuGet IronPdf.Viewer.Maui. Après installation du package et appel de ConfigureIronPdfView(), vous pouvez lier un PDF à un contrôle IronPdfView, le chargeant à partir d'un fichier avec IronPdfViewSource.FromFile ou à partir d'un flux. Ce composant MAUI est le seul chemin doté d'une barre d'outils intégrée ; sur desktop et web vous visualisez des PDFs en hébergeant WebView2, en intégrant un iframe, ou en rasterisant des pages en images.

Quel est le moyen le plus simple d'afficher des PDF dans des applications web ASP.NET ?

Pour les applications ASP.NET, IronPDF prend en charge l'affichage des PDF à travers les fenêtres du navigateur ou les iframes. L'approche par iframe est particulièrement efficace car elle permet de conserver la présentation de l'application tout en affichant le contenu du PDF en ligne. Vous pouvez également utiliser les capacités de conversion HTML-PDF d'IronPDF pour générer des PDF dynamiques à la volée.

Puis-je intégrer l'affichage de PDF dans des applications WPF et WinForms ?

Oui. Pour WPF et WinForms, hébergez un contrôle WebView2 et naviguez jusqu'à un PDF enregistré ; WebView2 utilise le moteur Chromium de Microsoft Edge et inclut sa propre barre d'outils, zoom, et impression. WebView2 remplace le contrôle WebBrowser plus ancien qui reposait sur le moteur d'Internet Explorer maintenant obsolète. Si vous préférez ne pas héberger un contrôle de navigateur, rasterisez chaque page en une image avec RasterizeToImageFiles et affichez-la dans un Image ou PictureBox. IronPDF gère également les signatures numériques, le remplissage de formulaires et la compression de PDF sur les mêmes documents.

Est-il possible d'utiliser la visionneuse PDF par défaut du système avec les applications .NET ?

Absolument. IronPDF prend en charge l'intégration avec la visionneuse PDF par défaut du système à l'aide de System.Diagnostics.Process. Cette approche vous permet d'ouvrir les PDF dans l'application PDF préférée de l'utilisateur tout en continuant à utiliser IronPDF pour générer, manipuler ou préparer les documents PDF au préalable.

Quelles sont les autres fonctionnalités des PDF, au-delà de la simple visualisation ?

IronPDF offre une large gamme de fonctionnalités PDF incluant des signatures numériques pour la sécurité des documents, des capacités de remplissage de formulaires pour des PDFs interactifs, une compression de PDF pour réduire la taille des fichiers, une conversion HTML en PDF pour la génération de contenu dynamique, et enregistrer/exporter des PDFs dans divers formats.

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
Prêt à commencer ?
Nuget Téléchargements 20,296,129 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.