HTML-zu-PDF-Konvertierung in .NET Core (Aktualisiertes Tutorial 2024)
.NET Core PDF-Generator
Die Erstellung von .NET Core PDF-Dateien ist eine mühsame Aufgabe. Die Arbeit mit PDFs in ASP.NET MVC-Projekten sowie die Konvertierung von MVC-Ansichten, HTML-Dateien und Online-Webseiten in PDF kann eine Herausforderung sein. Dieses Tutorial arbeitet mit dem IronPDF-Tool, um diese Probleme zu lösen, und bietet Anleitungen für viele Ihrer PDF .NET-Anforderungen.
IronPDF unterstützt auchdebugging Ihres HTML mit Chrome für Pixel Perfect PDFs.
Konvertieren von HTML in PDF in .NET Core
- Laden Sie die C#-Bibliothek zur Konvertierung von HTML in PDF herunter
- Verwenden Sie
RenderUrlAsPdf
um Web-URLs in PDF zu konvertieren - Konvertierung von HTML-Markdown-Strings in PDF mit
RenderHtmlAsPdf
- Konvertieren Sie MVC-Ansichten in PDF durch Konfigurieren der Modell und Dienstleistungen klasse
- Ändern Sie die HTML-Seite, um das Modell zu verwenden, und rufen Sie eine Methode auf, um das HTML an
RenderHtmlAsPdf
Übersicht
Nach diesem Tutorial werden Sie in der Lage sein:
- Konvertierung in PDF aus verschiedenen Quellen wie URL, HTML, MVC-Ansichten
- Erweiterte Optionen für verschiedene PDF-Ausgabeeinstellungen
- Stellen Sie Ihr Projekt auf Linux und Windows bereit
- Arbeit mit Funktionen zur Bearbeitung von PDF-Dokumenten
- Kopf- und Fußzeilen hinzufügen, Dateien zusammenführen, Stempel hinzufügen
Arbeiten mit Dockers
Diese breite Palette an .NET Core HTML to PDF-Funktionen hilft bei einer ganzen Reihe von Projektanforderungen.
Erste Schritte mit IronPDF
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
Schritt 1
1. Die IronPDF-Bibliothek kostenlos installieren
IronPDF kann auf allen .NET-Projekttypen wie Windows-Anwendungen, ASP.NET MVC- und .NET Core-Anwendungen installiert und verwendet werden.
Um die IronPDF-Bibliothek zu unserem Projekt hinzuzufügen, gibt es zwei Möglichkeiten: entweder über den Visual Studio-Editor mit NuGet oder über die Befehlszeile mit dem Paketkonsolenmanager.
Installation mit NuGet
Um die IronPDF-Bibliothek mit NuGet zu unserem Projekt hinzuzufügen, können wir die visualisierte Schnittstelle verwenden(NuGet-Paketmanager) oder per Befehl über die Paketmanager-Konsole:
.1.1 Verwendung des NuGet-Paketmanagers
- Klicken Sie mit der rechten Maustaste auf den Projektnamen -> Wählen Sie NuGet-Paket verwalten - Im Browser-Tab -> IronPDF suchen -> Installieren - Klicken Sie auf Ok - Erledigt!
.1.2 Verwendung des NuGet-Paketkonsolenmanagers
- Von Tools -> NuGet Package Manager -> Package Manager Console - Befehl ausführen -> Install-Package IronPdf
Anleitungen Tutorials
2. Website in PDF konvertieren
Beispiel: Konsolenanwendung ConvertUrlToPdf
Gehen Sie folgendermaßen vor, um ein neues Asp.NET MVC-Projekt zu erstellen
- Öffnen Sie Visual Studio - Wählen Sie Neues Projekt erstellen - Wählen Sie Console App (.NET Core) - Geben Sie unserem Beispiel den Namen "ConvertUrlToPdf" und klicken Sie auf Erstellen - Jetzt haben wir eine Konsolenanwendung erstellt - IronPDF hinzufügen => Installieren anklicken
- Fügen Sie unsere ersten Zeilen hinzu, die die Hauptseite der Wikipedia-Website als PDF-Datei darstellen
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-1.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org/");
pdf.SaveAs("wiki.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
- Ausführen und Überprüfen der erstellten Datei wiki.pdf
3. .NET Core HTML in PDF konvertieren
Beispiel: ConvertHTMLToPdf Konsolenanwendung
Um HTML in PDF umzuwandeln, haben wir zwei Möglichkeiten:
1- HTML in eine Zeichenkette schreiben und diese dann wiedergeben
2- Schreiben Sie HTML in eine Datei und übergeben Sie den Pfad an IronPDF, um es zu rendern
Die Wiedergabe des HTML-String-Beispielcodes sieht folgendermaßen aus.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-2.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
pdf.SaveAs("HtmlString.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
Die resultierende PDF-Datei sieht dann so aus.
4. MVC-Ansicht in PDF konvertieren
Beispiel: TicketsApps .NET Core MVC-Anwendung
Lassen Sie uns ein Beispiel aus der Praxis umsetzen. Ich habe eine Online-Ticketverkaufsseite gewählt. Öffnen Sie die Website, navigieren Sie zu "Ticket buchen", geben Sie die erforderlichen Informationen ein und laden Sie dann Ihr Exemplar als PDF-Datei herunter.
Wir werden diese Schritte durchgehen:
- Projekt erstellen
- Client-Objektmodell erstellen
- Erstellen von Kundendiensten(hinzufügen, anzeigen)
- Design Ticketbuchungsseite
- Bestätigen und Speichern der Buchungsinformationen
- PDF-Ticket herunterladen
Projekt erstellen
Wählen Sie "ASP.NET Core Web App(Modell-Ansichts-Steuerung)projekt".
Nennen Sie das Projekt "TicketsApps"
Verwenden wir .NET 8 mit aktiviertem Linux-Docker. Ändern Sie in der Dockerdatei von "USER app" in "USER root". Auf diese Weise wird sichergestellt, dass der Bibliothek ausreichende Berechtigungen erteilt werden.
- Jetzt ist es so weit.
Client-Modell hinzufügen
Klicken Sie mit der rechten Maustaste auf den Ordner "Models" und fügen Sie eine Klasse hinzu.
Nennen Sie das Modell "ClientModel" und klicken Sie auf "Hinzufügen".
- Fügen Sie der Klasse ClientModel die Attribute "Name", "Telefon" und "E-Mail" hinzu. Machen Sie sie alle erforderlich, indem Sie das Attribut "Erforderlich" wie folgt über jedes von ihnen hinzufügen:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-3.cs
public class ClientModel
{
[Required]
public string Name { get; set; }
[Required]
public string Phone { get; set; }
[Required]
public string Email { get; set; }
}
Public Class ClientModel
<Required>
Public Property Name() As String
<Required>
Public Property Phone() As String
<Required>
Public Property Email() As String
End Class
Kundendienste hinzufügen
Erstellen Sie einen Ordner und nennen Sie ihn "Dienste"
Fügen Sie eine Klasse namens "ClientServices" hinzu
Fügen Sie ein statisches Objekt vom Typ "ClientModel" hinzu, um es als Repository zu verwenden.
- Fügen Sie zwei Funktionen hinzu: eine für das Speichern von Clients im Repository und die zweite zum Abrufen gespeicherter Clients.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-4.cs
public class ClientServices
{
private static ClientModel _clientModel;
public static void AddClient(ClientModel clientModel)
{
_clientModel = clientModel;
}
public static ClientModel GetClient()
{
return _clientModel;
}
}
Public Class ClientServices
Private Shared _clientModel As ClientModel
Public Shared Sub AddClient(ByVal clientModel As ClientModel)
_clientModel = clientModel
End Sub
Public Shared Function GetClient() As ClientModel
Return _clientModel
End Function
End Class
Design Ticketbuchungsseite
Klicken Sie im Lösungsexplorer mit der rechten Maustaste auf den Ordner "Controllers" und fügen Sie einen Controller hinzu.
Nennen Sie es "BookTicketController"
Rechtsklick auf die Indexfunktion(oder wie wir es nannten Aktion) und wählen Sie "Ansicht hinzufügen"
Fügen Sie eine Ansicht mit dem Namen "index" hinzu
- Aktualisieren Sie den HTML-Code wie folgt
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-5.cs
@model IronPdfMVCHelloWorld.Models.ClientModel
@{
ViewBag.Title = "Book Ticket";
}
<h2>Index</h2>
@using (Html.BeginForm())
{
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Phone, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10 pull-right">
<button type="submit" value="Save" class="btn btn-sm">
<i class="fa fa-plus"></i>
<span>
Save
</span>
</button>
</div>
</div>
</div>
}
model ReadOnly Property () As IronPdfMVCHelloWorld.Models.ClientModel
ViewBag.Title = "Book Ticket"
End Property
'INSTANT VB TODO TASK: The following line could not be converted:
(Of h2) Index</h2> [using](Html.BeginForm())
If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' <div class="form-horizontal"> @Html.ValidationSummary(True, "", New { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(model => model.Name, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Name, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Name, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Phone, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Phone, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Phone, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-10 pull-right"> <button type="submit" value="Save" class="btn btn-sm"> <i class="fa fa-plus"></i> <span> Save </span> </button> </div> </div> </div> }
- Fügen Sie einen Navigationslink hinzu, damit unsere Website-Besucher zu unserer neuen Buchungsseite navigieren können. Dies kann durch eine Aktualisierung des Layouts im bestehenden Pfad erfolgen(Ansichten -> Geteilt -> _Layout.cshtml). Fügen Sie den folgenden Code hinzu:
<li class="nav-item">
<a
class="nav-link text-dark"
asp-area=""
asp-controller="BookTicket"
asp-action="Index"
>Book Ticket</a
>
</li>
<li class="nav-item">
<a
class="nav-link text-dark"
asp-area=""
asp-controller="BookTicket"
asp-action="Index"
>Book Ticket</a
>
</li>
Das Ergebnis sollte wie folgt aussehen.
- Navigieren Sie zur Seite "Ticket buchen". Es sollte dann so aussehen:
Bestätigen und Speichern der Buchungsinformationen
- Fügen Sie eine weitere Indexaktion mit dem Attribut[HttpPost] um der MVC-Engine mitzuteilen, dass diese Aktion der Übermittlung von Daten dient. Überprüfen Sie das gesendete Modell, und wenn es gültig ist, leitet der Code den Besucher auf die TicketView-Seite um. Ist sie ungültig, erhält der Besucher auf dem Bildschirm eine Fehlermeldung zur Validierung.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-7.cs
[HttpPost]
public ActionResult Index(ClientModel model)
{
if (ModelState.IsValid)
{
ClientServices.AddClient(model);
return RedirectToAction("TicketView");
}
return View(model);
}
<HttpPost>
Public Function Index(ByVal model As ClientModel) As ActionResult
If ModelState.IsValid Then
ClientServices.AddClient(model)
Return RedirectToAction("TicketView")
End If
Return View(model)
End Function
Beispiel für die Fehlermeldungen
- Erstellen Sie ein Ticket-Modell in der Datei "Models" und fügen Sie den folgenden Code hinzu
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-9.cs
public class TicketModel : ClientModel
{
public int TicketNumber { get; set; }
public DateTime TicketDate { get; set; }
}
Public Class TicketModel
Inherits ClientModel
Public Property TicketNumber() As Integer
Public Property TicketDate() As DateTime
End Class
- TicketView hinzufügen, um unser Ticket anzuzeigen. In dieser Ansicht befindet sich eine Ticket-Teilansicht, die für die Anzeige des Tickets verantwortlich ist und später zum Drucken des Tickets verwendet wird.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-8.cs
public ActionResult TicketView()
{
var rand = new Random();
var client = ClientServices.GetClient();
var ticket = new TicketModel()
{
TicketNumber = rand.Next(100000, 999999),
TicketDate = DateTime.Now,
Email = client.Email,
Name = client.Name,
Phone = client.Phone
};
return View(ticket);
}
Public Function TicketView() As ActionResult
Dim rand = New Random()
Dim client = ClientServices.GetClient()
Dim ticket = New TicketModel() With {
.TicketNumber = rand.Next(100000, 999999),
.TicketDate = DateTime.Now,
.Email = client.Email,
.Name = client.Name,
.Phone = client.Phone
}
Return View(ticket)
End Function
- Klicken Sie mit der rechten Maustaste auf die Funktion TicketView, wählen Sie "Ansicht hinzufügen" und nennen Sie sie "TicketView". Fügen Sie den folgenden Code hinzu:
@model TicketsApps.Models.TicketModel @{ ViewData["Title"] = "TicketView"; }
@Html.Partial("_TicketPdf", Model) @using (Html.BeginForm()) { @Html.HiddenFor(c
=> c.Email) @Html.HiddenFor(c => c.Name) @Html.HiddenFor(c => c.Phone)
@Html.HiddenFor(c => c.TicketDate) @Html.HiddenFor(c => c.TicketNumber)
<div class="form-group">
<div class="col-md-10 pull-right">
<button type="submit" value="Save" class="btn btn-sm">
<i class="fa fa-plus"></i>
<span> Download Pdf </span>
</button>
</div>
</div>
}
@model TicketsApps.Models.TicketModel @{ ViewData["Title"] = "TicketView"; }
@Html.Partial("_TicketPdf", Model) @using (Html.BeginForm()) { @Html.HiddenFor(c
=> c.Email) @Html.HiddenFor(c => c.Name) @Html.HiddenFor(c => c.Phone)
@Html.HiddenFor(c => c.TicketDate) @Html.HiddenFor(c => c.TicketNumber)
<div class="form-group">
<div class="col-md-10 pull-right">
<button type="submit" value="Save" class="btn btn-sm">
<i class="fa fa-plus"></i>
<span> Download Pdf </span>
</button>
</div>
</div>
}
- Klicken Sie mit der rechten Maustaste auf die BookTicket-Datei, fügen Sie eine weitere Ansicht hinzu und nennen Sie sie "_TicketPdf" Fügen Sie den folgenden Code hinzu:
@model TicketsApps.Models.TicketModel @{ Layout = null; }
<link href="../css/ticket.css" rel="stylesheet" />
<div class="ticket">
<div class="stub">
<div class="top">
<span class="admit">VIP</span>
<span class="line"></span>
<span class="num">
@Model.TicketNumber
<span> Ticket</span>
</span>
</div>
<div class="number">1</div>
<div class="invite">Room Number</div>
</div>
<div class="check">
<div class="big">
Your <br />
Ticket
</div>
<div class="number">VIP</div>
<div class="info">
<section>
<div class="title">Date</div>
<div>@Model.TicketDate.ToShortDateString()</div>
</section>
<section>
<div class="title">Issued By</div>
<div>Admin</div>
</section>
<section>
<div class="title">Invite Number</div>
<div>@Model.TicketNumber</div>
</section>
</div>
</div>
</div>
@model TicketsApps.Models.TicketModel @{ Layout = null; }
<link href="../css/ticket.css" rel="stylesheet" />
<div class="ticket">
<div class="stub">
<div class="top">
<span class="admit">VIP</span>
<span class="line"></span>
<span class="num">
@Model.TicketNumber
<span> Ticket</span>
</span>
</div>
<div class="number">1</div>
<div class="invite">Room Number</div>
</div>
<div class="check">
<div class="big">
Your <br />
Ticket
</div>
<div class="number">VIP</div>
<div class="info">
<section>
<div class="title">Date</div>
<div>@Model.TicketDate.ToShortDateString()</div>
</section>
<section>
<div class="title">Issued By</div>
<div>Admin</div>
</section>
<section>
<div class="title">Invite Number</div>
<div>@Model.TicketNumber</div>
</section>
</div>
</div>
</div>
Folgendes hinzufügen: "ticket.css"Datei in der Datei "wwwroot/css".
Fügen Sie IronPDF zu Ihrem Projekt hinzu und stimmen Sie der Lizenz zu.
- Fügen Sie die TicketView-Post-Methode hinzu, die die Download-Schaltfläche behandeln wird.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-10.cs
[HttpPost]
public ActionResult TicketView(TicketModel model)
{
IronPdf.Installation.TempFolderPath = $@"{Directory.GetParent}/irontemp/";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
var html = this.RenderViewAsync("_TicketPdf", model);
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(html.Result, @"wwwroot/css");
return File(pdf.Stream.ToArray(), "application/pdf");
}
<HttpPost>
Public Function TicketView(ByVal model As TicketModel) As ActionResult
IronPdf.Installation.TempFolderPath = $"{AddressOf Directory.GetParent}/irontemp/"
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Dim html = Me.RenderViewAsync("_TicketPdf", model)
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html.Result, "wwwroot/css")
Return File(pdf.Stream.ToArray(), "application/pdf")
End Function
- Erstellen Sie einen Controller in der Datei "Controller" und nennen Sie ihn "ControllerExtensions". Dieser Controller wird die Teilansicht in einen String umwandeln. Verwenden Sie den Durchwahlcode wie folgt:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-11.cs
using System.IO;
using System.Threading.Tasks;
public static class ControllerExtensions
{
public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
{
if (string.IsNullOrEmpty(viewName))
{
viewName = controller.ControllerContext.ActionDescriptor.ActionName;
}
controller.ViewData.Model = model;
using (var writer = new StringWriter())
{
IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
ViewEngineResult viewResult = viewEngine.FindView(controller.ControllerContext, viewName, !partial);
if (viewResult.Success == false)
{
return $"A view with the name {viewName} could not be found";
}
ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, new HtmlHelperOptions());
await viewResult.View.RenderAsync(viewContext);
return writer.GetStringBuilder().ToString();
}
}
}
Imports System.IO
Imports System.Threading.Tasks
Public Module ControllerExtensions
<System.Runtime.CompilerServices.Extension> _
Public Async Function RenderViewAsync(Of TModel)(ByVal controller As Controller, ByVal viewName As String, ByVal model As TModel, Optional ByVal As Boolean = False) As Task(Of String)
If String.IsNullOrEmpty(viewName) Then
viewName = controller.ControllerContext.ActionDescriptor.ActionName
End If
controller.ViewData.Model = model
Using writer = New StringWriter()
Dim viewEngine As IViewEngine = TryCast(controller.HttpContext.RequestServices.GetService(GetType(ICompositeViewEngine)), ICompositeViewEngine)
Dim viewResult As ViewEngineResult = viewEngine.FindView(controller.ControllerContext, viewName, Not partial)
If viewResult.Success = False Then
Return $"A view with the name {viewName} could not be found"
End If
Dim viewContext As New ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, New HtmlHelperOptions())
Await viewResult.View.RenderAsync(viewContext)
Return writer.GetStringBuilder().ToString()
End Using
End Function
End Module
Führen Sie die Anwendung aus, füllen Sie die Ticketinformationen aus und klicken Sie dann auf "Speichern".
- Anzeigen des erstellten Tickets
PDF-Ticket herunterladen
Um das Ticket als PDF herunterzuladen, klicken Sie auf "Download Pdf". Sie erhalten eine PDF-Datei mit dem Ticket.
Sie können den vollständigen Code für diese Anleitung herunterladen. Er wird als gezippte Datei geliefert, die Sie in Visual Studio öffnen können. Klicken Sie hier, um das Projekt herunterzuladen.
5. .NET PDF Rendering Optionen Tabelle
Wir haben einige erweiterte Optionen, die PDF-Rendering-Optionen wie die Anpassung von Rändern definieren,
papierausrichtung, Papierformat und mehr.
Die nachstehende Tabelle veranschaulicht die vielen verschiedenen Möglichkeiten.
Klasse | ChromePdfRenderer | |
---|---|---|
Beschreibung | Dient zur Festlegung von PDF-Druckoptionen wie Papiergröße, DPI, Kopf- und Fußzeilen | |
Eigenschaften / Funktionen | Typ | Beschreibung |
CustomCookies | Dictionary<string, string> | Benutzerdefinierte Cookies für das HTML-Rendering. Cookies bleiben zwischen den Rendervorgängen nicht bestehen und müssen jedes Mal neu gesetzt werden. |
PaperFit | VirtualPaperLayoutManager | Ein Manager zum Einrichten von Layouts für virtuelles Papier, der steuert, wie der Inhalt auf PDF-"Papier"-Seiten angeordnet wird. Enthält Optionen für Standard-Chrome-Verhalten, gezoomt, Responsive CSS3 Layouts, Scale-To-Page & Continuous Feed Stil PDF Seite Setups. |
UseMarginsOnHeaderAndFooter | UseMargins | Verwenden Sie beim Rendern von Kopf- und Fußzeilen die Randwerte des Hauptdokuments. |
CreatePdfFormsFromHtml | bool | Verwandelt alle HTML-Formularelemente in bearbeitbare PDF-Formulare. Der Standardwert ist true. |
CssMediaType | PdfCssMediaType | Aktiviert Media="screen" CSS-Stile und StyleSheets. Der Standardwert ist PdfCssMediaType.Screen. |
CustomCssUrl | string | Ermöglicht die Anwendung eines benutzerdefinierten CSS-Stylesheets auf HTML vor dem Rendering. Kann ein lokaler Dateipfad oder eine Remote-URL sein. Nur anwendbar beim Rendern von HTML in PDF. |
EnableJavaScript | bool | Ermöglicht die Ausführung von JavaScript und JSON, bevor die Seite gerendert wird. Ideal für das Drucken aus Ajax-/Angular-Anwendungen. Der Standardwert ist false. |
EnableMathematicalLaTex | bool | Ermöglicht das Rendern von mathematischen LaTeX-Elementen. |
Javascript | string | Eine benutzerdefinierte JavaScript-Zeichenkette, die nach dem Laden aller HTML-Dateien, aber vor dem PDF-Rendering ausgeführt wird. |
JavascriptMessageListener | StringDelegate | Ein Methoden-Callback, der immer dann aufgerufen wird, wenn eine JavaScript-Konsolenmeldung des Browsers verfügbar wird. |
ErsteSeiteNummer | int | Erste Seitenzahl, die in PDF-Kopf- und -Fußzeilen verwendet werden soll. Der Standardwert ist 1. |
Inhaltsverzeichnis | TableOfContentsTypes | Erzeugt ein Inhaltsverzeichnis an der Stelle im HTML-Dokument, an der ein Element mit der id "ironpdf-toc" gefunden wird. |
GrayScale | bool | Gibt ein schwarz-weißes PDF aus. Der Standardwert ist false. |
TextHeader | ITextHeaderFooter | Legt den Fußzeileninhalt für jede PDF-Seite als Text fest, unterstützt "Mail-Merge" und wandelt URLs automatisch in Hyperlinks um. |
TextFooter | ||
HtmlHeader | HtmlHeaderFooter | Setzt den Kopfzeileninhalt für jede PDF-Seite als HTML. Unterstützt 'mail-merge'. |
HtmlFooter | ||
InputEncoding | Kodierung | Die Eingabezeichencodierung als String. Der Standardwert ist Encoding.UTF8. |
MarginTop | doppelt | Oberer PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Der Standardwert ist 25. |
MarginRight | doppelt | Rechter PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Standardwert ist 25. |
MarginBottom | doppelt | Unterer PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Der Standardwert ist 25. |
MarginLeft | doppelt | Linker PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Standardwert ist 25. |
PapierOrientierung | PdfPaperOrientation | Die PDF-Papierausrichtung, z. B. Hochformat oder Querformat. Der Standardwert ist Hochformat. |
PaperSize | PdfPaperSize | Einstellen des Papierformats |
SetCustomPaperSizeinCentimeters | doppelt | Legt das Papierformat in Zentimetern fest. |
SetCustomPaperSizeInInches | Legt das Papierformat in Zoll fest. | |
SetCustomPaperSizeinMilimeters | Legt das Papierformat in Millimetern fest. | |
SetCustomPaperSizeinPixelsOrPoints | Legt die Papiergröße in Bildschirm-Pixeln oder Druckerpunkten fest. | |
PrintHtmlBackgrounds | Boolesche | Gibt an, ob Hintergrundfarben und Bilder aus HTML gedruckt werden sollen. Der Standardwert ist true. |
RequestContext | Anfragekontexte | Anforderungskontext für diesen Render, der die Isolierung bestimmter Ressourcen wie z. B. Cookies bestimmt. |
Zeitüberschreitung | Integer | Render-Timeout in Sekunden. Der Standardwert ist 60. |
Titel | Zeichenfolge | PDF-Dokumentenname und Titel-Metadaten, nützlich für Mail-Merge und automatische Dateibenennung in den Erweiterungen IronPDF MVC und Razor. |
ForcePaperSize | Boolesche | Erzwingt die exakte Einhaltung der über IronPDF.ChromePdfRenderOptions.PaperSize angegebenen Seitengröße durch Größenänderung der Seite nach der Generierung einer PDF-Datei aus HTML. Hilft, kleine Fehler in der Seitengröße beim Rendern von HTML in PDF zu korrigieren. |
WaitFor | WaitFor | Ein Wrapper-Objekt, das die Konfiguration für den Wait-for-Mechanismus enthält, mit dem Benutzer auf bestimmte Ereignisse warten können, bevor sie gerendert werden. Standardmäßig wird auf nichts gewartet. |
6. .NET PDF Kopfzeile Fußzeile Optionen Diagramm
Klasse | TextHeaderFooter | |
---|---|---|
Beschreibung | Wird verwendet, um die Anzeigeoptionen für Textköpfe und Fußzeilen zu definieren | |
Eigenschaften \ Funktionen | Typ | Beschreibung |
CenterText | string | Legen Sie den Text in der Kopf- oder Fußzeile der PDF-Datei zentriert/links/rechts fest. Sie können auch Metadaten mit Hilfe von Platzhaltern für Strings einfügen: {page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title} |
LinkerText | ||
RechtsText | ||
DrawDividerLine | Boolesche | Fügt auf jeder Seite des PDF-Dokuments eine horizontale Trennlinie zwischen der Kopf-/Fußzeile und dem Seiteninhalt ein. |
DrawDividerLineColor | Farbe | Die Farbe der Trennlinie, die für IronPDF.TextHeaderFooter.DrawDividerLine angegeben wurde. |
Schriftart | PdfFont | Schriftfamilie, die für das PDF-Dokument verwendet wird. Standard ist IronSoftware.Drawing.FontTypes.Helvetica. |
FontSize | Doppelter | Schriftgröße in Pixel. |
7. PDF-Druckoptionen (Rendering) anwenden
Lassen Sie uns versuchen, unsere PDF-Rendering-Optionen zu konfigurieren.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-12.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
8. Docker .NET Core-Anwendungen
8.1. Was ist Docker?
Docker ist eine Reihe von Platform-as-Service-Produkten, die Virtualisierung auf Betriebssystemebene nutzen, um Software in Paketen, so genannten Containern, bereitzustellen. Container sind voneinander isoliert und bündeln ihre eigene Software, Bibliotheken und Konfigurationsdateien; sie können über klar definierte Kanäle miteinander kommunizieren.
Sie können mehr erfahren überDocker und ASP.NET Core-Anwendung hier.
Wir gehen gleich zur Arbeit mit Docker über, aber wenn Sie mehr erfahren möchten, finden Sie eine hervorragende Einführung in.NET und Docker hier. und noch mehr darüber, wie mancontainer für .NET Core-Anwendungen erstellen.
Lassen Sie uns gemeinsam mit Docker loslegen.
8.2. Docker installieren
Besuchen Sie die Docker-Website hier, umdocker installieren. Klicken Sie auf Loslegen. Klicken Sie auf Download für Mac und Windows. Registrieren Sie sich kostenlos und melden Sie sich dann an. Docker für Windows herunterladen. Starten Sie die Installation von Docker. Es wird ein Neustart erforderlich sein. Nach dem Neustart Ihres Rechners melden Sie sich bei Docker an. Jetzt können Sie Docker "hello world" ausführen, indem Sie die Windows-Befehlszeile oder das PowerShell-Skript öffnen und schreiben:
Docker ausführen hello-world Hier ist eine Liste der wichtigsten Befehlszeilen, die Ihnen helfen soll:
- Docker-Images => Auflisten aller verfügbaren Images auf diesem Rechner
- Docker ps => zum Auflisten aller laufenden Container
- Docker ps -a => zum Auflisten aller Container
8.3. In Linux-Container ausführen
9. Arbeiten mit vorhandenen PDF-Dokumenten
9.1. Vorhandene PDF-Datei öffnen
So wie Sie eine PDF-Datei aus einer URL und HTML erstellen können(text oder Datei)können Sie auch mit bestehenden PDF-Dokumenten arbeiten.
Das folgende Beispiel zeigt, wie man entweder ein normales PDF oder ein verschlüsseltes PDF mit einem Passwort öffnet
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-13.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
// Open an unencrypted pdf
PdfDocument unencryptedPdf = PdfDocument.FromFile("testFile.pdf");
// Open an encrypted pdf
PdfDocument encryptedPdf = PdfDocument.FromFile("testFile2.pdf", "MyPassword");
IronPdf.License.LicenseKey = "YourLicenseKey"
' Open an unencrypted pdf
Dim unencryptedPdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
' Open an encrypted pdf
Dim encryptedPdf As PdfDocument = PdfDocument.FromFile("testFile2.pdf", "MyPassword")
9.2. Mehrere PDFs zusammenführen
Sie können mehrere PDF-Dateien wie folgt zu einer einzigen PDF-Datei zusammenführen:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-14.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
List<PdfDocument> PDFs = new List<PdfDocument>();
PDFs.Add(PdfDocument.FromFile("1.pdf"));
PDFs.Add(PdfDocument.FromFile("2.pdf"));
PDFs.Add(PdfDocument.FromFile("3.pdf"));
using PdfDocument PDF = PdfDocument.Merge(PDFs);
PDF.SaveAs("mergedFile.pdf");
foreach (PdfDocument pdf in PDFs)
{
pdf.Dispose();
}
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim PDFs As New List(Of PdfDocument)()
PDFs.Add(PdfDocument.FromFile("1.pdf"))
PDFs.Add(PdfDocument.FromFile("2.pdf"))
PDFs.Add(PdfDocument.FromFile("3.pdf"))
Using PDF As PdfDocument = PdfDocument.Merge(PDFs)
PDF.SaveAs("mergedFile.pdf")
'INSTANT VB NOTE: The variable pdf was renamed since Visual Basic will not allow local variables with the same name as parameters or other local variables:
For Each Me.pdf_Conflict As PdfDocument In PDFs
Me.pdf_Conflict.Dispose()
Next pdf_Conflict
End Using
Fügen Sie eine weitere PDF-Datei wie folgt an das Ende der aktuellen PDF-Datei an:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-15.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("1.pdf")
Dim pdf2 As PdfDocument = PdfDocument.FromFile("2.pdf")
pdf.AppendPdf(pdf2)
pdf.SaveAs("appendedFile.pdf")
Einfügen einer PDF-Datei in eine andere PDF-Datei ab einem bestimmten Index:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-16.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.InsertPdf(pdf2, 0);
pdf.SaveAs("InsertIntoSpecificIndex.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("1.pdf")
Dim pdf2 As PdfDocument = PdfDocument.FromFile("2.pdf")
pdf.InsertPdf(pdf2, 0)
pdf.SaveAs("InsertIntoSpecificIndex.pdf")
9.3 Kopf- oder Fußzeilen hinzufügen
Sie können Kopf- und Fußzeilen zu einer vorhandenen PDF-Datei hinzufügen oder wenn Sie die PDF-Datei aus HTML oder einer URL rendern.
Es gibt zwei Klassen, die Sie verwenden können, um einer PDF-Datei Kopf- oder Fußzeilen hinzuzufügen:
- TextHeaderFooter: einfachen Text in Kopf- oder Fußzeile einfügen.
HtmlHeaderFooter: Hinzufügen von Kopf- oder Fußzeilen mit reichhaltigem HTML-Inhalt und Bildern.
Sehen wir uns nun zwei Beispiele dafür an, wie man Kopf- und Fußzeilen zu einer bestehenden PDF-Datei hinzufügt oder wenn sie mit diesen beiden Klassen gerendert wird.
9.3.1 Kopfzeile zu bestehendem pdf hinzufügen
Nachfolgend ein Beispiel für das Laden einer vorhandenen PDF-Datei und das anschließende Hinzufügen von Kopf- und Fußzeilen mit den Methoden "AddTextHeaders" und "AddHtmlFooters".
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-17.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
TextHeaderFooter header = new TextHeaderFooter()
{
CenterText = "Pdf Header",
LeftText = "{date} {time}",
RightText = "{page} of {total-pages}",
DrawDividerLine = true,
FontSize = 10
};
pdf.AddTextHeaders(header);
pdf.SaveAs("withHeader.pdf");
HtmlHeaderFooter Footer = new HtmlHeaderFooter()
{
HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
DrawDividerLine = true,
MaxHeight = 10 //mm
};
pdf.AddHtmlFooters(Footer);
pdf.SaveAs("withHeaderAndFooters.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
Dim header As New TextHeaderFooter() With {
.CenterText = "Pdf Header",
.LeftText = "{date} {time}",
.RightText = "{page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 10
}
pdf.AddTextHeaders(header)
pdf.SaveAs("withHeader.pdf")
Dim Footer As New HtmlHeaderFooter() With {
.HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
.DrawDividerLine = True,
.MaxHeight = 10
}
pdf.AddHtmlFooters(Footer)
pdf.SaveAs("withHeaderAndFooters.pdf")
9.3.2 Kopf- und Fußzeile zu neuem pdf hinzufügen
Hier ist ein Beispiel für die Erstellung einer PDF-Datei aus einer HTML-Datei und das Hinzufügen einer Kopf- und Fußzeile mit Hilfe von Rendering-Optionen.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-18.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Pdf Header",
LeftText = "{date} {time}",
RightText = "{page} of {total-pages}",
DrawDividerLine = true,
FontSize = 10
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
DrawDividerLine = true,
MaxHeight = 10
};
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("test.html");
pdf.SaveAs("generatedFile.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "Pdf Header",
.LeftText = "{date} {time}",
.RightText = "{page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 10
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
.DrawDividerLine = True,
.MaxHeight = 10
}
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("test.html")
pdf.SaveAs("generatedFile.pdf")
10. PDF-Kennwort und Sicherheit hinzufügen
Sie können Ihre PDF-Datei mit einem Passwort schützen und die Sicherheitseinstellungen der Datei bearbeiten, z. B. Kopieren und Drucken verhindern.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-19.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
// Edit file metadata
pdf.MetaData.Author = "john smith";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key"); //secret-key is a owner password
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document ecrpytion password
pdf.Password = "123";
pdf.SaveAs("secured.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
' Edit file metadata
pdf.MetaData.Author = "john smith"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key") 'secret-key is a owner password
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Change or set the document ecrpytion password
pdf.Password = "123"
pdf.SaveAs("secured.pdf")
11. Digitales Signieren von PDFs
Sie können eine PDF-Datei auch wie folgt digital signieren:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-20.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
pdf.Sign(new PdfSignature("cert123.pfx", "password"));
pdf.SaveAs("signed.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
pdf.Sign(New PdfSignature("cert123.pfx", "password"))
pdf.SaveAs("signed.pdf")
Erweitertes Beispiel für mehr Kontrolle:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-21.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
IronPdf.Signing.PdfSignature signature = new IronPdf.Signing.PdfSignature("cert123.pfx", "123");
// Optional signing options
signature.SigningContact = "support@ironsoftware.com";
signature.SigningLocation = "Chicago, USA";
signature.SigningReason = "To show how to sign a PDF";
// Sign the PDF with the PdfSignature. Multiple signing certificates may be used
pdf.Sign(signature);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
Dim signature As New IronPdf.Signing.PdfSignature("cert123.pfx", "123")
' Optional signing options
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"
' Sign the PDF with the PdfSignature. Multiple signing certificates may be used
pdf.Sign(signature)
12. Text und Bilder aus PDF extrahieren
Text und Bilder extrahieren Mit IronPDF können Sie Text und Bilder aus einer PDF-Datei wie folgt extrahieren:
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-22.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
pdf.ExtractAllText(); // Extract all text in the pdf
pdf.ExtractTextFromPage(0); // Read text from specific page
// Extract all images in the pdf
var AllImages = pdf.ExtractAllImages();
// Extract images from specific page
var ImagesOfAPage = pdf.ExtractImagesFromPage(0);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
pdf.ExtractAllText() ' Extract all text in the pdf
pdf.ExtractTextFromPage(0) ' Read text from specific page
' Extract all images in the pdf
Dim AllImages = pdf.ExtractAllImages()
' Extract images from specific page
Dim ImagesOfAPage = pdf.ExtractImagesFromPage(0)
12.1. PDF in Bild rastern
Sie können PDF-Seiten auch wie folgt in Bilder umwandeln
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-23.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
List<int> pageList = new List<int>() { 1, 2 };
pdf.RasterizeToImageFiles("*.png", pageList);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
Dim pageList As New List(Of Integer)() From {1, 2}
pdf.RasterizeToImageFiles("*.png", pageList)
13. PDF-Wasserzeichen hinzufügen
The following is an example of how to watermark PDF pages.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-24.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Apply watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs("Watermarked.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Apply watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("Watermarked.pdf")
Wasserzeichen haben eine begrenzte Anzahl von Optionen und Funktionen. Für eine bessere Kontrolle können Sie die Klasse HTMLStamper verwenden.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-25.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<div>test text </div>");
// Configure HTML stamper
HtmlStamper backgroundStamp = new HtmlStamper()
{
Html = "<h2 style='color:red'>copyright 2018 ironpdf.com",
MaxWidth = new Length(20),
MaxHeight = new Length(20),
Opacity = 50,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle
};
pdf.ApplyStamp(backgroundStamp);
pdf.SaveAs("stamped.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<div>test text </div>")
' Configure HTML stamper
Dim backgroundStamp As New HtmlStamper() With {
.Html = "<h2 style='color:red'>copyright 2018 ironpdf.com",
.MaxWidth = New Length(20),
.MaxHeight = New Length(20),
.Opacity = 50,
.Rotation = -45,
.IsStampBehindContent = True,
.VerticalAlignment = VerticalAlignment.Middle
}
pdf.ApplyStamp(backgroundStamp)
pdf.SaveAs("stamped.pdf")
Tutorial Schnellzugriff
Holen Sie sich den Quellcode
Greifen Sie auf den gesamten Quellcode dieses Tutorials als Visual Studio-Projekt-ZIP-Datei zu, die Sie leicht für Ihr Projekt verwenden und weitergeben können.
Holen Sie sich den CodeGitHub Tutorial Zugang
Erkunden Sie dieses Tutorial und viele weitere über GitHub. Die Verwendung der Projekte und des Quellcodes ist der beste Weg, um zu lernen und sie auf Ihre eigenen PDF .NET Core-Anforderungen und Anwendungsfälle anzuwenden.
PDFs in .NET Core Tutorial generierenBehalten Sie das PDF CSharp Cheat Sheet
Entwickeln Sie PDFs in Ihren .NET-Anwendungen mit unserem praktischen Referenzdokument. Durch den schnellen Zugriff auf gängige Funktionen und Beispiele für die Erzeugung und Bearbeitung von PDFs in C# und VB.NET hilft Ihnen dieses gemeinsam nutzbare Tool, Zeit und Aufwand für den Einstieg in IronPDF und gängige PDF-Anforderungen in Ihrem Projekt zu sparen.
Behalten Sie den SpickzettelMehr Dokumentation
Lesen Sie die IronPDF API-Referenz, in der alle Funktionen von IronPDF sowie Namespaces, Klassen, Methoden, Felder und Enums ausführlich beschrieben sind.
API-Referenzdokumentation