Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man einen PDF-Viewer in ASP.NET Core erstellt

Der Aufbau einer Webanwendung in .NET erfordert oft das direkte Anzeigen von PDF-Dokumenten im Browser. Egal, ob es sich um Rechnungen, Berichte oder interaktive PDF-Formulare handelt: Endbenutzer erwarten ein nahtloses Dokumentenanzeige-Erlebnis, ohne Adobe Acrobat Reader oder andere Drittanbieter-Browser-Tools zu benötigen.

In diesem Tutorial zeigen wir Ihnen, wie Sie einen PDF-Viewer für ASP.NET und .NET Core mit IronPDF implementieren können. Diese robuste PDF-Viewer-Steuerung ermöglicht Entwicklern das Erstellen, Rendern und Anzeigen von PDF-Dateien innerhalb ihrer .NET-Anwendungen und bietet eine professionelle Lösung für die Verwaltung geschäftskritischer Dokumente.

Wie funktioniert die PDF-Anzeige in ASP.NET Core?

Moderne Browser fungieren als integrierter PDF-Viewer. Wenn Sie eine PDF-Datei mit dem korrekten MIME-Typ (application/pdf) bereitstellen, wird sie vom Browser automatisch inline angezeigt. Das bedeutet, dass Sie keine externen Plug-ins benötigen, um PDF-Dokumente anzuzeigen oder PDF-Dateien darzustellen. Der Schlüssel liegt darin, qualitativ hochwertige PDFs zu erzeugen und die korrekten Antwort-Header zu konfigurieren.

IronPDF ist eine häufig aktualisierte .NET PDF-Bibliothek, die sich durch das Erstellen von pixelgenauen PDF-Seiten aus HTML, Razor-Ansichten oder vorhandenen Dokumenten auszeichnet. Das auf Chrome basierende Rendering sorgt für genaue CSS-, JavaScript- und Bildunterstützung und bietet Ihren Endbenutzern ein Anzeigeerlebnis ähnlich einem Desktop-PDF-Viewer.

Einrichten Ihres ASP.NET Core-Projekts

Beginnen Sie mit der Erstellung einer neuen ASP.NET Core MVC-Anwendung:

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp

Dies generiert eine grundlegende .NET-Anwendung mit MVC-Unterstützung. Anschließend können Sie die für die PDF-Verarbeitung und -Anzeige benötigten IronPDF NuGet-Pakete installieren.

Wie wird IronPDF installiert und konfiguriert?

Die Installation von IronPDF erfordert nur wenige Schritte. Öffnen Sie die Package Manager-Konsole in Visual Studio und führen Sie Folgendes aus:

Install-Package IronPdf

Oder verwenden Sie die .NET CLI:

dotnet add package IronPdf

Konfigurieren Sie IronPDF in Ihrer Program.cs oder Startup.cs:

// Add this at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Use your trial or commercial key
// Add this at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Use your trial or commercial key
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sobald installiert, richten Sie Ihren Lizenzschlüssel in Program.cs ein. Die Dokumentation von IronPDF bietet zusätzliche Informationen und Beispiele zur Konfiguration.

Wie generiert man PDFs zur Ansicht?

Mit IronPDF können Sie PDF-Dateien aus rohem HTML, Webseiten oder Razor-Ansichten erstellen. Das generierte PDF-Dokument kann dann mit nur wenigen Zeilen C#-Quellcode inline angezeigt werden. Zum Beispiel können Sie mit einem ChromePdfRenderer HTML rendern und es dem Browser als PDF-Datei zurückgeben, die innerhalb Ihrer ASP.NET PDF-Viewer-Steuerung angezeigt wird.

Dieser Ansatz vermeidet es, einen Download zu erzwingen, und gibt Benutzern die Möglichkeit, PDFs direkt in Ihrem Webformular oder Blazor-Projekt anzuzeigen, zu drucken, zu durchsuchen und zu speichern.

Erstellen von PDFs aus HTML-Strings

Der einfachste Ansatz konvertiert HTML direkt in PDF:

