IRONSOFTWAREHOME
IRONPDF NUTZEN

Wie man PDF VB NET mit IronPDF zusammenführt

Curtis Chau
Curtis Chau
Updated: 19. Juli 2026

Ein Blazor PDF-Anzeigeprogramm rendert PDF-Dokumente inline, indem es sie in eine Base64-Daten-URI konvertiert und das Ergebnis in einem <iframe> Element lädt. IronPDF's ChromePdfRenderer konvertiert HTML-Strings, Live-URLs oder dynamische Inhalte in PDF-Bytes in einem einzigen asynchronen Aufruf und bietet Blazor Server- und Blazor WebAssembly-Anwendungen volle PDF-Generierungs- und Anzeige-Fähigkeiten ohne externe Viewer-Plugins.

Geschäftsanwendungen müssen regelmäßig Rechnungen, Verträge und Berichte anzeigen, ohne die Benutzer auf einen separaten Tab umzuleiten oder auf die Browser-PDF-Unterstützung angewiesen zu sein, die je nach Gerät variiert. Das Komponentenmodell von Blazor ermöglicht es, auf dem Server unkompliziert ein PDF zu generieren, es zu kodieren und in jede beliebige Seitenkomponente einzubinden, vorausgesetzt, die Bibliothek übernimmt die Konvertierung zuverlässig.

Dieser Leitfaden behandelt die Installation, das URL- und HTML-basierte Rendering, die Anpassung mit Kopf- und Fußzeilen, Browser-Downloads mittels JavaScript Interop, einen Vergleich der Ansätze von Blazor Server und Blazor WebAssembly sowie vier erweiterte Operationen: Zusammenführen, Annotationen, Passwortschutz und Anzeige von vom Benutzer hochgeladenen Dateien. Razor-Komponenten und gleichwertige Top-Level C# Beispiele sind für jede Technik bereitgestellt.

Starten Sie eine kostenlose Testversion von IronPDF , um die Beispiele in diesem Leitfaden nachzuvollziehen.

Wie beginne ich mit IronPDF in einem Blazor -Projekt?

Der Einstieg erfordert die Installation des NuGet-Pakets und das Hinzufügen eines Lizenzschlüssels zu Program.cs. Installieren Sie IronPDF über die Paket-Manager-Konsole:

PM > Install-Package IronPdf

Alternativ suchen Sie nach 'IronPDF' im NuGet-Paket-Manager-UI und wählen die neueste Version.

NuGetMit NuGet installieren

PM > Install-Package IronPdf

Install IronPDF by running the command above in the NuGet Package Manager Console, or search for the package in the NuGet Package Manager.

Nach der Installation fügen Sie Ihren Lizenzschlüssel in Program.cs ein, bevor Sie PDF-Operationen durchführen:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

IronPDF ist kompatibel mit .NET 10, .NET 9, .NET 8, .NET 6 und .NET Framework 4.6.2 und höher. Für Entwicklungs- und Testzwecke funktioniert die Bibliothek ohne Lizenzschlüssel, versieht die generierten PDFs jedoch mit einem Wasserzeichen. Eine kostenlose Testlizenz entfernt das Wasserzeichen während der Testphase.

IronPDF unterstützt sowohl Blazor Server- als auch Blazor WebAssembly-Projekte. Bei Blazor Server läuft die Rendering-Engine direkt auf dem Server. In Blazor WebAssembly ist für die PDF-Generierung ein serverseitiger API-Endpunkt erforderlich; Im Abschnitt "Architektur" weiter unten in diesem Leitfaden werden beide Ansätze erläutert.

Wie kann ich eine PDF-Datei von einer URL in Blazor anzeigen?

Der direkteste Weg, ein Blazor PDF-Anzeigeprogramm zu erstellen, besteht darin, eine URL in ein PDF zu konvertieren und es in einem <iframe> anzuzeigen. IronPDF's ChromePdfRenderer ruft die Webseite ab und konvertiert sie in das PDF-Format unter Verwendung der gleichen Chrome-Rendering-Engine, die auch Google Chrome antreibt, wobei CSS, JavaScript-Ausgaben und Layouts getreu beibehalten werden.

Razor -Komponentenansatz

Die folgende Razor-Komponente konvertiert eine URL in ein PDF und zeigt es inline an. Die GeneratePdf Methode läuft auf dem Server in einer Blazor Server-App, sodass die vollständige Chrome-Rendering-Engine verfügbar ist:

@page "/pdfviewer"
@using IronPdf

<h3>PDF Viewer</h3>
<button @onclick="GeneratePdf" class="btn btn-primary">Load PDF</button>
@if (!string.IsNullOrEmpty(pdfDataUri))
{
    <iframe src="@pdfDataUri" style="width:100%; height:600px; border:1px solid #ccc; margin-top:20px;"></iframe>
}

@code {
    private string pdfDataUri = string.Empty;

    private async Task GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the URL to PDF using the Chrome rendering engine
        var pdf = await renderer.RenderUrlAsPdfAsync("https://ironpdf.com");
        // Encode the PDF bytes as a base64 data URI for iframe display
        var base64 = Convert.ToBase64String(pdf.BinaryData);
        pdfDataUri = $"data:application/pdf;base64,{base64}";
    }
}
Text

C#-Beispiel auf oberster Ebene

Für Hintergrunddienste, Konsolenanwendungen oder serverseitige API-Endpunkte werden für dieselbe Konvertierung identische API-Aufrufe außerhalb eines Komponentenkontexts verwendet:

using IronPdf;

var renderer = new ChromePdfRenderer();
// Fetch and convert the target URL to a PDF document
var pdf = await renderer.RenderUrlAsPdfAsync("https://ironpdf.com");

// Save to disk or use BinaryData for in-memory operations
pdf.SaveAs("output.pdf");
byte[] pdfBytes = pdf.BinaryData;

RenderUrlAsPdfAsync ruft die Seite ab, führt alle JavaScript-Befehle aus, wendet CSS an und gibt ein PdfDocument Objekt zurück, das die gerenderten Ausgaben enthält. Die BinaryData Eigenschaft gibt die rohen PDF-Bytes zur Speicherung, zum Streaming oder zur Anzeige preis. Der <iframe> zeigt die Ausgabe mit einer integrierten Browser-Werkzeugleiste zum Zoomen, Navigieren und Drucken an.

Wie man mit IronPDF ein Blazor PDF-Anzeigeprogramm erstellt: Abbildung 1 - URL zu PDF PDF-Viewer-Ausgabe

Wie kann ich die PDF-Erzeugung anpassen?

IronPDF bietet Ausgabekontrolle über die ChromePdfRenderOptions Klasse. Sie können das Papierformat festlegen, die Seitenränder anpassen und jeder Seite Text- oder HTML-Kopf- und Fußzeilen hinzufügen. Der Leitfaden zu den Rendering-Optionen enthält die vollständige Liste der verfügbaren Eigenschaften.

Razor -Komponentenansatz

Die folgende Komponente konfiguriert A4-Papier mit Rändern und fügt jeder Seite Kopf- und Fußzeilentext hinzu. Weisen Sie RenderingOptions zu, bevor Sie eine Render-Methode aufrufen, um sie global auf die Renderer-Instanz anzuwenden:

@page "/pdfcustom"
@using IronPdf

<h3>Customized PDF Viewer</h3>
<button @onclick="GenerateCustomizedPdf" class="btn btn-primary">Generate Customized PDF</button>
@if (!string.IsNullOrEmpty(pdfDataUri))
{
    <iframe src="@pdfDataUri" style="width:100%; height:600px; border:1px solid #ccc; margin-top:20px;"></iframe>
}

@code {
    private string pdfDataUri = string.Empty;

    private async Task GenerateCustomizedPdf()
    {
        var renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                PaperSize = IronPdf.Rendering.PdfPaperSize.A4,
                MarginTop = 25,
                MarginBottom = 25,
                MarginLeft = 20,
                MarginRight = 20,
                // Header with dynamic date replacement
                TextHeader = new TextHeaderFooter
                {
                    CenterText = "Monthly Report - {date}",
                    FontSize = 12
                },
                // Footer with page numbering
                TextFooter = new TextHeaderFooter
                {
                    LeftText = "Confidential",
                    RightText = "Page {page} of {total-pages}",
                    FontSize = 10
                }
            }
        };

        var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
        pdfDataUri = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.BinaryData)}";
    }
}
Text

C#-Beispiel auf oberster Ebene

Die gleichen Optionen gelten in jedem .NET Kontext. Dieses Muster eignet sich gut für eine minimale ASP.NET Core -API oder einen Generator für geplante Berichte:

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        PaperSize = PdfPaperSize.A4,
        MarginTop = 25,
        MarginBottom = 25,
        TextHeader = new TextHeaderFooter { CenterText = "Report - {date}", FontSize = 12 },
        TextFooter = new TextHeaderFooter { RightText = "Page {page} of {total-pages}", FontSize = 10 }
    }
};

var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
pdf.SaveAs("customized-report.pdf");

Vorlagenvariablen wie {page}, {total-pages} und {date} werden zur Renderzeit durch aktuelle Werte ersetzt. Für komplexe, gebrandete Layouts verwenden Sie HtmlHeader und HtmlFooter Eigenschaften anstelle von TextHeader und TextFooter. Der Leitfaden für Kopf- und Fußzeilen enthält vollständige Beispiele für beide Vorgehensweisen.

Wie man mit IronPDF ein Blazor PDF-Anzeigeprogramm erstellt: Abbildung 2 - Angepasstes PDF im PDF-Viewer geöffnet

Was ist der beste Weg, um PDF-Downloads zu ermöglichen?

Das Anzeigen von PDFs in einem <iframe> behandelt das Betrachten, aber Benutzer müssen häufig die Datei herunterladen. JavaScript-Interop löst einen Browser-Download aus einem .NET Byte-Stream aus. Weitere Download- und Exportmuster finden Sie in der Anleitung zum Exportieren und Speichern von PDFs .

Razor -Komponentenansatz

Injizieren Sie IJSRuntime in die Komponente und rufen Sie eine JavaScript-Hilfsfunktion auf, um den Download zu starten. Der DotNetStreamReference streamt die PDF-Bytes, ohne die gesamte Datei auf einmal in den JavaScript-Speicher zu laden:

@page "/pdfdownload"
@using IronPdf
@inject IJSRuntime JSRuntime

<h3>Download PDF</h3>
<button @onclick="DownloadPdf" class="btn btn-success">Download PDF</button>

@code {
    private async Task DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Invoice</h1><p>Total: $1,299</p>");
        // Stream the PDF bytes to the browser as a downloadable file
        using var streamRef = new DotNetStreamReference(stream: new MemoryStream(pdf.BinaryData));
        await JSRuntime.InvokeVoidAsync("downloadFileFromStream", "invoice.pdf", streamRef);
    }
}
Text

Fügen Sie diese JavaScript-Funktion zu Ihrem _Host.cshtml oder App.razor File hinzu, wie es in Microsoft's Blazor JavaScript-Interop-Dokumentation beschrieben ist:

window.downloadFileFromStream = async (fileName, contentStreamReference) => {
    const arrayBuffer = await contentStreamReference.arrayBuffer();
    const blob = new Blob([arrayBuffer]);
    const url = URL.createObjectURL(blob);
    const anchorElement = document.createElement('a');
    anchorElement.href = url;
    anchorElement.download = fileName ?? '';
    anchorElement.click();
    anchorElement.remove();
    URL.revokeObjectURL(url);
};
JavaScript

C#-Beispiel auf oberster Ebene

In einem serverseitigen API-Endpunkt geben Sie die PDF-Bytes direkt mit Results.File zurück. Der Browser empfängt die Datei mit den korrekten Content-Disposition Headern und löst den Download automatisch aus:

using IronPdf;

// ASP.NET Core minimal API endpoint
app.MapGet("/api/pdf/invoice", async () =>
{
    var renderer = new ChromePdfRenderer();
    var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Invoice</h1><p>Total: $1,299</p>");
    // Return with file download headers
    return Results.File(pdf.BinaryData, "application/pdf", "invoice.pdf");
});

Wie kann ich PDFs aus Razor-Komponenten generieren?

Die Generierung von PDFs aus HTML ermöglicht die vollständige Kontrolle über Layout, Datenbindung und Styling. Dieser Ansatz eignet sich für Rechnungen, Berichte und alle Dokumente, die aus Live-Anwendungsdaten erstellt werden. Weitere Informationen zu fortgeschrittenen Rendering-Techniken finden Sie im Leitfaden zur HTML-zu-PDF-Konvertierung .

Razor -Komponentenansatz

Die folgende Komponente erstellt eine Rechnungs-HTML-Zeichenfolge aus C# Daten und konvertiert sie zu einem PDF. Der ChromePdfRenderer behandelt den HTML-String genauso wie eine Webseite und wendet alle CSS an und rendert ihn mit der Chrome-Engine.

@page "/invoicedemo"
@using IronPdf

<h3>Invoice Generator</h3>
<button @onclick="GenerateInvoice" class="btn btn-primary">Generate Invoice PDF</button>
@if (!string.IsNullOrEmpty(pdfDataUri))
{
    <iframe src="@pdfDataUri" style="width:100%; height:600px; border:1px solid #ccc; margin-top:20px;"></iframe>
}

@code {
    private string pdfDataUri = string.Empty;

    private async Task GenerateInvoice()
    {
        var invoiceHtml = $@"
            <html>
            <head>
                <style>
                    body {{font-family: Arial, sans-serif;}}
                    .header {{background-color: #f0f0f0; padding: 20px;}}
                    .invoice-table {{width: 100%; border-collapse: collapse;}}
                    .invoice-table th, .invoice-table td {{border: 1px solid #ddd; padding: 8px;}}
                    .total {{font-weight: bold; font-size: 18px;}}
                </style>
            </head>
            <body>
                <div class='header'>
                    <h1>Invoice #INV-2025-001</h1>
                    <p>Date: {DateTime.Now:MM/dd/yyyy}</p>
                </div>
                <table class='invoice-table'>
                    <thead>
                        <tr>
                            <th>Item</th><th>Quantity</th><th>Price</th><th>Total</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>IronPDF License</td><td>1</td><td>$999</td><td>$999</td>
                        </tr>
                        <tr>
                            <td>Priority Support</td><td>1</td><td>$250</td><td>$250</td>
                        </tr>
                    </tbody>
                </table>
                <p class='total'>Total Amount: $999</p>
            </body>
            </html>";

        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync(invoiceHtml);
        pdfDataUri = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.BinaryData)}";
    }
}
Text

C#-Beispiel auf oberster Ebene

Der gleiche Ansatz mit HTML-Strings funktioniert in jedem .NET Kontext, einschließlich Konsolenanwendungen, Hintergrunddiensten und API-Endpunkten . C#-String-Interpolation oder eine Templating-Bibliothek fügt dynamische Daten ein, bevor die Zeichenfolge an den Renderer übergeben wird:

using IronPdf;

var html = """
    <html>
    <body>
        <h1>Invoice #INV-2025-001</h1>
        <table>
            <tr><th>Item</th><th>Total</th></tr>
            <tr><td>IronPDF License</td><td>$999</td></tr>
            <tr><td>Priority Support</td><td>$250</td></tr>
        </table>
        <p><strong>Total: $999</strong></p>
    </body>
    </html>
    """;

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
pdf.SaveAs("invoice.pdf");
C#

RenderHtmlAsPdfAsync akzeptiert jeden gültigen HTML-String, einschließlich eingebettetem CSS und JavaScript. Die Implementierung übernimmt Layout, Schriftwiedergabe und Seitenumbrüche automatisch.

Wie man mit IronPDF ein Blazor PDF-Anzeigeprogramm erstellt: Abbildung 3 - Rechnung im PDF-Viewer

Worin unterscheidet sich ein Blazor Server PDF Viewer von einem Blazor WebAssembly?

Das Hosting-Modell bestimmt, wo die PDF-Generierung stattfindet und wie die Bytes den Browser erreichen. Das Verständnis dieser Unterscheidung verhindert einen häufigen Architekturfehler beim Erstellen von Blazor PDF-Viewern.

Blazor Server führt den gesamten C# Code auf dem Server aus. ChromePdfRenderer wird serverseitig ausgeführt und die resultierenden Bytes werden über die vorhandene SignalR-Verbindung an den Browser geschickt. Dies ist der einfachste Integrationsweg, der keine zusätzlichen API-Endpunkte oder Netzwerkaufrufe erfordert, die über die in den vorherigen Abschnitten gezeigten hinausgehen.

Blazor WebAssembly führt C# im Sandbox-Modus des Browsers mit WASM aus. Die Rendering-Engine von IronPDF ist von nativen Binärdateien abhängig, die nicht innerhalb der Browser-Sandbox ausgeführt werden können, daher ist ChromePdfRenderer in einem WASM-Projekt nicht direkt verfügbar. Der richtige Ansatz besteht darin, einen serverseitigen API-Endpunkt aufzurufen, der die PDF-Generierung durchführt und die Bytes als Antwort zurückgibt.

Einrichten einer PDF-Generierungs-API für Blazor WebAssembly

Definieren Sie auf dem Server einen minimalen API-Endpunkt, der das PDF generiert und zurückgibt:

// Program.cs (ASP.NET Core host project)
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

app.MapGet("/api/pdf/report", async () =>
{
    var renderer = new ChromePdfRenderer();
    var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Quarterly Report</h1><p>Generated server-side.</p>");
    // Return PDF bytes with file download headers
    return Results.File(pdf.BinaryData, "application/pdf", "report.pdf");
});

Im WASM-Client injizieren Sie HttpClient und rufen den API-Endpunkt auf. Die Blazor WASM gehostete Projektvorlage ist vorab konfiguriert auf HttpClient, um auf die Basisadresse des Servers zu zielen:

@page "/wasm-pdf-viewer"
@inject HttpClient Http

<h3>PDF Viewer</h3>
<button @onclick="LoadPdf" class="btn btn-primary">Load Report</button>
@if (!string.IsNullOrEmpty(pdfDataUri))
{
    <iframe src="@pdfDataUri" style="width:100%; height:600px;"></iframe>
}

@code {
    private string pdfDataUri = string.Empty;

    private async Task LoadPdf()
    {
        // Fetch PDF bytes from the server-side generation endpoint
        var bytes = await Http.GetByteArrayAsync("/api/pdf/report");
        pdfDataUri = $"data:application/pdf;base64,{Convert.ToBase64String(bytes)}";
    }
}
Text

Bei diesem Muster verbleiben alle rechenintensiven Rendering-Arbeiten auf dem Server, während der WASM-Client sich nur um die Anzeige kümmert. Für den Produktiveinsatz muss eine Authentifizierung zum API-Endpunkt hinzugefügt und der generierte PDF-Inhalt auf die Daten des authentifizierten Benutzers beschränkt werden.

Welche anderen PDF-Operationen kann ich durchführen?

Die IronPDF-API bietet weit mehr als nur die einfache Anzeige. Die folgenden Abschnitte behandeln vier Operationen, die häufig in Blazor -Dokumentenworkflows benötigt werden: das Zusammenführen mehrerer Dokumente, das Hinzufügen von Anmerkungen, das Anwenden eines Passwortschutzes und das Anzeigen von vom Benutzer hochgeladenen Dateien.

Wie kann ich mehrere PDF-Dokumente zusammenführen?

Das Zusammenführen kombiniert mehrere PdfDocument Instanzen in eine einzige Datei, was nützlich ist, um Berichtsabschnitte zu erstellen, Anhänge hinzuzufügen oder vom Benutzer ausgewählte Dateien zu verketten. Der Leitfaden zum Zusammenführen und Aufteilen von PDFs behandelt Einfüge- und Aufteilungsvorgänge auf Seitenebene.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Generate two separate sections as individual PDF documents
var section1 = await renderer.RenderHtmlAsPdfAsync("<h1>Section 1: Overview</h1>");
var section2 = await renderer.RenderHtmlAsPdfAsync("<h1>Section 2: Details</h1>");

// Merge into a single document preserving all pages
var merged = PdfDocument.Merge(section1, section2);
merged.SaveAs("combined-report.pdf");

Um das zusammengeführte Dokument in einer Blazor-Komponente anzuzeigen, übergeben Sie merged.BinaryData an das Base64-Daten-URI-Muster aus den vorherigen Abschnitten. Das zusammengeführte PdfDocument Objekt akzeptiert auch weitere Operationen (z.B. Wasserzeichen, Sicherheitseinstellungen oder zusätzliche Seitenanhänge), bevor es zur Anzeige kodiert wird.

Wie füge ich einer PDF-Datei Anmerkungen hinzu?

Anmerkungen fügen den Anmerkungen und Kommentaren der Gutachter bestimmte Seitenpositionen hinzu, ohne den zugrunde liegenden Dokumentinhalt zu verändern. IronPDF unterstützt Textanmerkungen, Freitextfelder und weitere Auszeichnungstypen. Eine vollständige Liste der Anmerkungseigenschaften finden Sie im Anmerkungsleitfaden .

using IronPdf;
using IronPdf.Annotations;

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Contract Document</h1><p>Review required on clause 3.</p>");

// Add a text annotation to page 0 at position (50, 650)
var annotation = new TextAnnotation(pageIndex: 0)
{
    Title = "Reviewer Note",
    Contents = "Please confirm clause 3 before signing.",
    X = 50,
    Y = 650,
    Width = 200,
    Height = 50,
    Printable = false,
    OpenByDefault = true
};

pdf.Annotations.Add(annotation);
pdf.SaveAs("annotated-contract.pdf");

Annotationen bleiben erhalten, wenn das PDF in einem Standard-Viewer, einschließlich der Browser-<iframe> Anzeige, geöffnet wird. Für Blazor-Anwendungen führen Sie die Annotationslogik serverseitig aus und geben Sie pdf.BinaryData an die Komponente zur Anzeige zurück.

Wie kann ich eine PDF-Datei mit einem Passwort schützen?

Der Passwortschutz beschränkt den Zugriff auf sensible Dokumente wie Finanzberichte oder Personalakten. IronPDF unterstützt Benutzerpasswörter (erforderlich zum Öffnen des Dokuments) und Besitzerpasswörter (erforderlich zum Ändern von Berechtigungen). Die PDF-Sicherheitsanleitung listet alle verfügbaren Berechtigungsflags auf.

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Confidential Report</h1>");

// Set the password required to open the document
pdf.Password = "user-open-password";
// Set the owner password to control editing and printing rights
pdf.SecuritySettings.OwnerPassword = "owner-edit-password";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("protected-report.pdf");

Passwortgeschützte PDFs zeigen eine Passwortabfrage im Browser <iframe> an. Diese Vorgehensweise funktioniert für Dokumente, die per Download verteilt werden; Bei der Anzeige ohne Eingabeaufforderung sollte das Passwort nur auf Dokumente angewendet werden, die über den Download-Weg abgerufen werden.

Wie kann ich vom Benutzer hochgeladene PDFs anzeigen?

Um eine vom Benutzer hochgeladene PDF-Datei anzuzeigen, müssen die eingehenden Dateibytes gelesen und als Daten-URI kodiert werden. Die folgende Upload-Komponente verwendet Blazors InputFile Steuerung, um die Datei zu erfassen, und zeigt sie dann direkt ohne Neurendering an:

@page "/upload-viewer"
@using IronPdf

<h3>Upload and View a PDF</h3>
<InputFile OnChange="LoadUploadedPdf" accept=".pdf" />
@if (!string.IsNullOrEmpty(pdfDataUri))
{
    <iframe src="@pdfDataUri" style="width:100%; height:600px; margin-top:20px;"></iframe>
}

@code {
    private string pdfDataUri = string.Empty;

    private async Task LoadUploadedPdf(InputFileChangeEventArgs e)
    {
        using var stream = e.File.OpenReadStream(maxAllowedSize: 10 * 1024 * 1024);
        using var ms = new MemoryStream();
        await stream.CopyToAsync(ms);
        var bytes = ms.ToArray();
        // Encode the uploaded PDF bytes directly for display
        pdfDataUri = $"data:application/pdf;base64,{Convert.ToBase64String(bytes)}";
    }
}
Text

Für hochgeladene PDFs, die eine serverseitige Verarbeitung vor der Anzeige erfordern, wie z.B. Wasserzeichengestaltung, Seitenauszug oder Neuverschlüsselung, laden Sie die Bytes zuerst in ein PdfDocument.

var pdf = new PdfDocument(bytes);
// Apply operations, then re-encode
pdfDataUri = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.BinaryData)}";

Dadurch bleibt die Komponentenstruktur erhalten, während gleichzeitig die volle IronPDF -API für die hochgeladene Datei aktiviert wird.

Was sind meine nächsten Schritte?

Dieser Leitfaden beschreibt den kompletten Workflow für einen Blazor PDF-Viewer mit IronPDF: Installation unter .NET 10, URL- und HTML-Rendering, Anpassung der Ausgabe mit Kopf- und Fußzeilen, JavaScript Interoperabilität für Browser-Downloads, die architektonischen Unterschiede zwischen Blazor Server und Blazor WebAssembly sowie vier Dokumentoperationen: Zusammenführen, Annotationen, Passwortschutz und Benutzer-Uploads.

Um diese Grundlage zu erweitern, können Sie folgende Ressourcen nutzen:

Sichern Sie sich Ihre kostenlose Testlizenz , um Wasserzeichen zu entfernen und IronPDF in Ihrer Blazor Anwendung zu testen. IronPDF unterstützt .NET 10 , ASP.NET Core, Blazor Server und gehostete Blazor WebAssembly-Projekte ohne zusätzliche Konfiguration. Weitere Hinweise zur Integration finden Sie in der offiziellen Blazor Dokumentation von Microsoft .

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 Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $