Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Erstellen eines PDF-Viewers in einer ASP.NET-Webanwendung mit IronPDF

Die Erstellung von Webanwendungen zur Anzeige von PDF-Dokumenten ist einfach. Ganz gleich, ob Sie Rechnungen, Berichte oder interaktive Formulare präsentieren, die Benutzer erwarten eine reibungslose Anzeige der Dokumente im Browser, ohne dass Adobe Acrobat Reader oder zusätzliche Tools von Drittanbietern erforderlich sind.

IronPDF macht dies unglaublich einfach. Mit dieser häufig aktualisierten .NET-Bibliothek können Sie PDF-Dateien in Ihrem ASP.NET Core-Projekt mit nur wenigen Codezeilen erstellen, rendern und anzeigen. Im Folgenden erfahren Sie, wie Sie ein professionelles PDF-Viewer-Steuerelement implementieren können, das von der einfachen HTML-Konvertierung bis hin zu komplexen Razor-Ansichten alles abdeckt.

Wie funktioniert die browserbasierte PDF-Anzeige?

Die gute Nachricht ist, dass moderne Browser bereits über einen integrierten PDF-Viewer verfügen. Wenn Ihr Server eine PDF-Datei mit dem richtigen MIME-Typ (application/pdf) sendet, zeigt der Browser sie automatisch inline an. Das bedeutet, dass Sie keine externen Plugins oder komplexe clientseitige JavaScript-Bibliotheken benötigen, um PDF-Dokumente anzuzeigen.

Der Schlüssel liegt in der Erstellung hochwertiger PDF-Dokumente und der Konfiguration der richtigen Antwort-Header. IronPDF übernimmt die schwere Arbeit auf der Serverseite und nutzt seine Chrome-basierte Rendering-Engine, um pixelgenaue PDF-Seiten aus HTML, CSS und JavaScript zu erstellen. Das Ergebnis? Ihre Benutzer erhalten einen nativen Dokumentenbetrachter mit Funktionen wie Textauswahl, Suche, Drucken und Herunterladen, und das alles ohne zusätzliche Konfiguration der Benutzeroberfläche. Sie können den Inhalt leicht einbetten und anzeigen.

Dieser Ansatz lässt sich nahtlos auf alle .NET-Anwendungen anwenden, unabhängig davon, ob Sie mit ASP.NET Core MVC, Razor-Views oder sogar mit älteren Webordnerprojekten arbeiten.

Wie installiert und konfiguriert man das PDF Viewer Control?

Die ersten Schritte mit IronPDF in Visual Studio sind nur wenige. Öffnen Sie Ihr ASP.NET Core-Projekt und installieren Sie das NuGet-Paket:

Install-Package IronPdf

Als Nächstes fügen Sie Ihre Lizenzschlüsselkonfiguration in Program.cs ein:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Das ist alles, was Sie für die vollständige Integration von IronPDF in Ihre .NET-Anwendungen benötigen. In der Dokumentation von IronPDF finden Sie zusätzliche Konfigurationsoptionen für fortgeschrittene Szenarien wie Azure-Bereitstellung oder Docker-Container. Sie können mit einer kostenlosen Testversion beginnen, um alle Funktionen zu testen, bevor Sie sich festlegen.

Wie generiert und zeigt man PDF-Dokumente aus HTML?

Der einfachste Weg, einen PDF-Viewer in Ihrer ASP.NET Core-Webanwendung zu erstellen, ist die direkte Konvertierung von HTML-Strings. Hier ist ein vollständiges Beispiel für einen Controller:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult DisplayFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Create PDF from HTML with CSS styling
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Sample PDF Document</h1>
                <p class='content'>This PDF was generated using IronPDF in ASP.NET Core.</p>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Display PDF inline in browser
        Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult DisplayFromHtml()
    {
        var renderer = new ChromePdfRenderer();
        // Create PDF from HTML with CSS styling
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Sample PDF Document</h1>
                <p class='content'>This PDF was generated using IronPDF in ASP.NET Core.</p>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Display PDF inline in browser
        Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgangs-PDF im Browser angezeigt

Wie man einen PDF-Viewer in einer ASP .NET-Webanwendung mit IronPDF erstellt: Bild 1 - Bild 1 von 3 im Zusammenhang mit Wie man einen PDF-Viewer in ASP .NET-Webanwendung mit IronPDF erstellt

Die Klasse ChromePdfRenderer verwendet Chromium für ein präzises Rendering, das sicherstellt, dass CSS, JavaScript und Bilder genau wie vorgesehen angezeigt werden. Die Einstellung Content-Disposition auf inline weist den Browser an, die PDF-Datei anzuzeigen, anstatt sie herunterzuladen.

So entsteht eine nahtlose Darstellung, die es den Nutzern ermöglicht, das Dokument direkt in Ihrer Web-UI aufzurufen. Für Dokumente mit komplexem Layout können Sie oft Rendering-Einstellungen wie Breite und Höhe im HTML-Code oder mit RenderingOptions festlegen.

Weitere Optionen für die HTML-Konvertierung finden Sie im HTML string to PDF guide.

Wie rendert man PDF-Dateien aus URLs und Razor Views?

IronPDF kann auch Live-Webseiten in PDF-Dokumente umwandeln. Dieser Text eignet sich perfekt für die Erstellung von Berichten oder die Archivierung von Webinhalten:

public IActionResult RenderFromUrl(string url = "https://en.wikipedia.org/wiki/Main_Page")
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.EnableJavaScript = true;
    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 RenderFromUrl(string url = "https://en.wikipedia.org/wiki/Main_Page")
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.EnableJavaScript = true;
    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

Browser Document Viewer, der generierte PDF-Dateien anzeigt

Erstellung eines PDF-Viewers in ASP .NET Web Application mit IronPDF: Bild 2 - Bild 2 von 3 zu How to Create a PDF Viewer in ASP .NET Web Application with IronPDF

Um Razor-Ansichten in PDF zu konvertieren, benötigen Sie eine Hilfsmethode, um die Ansicht zunächst als HTML zu rendern. Mit diesem Ansatz können Sie Ihre vorhandenen Vorlagen sowohl für die Webanzeige als auch für die PDF-Erzeugung wiederverwenden:

public async Task<IActionResult> ViewToPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 1001,
        InvoiceDate = DateTime.Now,
        CustomerName = "Acme Corp.",
        Items = new List<ItemModel>
        {
            new ItemModel { Description = "Product A", Quantity = 2, UnitPrice = 50.00m },
            new ItemModel { Description = "Service B", Quantity = 1, UnitPrice = 150.00m }
        }
    };
    invoiceModel.TotalAmount = invoiceModel.Items.Sum(i => i.LineTotal);
    // NOTE: RenderViewToStringAsync uses the Request services and ActionContext
    var htmlContent = await RenderViewToStringAsync("Invoice", invoiceModel);
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    return File(pdf.BinaryData, "application/pdf");
}
private async Task<string> RenderViewToStringAsync(string viewName, object model)
{
    // Use the current HttpContext's service provider (guaranteed available during a request)
    var actionContext = new ActionContext(HttpContext, RouteData, ControllerContext.ActionDescriptor);
    var viewEngine = HttpContext.RequestServices.GetRequiredService<IRazorViewEngine>();
    var tempDataFactory = HttpContext.RequestServices.GetRequiredService<ITempDataDictionaryFactory>();
    var tempData = tempDataFactory.GetTempData(HttpContext);
    ViewData.Model = model;
    var viewResult = viewEngine.FindView(actionContext, viewName, isMainPage: false);
    if (!viewResult.Success)
    {
        // Helpful error for debugging
        var searchedLocations = string.Join(Environment.NewLine, viewResult.SearchedLocations ?? Array.Empty<string>());
        throw new InvalidOperationException($"Couldn't find view '{viewName}'. Searched locations:{Environment.NewLine}{searchedLocations}");
    }
    await using var writer = new StringWriter();
    var viewContext = new ViewContext(
        actionContext,
        viewResult.View,
        ViewData,
        tempData,
        writer,
        new HtmlHelperOptions()
    );
    await viewResult.View.RenderAsync(viewContext);
    return writer.ToString();
}
public async Task<IActionResult> ViewToPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 1001,
        InvoiceDate = DateTime.Now,
        CustomerName = "Acme Corp.",
        Items = new List<ItemModel>
        {
            new ItemModel { Description = "Product A", Quantity = 2, UnitPrice = 50.00m },
            new ItemModel { Description = "Service B", Quantity = 1, UnitPrice = 150.00m }
        }
    };
    invoiceModel.TotalAmount = invoiceModel.Items.Sum(i => i.LineTotal);
    // NOTE: RenderViewToStringAsync uses the Request services and ActionContext
    var htmlContent = await RenderViewToStringAsync("Invoice", invoiceModel);
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    return File(pdf.BinaryData, "application/pdf");
}
private async Task<string> RenderViewToStringAsync(string viewName, object model)
{
    // Use the current HttpContext's service provider (guaranteed available during a request)
    var actionContext = new ActionContext(HttpContext, RouteData, ControllerContext.ActionDescriptor);
    var viewEngine = HttpContext.RequestServices.GetRequiredService<IRazorViewEngine>();
    var tempDataFactory = HttpContext.RequestServices.GetRequiredService<ITempDataDictionaryFactory>();
    var tempData = tempDataFactory.GetTempData(HttpContext);
    ViewData.Model = model;
    var viewResult = viewEngine.FindView(actionContext, viewName, isMainPage: false);
    if (!viewResult.Success)
    {
        // Helpful error for debugging
        var searchedLocations = string.Join(Environment.NewLine, viewResult.SearchedLocations ?? Array.Empty<string>());
        throw new InvalidOperationException($"Couldn't find view '{viewName}'. Searched locations:{Environment.NewLine}{searchedLocations}");
    }
    await using var writer = new StringWriter();
    var viewContext = new ViewContext(
        actionContext,
        viewResult.View,
        ViewData,
        tempData,
        writer,
        new HtmlHelperOptions()
    );
    await viewResult.View.RenderAsync(viewContext);
    return writer.ToString();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Output Viewed PDF

Wie man einen PDF-Viewer in einer ASP .NET-Webanwendung mit IronPDF erstellt: Bild 3 - PDF gerendert und im Browser betrachtet

Diese Hilfsmethode stellt sicher, dass Sie einen sauberen Pfad zum Rendern des Inhalts Ihrer Razor-Ansicht in einen HTML-String haben, den IronPDF dann konvertieren kann. Das Razor-to-PDF-Tutorial behandelt diesen Arbeitsablauf im Detail.

Wie kann man große PDF-Dateien mit Streaming bearbeiten?

Bei der Verarbeitung großer PDF-Dokumente verbessert Streaming die Leistung und reduziert den Speicherbedarf. Mit einem MemoryStream können Sie Dateien effizient bereitstellen:

public IActionResult StreamLargePdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Large Document</h1><p>Content here...</p>");
    var stream = new MemoryStream(pdf.BinaryData);
    return new FileStreamResult(stream, "application/pdf");
}
public IActionResult StreamLargePdf()
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Large Document</h1><p>Content here...</p>");
    var stream = new MemoryStream(pdf.BinaryData);
    return new FileStreamResult(stream, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für ältere ASP.NET Web Forms-Projekte können Sie ähnliche Funktionen mit Event-Handlern implementieren:

protected void btnGeneratePdf_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Web Form PDF</h1>");
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(pdf.BinaryData);
    Response.End();
}
protected void btnGeneratePdf_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf("<h1>Web Form PDF</h1>");
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(pdf.BinaryData);
    Response.End();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Welche Funktionen unterstützt dieses PDF Viewer Control?

Durch die Nutzung des nativen PDF-Viewers des Browsers erhalten Ihre Benutzer automatisch eine Vielzahl von Funktionen: Textauswahl zum Kopieren von Inhalten, Suchfunktionen zum Auffinden bestimmter Daten, Druckoptionen für physische Kopien und Download-Funktionen für den Offline-Zugriff.

Dies gilt auch für Szenarien, in denen Benutzer ein vorhandenes Dokument zur Ansicht, Bearbeitung oder Zusammenführung hochladen müssen. Die serverseitige Verarbeitung von IronPDF übernimmt die Ausführung von JavaScript, CSS-Rendering und Formularen, einschließlich interaktiver Elemente, die die Benutzer ausfüllen können.

Das Framework unterstützt die Integration von Tag Helper, benutzerdefinierte Seitengrößen, Kopf- und Fußzeilen, Wasserzeichen und sogar Bearbeitungsfunktionen. Einen vollständigen Überblick über die Funktionen finden Sie auf der Seite IronPDF-Funktionen.

Abschluss

Die Erstellung eines PDF-Viewers in einer ASP.NET-Webanwendung ist mit IronPDF denkbar einfach. Durch die Kombination der leistungsstarken Rendering-Engine mit dem Standard-PDF-Viewer des Browsers erhalten Sie eine professionelle Lösung für die Anzeige, Verarbeitung und Handhabung von PDF-Dateien in Ihren Webanwendungen. Egal, ob Sie HTML, URLs oder Razor-Ansichten konvertieren, die Implementierung erfordert nur minimalen Code und bietet gleichzeitig maximale Funktionalität.

Sind Sie bereit, die PDF-Anzeige in Ihrem Projekt zu implementieren? Starten Sie mit einer kostenlosen Testversion von IronPDF und verändern Sie den Umgang mit Dokumenten in Ihrer .NET Core-Webanwendung. Für den produktiven Einsatz sollten Sie sich die Lizenzierungsoptionen ansehen, die den Anforderungen Ihres Teams entsprechen. Möchten Sie weitere Beispiele sehen, wie sich IronPDF bei der Konvertierung auszeichnet? In den hilfreichen How-to-Guides erfahren Sie, wie IronPDF die Konvertierung von DOCX in PDF, von Bildern in PDF und mehr handhabt.

Starten Sie jetzt mit IronPDF.
green arrow pointer

Häufig gestellte Fragen

Wie kann ich einen PDF-Viewer in einer ASP.NET-Webanwendung erstellen?

Mit IronPDF können Sie einen PDF-Viewer in einer ASP.NET-Webanwendung erstellen. Damit können Sie PDF-Dokumente direkt in Ihrer Anwendung anzeigen und ein nahtloses Anzeigeerlebnis bieten, ohne externe Tools wie Adobe Acrobat Reader zu benötigen.

Welche Vorteile bietet IronPDF für die PDF-Anzeige in ASP.NET?

IronPDF bietet eine reibungslose und integrierte PDF-Anzeige in ASP.NET-Anwendungen. Es ermöglicht die Inline-Anzeige von Dokumenten, unterstützt verschiedene Dateitypen und macht PDF-Viewer von Drittanbietern überflüssig, was die Benutzerfreundlichkeit erhöht.

Kann ich interaktive PDF-Formulare in meiner ASP.NET-Webanwendung anzeigen?

Ja, mit IronPDF können Sie interaktive PDF-Formulare in Ihrer ASP.NET-Webanwendung anzeigen. Es unterstützt das Rendering von Formularfeldern und interaktiven Elementen, so dass Benutzer direkt im Browser mit den Dokumenten interagieren können.

Ist es möglich, Rechnungen und Berichte mit IronPDF in ASP.NET darzustellen?

IronPDF eignet sich hervorragend für die Anzeige von Rechnungen, Berichten und anderen Dokumenttypen in ASP.NET-Anwendungen. Es stellt sicher, dass Ihre Dokumente innerhalb der Webanwendung genau und effizient gerendert werden.

Benötige ich Adobe Acrobat Reader, um PDFs in ASP.NET-Anwendungen mit IronPDF anzuzeigen?

Nein, Sie benötigen keinen Adobe Acrobat Reader, um PDFs in ASP.NET-Anwendungen anzuzeigen, wenn Sie IronPDF verwenden. Mit IronPDF können Sie PDFs direkt im Browser ohne Abhängigkeiten von Drittanbietern darstellen und anzeigen.

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