using IronPdf;
public class PdfController : Controller
{
    public IActionResult GenerateFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Create PDF from HTML
        var 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 viewing
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
public class PdfController : Controller
{
    public IActionResult GenerateFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Create PDF from HTML
        var 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 viewing
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieses Beispiel zeigt, wie man ein PDF direkt aus einem HTML-String generiert. Ein ChromePdfRenderer wird erstellt, der Chromium für eine genaue Darstellung verwendet. Das HTML (mit Inline-CSS) wird an RenderHtmlAsPdf übergeben, was ein PdfDocument erzeugt. Die Rückgabe der Datei mit dem MIME-Typ application/pdf sorgt dafür, dass sie vom Browser inline angezeigt wird. Dies ist nützlich, um Berichte oder Rechnungen dynamisch in ASP.NET Core zu generieren.

Erzeugung von PDFs aus URLs

Bestehende Webseiten in PDFs konvertieren:

public IActionResult GenerateFromUrl(string url = "https://ironpdf.com")
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.JavaScript(3000);
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    var pdf = renderer.RenderUrlAsPdf(url);
    Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult GenerateFromUrl(string url = "https://ironpdf.com")
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.JavaScript(3000);
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    var pdf = renderer.RenderUrlAsPdf(url);
    Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf");
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Hier konvertiert IronPDF eine Live-Webseite in ein PDF. Die Methode RenderUrlAsPdf ruft die Seite ab, wendet Stile und Skripte an und erzeugt ein poliertes PDF. Das Setzen des Content-Disposition-Headers auf inline lässt die Datei im PDF-Viewer des Browsers öffnen. Dies ist ideal, um Webinhalte als PDF-Dokumente zu archivieren oder zu teilen.

Ausgabe

Wie man einen PDF-Viewer in ASP.NET Core erstellt: Abbildung 2 - URL zu PDF-Ausgabe im PDF-Viewer angezeigt

Konvertierung von Razor Views in PDF

Wandeln Sie Ihre Razor-Ansichten dynamisch in PDFs um:

public async Task<IActionResult> ViewToPdf()
{
    // Render the view to HTML string first
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    return File(pdf.BinaryData, "application/pdf");
}
private async Task<string> RenderViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
        var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);
        return sw.ToString();
    }
}
public async Task<IActionResult> ViewToPdf()
{
    // Render the view to HTML string first
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    return File(pdf.BinaryData, "application/pdf");
}
private async Task<string> RenderViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
        var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);
        return sw.ToString();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Ausschnitt verwandelt Razor-Ansichten in PDFs. Die Ansicht wird zuerst mit RenderViewToString in einen HTML-String gerendert und dann mit RenderHtmlAsPdf konvertiert. Das Ergebnis wird als im Browser anzeigbare Datei zurückgegeben. So können Sie Razor-Vorlagen (wie Rechnungen) sowohl für die Webanzeige als auch die PDF-Generierung wiederverwenden und so Konsistenz sicherstellen.

Wie zeigt man PDFs im Browser an?

Der Schlüssel zur Inline-Anzeige von PDFs (statt zum Herunterladen) liegt im Setzen der korrekten Antwort-Header.

Basische Inline-Anzeige

public IActionResult ViewPdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewPdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieses Beispiel erzwingt, dass ein PDF inline angezeigt wird, anstatt heruntergeladen zu werden. Ein einfacher HTML-String wird mit RenderHtmlAsPdf konvertiert, und der Content-Disposition-Header wird auf inline gesetzt. Es ist eine schnelle Möglichkeit, generierte PDF-Dateien direkt im Browser zu betrachten.

Ausgabe

Wie man einen PDF-Viewer in ASP.NET Core erstellt: Abbildung 3 - Beispiel für einen einfachen Inline-PDF-Viewer

Dynamisches Laden von PDF-Dateien

Laden Sie verschiedene PDFs ohne Seitenaktualisierung:

[HttpGet]
public IActionResult GetPdfList()
{
    var pdfs = new List<object>
    {
        new { id = 1, name = "Report 1" },
        new { id = 2, name = "Report 2" }
    };
    return Json(pdfs);
}
[HttpGet]
public IActionResult GetPdf(int id)
{
    var renderer = new ChromePdfRenderer();
    var html = $"<h1>Report {id}</h1><p>Content for report {id}</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
// Load PDF dynamically
function loadPdf(pdfId) {
    const frame = document.getElementById('pdfFrame');
    frame.src = `/Pdf/GetPdf?id=${pdfId}`;
}
[HttpGet]
public IActionResult GetPdfList()
{
    var pdfs = new List<object>
    {
        new { id = 1, name = "Report 1" },
        new { id = 2, name = "Report 2" }
    };
    return Json(pdfs);
}
[HttpGet]
public IActionResult GetPdf(int id)
{
    var renderer = new ChromePdfRenderer();
    var html = $"<h1>Report {id}</h1><p>Content for report {id}</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
// Load PDF dynamically
function loadPdf(pdfId) {
    const frame = document.getElementById('pdfFrame');
    frame.src = `/Pdf/GetPdf?id=${pdfId}`;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code lädt dynamisch verschiedene PDFs in den Viewer. Der Controller stellt eine Liste von PDFs bereit und erzeugt sie bei Bedarf. Die JavaScript-Funktion loadPdf aktualisiert die <iframe>-Quelle, ohne die Seite neu zu laden, und ermöglicht so einen schnellen Wechsel zwischen Dokumenten.

Was ist mit Überlegungen zur Bereitstellung?

IronPDF funktioniert mit ASP.NET, ASP.NET Core und Blazor Server-Projekten. Sie können es auf einem Server hosten, nach Azure bereitstellen oder mit Docker containerisieren. Da es sich um eine häufig aktualisierte Bibliothek mit aktivem Support handelt, können Sie sich für die Verarbeitung von Unternehmensdokumenten auf sie verlassen.

Azure-Bereitstellung

Bei der Bereitstellung auf Azure App Service arbeitet IronPDF nahtlos mit minimaler Konfiguration. Stellen Sie sicher, dass Ihr App Service-Plan mindestens auf B1 konfiguriert ist. IronPDF kümmert sich automatisch um die Bereitstellung des Chrome-Rendering-Engines. Bitte sehen Sie hier unsere Dokumentation zur Auswahl der passenden Azure-Stufe.

Docker-Unterstützung

Für containerisierte Bereitstellungen bietet IronPDF Docker-Unterstützung. Fügen Sie dies Ihrer Dockerdatei hinzu:

# Install IronPDF dependencies
RUN apt-get update && apt-get install -y libgdiplus

Leistungstipps

  • Zwischenspeichern von erzeugten PDFs, wenn sich der Inhalt nicht häufig ändert
  • Verwenden von asynchronen Methoden für bessere Skalierbarkeit
  • Angemessene Zeitlimits für komplexe PDF-Generierung setzen

Häufige Probleme und Lösungen

PDF wird nicht inline angezeigt

Wenn PDFs heruntergeladen werden, anstatt sie anzuzeigen:

// Ensure Content-Disposition is set correctly
Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
// Ensure Content-Disposition is set correctly
Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Herkunftsübergreifende Probleme

Beim Laden von PDFs aus verschiedenen Domains:

// Add CORS headers if needed
Response.Headers.Add("Access-Control-Allow-Origin", "*");
// Add CORS headers if needed
Response.Headers.Add("Access-Control-Allow-Origin", "*");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Große PDF-Dateien

Für große Dokumente erwägen Sie das Streaming:

public async Task<IActionResult> StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(largeHtmlContent);
    var stream = new MemoryStream(pdf.BinaryData);
    return new FileStreamResult(stream, "application/pdf");
}
public async Task<IActionResult> StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(largeHtmlContent);
    var stream = new MemoryStream(pdf.BinaryData);
    return new FileStreamResult(stream, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Abschluss

Die Erstellung eines PDF-Viewers in ASP.NET Core muss nicht komplex sein. Durch die Kombination der IronPDF Rendering-Engine mit dem Standard-PDF-Viewer des Browsers erhalten Sie eine professionelle, benutzerfreundliche Lösung für das Anzeigen, Bearbeiten und Verwalten von PDF-Dateien online. Egal, ob Sie Rechnungen rendern, dynamische Berichte integrieren oder einen Dokumenten-Viewer für mobile Apps erstellen möchten, dieser Ansatz bietet das richtige Gleichgewicht zwischen Funktionen, Skalierbarkeit und Leistung.

Suchen Sie nach einem vollständigen Tutorial mit funktionierendem Quellcode? Laden Sie unser kostenloses Musterprojekt herunter und erfahren Sie, wie IronPDF Ihnen bei der Integration eines modernen, sicheren und flexiblen PDF-Viewers für ASP.NET helfen kann.

Bereit zur Implementierung der PDF-Anzeige in Ihrer ASP.NET Core-Anwendung? Beginnen Sie mit einer kostenlosen Testversion von IronPDF und transformieren Sie die Dokumenteverwaltung Ihrer Webanwendung noch heute.

Starten Sie jetzt mit IronPDF.
green arrow pointer

Häufig gestellte Fragen

Welche ist die beste Methode, um PDF-Dokumente in einer ASP.NET-Anwendung anzuzeigen?

Die Verwendung von IronPDF ermöglicht es Entwicklern, PDF-Dokumente direkt im Browser innerhalb einer ASP.NET-Anwendung leicht darzustellen und bietet eine nahtlose Benutzererfahrung ohne den Bedarf an Drittanbieter-Tools wie Adobe Acrobat Reader.

Kann IronPDF zur Verbesserung der PDF-Anzeige in Webanwendungen verwendet werden?

Ja, IronPDF ist dafür ausgelegt, die PDF-Anzeige zu verbessern, indem es eine reibungslose Integration in Webanwendungen ermöglicht, sodass Benutzer PDF-Dokumente mühelos und effizient anzeigen können.

Benötige ich zusätzliche Tools, um PDFs mit IronPDF in ASP.NET anzuzeigen?

Nein, IronPDF beseitigt den Bedarf an zusätzlichen Tools wie Adobe Acrobat Reader und bietet eine integrierte Lösung zur Anzeige von PDFs direkt in ASP.NET-Anwendungen.

Wie kann ich einen PDF-Viewer in meiner .NET-Webanwendung implementieren?

Indem Sie IronPDF in Ihre .NET-Webanwendung integrieren, können Sie einen leistungsstarken PDF-Viewer implementieren, der verschiedene PDF-Funktionen unterstützt und ein benutzerfreundliches Interface bietet.

Warum sollte ich IronPDF für die PDF-Anzeige in ASP.NET verwenden?

IronPDF bietet eine zuverlässige und effiziente Lösung für die PDF-Anzeige in ASP.NET-Anwendungen und ermöglicht es Entwicklern, den Benutzern eine nahtlose Erfahrung ohne Abhängigkeit von externen Plugins zu bieten.

Ist es möglich, interaktive PDF-Formulare mit IronPDF anzuzeigen?

Ja, IronPDF unterstützt die Anzeige interaktiver PDF-Formulare und ermöglicht es Benutzern, PDF-Dokumente direkt im Browser auszufüllen und damit zu interagieren.

Welche Arten von PDF-Dokumenten können mit IronPDF angezeigt werden?

IronPDF kann verschiedene Arten von PDF-Dokumenten wie Rechnungen, Berichte und interaktive Formulare verarbeiten, was es zu einem vielseitigen Werkzeug für jede ASP.NET-Anwendung macht.

Unterstützt IronPDF for .NET 10 für die PDF-Erstellung und -Anzeige?

Ja. IronPDF unterstützt .NET 10 vollständig sowie frühere Versionen wie .NET 9, 8, 7, 6 und .NET Core und Framework. Das bedeutet, dass Sie IronPDF in modernen .NET 10 ASP.NET- oder Blazor-Anwendungen verwenden können, um PDFs zu generieren, bereitzustellen und direkt im Browser anzuzeigen. (ironpdf.com)

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen