HTML-zu-PDF-Konvertierung in .NET Core (Aktualisiertes Tutorial 2024)

This article was translated from English: Does it need improvement?
Translated
View the article in English

.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.


Ü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.

    Erster Schritt:
    green arrow pointer


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 1 related to Installation mit NuGet- Im Browser-Tab -> IronPDF suchen -> Installieren 2 related to Installation mit NuGet- Klicken Sie auf Ok 3 related to Installation mit NuGet- Erledigt! 4 related to Installation mit NuGet

.1.2 Verwendung des NuGet-Paketkonsolenmanagers

- Von Tools -> NuGet Package Manager -> Package Manager Console 5 related to Installation mit NuGet- Befehl ausführen -> Install-Package IronPdf 6 related to Installation mit NuGet


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 7 related to 2. Website in PDF konvertieren- Wählen Sie Neues Projekt erstellen 8 related to 2. Website in PDF konvertieren- Wählen Sie Console App (.NET Core) 9 related to 2. Website in PDF konvertieren- Geben Sie unserem Beispiel den Namen "ConvertUrlToPdf" und klicken Sie auf Erstellen 10 related to 2. Website in PDF konvertieren- Jetzt haben wir eine Konsolenanwendung erstellt 11 related to 2. Website in PDF konvertieren- IronPDF hinzufügen => Installieren anklicken 12 related to 2. Website in PDF konvertieren13 related to 2. Website in PDF konvertieren

- 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
VB   C#

- Ausführen und Überprüfen der erstellten Datei wiki.pdf 14 related to 2. Website in PDF konvertieren


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
VB   C#

Die resultierende PDF-Datei sieht dann so aus.

15 related to 3. .NET Core HTML in PDF konvertieren


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

  1. Wählen Sie "ASP.NET Core Web App(Modell-Ansichts-Steuerung)projekt".

    16 related to Projekt erstellen
  2. Nennen Sie das Projekt "TicketsApps"

    17 related to Projekt erstellen
  3. 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.

    18 related to Projekt erstellen
  4. Jetzt ist es so weit. 19 related to Projekt erstellen

Client-Modell hinzufügen

  1. Klicken Sie mit der rechten Maustaste auf den Ordner "Models" und fügen Sie eine Klasse hinzu.

    20 related to Client-Modell hinzufügen
  2. Nennen Sie das Modell "ClientModel" und klicken Sie auf "Hinzufügen".

    21 related to Client-Modell hinzufügen
  3. 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
VB   C#

Kundendienste hinzufügen

  1. Erstellen Sie einen Ordner und nennen Sie ihn "Dienste"

  2. Fügen Sie eine Klasse namens "ClientServices" hinzu

  3. Fügen Sie ein statisches Objekt vom Typ "ClientModel" hinzu, um es als Repository zu verwenden.

  4. 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
VB   C#

Design Ticketbuchungsseite

  1. Klicken Sie im Lösungsexplorer mit der rechten Maustaste auf den Ordner "Controllers" und fügen Sie einen Controller hinzu.

    22 related to Design Ticketbuchungsseite
  2. Nennen Sie es "BookTicketController"

    23 related to Design Ticketbuchungsseite
  3. Rechtsklick auf die Indexfunktion(oder wie wir es nannten Aktion) und wählen Sie "Ansicht hinzufügen"

    24 related to Design Ticketbuchungsseite
  4. Fügen Sie eine Ansicht mit dem Namen "index" hinzu

    25 related to Design Ticketbuchungsseite
  5. 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> }
VB   C#
  1. 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>
HTML
  1. Das Ergebnis sollte wie folgt aussehen.

    26 related to Design Ticketbuchungsseite
  2. Navigieren Sie zur Seite "Ticket buchen". Es sollte dann so aussehen: 27 related to Design Ticketbuchungsseite

Bestätigen und Speichern der Buchungsinformationen

  1. 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
VB   C#

Beispiel für die Fehlermeldungen 28 related to Bestätigen und Speichern der Buchungsinformationen

  1. 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
VB   C#
  1. 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
VB   C#
  1. 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>
}
HTML
  1. 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>
HTML
  1. Folgendes hinzufügen: "ticket.css"Datei in der Datei "wwwroot/css".

  2. Fügen Sie IronPDF zu Ihrem Projekt hinzu und stimmen Sie der Lizenz zu.

    31 related to Bestätigen und Speichern der Buchungsinformationen
  3. 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
VB   C#
  1. 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
VB   C#
  1. Führen Sie die Anwendung aus, füllen Sie die Ticketinformationen aus und klicken Sie dann auf "Speichern".

    32 related to Bestätigen und Speichern der Buchungsinformationen
  2. Anzeigen des erstellten Tickets 33 related to Bestätigen und Speichern der Buchungsinformationen

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.

KlasseChromePdfRenderer
BeschreibungDient zur Festlegung von PDF-Druckoptionen wie Papiergröße, DPI, Kopf- und Fußzeilen
Eigenschaften / FunktionenTypBeschreibung
CustomCookiesDictionary<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.
PaperFitVirtualPaperLayoutManagerEin 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.
UseMarginsOnHeaderAndFooterUseMarginsVerwenden Sie beim Rendern von Kopf- und Fußzeilen die Randwerte des Hauptdokuments.
CreatePdfFormsFromHtmlboolVerwandelt alle HTML-Formularelemente in bearbeitbare PDF-Formulare. Der Standardwert ist true.
CssMediaTypePdfCssMediaTypeAktiviert Media="screen" CSS-Stile und StyleSheets. Der Standardwert ist PdfCssMediaType.Screen.
CustomCssUrlstringErmö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.
EnableJavaScriptboolErmö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.
EnableMathematicalLaTexboolErmöglicht das Rendern von mathematischen LaTeX-Elementen.
JavascriptstringEine benutzerdefinierte JavaScript-Zeichenkette, die nach dem Laden aller HTML-Dateien, aber vor dem PDF-Rendering ausgeführt wird.
JavascriptMessageListenerStringDelegateEin Methoden-Callback, der immer dann aufgerufen wird, wenn eine JavaScript-Konsolenmeldung des Browsers verfügbar wird.
ErsteSeiteNummerintErste Seitenzahl, die in PDF-Kopf- und -Fußzeilen verwendet werden soll. Der Standardwert ist 1.
InhaltsverzeichnisTableOfContentsTypesErzeugt ein Inhaltsverzeichnis an der Stelle im HTML-Dokument, an der ein Element mit der id "ironpdf-toc" gefunden wird.
GrayScaleboolGibt ein schwarz-weißes PDF aus. Der Standardwert ist false.
TextHeaderITextHeaderFooterLegt den Fußzeileninhalt für jede PDF-Seite als Text fest, unterstützt "Mail-Merge" und wandelt URLs automatisch in Hyperlinks um.
TextFooter
HtmlHeaderHtmlHeaderFooterSetzt den Kopfzeileninhalt für jede PDF-Seite als HTML. Unterstützt 'mail-merge'.
HtmlFooter
InputEncodingKodierungDie Eingabezeichencodierung als String. Der Standardwert ist Encoding.UTF8.
MarginTopdoppeltOberer PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Der Standardwert ist 25.
MarginRightdoppeltRechter PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Standardwert ist 25.
MarginBottomdoppeltUnterer PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Der Standardwert ist 25.
MarginLeftdoppeltLinker PDF-"Papier"-Rand in Millimetern. Für randlose und kommerzielle Druckanwendungen auf Null setzen. Standardwert ist 25.
PapierOrientierungPdfPaperOrientationDie PDF-Papierausrichtung, z. B. Hochformat oder Querformat. Der Standardwert ist Hochformat.
PaperSizePdfPaperSizeEinstellen des Papierformats
SetCustomPaperSizeinCentimetersdoppeltLegt das Papierformat in Zentimetern fest.
SetCustomPaperSizeInInchesLegt das Papierformat in Zoll fest.
SetCustomPaperSizeinMilimetersLegt das Papierformat in Millimetern fest.
SetCustomPaperSizeinPixelsOrPointsLegt die Papiergröße in Bildschirm-Pixeln oder Druckerpunkten fest.
PrintHtmlBackgroundsBoolescheGibt an, ob Hintergrundfarben und Bilder aus HTML gedruckt werden sollen. Der Standardwert ist true.
RequestContextAnfragekontexteAnforderungskontext für diesen Render, der die Isolierung bestimmter Ressourcen wie z. B. Cookies bestimmt.
ZeitüberschreitungIntegerRender-Timeout in Sekunden. Der Standardwert ist 60.
TitelZeichenfolgePDF-Dokumentenname und Titel-Metadaten, nützlich für Mail-Merge und automatische Dateibenennung in den Erweiterungen IronPDF MVC und Razor.
ForcePaperSizeBoolescheErzwingt 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.
WaitForWaitForEin 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

KlasseTextHeaderFooter
BeschreibungWird verwendet, um die Anzeigeoptionen für Textköpfe und Fußzeilen zu definieren
Eigenschaften \ FunktionenTypBeschreibung
CenterTextstringLegen 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
DrawDividerLineBoolescheFügt auf jeder Seite des PDF-Dokuments eine horizontale Trennlinie zwischen der Kopf-/Fußzeile und dem Seiteninhalt ein.
DrawDividerLineColorFarbeDie Farbe der Trennlinie, die für IronPDF.TextHeaderFooter.DrawDividerLine angegeben wurde.
SchriftartPdfFontSchriftfamilie, die für das PDF-Dokument verwendet wird. Standard ist IronSoftware.Drawing.FontTypes.Helvetica.
FontSizeDoppelterSchriftgröß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
VB   C#

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. 40 related to 8.2. Docker installierenKlicken Sie auf Loslegen. 41 related to 8.2. Docker installierenKlicken Sie auf Download für Mac und Windows. 42 related to 8.2. Docker installierenRegistrieren Sie sich kostenlos und melden Sie sich dann an. 43 related to 8.2. Docker installierenDocker für Windows herunterladen. 44 related to 8.2. Docker installierenStarten Sie die Installation von Docker. 45 related to 8.2. Docker installierenEs wird ein Neustart erforderlich sein. Nach dem Neustart Ihres Rechners melden Sie sich bei Docker an. 46 related to 8.2. Docker installierenJetzt 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 47 related to 8.2. Docker installierenHier 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

38 related to 8.3. In Linux-Container ausführen39 related to 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")
VB   C#

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
VB   C#

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")
VB   C#

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")
VB   C#

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")
VB   C#

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")
VB   C#

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")
VB   C#

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")
VB   C#

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)
VB   C#

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)
VB   C#

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)
VB   C#

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")
VB   C#

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")
VB   C#

Tutorial Schnellzugriff

Brand Visual Studio related to 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 Code

GitHub 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 generieren
Github Icon related to Tutorial Schnellzugriff
Html To Pdf Icon related to Tutorial Schnellzugriff

Behalten 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 Spickzettel

Mehr 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
Documentation related to Tutorial Schnellzugriff