Jak wyświetlać pliki PDF w .NET za pomocą IronPDF C#
IronPDF wyświetla PDF-y w aplikacjach .NET za pomocą kontrolki IronPdf.Viewer.Maui dla MAUI, rastrowaniem stron do obrazów z RasterizeToImageFiles dla każdej platformy UI, oraz za pomocą kontroli hostów takich jak WebView2 w WPF i Windows Forms. Wybór odpowiedniego rozwiązania zależy od rodzaju aplikacji, którą tworzysz, i ilości chromu przeglądarki, którą potrzebujesz.
"Przeglądanie" oznacza różne rzeczy na różnych ścieżkach. Przeglądarka MAUI to w pełni interaktywny komponent z paskiem narzędzi. Ścieżka rasteryzacji zamienia każdą stronę na obraz, który można pokazać w dowolnej kontrolce. Ścieżki WebView2 i domyślne wyświetlacze przekazują plik do silnika przeglądarki lub zainstalowanego czytnika PDF użytkownika. W tym artykule pokazano każdą z nich i jest uczciwy w kwestii tego, co oferuje, a co nie.
Quickstart: Wyświetl PDF w MAUI za pomocą IronPDFDodaj pakiet IronPdf.Viewer.Maui NuGet, wywołaj ConfigureIronPdfView() w MauiProgram.cs, a następnie powiąż PDF z IronPdfView. Poniższa linia ładuje plik do kontrolki przeglądarki.
-
1Install IronPDF with NuGet Package Manager
-
2Skopiuj i uruchom ten fragment kodu.
new IronPdf.Viewer.Maui.IronPdfView { Source = IronPdf.Viewer.Maui.IronPdfViewSource.FromFile("document.pdf") };C# -
3Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Najpierw zainstaluj pakiet za pomocą Install-Package IronPdf.Viewer.Maui, i dodaj klucz licencyjny IronPDF w ConfigureIronPdfView, aby usunąć baner wersji próbnej. Samouczek przeglądarki MAUI przeprowadzi cię przez pełne ustawienie projektu.
Minimalny proces (5 kroków)
- Zainstaluj IronPDF z NuGet dla renderowania plików PDF w .NET
- Wybierz ścieżkę przeglądania: przeglądarka MAUI, rasteryzacja na obraz, WebView2 lub domyślny systemowy przeglądarka
- Osadzaj plik PDF w ASP.NET za pomocą HTML
iframe - Renderuj strony PDF na obrazy do wyświetlania w WPF, WinForms lub Blazor
- Otwórz plik PDF w zainstalowanym czytniku użytkownika za pomocą
System.Diagnostics.Process.Start
Jak przeglądac PDFy w ASP.NET & MVC?
Serwuj PDF z akcji kontrolera i osadź go z HTML-wersją iframe. Wbudowany przeglądarka PDF w przeglądarce obsługuje renderowanie, więc dokument pojawia się w linii, gdy układ strony pozostaje nienaruszony. Gdy plik PDF jest generowany na bieżąco, konwersja HTML na PDF IronPDF generuje plik, który akcja zwraca.
// 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>Jeśli potrzebujesz wyboru tekstu, powiększenia i nawigacji po stronach, które kontrolujesz, a nie domyślne przeglądarki, renderuj strony PDF na obrazy (pokazane poniżej) i wyświetl je, lub skonfiguruj przeglądarkę JavaScript według własnego wyboru.
Jak wyświetlić strony PDF jako obrazy w WPF, WinForms lub Blazor?
Użyj RasterizeToImageFiles, aby zamienić każdą stronę PDF na PNG, a następnie wyświetlić te obrazy w dowolnym kontrolce: Image WPF, PictureBox WinForms lub <img> w komponencie Blazor. Jest to natywna ścieżka przeglądania IronPDF. Działa tak samo na każdym frameworku UI i na każdym systemie operacyjnym, które obsługuje IronPDF, ponieważ generuje zwykłe pliki obrazów, a nie polega na kontrolce przeglądarki hosta.
Dane wejściowe
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");
Wynik
Dla opcji w pamięci, ToBitmap zwraca jeden obraz na stronę, który można powiązać z kontrolką bez zapisywania na dysk. Dostosuj argument DPI, aby zamienić rozmiar pliku na ostrość, kontrola, którą masz również nad opcje renderowania IronPDF przy tworzeniu dokumentu.
IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.
Jak przeglądac PDFy w aplikacjach WPF?
Hostuj plik PDF w kontrolce WebView2, która używa silnika Chromium z Microsoft Edge i jest dostarczana z własnym przeglądarka PDF (w zestawie pasek narzędzi, powiększenie i druk). Zapisz dokument na dysku, a następnie przejdź kontrolkę do URI pliku. WebView2 to obecne zamiennik dla starszej kontrolki WebBrowser, która opierała się na przestarzałym silniku Internet Explorer.
// 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.
Jak przeglądac PDFy w Windows Forms?
Upuść kontrolkę WebView2 na swój formularz i skieruj ją do zapisanego pliku PDF, dokładnie jak w WPF. Kontrolka inicjalizuje się asynchronicznie, więc użyj await EnsureCoreWebView2Async przed wywołaniem Navigate. To daje aplikacjom WinForms tę samą przeglądarkę opartą na Chromium bez pakowania komponentu zewnętrznego.
// 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.
Jeśli wolisz nie obsługiwać kontrolki przeglądarki, podejście oparte na obrazach z poprzedniej sekcji działa bezpośrednio w PictureBox i całkowicie unika zależności od WebView2 runtime.
Jak przeglądac PDFy w domyslnej przeglądarce systemowej PDF?
Przekaż ścieżkę do pliku do System.Diagnostics.Process.Start, aby otworzyć PDF w domyślnym czytniku użytkownika, takim jak przeglądarka lub Adobe Acrobat. To przekazuje renderowanie do zewnętrznej aplikacji, a nie osadzać je, co pasuje do narzędzi i narzędzi pracy zbiorowej, które muszą jedynie pokazać gotowy plik.
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)W produkcji opakuj wywołanie tak, aby brakujący handler PDF nie powodował awarii aplikacji:
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 TryWnioski
Każda ścieżka wyświetlania tutaj zamienia interaktywność na przenośność: przeglądarka MAUI oferuje pełny pasek narzędzi, rastrowanie do obrazów działa w dowolnym UI na dowolnej platformie, WebView2 wykorzystuje silnik Edge, a Process.Start odwołuje się do czytnika użytkownika. Wybierz to, które pasuje do Twojej aplikacji, zamiast forsować jedną odpowiedź.
Ponieważ większość przeglądania zaczyna się od dokumentu, który wygenerowałeś, połącz te techniki z pełnym samouczkiem przeglądarki MAUI, gdy potrzebujesz komponentu z interaktywnym paskiem narzędzi.
Często Zadawane Pytania
Jak mogę wyświetlać pliki PDF w aplikacji .NET MAUI?
IronPDF dostarcza interaktywny komponent przeglądarki PDF dla projektów MAUI w pakiecie NuGet IronPdf.Viewer.Maui. Po zainstalowaniu pakietu i wywołaniu ConfigureIronPdfView() można powiązać PDF z kontrolką IronPdfView, ładując go z pliku za pomocą IronPdfViewSource.FromFile lub ze strumienia. Ten komponent MAUI to jedyna ścieżka, która zapewnia wbudowany pasek narzędzi. Na komputerze i w internecie można przeglądać PDF-y, hostując WebView2, osadzając iframe lub rastrować strony do obrazów.
Jaki jest najprostszy sposób na wyświetlanie plików PDF w aplikacjach internetowych ASP.NET?
Dla aplikacji ASP.NET, IronPDF wspiera przegladanie PDF poprzez okna przegladarki lub iframes. Podejscie iframe jest szczegolnie efektywne, poniewaz zachowuje uklad Twojej aplikacji, wyswietlajac jednoczesnie tresc PDF w linii. Mozesz rowniez uzyc mozliwosci konwersji HTML na PDF w IronPDF, aby generowac dynamiczne PDF na zywo do przegladania.
Czy moge zintegrowac przegladanie PDF w aplikacjach WPF i WinForms?
Tak. Dla WPF i WinForms, hostuj kontrolę WebView2 i nawiguj nią do zapisanego PDF; WebView2 używa silnika Chromium z Microsoft Edge i zawiera własny pasek narzędzi, opcje zoomu i drukowania. WebView2 zastępuje starszą kontrolę WebBrowser, która polegała na nieaktualnym silniku Internet Explorer. Jeśli wolisz nie hostować kontrolki przeglądarki, rastrowanie każdej strony na obraz z RasterizeToImageFiles i pokazywanie go w Image lub PictureBox. IronPDF obsługuje również podpisy cyfrowe, wypełnianie formularzy i kompresję PDF na tych samych dokumentach.
Czy mozna uzywac domyslnego systemowego przegladarki PDF z aplikacjami .NET?
Zdecydowanie. IronPDF wspiera integracje z domyslna systemowa przegladarka PDF uzywajac System.Diagnostics.Process. To podejscie pozwala otwierac PDF w preferowanej aplikacji uzytkownika, jednoczesnie korzystajac z IronPDF do generowania, manipulacji lub przygotowania dokumentow PDF wczesniej.
Jakie dodatkowe funkcje PDF sa dostepne poza samym przegladaniem?
IronPDF oferuje szeroki zakres funkcjonalności PDF, w tym podpisy cyfrowe dla bezpieczeństwa dokumentów, możliwośc wypełniania formularzy dla interaktywnych PDF-ów, kompresję PDF by zredukować rozmiar plików, konwersję HTML do PDF w celu generowania dynamicznych treści oraz zapisywanie/eksportowanie PDF-ów w różnych formatach.
How can I open a PDF in the default system viewer using IronPDF?
Use System.Diagnostics.Process.Start with the PDF file path to open it in the user's default PDF reader, such as a browser or Adobe Acrobat.
Is it possible to display PDFs in Blazor applications with IronPDF?
Yes, you can convert each PDF page to an image using IronPDF's RasterizeToImageFiles, and display those images using an img tag in a Blazor component.
What should I do if the default PDF viewer is not installed on the user's system?
Wrap the System.Diagnostics.Process.Start call in a try-catch block to handle cases where a PDF viewer is missing, ensuring your application does not crash.
How can IronPDF's MAUI viewer enhance my application's PDF viewing experience?
The MAUI viewer provides a full interactive component with a toolbar, allowing users to interact with the PDF directly within your app.
Can I use IronPDF to integrate PDF viewing capabilities without depending on browser controls?
Yes, by rasterizing PDF pages to images, you can integrate viewing capabilities in any UI framework without relying on browser-based controls.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.