IRONPDF VERWENDEN

Wie man PDF-Dateien in ASP.NET mit C# und IronPDF anzeigt

Die meisten Menschen öffnen PDFs auf einem Computer mit einer speziellen Desktop-Anwendung, aber auch Softwareentwickler können IronPDF verwenden, um PDF-Inhalte mit C# programmatisch zu erstellen, anzuzeigen, zu öffnen, zu lesen und zu bearbeiten.

IronPDF hat sich als ein sehr nützliches Plugin für das Lesen von PDF-Dateien in ASP.NET und C# erwiesen.

Sie können das ASP.NET PDF-Demonstrationsprojekt herunterladen.

Mit IronPDF ist es möglich, PDF-Dokumente schnell und einfach mit C# zu erstellen.

Ein Großteil der Gestaltung und des Layouts von PDF-Dokumenten kann durch die Verwendung vorhandener HTML-Assets oder durch die Übertragung der Aufgabe an Webdesigner erfolgen; es nimmt Ihnen die zeitaufwändige Aufgabe ab, die PDF-Erzeugung in Ihre Anwendung zu integrieren, und automatisiert die Umwandlung vorbereiteter Dokumente in PDFs. Mit .NET können Sie:

  • Konvertieren Sie Webformulare, lokale HTML-Seiten und andere Websites in das PDF-Format.
  • Ermöglichen Sie es den Nutzern, Dokumente herunterzuladen, sie per E-Mail mit anderen zu teilen oder in der Cloud zu speichern.
  • Kunden Rechnungen ausstellen und Kostenvoranschläge erstellen; berichte erstellen; aushandlung von Verträgen und sonstigem Papierkram.
  • Arbeit mit ASP.NET, ASP.NET Core, Web Forms, MVC, Web APIs auf .NET-Framework und .NET Core und anderen Programmiersprachen.

IronPDF-Bibliothek einrichten

Es gibt zwei Möglichkeiten, die Bibliothek zu installieren;

Installieren mit dem NuGet-Paketmanager

IronPDF kann über das Visual Studio Add-in oder den NuGet Package Manager über die Befehlszeile installiert werden. Navigieren Sie zur Konsole und geben Sie den folgenden Code in Visual Studio ein:

Install-Package IronPdf

Laden Sie die DLL-Datei direkt von der Website herunter

Alternativ können Sie die DLL auch direkt von der Website herunterladen.

Denk daran, die folgende Bemerkung am Anfang jeder cs-Klassendatei hinzuzufügen, die IronPDF verwendet:

Schauen Sie sich die ausführliche Funktionsübersicht von IronPDF an.

IronPDF ist ein unentbehrliches Plugin. Holen Sie sich jetzt Ihr Exemplar und probieren Sie es mit dem IronPDF NuGet-Paket aus.

Erstellen einer PDF-Datei aus einer HTML-Zeichenkette in .NET C#

Die Erstellung einer PDF-Datei aus einem HTML-String in C# ist eine effiziente und lohnende Methode zur Erstellung einer neuen PDF-Datei in C#.

Die RenderHtmlAsPdf-Funktion von einem ChromePdfRenderer bietet eine einfache Möglichkeit, einen beliebigen HTML (HTML5) -String in ein PDF-Dokument zu konvertieren, dank der eingebetteten Version der Google Chrome-Engine in der IronPDF-DLL.

//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render HTML to pdf
Dim renderer = New ChromePdfRenderer()
Dim rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>")

Dim Output_Path = "My_First_Html.pdf"
PDF.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
$vbLabelText   $csharpLabel

RenderHtmlAsPdf ist ein leistungsstarkes Werkzeug, das CSS, JavaScript und Bilder vollständig unterstützt. Es kann notwendig sein, das zweite Argument von RenderHtmlAsPdf festzulegen, wenn diese Materialien auf einer Festplatte gespeichert sind.

Der folgende Code erzeugt eine PDF-Datei:

var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
Dim Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", "C:\Newproject")
$vbLabelText   $csharpLabel

Alle CSS-Stylesheets, Bilder und JavaScript-Dateien, auf die verwiesen wird, sind relativ zum BaseUrlPath, was eine organisiertere und logischere Struktur ermöglicht. Sie können natürlich auch Bilder, Stylesheets und im Internet verfügbare Elemente wie Web Fonts, Google Fonts und sogar jQuery verwenden.

Erstellen Sie ein PDF-Dokument.

Verwendung einer vorhandenen HTML-URL

Vorhandene URLs können mit C# sehr effizient und einfach in PDFs umgewandelt werden; dies ermöglicht es den Teams auch, das PDF-Design und das Back-End-PDF-Rendering auf verschiedene Abteilungen aufzuteilen, was von Vorteil ist.

Der folgende Code zeigt, wie die Seite endeavorcreative.com anhand ihrer URL gerendert wird:

//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render url to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/")

Dim Output_Path = "Url_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
$vbLabelText   $csharpLabel

Infolgedessen werden alle Hyperlinks (HTML-Links) und sogar HTML-Formulare im generierten PDF beibehalten.

Erstellen eines PDF-Dokuments aus einem vorhandenen HTML-Dokument

In diesem Abschnitt wird gezeigt, wie Sie eine beliebige lokale HTML-Datei rendern können. Es sieht so aus, als ob die Datei mit dem Protokoll file:/ für alle relativen Elemente wie CSS, Bilder und JavaScript geöffnet wurde.

//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render existing html to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html")

Dim Output_Path = "test1_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
$vbLabelText   $csharpLabel

Der Vorteil dieser Strategie besteht darin, dass Entwickler HTML-Inhalte in einem Browser testen können, während sie sie erstellen. Die Rendering-Engine von IronPDF basiert auf dem Chrome-Webbrowser. Daher wird empfohlen, XML zu PDF Konvertierung zu verwenden, da das Drucken von XML-Inhalten in PDF mit XSLT-Vorlagen erfolgen kann.

Konvertieren von ASP.NET Web Forms in eine PDF-Datei

Mit einer einzigen Codezeile können Sie ASP.NET-Online-Formulare in das PDF-Format statt in HTML konvertieren. Platzieren Sie die Codezeile in der Page_Load-Methode der Code-Behind-Datei der Seite, damit sie auf der Seite erscheint.

ASP.NET Web Forms-Anwendungen können entweder von Grund auf neu erstellt oder aus einer früheren Version geöffnet werden.

Installieren Sie das NuGet-Paket, wenn es nicht bereits installiert ist.

Das Schlüsselwort using sollte verwendet werden, um den IronPdf-Namensraum zu importieren.

Gehen Sie zu dem Code hinter der Seite, die Sie in PDF umwandeln möchten. Zum Beispiel die Datei Default.aspx.cs unter Verwendung von ASP.NET

RenderThisPageAsPdf ist eine Methode in der AspxToPdf-Klasse.

using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.UI

Namespace WebApplication7
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Dies erfordert, dass das IronPdf.Extensions.ASPX NuGet-Paket installiert wird. Es ist in .NET Core nicht verfügbar, da ASPX durch das MVC-Modell abgelöst wurde.

HTML-Vorlagen anwenden

Für Intranet- und Website-Entwickler ist die Möglichkeit zur Erstellung von PDF-Vorlagen oder zur "Stapelproduktion" von PDFs eine Standardvoraussetzung.

Anstatt eine Vorlage für ein PDF-Dokument zu erstellen, bietet die IronPDF Library eine Möglichkeit, eine Vorlage für HTML zu generieren, indem sie eine bestehende, gut getestete Technologie nutzt.

Eine dynamisch generierte PDF-Datei wird erstellt, wenn das HTML-Template mit Daten aus einem Query-String oder einer Datenbank ergänzt wird, wie unten dargestellt.

Nehmen wir als Beispiel die C#-Klasse String und ihre Eigenschaften. Die Formatierungsmethode eignet sich gut für einfache "Mail-Merge"-Vorgänge.

String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World")
$vbLabelText   $csharpLabel

Da HTML-Dateien ziemlich umfangreich sein können, ist es üblich, willkürliche Platzhalter wie [[NAME]] zu verwenden und sie dann durch genaue Daten zu ersetzen.

Das folgende Beispiel erzeugt drei PDF-Dokumente, die jeweils für einen anderen Benutzer angepasst werden.

var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)

Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(HtmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
$vbLabelText   $csharpLabel

ASP.NET MVC-Routing Laden Sie die PDF-Version dieser Seite herunter

Mit dem ASP.NET MVC-Framework können Sie den Benutzer zu einer PDF-Datei leiten.

Wenn Sie eine neue ASP.NET MVC-Anwendung erstellen oder einen vorhandenen MVC-Controller zu einer bestehenden Anwendung hinzufügen, wählen Sie diese Option. Starten Sie den Visual Studio-Assistenten für neue Projekte, indem Sie ASP.NET-Webanwendung (.NET Framework) > MVC aus dem Dropdown-Menü auswählen. Alternativ können Sie auch ein bestehendes MVC-Projekt öffnen. Ersetzen Sie die Index-Methode in der Datei "HomeController" im Ordner "Controllers", oder erstellen Sie einen neuen Controller im Ordner "Controllers".

Das folgende Beispiel zeigt, wie der Code geschrieben werden sollte:

using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc

Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Dim PDF = HtmlToPdf.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
			Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."

			Return View()
		End Function

		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."

			Return View()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Einem PDF-Dokument ein Deckblatt hinzufügen

Wie man PDF-Dateien in ASP.NET mit C# und IronPDF anzeigt, Abbildung 1: Eine Titelseite zu einem PDF-Dokument hinzufügen Eine Titelseite zu einem PDF-Dokument hinzufügen

IronPDF vereinfacht den Prozess der Zusammenführung von PDF-Dokumenten. Die häufigste Anwendung dieser Technik ist das Hinzufügen eines Deckblatts oder einer Rückseite zu einem bereits gerenderten PDF-Dokument, das gerendert wurde.

Um dies zu erreichen, erstellen Sie eine Titelseite und verwenden dann die PdfDocument-Fähigkeiten.

Um die beiden Dokumente zu kombinieren, verwenden Sie die Merge PDF Documents Method.

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Dim merged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf)
merged.SaveAs("Combined.Pdf")
$vbLabelText   $csharpLabel

Wasserzeichen zu Ihrem Dokument hinzufügen

Nicht zuletzt kann das Hinzufügen eines Wasserzeichens zu PDF-Dokumenten mit C#-Code erreicht werden; damit kann auf jeder Seite eines Dokuments ein Haftungsausschluss hinzugefügt werden, der besagt, dass das Dokument "vertraulich" oder "ein Muster" ist

// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
' prepare a stamp
Dim stamper As New HtmlStamper("<h2 style='color:red'>SAMPLE</h2>") With {
	.HorizontalOffset = New Length(-3, MeasurementUnit.Inch),
	.VerticalAlignment = VerticalAlignment.Bottom
}

' Stamps a watermark onto a new or existing PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyStamp(stamper)
pdf.SaveAs("C:\PathToWatermarked.pdf")
$vbLabelText   $csharpLabel

Ihre PDF-Datei kann mit einem Passwort geschützt werden

Wenn Sie die Kennworteigenschaft eines PDF-Dokuments festlegen, wird es verschlüsselt, und der Benutzer muss das richtige Kennwort eingeben, um das Dokument zu lesen. Dieses Beispiel kann in einer .NET Core-Konsolenanwendung verwendet werden.

using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
Imports IronPdf

Namespace ConsoleApp
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim renderer = New ChromePdfRenderer()
			Dim pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
			pdfDocument.Password = "strong!@#pass&^%word"
			pdfDocument.SaveAs("secured.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Auch ohne die oben genannten Vorteile können Sie mit IronPDF arbeiten:

Chipego
Software-Ingenieur
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS
Erzeugen von PDF-Dateien in C#
NÄCHSTES >
5 Schritte zur Generierung einer PDF-Datei in C#; mit IRON PDF