Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

Hinzufügen von Kopf- und Fußzeilen zu PDF-Dokumenten in C

Das Hinzufügen von Kopf- und Fußzeilen zu PDF-Dokumenten ist für die Erstellung professioneller Berichte, Rechnungen und Geschäftsdokumente unerlässlich. Entwickler, die nach iTextSharp-Lösungen mit der Methode PdfPageEventHelper und der Methode OnEndPage suchen, werden feststellen, dass moderne .NET Bibliotheken wesentlich einfachere Ansätze bieten, um die gleichen Ergebnisse zu erzielen.

Dieser Leitfaden zeigt, wie man mit C# Kopf- und Fußzeilen in PDF-Dateien einfügt und vergleicht dabei den traditionellen Ansatz von iText 7 mit der prägnanten API von IronPDF . Am Ende werden Sie beide Implementierungen verstehen – von der Erstellung eines neuen Document bis zur Generierung der endgültigen PDF-Datei – und können den Ansatz wählen, der am besten zu Ihren Projektanforderungen passt.

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel): Bild 1 - IronPDF

Warum sind PDF-Kopf- und Fußzeilen in Professional Dokumenten wichtig?

Kopf- und Fußzeilen haben in professionellen PDF-Dokumenten eine wichtige Funktion. Sie sorgen für ein konsistentes Branding durch Bildlogos, ermöglichen die Seitennavigation mit Seitenzahlen, zeigen wichtige Metadaten wie Datumsangaben und Dokumententitel an und stellen die Authentizität des Dokuments durch Zeitstempel und Versionsinformationen sicher.

In Unternehmensumgebungen haben Kopf- und Fußzeilen oft eine rechtliche Bedeutung. Bei Finanzberichten sind Zeitstempel für Prüfpfade erforderlich. Die Verträge benötigen eine Seitennummerierung, um die Vollständigkeit zu gewährleisten. Interne Dokumente erfordern möglicherweise Vertraulichkeitshinweise auf jeder Seite. Um diese Anforderungen programmatisch zu erfüllen, ist eine PDF-Bibliothek erforderlich, die die Einfügung von Inhalten auf Seitenebene zuverlässig handhabt.

Wichtige Gründe für das programmatische Hinzufügen von Kopf- und Fußzeilen sind:

  • Einhaltung der Prüfvorschriften – Zeitstempel und Versionsnummern auf jeder Seite erfüllen die regulatorischen Anforderungen
  • Markenkonsistenz – Firmenlogos und -design werden einheitlich auf alle erstellten Dokumente angewendet.
  • Navigation – Seitenzahlen und Abschnittsüberschriften helfen Lesern, Informationen schnell zu finden
  • Authentizität – Name des Autors, Erstellungsdatum und Dokumenten-ID verhindern Streitigkeiten über die Integrität des Dokuments.

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel: Bild 2 - Funktionen)

Wie fügt man in C# eine Textkopf- und -fußzeile hinzu?

IronPDF bietet den direktesten Ansatz zum Hinzufügen von Kopf- und Fußzeilen zu PDF-Dokumenten in .NET Anwendungen. Durch die Verwendung der Klasse ChromePdfRenderer in Kombination mit entweder TextHeaderFooter oder HtmlHeaderFooter können Sie Kopf- und Fußzeilen mit minimalem Code generieren – es ist nicht erforderlich, separate Zellen zu erstellen oder ein contentbyte-Objekt manuell zu verwalten.

Bevor Sie mit dem Programmieren beginnen, fügen Sie IronPDF mithilfe von NuGet zu Ihrem Projekt hinzu:

Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
SHELL

Die Bibliothek erfordert keine externen Abhängigkeiten und funktioniert sofort nach der Installation. Es zielt auf .NET 5, 6, 7, 8 und 10 ab und läuft unter Windows, Linux und macOS ohne plattformspezifische Konfiguration.

In älteren iTextSharp-Mustern erstellten Entwickler Hilfsmethoden wie private static void AddContent(), um Kopf- und Fußzeilenlogik manuell einzufügen. IronPDF macht derartige Floskeln völlig überflüssig.

Hier ist ein vollständiges Beispiel, das sowohl eine Textkopfzeile als auch eine Textfußzeile zu einer PDF-Datei hinzufügt:

using IronPdf;

// Initialize the PDF renderer
var renderer = new ChromePdfRenderer();

// Configure the text header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Quarterly Sales Report",
    DrawDividerLine = true,
    FontSize = 14
};

// Configure the text footer with page number and date
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};

// Set margins to accommodate header and footer
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Data</h1><p>Content goes here...</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

// Initialize the PDF renderer
var renderer = new ChromePdfRenderer();

// Configure the text header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Quarterly Sales Report",
    DrawDividerLine = true,
    FontSize = 14
};

// Configure the text footer with page number and date
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};

// Set margins to accommodate header and footer
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Data</h1><p>Content goes here...</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

' Initialize the PDF renderer
Dim renderer = New ChromePdfRenderer()

' Configure the text header
renderer.RenderingOptions.TextHeader = New TextHeaderFooter With {
    .CenterText = "Quarterly Sales Report",
    .DrawDividerLine = True,
    .FontSize = 14
}

' Configure the text footer with page number and date
renderer.RenderingOptions.TextFooter = New TextHeaderFooter With {
    .LeftText = "{date}",
    .RightText = "Page {page} of {total-pages}",
    .DrawDividerLine = True,
    .FontSize = 10
}

' Set margins to accommodate header and footer
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25

' Generate PDF from HTML content
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Sales Data</h1><p>Content goes here...</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

Die Klasse TextHeaderFooter bietet Eigenschaften zum Positionieren von Text links, mittig oder rechts im Kopf- oder Fußzeilenbereich. Die Eigenschaft DrawDividerLine fügt eine Professional Trennlinie zwischen Kopf- oder Fußzeile und dem Hauptdokumentinhalt ein. Zusammenführbare Felder wie {page}, {total-pages} und {date} werden während der PDF-Generierung automatisch mit dynamischen Werten befüllt.

IronPDF übernimmt die Berechnung der Ränder automatisch und stellt so sicher, dass Kopf- und Fußzeilen nicht mit dem Dokumentinhalt überlappen. Die Klasse TextHeaderFooter unterstützt Schriftarten von IronSoftware.Drawing.FontTypes, wodurch Sie die Typografie ohne externe Abhängigkeiten steuern können.

Ausgabe

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (Beispiel: Bild 4 – PDF-Ausgabe)

Beachten Sie, wie die gesamte Implementierung in einen einzigen Codeblock mit klaren, lesbaren Eigenschaftszuweisungen passt. Es ist nicht nötig, eine separate Klassendatei zu erstellen, Pixelpositionen zu berechnen oder Canvas-Objekte zu verwalten. Die Bibliothek abstrahiert diese Komplexitäten, sodass Sie sich auf den Inhalt konzentrieren können, anstatt auf die Mechanismen der PDF-Erstellung.

Wie erstellt man Kopf- und Fußzeilen im HTML-Stil?

Für anspruchsvollere Designs ermöglicht die HtmlHeaderFooter-Klasse von IronPDF die vollständige HTML- und CSS-Formatierung. Dieser Ansatz ist besonders wertvoll, wenn Header ein Bildlogo, komplexe Layouts oder markenspezifische Stile enthalten müssen – ohne dass manuell PdfPCell Objekte erstellt oder new Phrase Konstruktoren verwendet werden müssen.

using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Create an HTML header with logo and styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; font-family: Arial, sans-serif;'>
            <img src='logo.png' style='height: 30px; float: left;' />
            <span style='float: right; font-size: 12px; color: #666;'>
                Confidential Document
            </span>
        </div>",
    MaxHeight = 25,
    DrawDividerLine = true,
    BaseUrl = new Uri(@"C:\assets\").AbsoluteUri
};

// Create an HTML footer with page numbering
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px; color: #999;'>
            <span>Generated on {date} at {time}</span>
            <br/>
            <span>Page {page} of {total-pages}</span>
        </div>",
    MaxHeight = 20
};

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginBottom = 25;

var pdf = renderer.RenderHtmlAsPdf("<h1>Project Proposal</h1><p>Document content...</p>");
pdf.SaveAs("styled-document.pdf");
using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Create an HTML header with logo and styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; font-family: Arial, sans-serif;'>
            <img src='logo.png' style='height: 30px; float: left;' />
            <span style='float: right; font-size: 12px; color: #666;'>
                Confidential Document
            </span>
        </div>",
    MaxHeight = 25,
    DrawDividerLine = true,
    BaseUrl = new Uri(@"C:\assets\").AbsoluteUri
};

// Create an HTML footer with page numbering
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px; color: #999;'>
            <span>Generated on {date} at {time}</span>
            <br/>
            <span>Page {page} of {total-pages}</span>
        </div>",
    MaxHeight = 20
};

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginBottom = 25;

var pdf = renderer.RenderHtmlAsPdf("<h1>Project Proposal</h1><p>Document content...</p>");
pdf.SaveAs("styled-document.pdf");
Imports IronPdf
Imports System

Dim renderer As New ChromePdfRenderer()

' Create an HTML header with logo and styling
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .HtmlFragment = "
        <div style='width: 100%; font-family: Arial, sans-serif;'>
            <img src='logo.png' style='height: 30px; float: left;' />
            <span style='float: right; font-size: 12px; color: #666;'>
                Confidential Document
            </span>
        </div>",
    .MaxHeight = 25,
    .DrawDividerLine = True,
    .BaseUrl = New Uri("C:\assets\").AbsoluteUri
}

' Create an HTML footer with page numbering
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .HtmlFragment = "
        <div style='text-align: center; font-size: 10px; color: #999;'>
            <span>Generated on {date} at {time}</span>
            <br/>
            <span>Page {page} of {total-pages}</span>
        </div>",
    .MaxHeight = 20
}

renderer.RenderingOptions.MarginTop = 30
renderer.RenderingOptions.MarginBottom = 25

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Project Proposal</h1><p>Document content...</p>")
pdf.SaveAs("styled-document.pdf")
$vbLabelText   $csharpLabel

Dieses Codebeispiel zeigt, wie HTML-Kopfzeilen neben Text auch Bilder enthalten können. Die Eigenschaft BaseUrl legt den Stammpfad für die Auflösung relativer Bild-URLs fest und vereinfacht so das Einbinden von Firmenlogos oder anderen Grafiken. Die Eigenschaft MaxHeight stellt sicher, dass die Kopfzeile die festgelegten Abmessungen nicht überschreitet und somit ein einheitliches Dokumentlayout gewährleistet ist.

Die zusammenführbaren Felder ({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title}) funktionieren in HTML-Kopf- und Fußzeilen identisch und ermöglichen das dynamische Einfügen von Inhalten ohne zusätzlichen Code. Hinweise zur Implementierung verschiedener Header-Stile finden Sie im Leitfaden "Headers and Footers How-To Guide" .

Der HTML-Ansatz spielt seine Stärken besonders bei der Erstellung von Dokumenten mit Markenlogo aus. Marketingteams können HTML-Vorlagen bereitstellen, die von den Entwicklern direkt integriert werden können, um eine pixelgenaue Reproduktion der genehmigten Designs zu gewährleisten. CSS-Eigenschaften wie font-family, color, background-color und border funktionieren wie erwartet und ermöglichen anspruchsvolle visuelle Darstellungen, die in anderen Bibliotheken umfangreichen Low-Level-Code erfordern würden.

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (Beispiel): Bild 3 – Wie man Kopf- und Fußzeilen in PDFs hinzufügt – IronPDF

Wie kann man Kopfzeilen zu bestehenden PDF-Dokumenten hinzufügen?

Eine häufige Anforderung besteht darin, bereits existierenden PDF-Dateien Kopf- und Fußzeilen hinzuzufügen – egal ob es sich um hochgeladene Dokumente, zusammengeführte Dateien oder von anderen Systemen generierte PDFs handelt. IronPDF behandelt dieses Szenario mit den Methoden AddHtmlHeaders und AddHtmlFooters.

using IronPdf;

// Load an existing PDF document
var pdf = PdfDocument.FromFile("customer-profile.pdf");

// Define the header to add
var header = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>REVISED COPY - {date}</div>",
    MaxHeight = 20
};

// Define the footer to add
var footer = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: right;'>Page {page}</div>",
    MaxHeight = 15
};

// Apply headers and footers to all pages
pdf.AddHtmlHeaders(header);
pdf.AddHtmlFooters(footer);
pdf.SaveAs("document-with-new-headers.pdf");
using IronPdf;

// Load an existing PDF document
var pdf = PdfDocument.FromFile("customer-profile.pdf");

// Define the header to add
var header = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>REVISED COPY - {date}</div>",
    MaxHeight = 20
};

// Define the footer to add
var footer = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: right;'>Page {page}</div>",
    MaxHeight = 15
};

// Apply headers and footers to all pages
pdf.AddHtmlHeaders(header);
pdf.AddHtmlFooters(footer);
pdf.SaveAs("document-with-new-headers.pdf");
Imports IronPdf

' Load an existing PDF document
Dim pdf = PdfDocument.FromFile("customer-profile.pdf")

' Define the header to add
Dim header As New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align: center;'>REVISED COPY - {date}</div>",
    .MaxHeight = 20
}

' Define the footer to add
Dim footer As New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align: right;'>Page {page}</div>",
    .MaxHeight = 15
}

' Apply headers and footers to all pages
pdf.AddHtmlHeaders(header)
pdf.AddHtmlFooters(footer)
pdf.SaveAs("document-with-new-headers.pdf")
$vbLabelText   $csharpLabel

Die Klasse PdfDocument repräsentiert ein geladenes oder gerendertes PDF und bietet Methoden für Änderungen nach dem Rendern. Diese Trennung zwischen Rendering und Modifikation ermöglicht Arbeitsabläufe, bei denen PDF-Dokumente mehrere Verarbeitungsstufen durchlaufen. Die Methode AddHtmlHeaders wendet den Header automatisch auf jede Seite an. Sie können aber auch bestimmte Seiten ansprechen, indem Sie eine Sammlung von Seitenindizes übergeben.

Eingabe

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (Beispiel: Bild 6 – Beispiel-Eingabe)

Ausgabe

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (Beispiel: Bild 7 – Ausgabe der vorhandenen PDF-Kopfzeile)

Diese Fähigkeit ist von unschätzbarem Wert in Dokumentenverwaltungssystemen, die PDF-Dateien aus verschiedenen Quellen erhalten, z. B. gescannte Dokumente, Benutzer-Uploads oder API-Antworten von Drittanbietern. IronPDF standardisiert das Branding oder die Seitennummerierung vor der Verteilung oder Archivierung.

Wie fügt man auf verschiedenen Seiten unterschiedliche Überschriften hinzu?

Bei manchen Dokumenten muss die erste Seite eine andere Kopfzeile haben (oder gar keine Kopfzeile), während die nachfolgenden Seiten ein Standardformat verwenden. IronPDF unterstützt dies durch eine seitenindexbasierte Header-Anwendung – es ist nicht erforderlich, Bedingungen innerhalb von void OnEndPage Handlern zu prüfen oder Schleifenzähler manuell zu verwalten:

using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Text;

var renderer = new ChromePdfRenderer();

// Build multi-page HTML with print page-breaks between pages
var pages = new List<string>
{
    "<section><h1>Title Page</h1><p>Intro text on page 1.</p></section>",
    "<section><h2>Report</h2><p>Detailed report content on page 2.</p></section>",
    "<section><h2>Appendix</h2><p>Appendix content on page 3.</p></section>"
};

var sb = new StringBuilder();
sb.AppendLine("<!doctype html><html><head><meta charset='utf-8'>");
sb.AppendLine("<style>");
sb.AppendLine("  body { font-family: Arial, sans-serif; margin: 20px; }");
sb.AppendLine("  .page-break { page-break-after: always; }");
sb.AppendLine("</style>");
sb.AppendLine("</head><body>");

for (int i = 0; i < pages.Count; i++)
{
    sb.AppendLine(pages[i]);
    if (i < pages.Count - 1)
        sb.AppendLine("<div class='page-break'></div>");
}
sb.AppendLine("</body></html>");

var pdf = renderer.RenderHtmlAsPdf(sb.ToString());

// Create the standard header for pages 2 onwards
var standardHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>Standard Header - Page {page}</div>",
    MaxHeight = 20
};

// Apply to all pages except the first (index 0)
var pageIndices = Enumerable.Range(1, pdf.PageCount - 1).ToList();
pdf.AddHtmlHeaders(standardHeader, 1, pageIndices);
pdf.SaveAs("document-skip-first-page-header.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Text;

var renderer = new ChromePdfRenderer();

// Build multi-page HTML with print page-breaks between pages
var pages = new List<string>
{
    "<section><h1>Title Page</h1><p>Intro text on page 1.</p></section>",
    "<section><h2>Report</h2><p>Detailed report content on page 2.</p></section>",
    "<section><h2>Appendix</h2><p>Appendix content on page 3.</p></section>"
};

var sb = new StringBuilder();
sb.AppendLine("<!doctype html><html><head><meta charset='utf-8'>");
sb.AppendLine("<style>");
sb.AppendLine("  body { font-family: Arial, sans-serif; margin: 20px; }");
sb.AppendLine("  .page-break { page-break-after: always; }");
sb.AppendLine("</style>");
sb.AppendLine("</head><body>");

for (int i = 0; i < pages.Count; i++)
{
    sb.AppendLine(pages[i]);
    if (i < pages.Count - 1)
        sb.AppendLine("<div class='page-break'></div>");
}
sb.AppendLine("</body></html>");

var pdf = renderer.RenderHtmlAsPdf(sb.ToString());

// Create the standard header for pages 2 onwards
var standardHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>Standard Header - Page {page}</div>",
    MaxHeight = 20
};

// Apply to all pages except the first (index 0)
var pageIndices = Enumerable.Range(1, pdf.PageCount - 1).ToList();
pdf.AddHtmlHeaders(standardHeader, 1, pageIndices);
pdf.SaveAs("document-skip-first-page-header.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text

Dim renderer As New ChromePdfRenderer()

' Build multi-page HTML with print page-breaks between pages
Dim pages As New List(Of String) From {
    "<section><h1>Title Page</h1><p>Intro text on page 1.</p></section>",
    "<section><h2>Report</h2><p>Detailed report content on page 2.</p></section>",
    "<section><h2>Appendix</h2><p>Appendix content on page 3.</p></section>"
}

Dim sb As New StringBuilder()
sb.AppendLine("<!doctype html><html><head><meta charset='utf-8'>")
sb.AppendLine("<style>")
sb.AppendLine("  body { font-family: Arial, sans-serif; margin: 20px; }")
sb.AppendLine("  .page-break { page-break-after: always; }")
sb.AppendLine("</style>")
sb.AppendLine("</head><body>")

For i As Integer = 0 To pages.Count - 1
    sb.AppendLine(pages(i))
    If i < pages.Count - 1 Then
        sb.AppendLine("<div class='page-break'></div>")
    End If
Next
sb.AppendLine("</body></html>")

Dim pdf = renderer.RenderHtmlAsPdf(sb.ToString())

' Create the standard header for pages 2 onwards
Dim standardHeader As New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align: center;'>Standard Header - Page {page}</div>",
    .MaxHeight = 20
}

' Apply to all pages except the first (index 0)
Dim pageIndices = Enumerable.Range(1, pdf.PageCount - 1).ToList()
pdf.AddHtmlHeaders(standardHeader, 1, pageIndices)
pdf.SaveAs("document-skip-first-page-header.pdf")
$vbLabelText   $csharpLabel

Der zweite Parameter in AddHtmlHeaders gibt die Startseitennummer für das zusammenführbare Feld {page} an, während der dritte Parameter eine Sammlung von Seitenindizes akzeptiert, um den Header zu empfangen. Diese granulare Steuerung ermöglicht komplexe Dokumentenlayouts ohne komplizierte bedingte Logik. Das Beispiel "Erweiterte Kopf- und Fußzeilen" behandelt weitere Szenarien, darunter die Unterscheidung zwischen geraden und ungeraden Seiten.

Ausgabe

Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (Beispiel: Bild 9 – Unterschiedliche Kopfzeilen für verschiedene Seiten)

Wie implementiert man dynamische Inhalte über Seitenzahlen hinaus?

Das System der zusammenführbaren Felder unterstützt mehrere dynamische Werte, die während des Renderns automatisch eingefügt werden. Die folgende Tabelle listet alle verfügbaren Felder und ihre Bedeutungen auf:

Zusammenführbare Felder werden in IronPDF Kopf- und Fußzeilen unterstützt
Feld Eingefügter Wert Typische Verwendung
`{page}` Aktuelle Seitenzahl Fußzeilen mit der Aufschrift "Seite 3"
`{total-pages}` Gesamtzahl der Seiten Fußzeilen mit dem Hinweis "Seite 3 von 10"
`{date}` Aktuelles Datum im lokalen Format Prüfzeitstempel, Berichtsdaten
`{time}` Aktuelle Zeit im lokalen Format Fußzeilen zur Einhaltung gesetzlicher Bestimmungen
`{html-title}` Inhalt des HTML-Tags ``</td> <td>Dokumentkopfzeilen, die den Seitentitel anzeigen</td> </tr> <tr> <td>`{pdf-title}`</td> <td>Titel der Metadaten des PDF-Dokuments</td> <td>Branded Footers mit Dokumentnamen</td> </tr> <tr> <td>`{url}`</td> <td>Quell-URL beim Rendern von einer Webadresse</td> <td>Archivierungsfußzeilen für Webinhalte</td> </tr> </tbody> </table> <p>Für wirklich dynamische Inhalte – Werte, die zur Laufzeit bestimmt werden – können Sie die HTML-Fragmentzeichenfolge mit interpolierten Werten erstellen, bevor Sie sie der Eigenschaft <code>HtmlFragment</code> zuweisen. Dieser Ansatz ermöglicht Kopfzeilen, die aus der Datenbank abgerufene Werte, Benutzerinformationen oder berechnete Daten enthalten:</p> <pre class='naked-code'><code class="language-csharp">using IronPdf; string userName = GetCurrentUserName(); string documentVersion = "v2.3.1"; var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { HtmlFragment = $"<div style='font-size:10px;'>Prepared by: {userName} " + $"| Version: {documentVersion} " + "| Page {page} of {total-pages}</div>", MaxHeight = 20 }; var pdf = renderer.RenderHtmlAsPdf("<h1>Annual Report</h1><p>Body content here.</p>"); pdf.SaveAs("dynamic-header-report.pdf");</code></pre> <div class="code-content code-content-inner"> <div class="code_window" > <div class="language-selection__content-page-wrapper"> </div> <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Zum Kopieren klicken" class="code-window__action-button code-window__action-button--copy copy-clipboard" data-copy-text="Zum Kopieren klicken" data-copied-text="In Zwischenablage kopiert" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Vollbildmodus" class="code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal" > <i class="fas fa-expand"></i> </button> <button title="Vollbild beenden" class="code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal" > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-cs"><code>using IronPdf; string userName = GetCurrentUserName(); string documentVersion = "v2.3.1"; var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { HtmlFragment = $"<div style='font-size:10px;'>Prepared by: {userName} " + $"| Version: {documentVersion} " + "| Page {page} of {total-pages}</div>", MaxHeight = 20 }; var pdf = renderer.RenderHtmlAsPdf("<h1>Annual Report</h1><p>Body content here.</p>"); pdf.SaveAs("dynamic-header-report.pdf");</code></pre> <pre class="prettyprint linenums lang-vb"><code>Imports IronPdf Dim userName As String = GetCurrentUserName() Dim documentVersion As String = "v2.3.1" Dim renderer As New ChromePdfRenderer() renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With { .HtmlFragment = $"<div style='font-size:10px;'>Prepared by: {userName} " & $"| Version: {documentVersion} " & "| Page {page} of {total-pages}</div>", .MaxHeight = 20 } Dim pdf = renderer.RenderHtmlAsPdf("<h1>Annual Report</h1><p>Body content here.</p>") pdf.SaveAs("dynamic-header-report.pdf")</code></pre> </div> <div class="code_window_bottom"> <span class="language_selection"> <span class="ls-span">$vbLabelText  </span> <span> <label class="switch"> <input type="checkbox" checked="checked"> <span class="slider round"></span> </label> </span> <span class="ls-span">$csharpLabel</span> </span> </div> </div> </div> <p>Beachten Sie, dass die Token <code>{page}</code> und <code>{total-pages}</code> innerhalb der C#-Zeichenkettenverkettung als einfache Zeichenketten erhalten bleiben – nicht innerhalb des interpolierten Teils. Während des PDF-Renderings ersetzt IronPDF diese Token automatisch. Dieses Muster funktioniert für jeden Laufzeitwert: Benutzernamen aus Active Directory, Dokument-IDs aus einer Datenbank, Versionszeichenfolgen aus Ihrer Build-Pipeline oder berechnete Summen aus Ihrem Reporting-System.</p> <p>Die Kombination aus zusammenführbaren Feldern und String-Interpolation ermöglicht anspruchsvolle Fußzeilengestaltungen, wie sie in Geschäftsdokumenten üblich sind. Rechtsabteilungen benötigen oft Fußzeilen mit Titel, Datum und Seitenzahl des Dokuments. Finanzberichte benötigen zur Einhaltung gesetzlicher Vorschriften möglicherweise Zeitstempel. Diese Anforderungen werden ohne kundenspezifischen Code für jeden Dokumenttyp erfüllt.</p> </section> <section class="md__article-chunk md__article-chunk__level-2" aria-labelledby="anchor-wie-sieht-der-itext-7-ansatz-aus" data-heading-level="2" data-heading-text="Wie sieht der iText 7-Ansatz aus?"> <h2 id="anchor-wie-sieht-der-itext-7-ansatz-aus">Wie sieht der iText 7-Ansatz aus?</h2> <p>Entwickler, die mit iText 7 (dem Nachfolger von iTextSharp) vertraut sind, wissen, dass das Hinzufügen von Kopf- und Fußzeilen die Implementierung von Event-Handlern erfordert. Die Bibliothek verwendet ein Seitenereignissystem, bei dem Sie eine Klasse erstellen, die auf Dokumentlebenszyklusereignisse wie <code>OnEndPage</code> und <code>OnCloseDocument</code> reagiert.</p> <p>So sieht die gleiche Header- und Footer-Implementierung mit iText 7 unter Verwendung des Musters <code>ITextEvents</code> aus:</p> <pre class='naked-code'><code class="language-csharp">using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using iText.Kernel.Events; using iText.Kernel.Geom; using iText.Layout.Properties; // Event handler class for headers and footers -- similar to PdfPageEventHelper public class ITextEvents : IEventHandler { private string _header; public string Header { get { return _header; } set { _header = value; } } public void HandleEvent(Event currentEvent) { PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent; PdfDocument pdfDoc = docEvent.GetDocument(); PdfPage page = docEvent.GetPage(); Rectangle pageSize = page.GetPageSize(); // Create a new PdfCanvas for the contentbyte object PdfCanvas pdfCanvas = new PdfCanvas( page.NewContentStreamBefore(), page.GetResources(), pdfDoc); Canvas canvas = new Canvas(pdfCanvas, pageSize); // Add header text at calculated position canvas.ShowTextAligned( new Paragraph("Quarterly Sales Report"), pageSize.GetWidth() / 2, pageSize.GetTop() - 20, TextAlignment.CENTER); // Add footer with page number int pageNumber = pdfDoc.GetPageNumber(page); canvas.ShowTextAligned( new Paragraph($"Page {pageNumber}"), pageSize.GetWidth() / 2, pageSize.GetBottom() + 20, TextAlignment.CENTER); canvas.Close(); } } // Usage in main code var writer = new PdfWriter("report.pdf"); var pdfDoc = new PdfDocument(writer); var document = new Document(pdfDoc); // Register the event handler for END_PAGE pdfDoc.AddEventHandler(PdfDocumentEvent.END_PAGE, new ITextEvents()); document.Add(new Paragraph("Sales Data")); document.Add(new Paragraph("Content goes here...")); document.Close();</code></pre> <div class="code-content code-content-inner"> <div class="code_window" > <div class="language-selection__content-page-wrapper"> </div> <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Zum Kopieren klicken" class="code-window__action-button code-window__action-button--copy copy-clipboard" data-copy-text="Zum Kopieren klicken" data-copied-text="In Zwischenablage kopiert" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Vollbildmodus" class="code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal" > <i class="fas fa-expand"></i> </button> <button title="Vollbild beenden" class="code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal" > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-cs"><code>using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using iText.Kernel.Events; using iText.Kernel.Geom; using iText.Layout.Properties; // Event handler class for headers and footers -- similar to PdfPageEventHelper public class ITextEvents : IEventHandler { private string _header; public string Header { get { return _header; } set { _header = value; } } public void HandleEvent(Event currentEvent) { PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent; PdfDocument pdfDoc = docEvent.GetDocument(); PdfPage page = docEvent.GetPage(); Rectangle pageSize = page.GetPageSize(); // Create a new PdfCanvas for the contentbyte object PdfCanvas pdfCanvas = new PdfCanvas( page.NewContentStreamBefore(), page.GetResources(), pdfDoc); Canvas canvas = new Canvas(pdfCanvas, pageSize); // Add header text at calculated position canvas.ShowTextAligned( new Paragraph("Quarterly Sales Report"), pageSize.GetWidth() / 2, pageSize.GetTop() - 20, TextAlignment.CENTER); // Add footer with page number int pageNumber = pdfDoc.GetPageNumber(page); canvas.ShowTextAligned( new Paragraph($"Page {pageNumber}"), pageSize.GetWidth() / 2, pageSize.GetBottom() + 20, TextAlignment.CENTER); canvas.Close(); } } // Usage in main code var writer = new PdfWriter("report.pdf"); var pdfDoc = new PdfDocument(writer); var document = new Document(pdfDoc); // Register the event handler for END_PAGE pdfDoc.AddEventHandler(PdfDocumentEvent.END_PAGE, new ITextEvents()); document.Add(new Paragraph("Sales Data")); document.Add(new Paragraph("Content goes here...")); document.Close();</code></pre> <pre class="prettyprint linenums lang-vb"><code>Imports iText.Kernel.Pdf Imports iText.Layout Imports iText.Layout.Element Imports iText.Kernel.Events Imports iText.Kernel.Geom Imports iText.Layout.Properties ' Event handler class for headers and footers -- similar to PdfPageEventHelper Public Class ITextEvents Implements IEventHandler Private _header As String Public Property Header As String Get Return _header End Get Set(value As String) _header = value End Set End Property Public Sub HandleEvent(currentEvent As [Event]) Implements IEventHandler.HandleEvent Dim docEvent As PdfDocumentEvent = CType(currentEvent, PdfDocumentEvent) Dim pdfDoc As PdfDocument = docEvent.GetDocument() Dim page As PdfPage = docEvent.GetPage() Dim pageSize As Rectangle = page.GetPageSize() ' Create a new PdfCanvas for the contentbyte object Dim pdfCanvas As New PdfCanvas(page.NewContentStreamBefore(), page.GetResources(), pdfDoc) Dim canvas As New Canvas(pdfCanvas, pageSize) ' Add header text at calculated position canvas.ShowTextAligned(New Paragraph("Quarterly Sales Report"), pageSize.GetWidth() / 2, pageSize.GetTop() - 20, TextAlignment.CENTER) ' Add footer with page number Dim pageNumber As Integer = pdfDoc.GetPageNumber(page) canvas.ShowTextAligned(New Paragraph($"Page {pageNumber}"), pageSize.GetWidth() / 2, pageSize.GetBottom() + 20, TextAlignment.CENTER) canvas.Close() End Sub End Class ' Usage in main code Dim writer As New PdfWriter("report.pdf") Dim pdfDoc As New PdfDocument(writer) Dim document As New Document(pdfDoc) ' Register the event handler for END_PAGE pdfDoc.AddEventHandler(PdfDocumentEvent.END_PAGE, New ITextEvents()) document.Add(New Paragraph("Sales Data")) document.Add(New Paragraph("Content goes here...")) document.Close()</code></pre> </div> <div class="code_window_bottom"> <span class="language_selection"> <span class="ls-span">$vbLabelText  </span> <span> <label class="switch"> <input type="checkbox" checked="checked"> <span class="slider round"></span> </label> </span> <span class="ls-span">$csharpLabel</span> </span> </div> </div> </div> <p>Diese Implementierung verdeutlicht den grundlegenden architektonischen Unterschied zwischen den beiden Bibliotheken. Für iText 7 ist es erforderlich, eine separate Handler-Klasse zu erstellen, die <code>IEventHandler</code> implementiert (ähnlich dem älteren <code>PdfPageEventHelper</code>), Seitenpositionen manuell mithilfe von Gleitkomma-Koordinaten zu berechnen und die Objekte <code>PdfCanvas</code> und <code>Canvas</code> für Zeichenvorgänge zu verwalten. Der Handler empfängt Ereignisse für jede Seite über den Ereignistyp <code>END_PAGE</code> - ein Detail, das viele Entwickler in die Irre führt, die fälschlicherweise <code>START_PAGE</code> verwenden.</p> <section class="md__article-chunk md__article-chunk__level-3" aria-labelledby="anchor-ausgabe" data-heading-level="3" data-heading-text="Ausgabe"> <h3 id="anchor-ausgabe">Ausgabe</h3> <p><img src="/static-assets/pdf/blog/read-header-footer-itextsharp/read-header-footer-itextsharp-8.webp" alt="Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel): Bild 8 - Wie man mit iTextSharp in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel)" loading="lazy" class="img-responsive add-shadow img-popup" width="883" height="951" /></p> <p>Das Koordinatensystem in iText 7 geht von der linken unteren Ecke der Seite aus und erfordert explizite Berechnungen zur Positionierung. Um die endgültige Seitenzahl zu ermitteln, ist eine zusätzliche Komplexität mit <code>PdfTemplate</code> Mustern erforderlich, die während <code>OnCloseDocument</code> ausgefüllt werden -- ein Muster, das einem ohnehin schon komplexen Workflow noch mehr Boilerplate-Code hinzufügt.</p> <p>Für Entwickler, die aus der Webentwicklung kommen, fühlt sich dieser koordinatenbasierte Ansatz im Vergleich zum deklarativen HTML/CSS-Modell fremd an. Jede Positionierungsentscheidung erfordert ein Verständnis von Seitenabmessungen, Randabständen und Textmessungen – Aspekte, die bei HTML-basierten Ansätzen abstrahiert werden.</p> <p>iText 7 unterliegt außerdem der AGPL-Lizenz, was bedeutet, dass Anwendungen, die iTextSharp oder iText 7 verwenden, Open Source sein müssen, sofern keine kommerzielle Lizenz erworben wird. Dies ist ein wichtiger Aspekt bei der Auswahl zwischen Bibliotheken für kommerzielle Projekte.</p> </section> </section> <section class="md__article-chunk md__article-chunk__level-2" aria-labelledby="anchor-wie-lassen-sich-die-beiden-ans36-49tze-vergleichen" data-heading-level="2" data-heading-text="Wie lassen sich die beiden Ansätze vergleichen?"> <h2 id="anchor-wie-lassen-sich-die-beiden-ans36-49tze-vergleichen">Wie lassen sich die beiden Ansätze vergleichen?</h2> <p>Die Unterschiede werden deutlicher, wenn man die einzelnen Funktionen direkt miteinander vergleicht. Die folgende Tabelle fasst die wichtigsten Unterschiede zusammen:</p> <table class="content__data-table" data-content-table> <caption>Vergleich der Kopf- und Fußzeilenfunktionen von IronPDF und iText 7</caption> <thead> <tr> <th>Merkmal</th> <th>IronPDF</th> <th>iText 7 / iTextSharp</th> </tr> </thead> <tbody> <tr> <td>Implementierungsstil</td> <td>Eigenschaftenzuweisung bei Renderer-Optionen</td> <td>Ereignisbehandlungsklasse, die IEventHandler implementiert</td> </tr> <tr> <td>HTML/CSS-Unterstützung</td> <td>Vollständiges HTML und CSS über HtmlHeaderFooter</td> <td>Keine native HTML-Unterstützung; erfordert Low-Level-Canvas-Zeichnen</td> </tr> <tr> <td>Summe der Seitenzahlen</td> <td>Automatische Überschreibung des Felds `{total-pages}`</td> <td>Erfordert, dass die PDF-Vorlage in OnCloseDocument ausgefüllt wird.</td> </tr> <tr> <td>Bild im Header</td> <td>Standard-HTML- `<img loading="lazy" class="img-responsive add-shadow img-popup" alt=" related to Wie lassen sich die beiden Ansätze vergleichen?">` -Tag mit BaseUrl</td> <td>Erfordert ein Bildobjekt und manuelle Positionierung</td> </tr> <tr> <td>Zu bestehendem PDF hinzufügen</td> <td>AddHtmlHeaders / AddHtmlFooters Methoden</td> <td>Erfordert erneute Verarbeitung durch Stempel oder Ereignisschleife</td> </tr> <tr> <td>Seitenweises Targeting</td> <td>Liste der an die Methode übergebenen Seitenindizes</td> <td>Bedingte Logik innerhalb des Ereignishandlers</td> </tr> <tr> <td>Lizenzmodell</td> <td>Kommerziell mit kostenloser Testversion</td> <td>AGPL (Open Source) oder kommerziell</td> </tr> <tr> <td>Plattformübergreifend</td> <td>Windows, Linux, macOS; Docker-fähig</td> <td>Windows, Linux, macOS</td> </tr> </tbody> </table> <p>Die Entwicklungserfahrung unterscheidet sich auch bei der Fehlerbehebung erheblich. Der HTML-basierte Ansatz von IronPDF bedeutet, dass Sie Ihr Kopfzeilendesign in einem Browser in der Vorschau anzeigen können, bevor Sie es in Ihren PDF-Generierungscode integrieren. Wenn etwas falsch aussieht, können Sie den HTML- und CSS-Code mit den bekannten Browser-Entwicklerwerkzeugen anpassen. Bei iText 7 erfordert die Behebung von Positionierungsproblemen die wiederholte Erstellung von Test-PDFs und die manuelle Messung von Koordinaten.</p> <p>Der HTML-basierte Ansatz ermöglicht es Ihnen, Ihre vorhandenen Webentwicklungskenntnisse direkt anzuwenden. Jedes mit HTML und CSS realisierbare Layout funktioniert in IronPDF Kopf- und Fußzeilen, von Flexbox-Anordnungen bis hin zu Bildrastern. Das <a href="/de/examples/html-headers-and-footers/" target="_blank">Beispiel für HTML-Kopf- und Fußzeilen</a> zeigt weitere Gestaltungsmöglichkeiten.</p> <section class="md__article-chunk md__article-chunk__level-3" aria-labelledby="anchor-anpassen-des-erscheinungsbilds-von-kopf-und-fu36-49zeile" data-heading-level="3" data-heading-text="Anpassen des Erscheinungsbilds von Kopf- und Fußzeile"> <h3 id="anchor-anpassen-des-erscheinungsbilds-von-kopf-und-fu36-49zeile">Anpassen des Erscheinungsbilds von Kopf- und Fußzeile</h3> <p>Die Feinabstimmung von Kopf- und Fußzeilen umfasst mehrere Eigenschaften, die sich auf die Positionierung und die visuelle Darstellung auswirken. Die Klasse <code>TextHeaderFooter</code> bietet folgende Anpassungsoptionen:</p> <pre class='naked-code'><code class="language-csharp">using IronPdf; using IronSoftware.Drawing; var renderer = new ChromePdfRenderer(); var footer = new TextHeaderFooter { LeftText = "Confidential", CenterText = "{pdf-title}", RightText = "Page {page} of {total-pages}", Font = FontTypes.Arial, FontSize = 9, DrawDividerLine = true, DrawDividerLineColor = Color.Gray }; renderer.RenderingOptions.TextFooter = footer; renderer.RenderingOptions.MarginBottom = 20; var pdf = renderer.RenderHtmlAsPdf("<h1>Board Report</h1><p>Executive summary content.</p>"); pdf.SaveAs("board-report.pdf");</code></pre> <div class="code-content code-content-inner"> <div class="code_window" > <div class="language-selection__content-page-wrapper"> </div> <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Zum Kopieren klicken" class="code-window__action-button code-window__action-button--copy copy-clipboard" data-copy-text="Zum Kopieren klicken" data-copied-text="In Zwischenablage kopiert" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Vollbildmodus" class="code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal" > <i class="fas fa-expand"></i> </button> <button title="Vollbild beenden" class="code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal" > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-cs"><code>using IronPdf; using IronSoftware.Drawing; var renderer = new ChromePdfRenderer(); var footer = new TextHeaderFooter { LeftText = "Confidential", CenterText = "{pdf-title}", RightText = "Page {page} of {total-pages}", Font = FontTypes.Arial, FontSize = 9, DrawDividerLine = true, DrawDividerLineColor = Color.Gray }; renderer.RenderingOptions.TextFooter = footer; renderer.RenderingOptions.MarginBottom = 20; var pdf = renderer.RenderHtmlAsPdf("<h1>Board Report</h1><p>Executive summary content.</p>"); pdf.SaveAs("board-report.pdf");</code></pre> <pre class="prettyprint linenums lang-vb"><code>Imports IronPdf Imports IronSoftware.Drawing Dim renderer As New ChromePdfRenderer() Dim footer As New TextHeaderFooter With { .LeftText = "Confidential", .CenterText = "{pdf-title}", .RightText = "Page {page} of {total-pages}", .Font = FontTypes.Arial, .FontSize = 9, .DrawDividerLine = True, .DrawDividerLineColor = Color.Gray } renderer.RenderingOptions.TextFooter = footer renderer.RenderingOptions.MarginBottom = 20 Dim pdf = renderer.RenderHtmlAsPdf("<h1>Board Report</h1><p>Executive summary content.</p>") pdf.SaveAs("board-report.pdf")</code></pre> </div> <div class="code_window_bottom"> <span class="language_selection"> <span class="ls-span">$vbLabelText  </span> <span> <label class="switch"> <input type="checkbox" checked="checked"> <span class="slider round"></span> </label> </span> <span class="ls-span">$csharpLabel</span> </span> </div> </div> </div> <p>Die Eigenschaft <code>Font</code> akzeptiert Werte von <code>IronSoftware.Drawing.FontTypes</code>, einschließlich Helvetica, Arial, Courier und Times New Roman. Die Eigenschaft <code>DrawDividerLine</code> fügt eine Professional horizontale Linie zwischen der Fußzeile und dem Hauptinhalt ein. Sie können die Linienfarbe mit <code>DrawDividerLineColor</code> an Ihre Markenfarben oder Ihr Dokumentdesign anpassen.</p> <p>Bei HTML-basierten Kopf- und Fußzeilen erbt die Eigenschaft <code>LoadStylesAndCSSFromMainHtmlDocument</code> optional Stile vom gerenderten Hauptdokument, um eine visuelle Konsistenz zwischen Kopfzeilen und Hauptteil zu gewährleisten. Dies ist besonders nützlich, wenn Ihr Hauptdokument benutzerdefinierte CSS verwendet, die auch für die Kopf- und Fußzeilenbereiche gelten sollen.</p> <p><img src="/static-assets/pdf/blog/read-header-footer-itextsharp/read-header-footer-itextsharp-5.webp" alt="Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel: Bild 5 – Plattformübergreifende Kompatibilität)" loading="lazy" class="img-responsive add-shadow img-popup" width="1530" height="655" /></p> </section> <section class="md__article-chunk md__article-chunk__level-3" aria-labelledby="anchor-plattform36-49bergreifende-und-container-bereitstellungen" data-heading-level="3" data-heading-text="Plattformübergreifende und Container-Bereitstellungen"> <h3 id="anchor-plattform36-49bergreifende-und-container-bereitstellungen">Plattformübergreifende und Container-Bereitstellungen</h3> <p>Moderne .NET-Anwendungen werden häufig in Linux-Containern, Azure App Services oder AWS Lambda-Funktionen bereitgestellt. IronPDF unterstützt den plattformübergreifenden Einsatz unter Windows, Linux und macOS, ohne dass eine zusätzliche Konfiguration erforderlich ist. Die Bibliothek funktioniert standardmäßig in Docker-Containern und ist daher für Microservices-Architekturen und Cloud-native Anwendungen geeignet.</p> <p>Diese plattformübergreifende Funktionalität erstreckt sich auch auf die Kopf- und Fußzeilenfunktionalität – derselbe Code, der auf einem Windows-Entwicklungsrechner PDFs mit Kopfzeilen erzeugt, liefert bei der Bereitstellung auf einem Linux-Produktionsserver identische Ergebnisse. Es ist nicht erforderlich, zusätzliche Schriftarten zu installieren, Rendering-Engines zu konfigurieren oder plattformspezifische Codepfade zu handhaben.</p> <p>Für Teams, die containerisierte Workloads ausführen, bietet die <a href="/de/get-started/linux/" target="_blank">IronPDF Docker-Bereitstellungsdokumentation</a> Konfigurationshinweise für verschiedene Basis-Images und Orchestrierungsplattformen. Das konsistente Verhalten der Bibliothek in verschiedenen Umgebungen eliminiert eine häufige Fehlerquelle in PDF-Generierungsabläufen.</p> <p>Laut <a href="https://learn.microsoft.com/en-us/dotnet/core/deploying/" target="_blank" rel="nofollow noopener noreferrer">Microsofts .NET -Dokumentation</a> profitieren containerisierte .NET -Anwendungen von einem konsistenten Laufzeitverhalten in verschiedenen Umgebungen – ein Prinzip, das die Rendering-Engine von IronPDF bei der PDF-Generierung unterstützt. In ähnlicher Weise werden <a href="https://docs.docker.com/get-started/" target="_blank" rel="nofollow noopener noreferrer">in der offiziellen Docker-Dokumentation</a> Best Practices für die Containerisierung von .NET -Workloads erläutert, die direkt auf PDF-Generierungsdienste anwendbar sind.</p> <p>Die <a href="https://itextpdf.com/resources/api-documentation" target="_blank" rel="nofollow noopener noreferrer">iText 7-Dokumentation</a> bestätigt ebenfalls die plattformübergreifende Unterstützung, doch die zusätzliche Komplexität des ereignisgesteuerten Modells bedeutet, dass die Fehlersuche bei plattformübergreifenden Darstellungsproblemen aufwendiger sein kann als bei einem deklarativen HTML-basierten Ansatz.</p> </section> </section> <section class="md__article-chunk md__article-chunk__level-2" aria-labelledby="anchor-was-sind-ihre-n36-49chsten-schritte" data-heading-level="2" data-heading-text="Was sind Ihre nächsten Schritte?"> <h2 id="anchor-was-sind-ihre-n36-49chsten-schritte">Was sind Ihre nächsten Schritte?</h2> <p>Die Implementierung von Kopf- und Fußzeilen in Ihren PDF-Dokumenten dauert mit IronPDF nur ein paar Minuten. Installieren Sie die Bibliothek über den NuGet-Paket-Manager:</p> <pre class='naked-code'><code class="language-bash">Install-Package IronPdf dotnet add package IronPdf</code></pre> <div class="code-content code-content-inner" > <div class="code_window" > <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Zum Kopieren klicken" class="code-window__action-button code-window__action-button--copy copy-clipboard" data-copy-text="Zum Kopieren klicken" data-copied-text="In Zwischenablage kopiert" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Vollbildmodus" class="code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal" > <i class="fas fa-expand"></i> </button> <button title="Vollbild beenden" class="code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal" > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-shell"><code>Install-Package IronPdf dotnet add package IronPdf</code></pre> </div> <div class="code_window_bottom"> <span class="pull-right"><span class="ls-span" style='font-weight: 600'>SHELL</span> </div> </div> </div> <p><img src="/static-assets/pdf/blog/read-header-footer-itextsharp/read-header-footer-itextsharp-10.webp" alt="Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt (mit Beispiel: Bild 10 - Installation)" loading="lazy" class="img-responsive add-shadow img-popup" width="1280" height="818" /></p> <p>Von hier aus helfen Ihnen diese Ressourcen weiter:</p> <ul> <li><strong><a href="/de/docs/" target="_blank">Die Dokumentation "Erste Schritte</a></strong> " deckt das gesamte Spektrum der PDF-Erstellungs- und Bearbeitungsfunktionen ab.</li> <li><strong><a href="/de/how-to/headers-and-footers/" target="_blank">Leitfaden für Kopf- und Fußzeilen</a></strong> – Schritt-für-Schritt-Anleitung für alle Szenarien von Kopf- und Fußzeilen</li> <li><strong><a href="/de/examples/html-headers-and-footers/" target="_blank">HTML-Kopf- und Fußzeilenbeispiele</a></strong> – sofort ausführbare Codebeispiele für HTML-basierte Kopfzeilen</li> <li><strong><a href="/de/examples/adding-headers-and-footers-advanced/" target="_blank">Beispiel für erweiterte Kopf- und Fußzeilen</a></strong> – seitenweise Ausrichtung und Unterscheidung zwischen geraden und ungeraden Seiten</li> <li><strong><a href="/de/object-reference/api/IronPdf.TextHeaderFooter.html" target="_blank">TextHeaderFooter-API-Referenz</a></strong> – vollständige Eigenschaftenliste für textbasierte Kopf- und Fußzeilen</li> <li><strong><a href="/de/object-reference/api/IronPdf.HtmlHeaderFooter.html" target="_blank">HtmlHeaderFooter API-Referenz</a></strong> – vollständige API für HTML-basierte Kopf- und Fußzeilen</li> <li><strong><a href="/de/get-started/linux/" target="_blank">Docker-Bereitstellungsleitfaden</a></strong> -- Konfiguration für Linux-Container und Cloud-Umgebungen</li> <li><strong><a href="/de/licensing/" target="_blank">IronPDF -Lizenzierungsoptionen</a></strong> – von Tarifen für einzelne Entwickler bis hin zu Enterprise -Teams</li> </ul> <p><a href="#trial-license" data-modal-id="trial-license" class="js-modal-open">Starten Sie Ihre kostenlose Testphase</a> , um Header- und Footer-Implementierungen in Ihren eigenen Projekten zu testen. Die Testversion umfasst alle Funktionen ohne zeitliche Begrenzung, sodass Sie die Bibliothek anhand Ihrer realen Anforderungen an PDF-Dokumente testen können, bevor Sie sich für eine Lizenz entscheiden.</p> <p><img src="/static-assets/pdf/blog/read-header-footer-itextsharp/read-header-footer-itextsharp-11.webp" alt="Wie man mit iTextSharp und IronPDF in C# Kopf- und Fußzeilen in PDFs hinzufügt – Beispiel: Bild 11 – Lizenzierung" loading="lazy" class="img-responsive add-shadow img-popup" width="1757" height="741" /></p> <p>Das Hinzufügen von Kopf- und Fußzeilen zu PDF-Dokumenten in C# kann je nach Bibliothekswahl einfach bis komplex sein. Während iText 7 über Ereignisbehandler und Canvas-Operationen eine Low-Level-Steuerung ermöglicht, bietet IronPDF dieselbe Funktionalität über eine API, die auf bekannten HTML- und CSS-Konzepten basiert. Für Entwickler, die Wert auf schnelle Implementierung und wartungsfreundlichen Code legen, reduziert IronPDF die Implementierung von Kopf- und Fußzeilen von Dutzenden von Zeilen – einschließlich Handler-Klassen, Zellenkonfigurationen und Tabellenstrukturen – auf wenige Eigenschaftszuweisungen.</p></section> </div> <section id="article__faqs" class="bg" style="min-height: 500px; contain-intrinsic-size: auto 1065px;"> <h2 class="article__faqs__heading-title">Häufig gestellte Fragen</h2> <div class="article__faqs__questions-and-answers container-fluid"> <div class="tab-pane in active" id="ta-faq"> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Wie kann ich mit iTextSharp Kopf- und Fußzeilen zu PDFs hinzufügen?</h3> <p class="question-answer">Um PDFs mit iTextSharp Kopf- und Fußzeilen hinzuzufügen, können Sie einen Page Event Handler definieren, der die Seiten des Dokuments während des PDF-Erstellungsprozesses anpasst. Dabei wird die OnEndPage-Methode überschrieben, um den gewünschten Kopf- und Fußzeileninhalt einzufügen.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Welche Vorteile bietet die Verwendung von IronPDF für das Hinzufügen von Kopf- und Fußzeilen?</h3> <p class="question-answer">IronPDF vereinfacht das Hinzufügen von Kopf- und Fußzeilen, indem es eine unkomplizierte API bereitstellt und verschiedene Styling-Optionen unterstützt. Es lässt sich nahtlos in C#-Projekte integrieren und bietet zusätzliche Funktionen wie die Konvertierung von HTML in PDF, was es zu einem vielseitigen Werkzeug für die PDF-Bearbeitung macht.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Können IronPDF und iTextSharp zusammen verwendet werden?</h3> <p class="question-answer">Ja, IronPDF und iTextSharp können zusammen in einem C#-Projekt verwendet werden. Während iTextSharp für die programmatische PDF-Bearbeitung hervorragend geeignet ist, ergänzt IronPDF es durch zusätzliche Funktionen wie die Konvertierung von HTML in PDF, was für die dynamische Erzeugung von Kopf- und Fußzeilen nützlich sein kann.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Gibt es eine Möglichkeit, Kopf- und Fußzeilen mit IronPDF zu gestalten?</h3> <p class="question-answer">IronPDF ermöglicht die Gestaltung von Kopf- und Fußzeilen mit HTML und CSS. Dies gibt Entwicklern die Flexibilität, visuell ansprechende Designs und Layouts für ihre PDF-Dokumente zu erstellen.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Wie geht IronPDF mit Seitenzahlen in Kopf- und Fußzeilen um?</h3> <p class="question-answer">IronPDF kann automatisch Seitenzahlen in Kopf- und Fußzeilen einfügen. Es bietet Optionen zur Formatierung der Seitenzahlen entsprechend Ihren Anforderungen, wie z. B. die Einbeziehung der Gesamtseitenzahl oder die Anpassung der Anfangsseitenzahl.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Was ist der Vorteil der Verwendung von C# für die PDF-Bearbeitung mit IronPDF?</h3> <p class="question-answer">Die Verwendung von C# für die PDF-Bearbeitung mit IronPDF bietet eine hohe Typsicherheit, eine einfache Integration in .NET-Anwendungen und den Zugriff auf eine breite Palette von Bibliotheken und Tools, die den Entwicklungsprozess verbessern. Die C#-API von IronPDF ist so konzipiert, dass sie intuitiv und benutzerfreundlich ist, so dass sie für Entwickler aller Kenntnisstufen zugänglich ist.</p> </div> </div> <div class="faq-item"> <div class="faq-collapse"> <i class="fa-solid fa-plus"></i> <i class="fa-solid fa-minus"></i> </div> <div class="faq-content"> <h3 class="question-header">Kann ich bestehende Dokumente mit IronPDF in PDF konvertieren?</h3> <p class="question-answer">Ja, IronPDF kann verschiedene Dokumentformate, einschließlich HTML, ASPX und andere webbasierte Inhalte, in PDF konvertieren. Diese Funktion ist besonders nützlich für die Erstellung von PDFs aus Webseiten oder dynamisch generierten Inhalten.</p> </div> </div> </div> </div> </section> <script> document.addEventListener("DOMContentLoaded", function() { onViewLoadAsync( "#article__faqs", function() { }, ["common__faqs.js", "content__faqs.css", "article__faqs.css"] ); const articleFaqs = document.querySelector("#article__faqs .tab-pane"); if (!articleFaqs) return; articleFaqs.addEventListener("click", (evt) => { const targeted = evt.target.closest(".faq-item"); if (!targeted) return; targeted.classList.toggle("faq-item--active"); }); }); </script> <div class="author-details" id="author"> <div class="d-flex column-gap-4"> <div class="col_image"> <img loading="lazy" src="/img/how-tos/authors/curtis.png" alt="Curtis Chau" class="author-image" width="64" height="64"> </div> <div class="col_detail"> <div class="author-details__connect"> <div class="d-flex align-items-center flex-wrap"> <div class="author-details__connect__author"> <div class="author-name text-no-wrap"> <a href="https://ironsoftware.com/de/about-us/authors/curtis/" aria-label="">Curtis Chau</a> </div> <div class="author-details__connect__linkedin"> <a href="https://www.linkedin.com/in/curtis-chau-937368213/" target="_blank"><i class="fa-brands fa-linkedin" target="_blank" rel="nofollow"></i></a> </div> <div class="author-details__connect__website"> <a href="https://github.com/CurtisChau" target="_blank"><i class="fa-solid fa-globe"></i></a> </div> </div> <div class="author-details__chat"> <a href="#live-chat-support"><i class="fa-solid fa-comments"></i>  <span class="d-none d-md-inline">Jetzt mit dem Ingenieurteam chatten </a></span> </div> </div> </div> <div class="author-job-title">Technischer Autor</div> <div class="author-bio"><p>Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...</div><a class="author-job-title__read-more" href="https://ironsoftware.com/de/about-us/authors/curtis/">Weiterlesen</a> </div> </div> </div> <div class="feedback_form"> </div> <div class="blog_end_line"></div> <div class="page_blog_listing module section_blog_listing"> <section class="col-12" id="blog_post--related-articles"> <h2>Verwandte Artikel</h2> <div class="container-fluid blog_post--related-articles__list"> <div class="row row-cols-1 row-cols-sm-2 row-cols-lg-3 g-4"> <div class="col"> <article class="h-100"> <a href="/de/blog/using-ironpdf/ironpdf-monthly-statements/" class="d-block h-100 item_box" title="Generierung von monatlichen Kontoauszügen als PDF-Dokumente"> <div class="ratio ratio-16x9 blog_listing_image_placeholder ironpdf"><img class="object-fit-cover" alt="Generierung von monatlichen Kontoauszügen als PDF-Dokumente" src="/static-assets/pdf/blog/ironpdf-monthly-statements/ironpdf-monthly-statements-1.webp" width="1865" height="487" decoding="async" loading="lazy"></div> <div class="p-4"> <div class="info d-flex"><span class="post_date d-block flex-grow-1">Aktualisiert<time datetime="2026-03-31">30. März 2026</time></span></div> <h3 class="post_header">Generierung von monatlichen Kontoauszügen als PDF-Dokumente</h3> <p class="post_description">Mit der IronPDF C# PDF-Bibliothek können Entwickler HTML in zuverlässige PDF-Dateien innerhalb eines .NET-Projekts konvertieren, ohne auf externe Dienste angewiesen zu sein.</p> <p class="read_more">Weiterlesen<i class="fa-solid fa-chevron-right"></i></p> </div> </a> </article> </div> <div class="col"> <article class="h-100"> <a href="/de/blog/using-ironpdf/ironpdf-form-to-pdf/" class="d-block h-100 item_box" title="Umwandlung von Online-Antragsformularen in PDF-Zusammenfassungen mit IronPDF"> <div class="ratio ratio-16x9 blog_listing_image_placeholder ironpdf"><img class="object-fit-cover" alt="Umwandlung von Online-Antragsformularen in PDF-Zusammenfassungen mit IronPDF" src="/static-assets/pdf/blog/ironpdf-form-to-pdf/ironpdf-form-to-pdf-1.webp" width="1865" height="487" decoding="async" loading="lazy"></div> <div class="p-4"> <div class="info d-flex"><span class="post_date d-block flex-grow-1">Aktualisiert<time datetime="2026-03-31">30. März 2026</time></span></div> <h3 class="post_header">Umwandlung von Online-Antragsformularen in PDF-Zusammenfassungen mit IronPDF</h3> <p class="post_description">Erfahren Sie, wie IronPDF verwendet wird, um eine nachvollziehbare Aufzeichnung einer Web-Formular-Eingabe zu erstellen, die für die Einhaltung behördlicher Vorschriften nützlich ist.</p> <p class="read_more">Weiterlesen<i class="fa-solid fa-chevron-right"></i></p> </div> </a> </article> </div> <div class="col"> <article class="h-100"> <a href="/de/blog/using-ironpdf/ironpdf-fintech-receipts/" class="d-block h-100 item_box" title="C# PDF-Quittungen und Transaktionsdatensätze für FinTech-Anwendungen"> <div class="ratio ratio-16x9 blog_listing_image_placeholder ironpdf"><img class="object-fit-cover" alt="C# PDF-Quittungen und Transaktionsdatensätze für FinTech-Anwendungen" src="/static-assets/pdf/blog/ironpdf-fintech-receipts/ironpdf-fintech-receipts-1.webp" width="1865" height="487" decoding="async" loading="lazy"></div> <div class="p-4"> <div class="info d-flex"><span class="post_date d-block flex-grow-1">Aktualisiert<time datetime="2026-03-31">30. März 2026</time></span></div> <h3 class="post_header">C# PDF-Quittungen und Transaktionsdatensätze für FinTech-Anwendungen</h3> <p class="post_description">Lesen Sie, wie Sie mit IronPDF nachvollziehbare, zeitgestempelte Aufzeichnungen von Transaktionen am Point-of-Service erstellen können</p> <p class="read_more">Weiterlesen<i class="fa-solid fa-chevron-right"></i></p> </div> </a> </article> </div> </div> </div> </section> </div> <div class="blog_end_line"></div> <div class="blog_bottom_nav"><div class="blog_bottom_nav row row-cols-2"><div class="text-start text-truncate"><a href="/de/blog/using-ironpdf/dynamic-pdf-generation/" class="link previous">Wie man mit IronPDF dynamisch PDF in .NET generiert</a></div><div class="text-end text-truncate"><a href="/de/blog/using-ironpdf/retrieve-pdf-file-from-database-apr-net/" class="link next">Wie man PDF-Dateien aus einer Daten...</a></div></div></div> </article> </div> <div id="blog_sidebar--right" class="blog_sidebar--right"> <aside id="blog_post--right_content" class="right_column right_sidebar_wrapper"> <div class="sticky-top z-0 specific_sticky_height"> <!-- Tutorial Videos Start --> <!-- Tutorial Videos End --> <div class="block_on_this_page"> <div id="blog_right_scrollspy_menu" class="menu_wrapper"> <h2 class="table_of_contents--header">Auf dieser Seite</h2> <ul id="scroll-menu" class="blog_post_on_this_page"> <li> <a href="#anchor-hinzuf36-49gen-von-kopf-und-fu36-49zeilen-zu-pdf-dokumenten-in-c" class=""><span>Hinzufügen von Kopf- und Fußzeilen zu PDF-Dokumenten in C</span></a> </li> <li> <a href="#anchor-warum-sind-pdf-kopf-und-fu36-49zeilen-in-professional-dokumenten-wichtig" class=""><span>Warum sind PDF-Kopf- und Fußzeilen in Professional Dokumenten wichtig?</span></a> </li> <li> <a href="#anchor-wie-f36-49gt-man-in-c-eine-textkopf-und-fu36-49zeile-hinzu" class=""><span>Wie fügt man in C# eine Textkopf- und -fußzeile hinzu?</span></a> <ul class=""> <li class=""> <a href="#anchor-ausgabe"><span>Ausgabe</span></a> </li> </ul> </li> <li> <a href="#anchor-wie-erstellt-man-kopf-und-fu36-49zeilen-im-html-stil" class=""><span>Wie erstellt man Kopf- und Fußzeilen im HTML-Stil?</span></a> </li> <li> <a href="#anchor-wie-kann-man-kopfzeilen-zu-bestehenden-pdf-dokumenten-hinzuf36-49gen" class=""><span>Wie kann man Kopfzeilen zu bestehenden PDF-Dokumenten hinzufügen?</span></a> <ul class=""> <li class=""> <a href="#anchor-eingabe"><span>Eingabe</span></a> </li> <li class=""> <a href="#anchor-ausgabe"><span>Ausgabe</span></a> </li> </ul> </li> <li> <a href="#anchor-wie-f36-49gt-man-auf-verschiedenen-seiten-unterschiedliche-36-49berschriften-hinzu" class=""><span>Wie fügt man auf verschiedenen Seiten unterschiedliche Überschriften hinzu?</span></a> <ul class=""> <li class=""> <a href="#anchor-ausgabe"><span>Ausgabe</span></a> </li> </ul> </li> <li> <a href="#anchor-wie-implementiert-man-dynamische-inhalte-36-49ber-seitenzahlen-hinaus" class=""><span>Wie implementiert man dynamische Inhalte über Seitenzahlen hinaus?</span></a> </li> <li> <a href="#anchor-wie-sieht-der-itext-7-ansatz-aus" class=""><span>Wie sieht der iText 7-Ansatz aus?</span></a> <ul class=""> <li class=""> <a href="#anchor-ausgabe"><span>Ausgabe</span></a> </li> </ul> </li> <li> <a href="#anchor-wie-lassen-sich-die-beiden-ans36-49tze-vergleichen" class=""><span>Wie lassen sich die beiden Ansätze vergleichen?</span></a> <ul class=""> <li class=""> <a href="#anchor-anpassen-des-erscheinungsbilds-von-kopf-und-fu36-49zeile"><span>Anpassen des Erscheinungsbilds von Kopf- und Fußzeile</span></a> </li> <li class=""> <a href="#anchor-plattform36-49bergreifende-und-container-bereitstellungen"><span>Plattformübergreifende und Container-Bereitstellungen</span></a> </li> </ul> </li> <li> <a href="#anchor-was-sind-ihre-n36-49chsten-schritte" class=""><span>Was sind Ihre nächsten Schritte?</span></a> </li> </ul> </div> </div> <div> <div class="nuget-sidebar-wrapper nuget-sidebar-wrapper--right-sidebar nuget-variant-3"> <div class="nuget-sidebar-header-block"> <div class="nuget-sidebar-header-block__logo-block"> <a href="https://nuget.org/packages/IronPdf" target="_blank"><img loading="lazy" src="/img/nuget.blue.svg" alt="Kostenlos für die Entwicklung von NuGet" width="38" height="38" data-modal-id="trial-license-after-download" class="js-modal-open"></a> </div> <div class="nuget-sidebar-header-block__text-block" data-bs-toggle="modal"> <p class="nuget-sidebar-header-block__text-block__big-text"> <a href="https://nuget.org/packages/IronPdf" target="_blank" data-modal-id="trial-license-after-download" class="js-modal-open"> Installation mit <span class="nuget-sidebar-header-block__text-block__big-text--blue">NuGet</span> <span class="nuget-sidebar-header-block__text-block__small-text">nuget.org/packages/<span class="text-block__small-text--inline-block">IronPdf</span></span> </a> </p> </div> </div> <div class="nuget-sidebar-cli vwo-nuget-copy vwo-nuget-copy--ironpdf" data-bs-custom-class="tooltipCopyToClipboard"> <div class="nuget-sidebar-cli__command"> <p class="nuget-sidebar-cli__command__text"> PM > <span class="js-nuget-sidebar-cli__command__text">Install-Package IronPdf</span> </p> </div> <div class="nuget-sidebar-cli__copy-block"> <span class="fas copy-icon-white"></span> </div> </div> </div> </div> <div class="join_bug_bounty"> <h2>Mac</h2> <ul class="list-unstyled rt-list"> <li class="list-unstyled__item-flex-align-items-center"><i class="fa-regular fa-pen-to-square"></i>   <button class="js-modal-open" data-modal-id="article-feedback-modal">Nehmen Sie an unserem Bug Bounty für Iron Swag teil</button> </li> </ul> </div> </div> </div> </aside> </div> </div> <!-- offcanvas menu --> <div id="offcanvas_blog_right_sidebar" class="offcanvas offcanvas-end offcanvas_blog_right_sidebar" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" aria-labelledby="offcanvas_blog_right_sidebar"> <!-- button toggle offcanvas right sidebar --> <div id="button_toggle_blog_right_sidebar" class="button_toggle_blog_right_sidebar" data-bs-toggle="offcanvas" data-bs-target="#offcanvas_blog_right_sidebar" aria-controls="offcanvasScrolling"> <div class="button_icons_open_offcanvas"><i class="fa-solid fa-angle-left"></i><i class="fa-solid fa-list-ul ms-1"></i></div> <div class="button_icons_close_offcanvas" style="display:none;"><i class="fa-solid fa-x"></i></div> </div> <div class="offcanvas-body" style="box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25); background-color:#fafafb; padding:0 20px 0;"> <div id="place_holder_offcanvas_blog_right_sidebar"></div> </div> </div> <!-- A/B test new content layout 2025 May, end --> <section style="container-type: inline-size;"></section> </main> <section class="bifrost"></section> <div class="modal fade img-popup-modal" id="img-popup-modal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog" data-bs-dismiss="modal"> <div class="modal-loaded donotdelete" style="font-size: 1px; display: none;"></div> <div class="modal-content" > <div class="modal-title"> <!--<button type="button" class="close" data-bs-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>--> <i data-bs-dismiss="modal" aria-hidden="true" class="fas fa-times slide-out-close"></i> </div> <div class="modal-body"> <img class="img-popup-fullsize" loading="lazy" src="" alt=" related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> <p class="img-popup-caption"></p> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { var element = document.querySelector("#img-popup-modal"); document.onElementViewportIntersect(element, function() { importModal(["image-popup.js", "modals/image-popup.css"], "img-popup-modal"); }); }) </script> <div class="modal cv-auto" id="download-modal"> <div class="modal-dialog products-download dm-IronPDF ironpdf"> <div class="modal-loaded donotdelete"></div> <div class="modal-content"> <div class="modal-header"> <i data-bs-dismiss="modal" aria-hidden="true" class="fas fa-times slide-out-close"></i> </div> <div class="modal-body"> <div class="dm-col-left"> <div class="products-title">Testen Sie IronPDF kostenlos</div> <div class="subtitle">In 5 Minuten einrichten</div> <div class="image-box"> <img class="img-responsive" loading="lazy" src="/img/license-types/icon-lightbulb.svg" alt="Icon Lightbulb related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> </div> </div> <div class="dm-col-right"> <div class="row"> <div class="col-md-6"> <div class="js-modal-open product-item nuget vwo-nuget-copy" data-modal-id="trial-license-after-download" > <div class="product-section" style="padding: 33px 25px 28px;"> <div class="row"> <div class="col-lg-2 product-image"> <img class="img-responsive add-shadow" loading="lazy" src="/img/nuget-logo.svg" alt="C# NuGet-Bibliothek für PDF" > </div> <div class="col-lg-10 product-info"> <div class="products-title">Installation mit <span>NuGet</span></div> <div class="subtitle"><strong>Version:</strong> 2026.4</div> </div> </div> <div class="js-open-modal-ignore copy-nuget-section" data-toggle="tooltip" data-copy-text="Zum Kopieren klicken" , data-copied-text="In Zwischenablage kopiert" data-placement="top" title="Zum Kopieren klicken"> <div class="copy-nuget-row vwo-nuget-copy"> <pre class="install-script">Install-Package IronPdf</pre> <div class="copy-button"> <button class="btn btn-default copy-nuget-script" type="button" data-toggle="popover" data-placement="top" data-content="In Zwischenablage kopiert" aria-label="Kopieren Sie den Paketmanager-Befehl" data-original-title="Zum Kopieren klicken" title="Zum Kopieren klicken"> <span class="fas copy-icon-white"></span> </button> </div> </div> </div> <div class="nuget-link"> nuget.org/packages/IronPdf/ </div> </div> <div class="product-section"> <ol class="product-description"> <li><span>Rechtsklick auf Referenzen, NuGet-Pakete verwalten</span></li> <li><span>Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'</span></li> <li><span>Paket auswählen und installieren</span></li> </ol> </div> </div> </div> <div class="col-md-6"> <div class="js-modal-open product-item dll" data-modal-id="trial-license-after-download" > <div class="product-section"> <div class="row"> <div class="col-lg-2 product-image"> <img class="img-responsive add-shadow" loading="lazy" src="/img/dll-img.png" alt="C# PDF DLL" > </div> <div class="col-lg-10 product-info"> <div class="products-title">Download <span>DLL</span></div> <div class="subtitle"><strong>Version:</strong> 2026.4</div> </div> </div> <div class="download-dll-section"> <a class="btn btn-red download-library-dropdown dark-version" href="/packages/IronPdf.zip" data-toggle="tooltip" data-placement="bottom" data-html="true" title="<div class='library_download_dropdown_tooltip'><div class='library_download_dropdown_tooltip__menuitem' data-download-link='/packages/IronPdf.zip'><span class='library_download_dropdown_tooltip__menuitem_text'><i class='library_download_dropdown_tooltip__menuitem_fa-icon fab fa-microsoft'></i><span class='library_download_dropdown_tooltip_menuitem_text-label'>Für Windows</span></span></div><div class='library_download_dropdown_tooltip__menuitem' data-download-link='/packages/IronPdf.MacOs.zip'><span class='library_download_dropdown_tooltip__menuitem_text'><i class='library_download_dropdown_tooltip__menuitem_fa-icon fab fa-apple'></i><span class='library_download_dropdown_tooltip_menuitem_text-label'>Für macOS</span></span></div><div class='library_download_dropdown_tooltip__menuitem' data-download-link='/packages/IronPdf.Linux.zip'><span class='library_download_dropdown_tooltip__menuitem_text'><i class='library_download_dropdown_tooltip__menuitem_fa-icon fab fa-linux'></i><span class='library_download_dropdown_tooltip_menuitem_text-label'>Für Linux</span></span></div></div>" download><i class="fas fa-download"></i> Jetzt herunterladen</a> <div class="subtitle">oder laden Sie den Windows-Installer <a href="/packages/IronPdfInstaller.zip" class="ga-windows-installer" title="Iron Software Installer für Windows herunterladen">hier</a> herunter.</div> </div> </div> <div class="product-section"> <ol class="product-description"> <li><span>Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses</span></li> <li><span>Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"</span></li> </ol> </div> </div> </div> </div> <div class="licensing-link"> Lizenzen ab <a href="/de/licensing/" target="_blank">749 $</a> </div> </div> </div> <div class="dm-modal-footer"> <div class="dm-col-left"> </div> <div class="dm-col-right"> <p class="helpscout-text">Haben Sie eine Frage? <a href="#live-chat-support">Kontaktieren Sie</a> unser Entwicklungsteam.</p> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { setupModalPopup("#download-modal", "download-modal", ["modals/download.css", "download-modal.js"], () => { const dlSection = qs("#download-modal .col-md-6, #download-modal .ironpdf-java__maven-install-section"); const packageUrl = "/packages/IronPdf.zip"; const filename = "IronPdf.zip" if (!dlSection) return; registerDownloadAction(dlSection, "click", packageUrl, filename); }); }); </script> <div class="modal cv-auto" id="trial-license-after-download" tabindex="-1" data-bs-backdrop="true" data-form-id="b93685fb-4445-4114-8b0a-4af3ec564c41" data-ironproduct-key="ironpdf" data-js-modal-id="trial-license-after-download"> <div class="modal-config" data-for-product="ironpdf"> <span class="trial-license-inactive-timeout" data-trial-license-inactive-timeout="15">15</span> <span class="trial-license-inactive-timeout-interval" data-trial-license-inactive-timeout-interval="1000">1000</span> <span class="trial-license-reset-state-in-days" data-trial-license-reset-state-in-days="1">1</span> </div> <div class="modal-dialog"> <div class="modal-content modal-content_border-0 modal-content_padding-0"> <div class="trial-license-after-download-modal__status__css-loaded" style="display:none; font-size:0px;"><!-- a place holder, when css completely load the font-size will change to 1px; then it will trigger js to make modal visible --></div> <div class="modal-header"> <i class="slide-out-close-bold" data-bs-dismiss="modal" aria-hidden="true"></i> </div> <div class="modal-body modal-body_padding-0"> <div class="modal-loaded donotdelete"></div> <div class="trial-license trial-license_light"> <div class="trial-license__info_2410 d-none d-lg-block"> <div class="bg_product_logo d-none d-xl-block ironpdf"><!-- bg-product-logo --></div> <div class="content_wrapper pt-4 pt-lg-5"> <div class="header type_installed flex-column flex-lg-row js_control_type_installed"> <div class="header__animate_icon installed"> <div class="package_icon_bg"><img class="platform_logo" src="/img/modals/new-design-2410/logo_nuget.svg" width="43" height="42" alt="Nuget Logo" loading="lazy"></div> </div> <div> <div class="header__title text-center text-lg-start"> Sie haben erfolgreich mit NuGet installiert </div> </div> </div> <div class="header type_downloading flex-column flex-lg-row js_control_type_downloading"> <div class="header__animate_icon downloading"></div> <div> <div class="header__title text-center text-lg-start"> Ihr Browser lädt jetzt herunter <span class="header__title__product_name">IronPDF</span> </div> </div> </div> <h3 class="header_subtitle text-center text-lg-start type_installed">Nächster Schritt: Kostenlosen 30-Tage-Test starten</h3> <p class="text-center text-lg-start">Keine Kreditkarte erforderlich</p> <ul class="highlight d-none d-lg-block"> <li><span class="icon_test"></span>Test in einer Live-Umgebung</li><li><span class="icon_calendar"></span>Voll funktionsfähiges Produkt</li><li><span class="icon_support"></span>24/5 technischer Support</li> </ul> </div> </div> <style> /* @media (min-width: 992px) { #trial-license-after-download .trial-license__action { } } */ </style> <div class="trial-license__action" style="min-height: 550px;" > <div class="trial-license__action-title" style=" "> Erhalten Sie sofort Ihren kostenlosen <strong>30-Tage-Testschlüssel</strong>. </div> <div class="trial-license__exit-intent-form-sent-title"> Danke.<br>Wenn Sie mit unserem Lizenzteam sprechen möchten: </div> <div id="hubspot-form__thank_you" class="hubspot-form__thank_you"> <p><section class="formright_submitted"><img loading="lazy" src="/img/icons/greencheck_in_yellowcircle.svg" width="100" height="100" alt="badge_greencheck_in_yellowcircle"><div class="thank-you__header">Das Testformular wurde<br><em>erfolgreich</em> eingereicht.</div><p>Ihr Testschlüssel sollte in der E-Mail sein.<br>Wenn nicht, kontaktieren Sie bitte<br><a href="mailto:support@ironsoftware.com">support@ironsoftware.com</a></p></section></p> </div> <div id="hubspot-form__form__trial-license-after-download" class="hubspot-form__form-wrapper"> <script data-hbspt-form> document.addEventListener("DOMContentLoaded", function() { var trialLicenseHbsptOptions_form_1a = { region: "na1", portalId: "22630553", formId: "b93685fb-4445-4114-8b0a-4af3ec564c41", locale: "de", target: "#trial-license-after-download .place_holder--form_1a", cssClass: "hsform_error_v2 hsform_floating_label hsform_intl_phone", onFormReady: function ($form) { var hsFormErrorTooltipMessages = {"email":"Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein","firstname":"Bitte geben Sie Ihren Namen ein","countrycode":"","phone":"Eine g\u00fcltige Telefonnummer darf nur Ziffern, +()-. oder x enthalten","preferred_communication":"Bitte w\u00e4hlen Sie eine bevorzugte Kontaktmethode aus"}; buildFormErrorTooltips($form, hsFormErrorTooltipMessages); buildCountryCodeForPhoneFields($form, 'div.hs-fieldtype-phonenumber'); removeHSFormPlaceHolder($form); }, onFormSubmitted: function($form, data) { trigger_goal('trial_form_submitted'); // trigger goal start // Fire Custom Event when form submited dataLayer.push({'event':'trial-from-submitted'}); // HubSpot hubspot_custom_conversion_trigger("pe22630553_trial_from_submitted_v2"); // trigger goal end setTimeout(function () { $("#trial-license-after-download .trial-license__action-features").hide(); }, 0); // hide 1st form place holder $("#trial-license-after-download .place_holder--form_1a").hide(); $("#trial-license-after-download .place_holder--form_1b").hide(); // show 2nd form place holder $("#trial-license-after-download .place_holder--form_2").show(); /// push submited data to 2nd form setTimeout(function() { $("#trial-license-after-download .trialFormTwo input[name='email']").val(data.submissionValues.email).change(); }, 1000); history.pushState("", document.title, window.location.pathname + "#trial-license-after-download-form-sent"); }, translations: { de: { fieldLabels: {"email":"Ihre Gesch\u00e4fts-E-Mail","firstname":"Name","countrycode":"Vorwahl","phone":"Telefonnummer","preferred_communication":"Bevorzugte Kontaktmethode"} } }, submitText: "Continue", submitButtonClass: "hs-button primary large arrow_right", inlineMessage: "<div class=\"d-none\"></div>", }; // var for form 1b var trialLicenseHbsptOptions_form_1b = Object.assign({}, trialLicenseHbsptOptions_form_1a); trialLicenseHbsptOptions_form_1b.formId = "8c54dcae-960c-4452-b83c-06affb378052"; trialLicenseHbsptOptions_form_1b.target = "#trial-license-after-download .place_holder--form_1b"; // var for form 2 var trialLicenseHbsptOptions_form_2 = { region: "na1", portalId: "22630553", formId: "febf5e33-1edd-45f9-b9b0-6ead75fb1b9a", locale: "de", cssClass: "trialFormTwo", target: "#trial-license-after-download .place_holder--form_2", inlineMessage: "<div class=\"d-none\"></div>", onFormSubmitted: function ($form, data) { // setCookie("stopFlag", "1", 1); setLocalStorageIfTrialSubmitted(); // Trigger HubSpot goal trigger_goal('second_trial_form_submitted'); $(".hubspot-form__form-wrapper").css("display", "none"); $("#trial-license-after-download .hubspot-form__thank_you").css("padding-top", "60px").show(); // Specific to modal #trial-license-after-download $("#trial-license-after-download .hubspot-form__thank_you section.formright_submitted").css("display", "block"); $("#trial-license-after-download .hubspot-form__thank_you").css("display", "block"); $("#trial-license-after-download .trial-license__action-title").css("display", "none"); $("#trial-license-after-download .trial-license__action-features-single, #trial-license .trial-license__action-features-single").css("display", "none"); // Specific to modal #trial-license $("#trial-license .trial-license__action-title").css("display", "none"); }, }; var selector = document.querySelector("#hubspot-form__form__trial-license-after-download"); const modalSelector = document.querySelector("#trial-license-after-download"); modalSelector?.addEventListener("shown.bs.modal", function() { embedCustomHubspotForm(selector, trialLicenseHbsptOptions_form_1a); embedCustomHubspotForm(selector, trialLicenseHbsptOptions_form_1b); embedCustomHubspotForm(selector, trialLicenseHbsptOptions_form_2); }, { once: true }); });</script> <div class="place_holder--form_1a vwo_ab_test_phone_extension_a"></div> <div class="place_holder--form_1b vwo_ab_test_phone_extension_b"></div> <div class="place_holder--form_2"></div> </div> <div class="trial-license__exit-intent-form-sent-action-button"> <a class="btn btn-red btn-red--exit-intent-form-sent" href="https://help.ironsoftware.com/meetings/ironsoftware/schedule-a-call-with-sales" target="_blank"> <i class="fa fa-phone-alt" aria-hidden="true"></i> ZEIT WÄHLEN </a> </div> <div class="trial-license__exit-intent-form-sent-description"> Haben Sie eine Frage? <a href="#live-chat-support" onclick="return show_helpscout(event)">Nehmen Sie Kontakt auf</a> mit unserem Entwicklungsteam. </div> <div class="flex-grow-1"><!-- spacer --></div> <div class="trial-license__action-features"> <div class="trial-license__action-features-single"> Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet. </div> </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { var selector = "#trial-license-after-download"; document.onElementViewportIntersect(selector, function() { var modals = ["trial-license.util.js", "modals/trial-license.css"]; importModal(modals, "trial-license-after-download", debug()); }); }); </script> <div class="modal cv-auto" id="trial-license-after-download-form-sent" tabindex="-1" data-bs-backdrop="true" data-form-id="b93685fb-4445-4114-8b0a-4af3ec564c41" data-ironproduct-key="ironpdf" data-js-modal-id="trial-license-after-download-form-sent"> <div class="modal-config" data-for-product="ironpdf"> <span class="trial-license-inactive-timeout" data-trial-license-inactive-timeout="15">15</span> <span class="trial-license-inactive-timeout-interval" data-trial-license-inactive-timeout-interval="1000">1000</span> <span class="trial-license-reset-state-in-days" data-trial-license-reset-state-in-days="1">1</span> </div> <div class="modal-dialog"> <div class="modal-content modal-content_border-0 modal-content_padding-0"> <div class="trial-license-after-download-form-sent-modal__status__css-loaded" style="display:none; font-size:0px;"><!-- a place holder, when css completely load the font-size will change to 1px; then it will trigger js to make modal visible --></div> <div class="modal-header"> <i class="slide-out-close-bold" data-bs-dismiss="modal" aria-hidden="true"></i> </div> <div class="modal-body modal-body_padding-0"> <div class="modal-loaded donotdelete"></div> <div class="trial-license trial-license_light"> <div class="trial-license__info_2410 d-none d-lg-block"> <div class="bg_product_logo d-none d-xl-block ironpdf"><!-- bg-product-logo --></div> <div class="content_wrapper pt-4 pt-lg-5"> <div class="header type_installed flex-column flex-lg-row js_control_type_installed"> <div class="header__animate_icon installed"> <div class="package_icon_bg"><img class="platform_logo" src="/img/modals/new-design-2410/logo_nuget.svg" width="43" height="42" alt="Nuget Logo" loading="lazy"></div> </div> <div> <div class="header__title text-center text-lg-start"> Sie haben erfolgreich mit NuGet installiert </div> </div> </div> <div class="header type_downloading flex-column flex-lg-row js_control_type_downloading"> <div class="header__animate_icon downloading"></div> <div> <div class="header__title text-center text-lg-start"> Ihr Browser lädt jetzt herunter <span class="header__title__product_name">IronPDF</span> </div> </div> </div> <h3 class="header_subtitle text-center text-lg-start type_installed">Nächster Schritt: Kostenlosen 30-Tage-Test starten</h3> <p class="text-center text-lg-start">Keine Kreditkarte erforderlich</p> <ul class="highlight d-none d-lg-block"> <li><span class="icon_test"></span>Test in einer Live-Umgebung</li><li><span class="icon_calendar"></span>Voll funktionsfähiges Produkt</li><li><span class="icon_support"></span>24/5 technischer Support</li> </ul> </div> </div> <style> /* @media (min-width: 992px) { #trial-license-after-download-form-sent .trial-license__action { padding-top: 3px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; } } */ </style> <div class="trial-license__action" style="min-height: 270px;" > <div class="trial-license__action-title" style=" "> <strong>Vielen Dank.<br> Sehen Sie sich Ihre Lizenzoptionen an:</strong> </div> <div class="trial-license__exit-intent-form-sent-title"> Danke.<br>Wenn Sie mit unserem Lizenzteam sprechen möchten: </div> <div class="trial-license__action-buttons" style=" "> <a class="trial-license__action-button trial-license__action-button_red trial-license__action-button_wide" style=" " href="/de/licensing/" > <span class="trial-license__action-button-text"> Lizenzierung anzeigen </span> </a> </div> <div class="trial-license__exit-intent-form-sent-action-button"> <a class="btn btn-red btn-red--exit-intent-form-sent" href="https://help.ironsoftware.com/meetings/ironsoftware/schedule-a-call-with-sales" target="_blank"> <i class="fa fa-phone-alt" aria-hidden="true"></i> ZEIT WÄHLEN </a> </div> <div class="trial-license__action-description trial-license__action-description_highlighted" style=" "> Haben Sie eine Frage? <!-- --><a href="#live-chat-support" >Nehmen Sie Kontakt auf</a><!-- --> mit unserem Entwicklungsteam. </div> <div class="trial-license__exit-intent-form-sent-description"> Haben Sie eine Frage? <a href="#live-chat-support" onclick="return show_helpscout(event)">Nehmen Sie Kontakt auf</a> mit unserem Entwicklungsteam. </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { var selector = "#trial-license-after-download-form-sent"; document.onElementViewportIntersect(selector, function() { var modals = ["trial-license.util.js", "modals/trial-license.css"]; importModal(modals, "trial-license-after-download-form-sent", debug()); }); }); </script> <script> function getHsProductCodeFromUrl() { const url = window.location.href; if (url.includes("ironpdf.com") || url.includes("ironpdf.local")) { if (url.includes("/java/")) return "pdf-java"; if (url.includes("/python/")) return "pdf-python"; if (url.includes("/nodejs/")) return "pdf-nodejs"; return "pdf"; } else if (url.includes("ironsoftware.com") || url.includes("ironsoftware.local")) { if (url.includes("/word/")) return "word"; if (url.includes("/ocr/")) return "ocr"; if (url.includes("/webscraper/")) return "webscraper"; if (url.includes("/barcode/")) return "barcode"; if (url.includes("/excel/")) return "excel"; if (url.includes("/qr/")) return "qr"; if (url.includes("/zip/")) return "zip"; if (url.includes("/word/")) return "word"; if (url.includes("/print/")) return "print"; if (url.includes("/securedoc/")) return "securedoc"; if (url.includes("/ppt/")) return "ppt"; if (url.includes("/python/excel/")) return "excel-python"; return "suite"; } } function enabledAbandonTrialForm() { function s(e = "") { const headers = new Headers(); headers.append("Content-Type", "application/json"); const body = JSON.stringify({ "fields": [{ "name": "email", "value": e }, { "name": "interested_products", "value": getHsProductCodeFromUrl() } ], "context": { "pageUri": window.location.href, "pageName": window.location.href.split('#')[0] } }); fetch("https://api.hsforms.com/submissions/v3/integration/submit/22630553/e036830d-c04a-4cb9-a5a0-2ba606d5de9f", { method: "POST", headers: headers, body: body, redirect: "follow" }).then((response) => response.text()).then((result) => console.log(result)).catch((error) => console.error(error)); } const w = 'email'; const t = 'trial-license'; const l = 'trial-license-new'; const f = 'name'; const fullScreenTrialModal = document.getElementById(t); if (fullScreenTrialModal && fullScreenTrialModal.classList.contains(l)) { fullScreenTrialModal.addEventListener('hide.bs.modal', function() { let e = []; document.querySelectorAll('#' + t + ' input[' + f + '="' + w + '"]').forEach(function(input) { if (input.value != '' && input.value != null && input.value.length >= 4) { e.push(input.value); } }); if (e.length > 0) { s(e[0]); } }); } }; function enabledSocialTrial() { const target = '.modal#trial-license .right_content.page_one'; const insertAfter = '.no_credit_required'; // Add place holder for social login document.querySelector(target + ' ' + insertAfter).insertAdjacentHTML("afterend", '<div id="firebaseui-auth-container"><div class="or_separator">OR</div></div>'); const firebaseuiAuthContainer = document.querySelector(target + ' #firebaseui-auth-container'); const currentPageUri = window.location.href; function submitHsform(formData) { const myHeaders = new Headers(); const hsu = "https://api.hsforms.com/submissions/v3/integration/submit/23795711/98897ae8-f5f7-4636-ae9e-98d808bc59b7"; myHeaders.append("Content-Type", "application/json"); const raw = JSON.stringify({ "fields": [{ "name": "email", "value": formData.email }, { "name": "firstname", "value": formData.name }, { "name": "comment", "value": "Submit via social login" } ], "context": { "pageUri": currentPageUri, "pageName": "Trial Submit" } }); fetch(hsu, { method: "POST", headers: myHeaders, body: raw, redirect: "follow" }) .then((response) => response.text()) .then((result) => console.log(result)) .catch((error) => console.error(error)); } // helper to load a script function loadScript(src) { return new Promise(resolve => { const s = document.createElement('script'); s.src = src; s.onload = resolve; document.head.appendChild(s); }); } // helper to load CSS function loadCSS(href) { const l = document.createElement('link'); l.rel = "stylesheet"; l.href = href; document.head.appendChild(l); } // Make sure related files are loaded, prevent miss behavior. Promise.all([ loadScript("https://www.gstatic.com/firebasejs/9.23.0/firebase-app-compat.js"), loadScript("https://www.gstatic.com/firebasejs/9.23.0/firebase-auth-compat.js"), loadScript("https://www.gstatic.com/firebasejs/ui/6.0.1/firebase-ui-auth.js"), loadCSS("https://www.gstatic.com/firebasejs/ui/6.0.1/firebase-ui-auth.css"), ]).then(() => { // Firebase config const firebaseConfig = { apiKey: "AIzaSyCsJiQyqdfI_YcNRxxpVUJ_pvicKmH9dX4", authDomain: "iron-authentication.firebaseapp.com", projectId: "iron-authentication", storageBucket: "iron-authentication.firebasestorage.app", messagingSenderId: "381801101678", appId: "1:381801101678:web:2d637bb0cdf2377998e97f" }; // init authn app firebase.initializeApp(firebaseConfig); // FirebaseUI const ui = new firebaseui.auth.AuthUI(firebase.auth()); ui.start('#firebaseui-auth-container', { signInFlow: 'popup', signInOptions: [{ provider: firebase.auth.GoogleAuthProvider.PROVIDER_ID, scopes: [ 'email', 'profile', ], customParameters: { prompt: 'select_account' } }, { provider: firebase.auth.GithubAuthProvider.PROVIDER_ID, scopes: [ 'user:email', 'read:user', ], customParameters: { prompt: 'select_account' } }, ], callbacks: { signInSuccessWithAuthResult: function(authResult) { const user = authResult.user; const userEmail = user.email || user.providerData[0]?.email; const userName = user.displayName; // Place info into the HS form const emailInput = document.querySelector('.modal#trial-license .right_content.page_two .placeholder__hsform--two form input[name="email"]'); const nameInput = document.querySelector('.modal#trial-license .right_content.page_two .placeholder__hsform--two form input[name="firstname"]'); // interact the dom document.querySelector('.modal#trial-license .right_content.page_one').style.display = 'none'; document.querySelector('.modal#trial-license .right_content.page_two').style.display = 'block'; var emailInputField = document.querySelector('.modal#trial-license .placeholder__hsform--two input[name="email"]'); if (emailInputField) { emailInputField.readOnly = true; emailInputField.value = userEmail; emailInputField.dispatchEvent(new Event('change', { bubbles: true })); } if (emailInput) { emailInput.value = userEmail; emailInput.dispatchEvent(new InputEvent('input', { bubbles: true, cancelable: true })); } if (nameInput) { nameInput.value = userName; nameInput.dispatchEvent(new InputEvent('input', { bubbles: true, cancelable: true })); } submitHsform({ "email": userEmail, "name": userName }) firebaseuiAuthContainer.style.display = 'none'; return false; } } }); }); return; } // enabledAbandonTrialForm(); // enabledSocialTrial(); </script> <script> /* trialFormSetStep("#trial-license", 1); modalId = "#trial-license"; */ function trialFormSetStep(modal_id, step) { // check is suite modal const isSuite = getHsProductCodeFromUrl() === 'suite'; const modal = document.querySelector(modal_id); const show = (selector) => modal.querySelector(selector).style.display = 'block'; const hide = (selector) => modal.querySelector(selector).style.display = 'none'; if (step === 1) { // left contents show('.group__started_for_free'); hide('.group__started_for_free_completed'); hide('.group__booking'); hide('.group__booking_completed'); // right forms show('.page_one'); hide('.page_two'); hide('.page_three'); hide('.page_submitted'); } else if (step === 2) { // left contents show('.group__started_for_free'); hide('.group__started_for_free_completed'); hide('.group__booking'); hide('.group__booking_completed'); // right forms hide('.page_one'); show('.page_two'); hide('.page_three'); hide('.page_submitted'); } else if (step === 3) { // left contents hide('.group__started_for_free'); show('.group__started_for_free_completed'); show('.group__booking'); hide('.group__booking_completed'); // right forms hide('.page_one'); hide('.page_two'); show('.page_three'); hide('.page_submitted'); hide('.right .trusted_by'); show('.right .trial_key_sent'); } else if (step === 4) { // left contents hide('.group__started_for_free'); show('.group__started_for_free_completed'); show('.group__booking'); hide('.group__booking_completed'); // right forms hide('.page_one'); hide('.page_two'); hide('.page_three'); show('.page_submitted'); show('.right .trusted_by'); hide('.right .trial_key_sent'); } /* override for suite modal */ if (isSuite == true) { // left contents for suite hide('.group__started_for_free'); hide('.group__started_for_free_completed'); hide('.group__booking'); hide('.group__booking_completed'); show('.group__suite'); hide('.formright_submitted--products'); show('.formright_submitted--suite'); } } window.addEventListener("load", function() { // enabled 3 steps form (won test) window.IRON = window.IRON || {}; window.IRON.enabled3StepsTrialForm = true; }); window.addEventListener("DOMContentLoaded", function() { trialFormSetStep("#trial-license", 1); }); </script> <script data-hbspt-form> /* settings of from one */ var hsFormOptions_one = { region: "na1", portalId: "22630553", formId: "78c61202-075f-4baa-909b-54216b9dede2", // new form information form for all product formInstanceId: "modal-trial-license", locale: "de", target: "#trial-license .placeholder__hsform--one", cssClass: "hsform_error_v2 hsform_floating_label", submitButtonClass: "hs-button primary large", submitText: "Fortsetzen →", inlineMessage: "<div class=\"d-none\"></div>", onFormReady: function ($form) { var hsFormErrorTooltipMessages = {"email":"Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein","firstname":"Bitte geben Sie Ihren Namen ein","countrycode":"","phone":"Eine g\u00fcltige Telefonnummer darf nur Ziffern, +()-. oder x enthalten","preferred_communication":"Bitte w\u00e4hlen Sie eine bevorzugte Kontaktmethode aus"}; buildFormErrorTooltips($form, hsFormErrorTooltipMessages); removeHSFormPlaceHolder($form); }, onFormSubmitted: function ($form, data) { trialFormSetStep("#trial-license", 2); // trigger goal start trigger_goal('trial_form_submitted'); setLocalStorageIfTrialSubmitted(); // trigger VWO goal window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(238);}); // Fire Custom Event when form submited dataLayer.push({'event':'trial-from-submitted'}); // HubSpot hubspot_custom_conversion_trigger("pe22630553_trial_from_submitted_v2"); // trigger goal end /// push submited data to 2nd form and mark readonly setTimeout(function() { $(".modal#trial-license .placeholder__hsform--two input[name='email']").attr('readonly', true).val(data.submissionValues.email).change(); }, 200); }, translations: { de: { fieldLabels: {"email":"Ihre Gesch\u00e4fts-E-Mail","firstname":"Name","countrycode":"Vorwahl","phone":"Telefonnummer","preferred_communication":"Bevorzugte Kontaktmethode"} } }, }; /* settings of from two */ var hsFormOptions_two = { region: "na1", portalId: "22630553", formId: "dbd072d1-1098-4c98-bdc3-7255fc2e0d6b", // existing trial form for each product locale: "de", target: "#trial-license .placeholder__hsform--two", cssClass: "trialFormTwo hsform_error_v2 hsform_floating_label", submitButtonClass: "hs-button primary large", submitText: "Fortsetzen →", inlineMessage: "<div class=\"d-none\"></div>", onFormReady: function ($form) { var hsFormErrorTooltipMessages = {"email":"Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein","firstname":"Bitte geben Sie Ihren Namen ein","countrycode":"","phone":"Eine g\u00fcltige Telefonnummer darf nur Ziffern, +()-. oder x enthalten","preferred_communication":"Bitte w\u00e4hlen Sie eine bevorzugte Kontaktmethode aus"}; buildFormErrorTooltips($form, hsFormErrorTooltipMessages); removeHSFormPlaceHolder($form); }, onFormSubmitted: function ($form, data) { // change step to meeting form trialFormSetStep("#trial-license", 3); // trigger window resize for HubSpot meeting form to recalculate the height after update data-src window.dispatchEvent(new Event('resize')); setTimeout(function() { // update iframe from data-src, start const email = data['submissionValues']['email']; const name = data['submissionValues']['firstname']; const phone = data['submissionValues']['phone']; var bookingFormUrl = $('#trial-license .hsform_schedule_meeting .meetings-iframe-container').attr('data-src'); // generate new data-src bookingFormUrl = bookingFormUrl + '&email=' + email; bookingFormUrl = bookingFormUrl + '&firstname=' + name; bookingFormUrl = bookingFormUrl + '&phone=' + phone; $('#trial-license .hsform_schedule_meeting .meetings-iframe-container').attr('data-src', bookingFormUrl); // update iframe from data-src, end // call next form manually after update data-src $.getScript('https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js', function() { }); // listen for the meeting form submit, start // const meetingEventOrigin = 'https://meetings.hubspot.com'; const meetingEventOrigin = 'https://hub.ironsoftware.com'; function handleMessage(event) { // Validate the origin first if (event.origin === meetingEventOrigin) { // only if meetingBookSucceeded if (event.data?.meetingBookSucceeded === true) { // goal for meeting form of 3 steps trial window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(239);}); // Remove this listener after success window.removeEventListener('message', handleMessage); trialFormSetStep("#trial-license", 4); } } } // Register the listener window.addEventListener('message', handleMessage); // listen for the meeting form submit, end }, 200); }, translations: { de: { fieldLabels: {"email":"Ihre Gesch\u00e4fts-E-Mail","firstname":"Name","countrycode":"Vorwahl","phone":"Telefonnummer","preferred_communication":"Bevorzugte Kontaktmethode"} } }, } // load embed forms after hsoptions is ready document.addEventListener("DOMContentLoaded", function() { const selector = document.querySelector("#trial-license .placeholder__hsform--one"); const modalSelector = document.querySelector("#trial-license.modal_new"); modalSelector.addEventListener("shown.bs.modal", function() { embedCustomHubspotForm(selector, hsFormOptions_one); embedCustomHubspotForm(selector, hsFormOptions_two, false); }, { once: true }); }); </script> <div class="modal modal_new trial-license-new cv-auto" id="trial-license" tabindex="-1" data-bs-backdrop="true" data-form-id="dbd072d1-1098-4c98-bdc3-7255fc2e0d6b" style="" data-js-modal-id="trial-license"> <div class="modal-dialog modal-dialog-scrollable modal-fullscreen"> <div class="modal-content p-0"> <div class="position-relative z-1"> <i class="fa-solid fa-x" data-bs-dismiss="modal" aria-hidden="true" style="position:absolute; top:12px; right:12px; width:40px; height:40px; cursor:pointer; display:flex; align-items:center; justify-content:center;font-size:18px; color:#181818;"></i> </div> <div class="modal-body p-0"> <div id="formtrial" class="modal_body"> <div class="modal-loaded donotdelete"></div> <div class="d-flex h-100 gap-0"> <div class="left d-none d-lg-block"> <div class="wrapper"> <div style="flex:0 1 56px;"><!-- spacer --></div> <div><img src="/img/products/ironpdf-logo-text-dotnet.svg" alt="ironpdf_for_dotnet_log2o" class="product_logo" loading="lazy"></div> <div style="flex:0 1 48px;"><!-- spacer --></div> <div class="bg_wrapper group__started_for_free"> <section class="title"> <div class="h1"><img src="/img/modals/trial-license-new/key_circle_blue.svg" width="40" height="40" alt="Blauer Schlüssel im Kreis" loading="lazy">Kostenlos loslegen</div> <div class="subtitle">Keine Kreditkarte erforderlich</div> </section> <section class="content"> <article> <div class="h2">In einer Live-Umgebung testen</div> <p>Testen Sie ohne Wasserzeichen in der Produktion.<br>Funktioniert dort, wo Sie es brauchen.</p> <div class="floating_icon"><i class="fa-kit fa-square-arrow-in"></i></div> </article> <article> <div class="h2">Voll funktionsfähiges Produkt</div> <p>Erhalten Sie 30 Tage voll funktionsfähiges Produkt.<br>In wenigen Minuten einsatzbereit.</p> <div class="floating_icon"><i class="fa-kit fa-calendar-bottom-check"></i></div> </article> <article> <div class="h2">24/5 technischer Support</div> <p>Voller Zugriff auf unser Support-Engineering-Team während Ihrer Produktprobe</p> <div class="floating_icon"><i class="fa-regular fa-messages-question"></i></i></div> </article> </section> </div> <div class="bg_wrapper group__started_for_free_completed"> <section class="title"> <div class="h1"><img src="/img/modals/trial-license-new/checked_circle_grey.svg" width="40" height="40" alt="Grauer Schlüssel im Kreis" loading="lazy">Kostenlos loslegen</div> <div class="subtitle">Das Testformular wurde erfolgreich übermittelt.</div> </section> <section class="content"> </section> </div> <div class="bg_wrapper group__booking"> <section class="title"> <div class="h1"><img src="/img/modals/trial-license-new/calendar_circle_blue.svg" width="40" height="40" alt="Kalender im Kreis" loading="lazy">Kostenlose Live-Demo buchen</div> <div class="subtitle">Kein Kontakt, keine Kartendaten, keine Verpflichtungen <span class="detail">Buchen Sie eine 30-minütige, persönliche Demo.<span></div> </section> <section class="content"> <div class="title_of_listing">Was Sie erwarten können:</div> <article> <p>Eine Live-Demo unseres Produkts und seiner Hauptmerkmale</p> <div class="floating_icon"><i class="fa-regular fa-circle-check"></i></div> </article> <article> <p>Erhalten Sie projektspezifische Funktionsempfehlungen</p> <div class="floating_icon"><i class="fa-regular fa-circle-check"></i></div> </article> <article> <p>Alle Ihre Fragen werden beantwortet, um sicherzustellen, dass Sie alle Informationen erhalten, die Sie benötigen. (Völlig unverbindlich.)</p> <div class="floating_icon"><i class="fa-regular fa-circle-check"></i></div> </article> </section> </div> <div class="bg_wrapper group__booking_completed"> <section class="title"> <div class="h1"><img src="/img/modals/trial-license-new/checked_circle_grey.svg" width="40" height="40" alt="Grauer Schlüssel im Kreis" loading="lazy">Kostenlose Live-Demo buchen</div> <div class="subtitle">Ihre Buchung wurde abgeschlossen <span class="detail">Prüfen Sie Ihre E-Mail auf Bestätigung</span></div> </section> <section class="content"> </section> </div> <style> ul.suite_features { list-style: none; li + li { margin-top: 6px } } .grid_listing_products { margin-top: 48px; display: grid; grid-template-columns: auto auto; row-gap:16px; justify-content: space-between; } </style> <div class="group__suite" style="display:none;"> <h2 class="iron_color--deep_blue iron_font--black iron_fs--30" style="margin:0 0 16px;">Want to deploy IronSuite to a live project for FREE?</h2> <h3 class="iron_color--pink iron_font--bold iron_fs--20" style="margin:24px 0 16px;">What’s included?</h3> <ul class="suite_features iron_color--black iron_font--normal iron_fs--18 p-0 m-0"> <li><i class="fa-solid fa-check iron_color--green me-2"></i>Test in production without watermarks</li> <li><i class="fa-solid fa-check iron_color--green me-2"></i>30 days fully functional product</li> <li><i class="fa-solid fa-check iron_color--green me-2"></i>24/5 technical support during trial</li> </ul> <div class="grid_listing_products"> <div><img src="\img\products\h-126\logo-ironpdf.svg" height="32" width="auto" alt="ironpdf Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironword.svg" height="32" width="auto" alt="ironword Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironxl.svg" height="32" width="auto" alt="ironxl Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironppt.svg" height="32" width="auto" alt="ironppt Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironocr.svg" height="32" width="auto" alt="ironocr Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironbarcode.svg" height="32" width="auto" alt="ironbarcode Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironqr.svg" height="32" width="auto" alt="ironqr Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironprint.svg" height="32" width="auto" alt="ironprint Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironzip.svg" height="32" width="auto" alt="ironzip Logo" loading="lazy"></div> <div><img src="\img\products\h-126\logo-ironwebscraper.svg" height="32" width="auto" alt="ironwebscraper Logo" loading="lazy"></div> </div> </div> <div style="flex:1 1 auto;"><!-- spacer --></div> <div class="modal_new_trial__support_team"> <div class="image_wrapper"> <img class="lazy" width="64" height="64" aria-label="" src="/img/support-team/support-team-member-6.webp" loading="lazy" alt="Support Team Member 6 related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> <img class="lazy" width="64" height="64" aria-label="" src="/img/support-team/support-team-member-14.webp" loading="lazy" alt="Support Team Member 14 related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> <img class="lazy" width="64" height="64" aria-label="" src="/img/support-team/support-team-member-4.webp" loading="lazy" alt="Support Team Member 4 related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> <img class="lazy" width="64" height="64" aria-label="" src="/img/support-team/support-team-member-2.webp" loading="lazy" alt="Support Team Member 2 related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> </div> <div class="online">Online 24/5</div> </div> <div class="need_help"><strong>Brauchen Sie Hilfe?</strong> Unser Vertriebsteam hilft Ihnen gerne weiter.</div> <a href="https://ironsoftware.com/de/enterprise/trial" class="enterprise-trial__cta">Testen Sie die Enterprise Testversion<i class="fa-solid fa-arrow-right"></i></a> <div style="flex:0 1 48px;"><!-- spacer --></div> </div> </div> <div class="right" style="flex:1 1 auto;"> <div class="wrapper"> <div style="flex:0 1 80px;"><!-- spacer --></div> <div class="d-none text-center"> <img loading="lazy" src="/img/products/ironpdf-logo-text-dotnet.svg" alt="ironpdf_for_dotnet_log2o" class="product_logo" style="max-height:50px;" height="50" width="auto"> </div> <!-- Page One --> <div class="right_content page_one"> <div class="header"> <div><img src="/img/modals/trial-license-new/key_circle_blue.svg" width="80" height="80" alt="Schlüssel im blauen Kreis" loading="lazy"></div> <div class="h2">Holen Sie sich sofort Ihren kostenlosen <strong class="visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline">30-Tage-Testschlüssel</strong>.</div> </div> <div style="height:48px;"><!-- spacer --></div> <div class="placeholder__hsform--one"></div> <div> <div class="no_credit_required"><img loading="lazy" src="/img/modals/trial-license-new/bullet_checked.svg" width="16" height="16" alt="bullet_checked">Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.</div> </div> </div> <!-- Page Two --> <div class="right_content page_two" style="display:none;"> <div class="header"> <div><img src="/img/modals/trial-license-new/key_circle_blue.svg" width="80" height="80" alt="Schlüssel im blauen Kreis" loading="lazy"></div> <div class="h2">Holen Sie sich sofort Ihren kostenlosen <strong class="visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline">30-Tage-Testschlüssel</strong>.</div> </div> <div style="height:24px;"><!-- spacer --></div> <div class="placeholder__hsform--two"></div> <div> <div class="no_credit_required"><img loading="lazy" src="/img/modals/trial-license-new/bullet_checked.svg" width="16" height="16" alt="Blauer Schlüssel im Kreis">Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.</div> </div> </div> <!-- Page Three (meeting form) --> <div class="right_content page_three" style="display:none;"> <div class="header"> <div><img src="/img/modals/trial-license-new/green_check_in_orange_circle.svg" width="80" height="80" alt="Green Check in orange circle" loading="lazy"></div> <div class="h2">Das Testformular wurde <span class="iron_font--bold">erfolgreich</span> übermittelt.</div> </div> <div style="height:24px;"><!-- spacer --></div> <div class="hsform_schedule_meeting"> <!-- Start of Meetings Embed Script --> <div class="meetings-iframe-container" data-src="https://hub.ironsoftware.com/meetings/iron-software-sales/demo-trial?embed=true"></div> <!-- End of Meetings Embed Script --> </div> </div> <!-- Page Submitted --> <div class="right_content page_submitted formright_submitted" style="display:none;"> <div class="d-none d-md-block" style="flex:0 1 80px;"><!-- spacer --></div> <div class="d-block d-md-none" style="flex:0 1 24px;"><!-- spacer --></div> <!-- submitted for products --> <div class="formright_submitted--products" style="display:block;"> <div><img loading="lazy" src="/img/modals/trial-license-new/green_check_in_orange_circle.svg" width="100" height="100" alt="badge_greencheck_in_yellowcircle"></div> <div class="title">Danke, dass Sie eine Testversion starten</div> <div class="text p-3"><p>Bitte prüfen Sie Ihre E-Mail auf den Testlizenzschlüssel.</p><p>Wenn Sie keine E-Mail erhalten, starten Sie bitte einen <a href="#livechat" onclick="return window.HubSpotConversations.widget.open()">Live-Chat</a> oder senden Sie eine E-Mail an <a href="mailto:support@ironsoftware.com">support@ironsoftware.com</a></p></div> <div> <div style="margin:0 auto; width:100%; max-width:248px;"> <div class="my-3"><a class="trial-license__action-button trial-license__action-button_red m-0" style="width:100%; font-size:14px;" href="https://www.nuget.org/packages/IronPdf/" target="_blank"><i class="trial-license__action-button-icon nuget-icon-white2"></i><span class="trial-license__action-button-text">Mit NuGet installieren</span></a></div> <div class="my-3"><a class="trial-license__action-button trial-license__action-button_white m-0" style="width:100%; font-size:14px;" href="/de/licensing/"><span class="trial-license__action-button-text">Lizenzierung anzeigen</span></a></div> </div></div> </div> <!-- submitted for suite --> <div class="formright_submitted--suite" style="display:none; padding-top:80px;"> <div><img loading="lazy" src="/img/modals/trial-license-new/green_check_in_orange_circle.svg" width="100" height="100" alt="badge_greencheck_in_yellowcircle"></div> <div class="title">Danke</div> <div class="text p-3">Ihr Testschlüssel sollte in der E-Mail sein.<br>Wenn nicht, kontaktieren Sie bitte <a href="mailto:support@ironsoftware.com" aria-label="Contact support" class="iron_color--deep_blue iron_font--medium iron_hover_color--pink">support@ironsoftware.com</a></div> </div> </div> <div style="flex:1 1 96px"><!-- spacer --></div> <section class="trusted_by"> <ul class="our_clients"><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_aetna.svg" alt="Logo Aetna" width="80" height="20"></li><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_nasa.svg" alt="Logo NASA" width="64" height="52"></li><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_ge.svg" alt="Logo GE" width="54" height="54"></li><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_porsche.svg" alt="Logo Porsche" width="40" height="52"></li><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_usds.svg" alt="Logo USDA" width="54" height="54"></li><li><img class="img-fluid" loading="lazy" src="/img/modals/trial-license-new/logo_qatar.svg" alt="Logo Katar" width="114" height="32"></li></ul> <div class="h2">Schließen Sie sich Millionen von Ingenieuren an, die IronPDF ausprobiert haben</div> </section> <section class="trial_key_sent text-center iron_color--black iron_font--normal iron_fs--14 iron_lh--16" style="display:none;"> Ihr Testschlüssel sollte in der E-Mail sein.<br>Wenn nicht, kontaktieren Sie bitte <a href="mailto:support@ironsoftware.com" aria-label="Contact support" class="iron_color--deep_blue iron_font--medium iron_hover_color--pink">support@ironsoftware.com</a> </section> <div style="flex:0 1 80px"><!-- spacer --></div> </div> </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { var selector = "#trial-license"; document.onElementViewportIntersect(selector, function() { var modals = ["trial-license.util.js", "modals/trial-license.css", "modals/trial-license-new.css"]; importModal(modals, "trial-license", debug()); }); }); </script> <script> function getHsProductCodeFromUrl() { const url = window.location.href; if (url.includes("ironpdf.com") || url.includes("ironpdf.local")) { if (url.includes("/java/")) return "pdf-java"; if (url.includes("/python/")) return "pdf-python"; if (url.includes("/nodejs/")) return "pdf-nodejs"; return "pdf"; } else if (url.includes("ironsoftware.com") || url.includes("ironsoftware.local")) { if (url.includes("/word/")) return "word"; if (url.includes("/ocr/")) return "ocr"; if (url.includes("/webscraper/")) return "webscraper"; if (url.includes("/barcode/")) return "barcode"; if (url.includes("/excel/")) return "excel"; if (url.includes("/qr/")) return "qr"; if (url.includes("/zip/")) return "zip"; if (url.includes("/word/")) return "word"; if (url.includes("/print/")) return "print"; if (url.includes("/securedoc/")) return "securedoc"; if (url.includes("/ppt/")) return "ppt"; if (url.includes("/python/excel/")) return "excel-python"; return "suite"; } } function enabledAbandonTrialForm() { function s(e = "") { const headers = new Headers(); headers.append("Content-Type", "application/json"); const body = JSON.stringify({ "fields": [{ "name": "email", "value": e }, { "name": "interested_products", "value": getHsProductCodeFromUrl() } ], "context": { "pageUri": window.location.href, "pageName": window.location.href.split('#')[0] } }); fetch("https://api.hsforms.com/submissions/v3/integration/submit/22630553/e036830d-c04a-4cb9-a5a0-2ba606d5de9f", { method: "POST", headers: headers, body: body, redirect: "follow" }).then((response) => response.text()).then((result) => console.log(result)).catch((error) => console.error(error)); } const w = 'email'; const t = 'trial-license'; const l = 'trial-license-new'; const f = 'name'; const fullScreenTrialModal = document.getElementById(t); if (fullScreenTrialModal && fullScreenTrialModal.classList.contains(l)) { fullScreenTrialModal.addEventListener('hide.bs.modal', function() { let e = []; document.querySelectorAll('#' + t + ' input[' + f + '="' + w + '"]').forEach(function(input) { if (input.value != '' && input.value != null && input.value.length >= 4) { e.push(input.value); } }); if (e.length > 0) { s(e[0]); } }); } }; function enabledSocialTrial() { const target = '.modal#trial-license .right_content.page_one'; const insertAfter = '.no_credit_required'; // Add place holder for social login document.querySelector(target + ' ' + insertAfter).insertAdjacentHTML("afterend", '<div id="firebaseui-auth-container"><div class="or_separator">OR</div></div>'); const firebaseuiAuthContainer = document.querySelector(target + ' #firebaseui-auth-container'); const currentPageUri = window.location.href; function submitHsform(formData) { const myHeaders = new Headers(); const hsu = "https://api.hsforms.com/submissions/v3/integration/submit/23795711/98897ae8-f5f7-4636-ae9e-98d808bc59b7"; myHeaders.append("Content-Type", "application/json"); const raw = JSON.stringify({ "fields": [{ "name": "email", "value": formData.email }, { "name": "firstname", "value": formData.name }, { "name": "comment", "value": "Submit via social login" } ], "context": { "pageUri": currentPageUri, "pageName": "Trial Submit" } }); fetch(hsu, { method: "POST", headers: myHeaders, body: raw, redirect: "follow" }) .then((response) => response.text()) .then((result) => console.log(result)) .catch((error) => console.error(error)); } // helper to load a script function loadScript(src) { return new Promise(resolve => { const s = document.createElement('script'); s.src = src; s.onload = resolve; document.head.appendChild(s); }); } // helper to load CSS function loadCSS(href) { const l = document.createElement('link'); l.rel = "stylesheet"; l.href = href; document.head.appendChild(l); } // Make sure related files are loaded, prevent miss behavior. Promise.all([ loadScript("https://www.gstatic.com/firebasejs/9.23.0/firebase-app-compat.js"), loadScript("https://www.gstatic.com/firebasejs/9.23.0/firebase-auth-compat.js"), loadScript("https://www.gstatic.com/firebasejs/ui/6.0.1/firebase-ui-auth.js"), loadCSS("https://www.gstatic.com/firebasejs/ui/6.0.1/firebase-ui-auth.css"), ]).then(() => { // Firebase config const firebaseConfig = { apiKey: "AIzaSyCsJiQyqdfI_YcNRxxpVUJ_pvicKmH9dX4", authDomain: "iron-authentication.firebaseapp.com", projectId: "iron-authentication", storageBucket: "iron-authentication.firebasestorage.app", messagingSenderId: "381801101678", appId: "1:381801101678:web:2d637bb0cdf2377998e97f" }; // init authn app firebase.initializeApp(firebaseConfig); // FirebaseUI const ui = new firebaseui.auth.AuthUI(firebase.auth()); ui.start('#firebaseui-auth-container', { signInFlow: 'popup', signInOptions: [{ provider: firebase.auth.GoogleAuthProvider.PROVIDER_ID, scopes: [ 'email', 'profile', ], customParameters: { prompt: 'select_account' } }, { provider: firebase.auth.GithubAuthProvider.PROVIDER_ID, scopes: [ 'user:email', 'read:user', ], customParameters: { prompt: 'select_account' } }, ], callbacks: { signInSuccessWithAuthResult: function(authResult) { const user = authResult.user; const userEmail = user.email || user.providerData[0]?.email; const userName = user.displayName; // Place info into the HS form const emailInput = document.querySelector('.modal#trial-license .right_content.page_two .placeholder__hsform--two form input[name="email"]'); const nameInput = document.querySelector('.modal#trial-license .right_content.page_two .placeholder__hsform--two form input[name="firstname"]'); // interact the dom document.querySelector('.modal#trial-license .right_content.page_one').style.display = 'none'; document.querySelector('.modal#trial-license .right_content.page_two').style.display = 'block'; var emailInputField = document.querySelector('.modal#trial-license .placeholder__hsform--two input[name="email"]'); if (emailInputField) { emailInputField.readOnly = true; emailInputField.value = userEmail; emailInputField.dispatchEvent(new Event('change', { bubbles: true })); } if (emailInput) { emailInput.value = userEmail; emailInput.dispatchEvent(new InputEvent('input', { bubbles: true, cancelable: true })); } if (nameInput) { nameInput.value = userName; nameInput.dispatchEvent(new InputEvent('input', { bubbles: true, cancelable: true })); } submitHsform({ "email": userEmail, "name": userName }) firebaseuiAuthContainer.style.display = 'none'; return false; } } }); }); return; } // enabledAbandonTrialForm(); // enabledSocialTrial(); </script> <script> document.addEventListener("DOMContentLoaded", function() { var selector = "#trial-license-form-sent"; document.onElementViewportIntersect(selector, function() { var modals = ["trial-license.util.js", "modals/trial-license.css", "modals/trial-license-new.css"]; importModal(modals, "trial-license-form-sent", debug()); }); }); </script> <div class="modal fade" id="talk-to-sales" tabindex="-1"> <div class="modal-dialog modal-fullscreen modal-dialog-scrollable"> <div class="modal-content talk_to_sales"> <div class="modal-loaded donotdelete"></div> <!-- close modal button --> <button type="button" class="button_close_modal" data-bs-dismiss="modal"><img src="/img/modals/talk_to_sales/icon_close_modal.svg" width="20" height="20" alt="close modal" loading="lazy"></button> <!-- modal content, start --> <div class=""> <div class="d-flex align-items-stretch vh-100"> <div class="content_left d-none d-md-flex flex-column"> <div class="product_logo"><img src="/img/modals/talk_to_sales/main_logo.svg" width="220" height="40" alt="Iron Suite Enterprise Logo" loading="lazy"></div> <div class="h2">Sprechen Sie mit dem Verkaufsteam</div> <p class="sub_title">Buchen Sie eine unverbindliche Beratung</p> <div class="team_expert_photo"> <img src="/img/modals/talk_to_sales/team_expert.webp" width="248" height="56" alt="Iron Software Enterprise-Beratungsteam" class="img-fluid" loading="lazy"> </div> <div class="how_we_help"> <div class="h3">Wie wir helfen können:</div> <ul> <li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Beratung zu Ihrem Arbeitsablauf & Ihren Schmerzpunkten</span></li><li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Sehen Sie, wie andere Unternehmen ihre .NET-Dokumentsbedürfnisse lösen</span></li><li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Alle Ihre Fragen beantwortet, um sicherzustellen, dass Sie alle Informationen haben, die Sie brauchen. (Keine Verpflichtung in irgendeiner Weise.)</span></li><li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Hol dir ein individuelles Angebot für dein Projekt</span></li> </ul> </div> </div> <div class="content_right d-flex flex-column"> <div style="flex:0 1 84px;"><!-- spacer --></div> <div class="content_right__hsform_header"> <div class="form_title">Erhalten Sie Ihre unverbindliche Beratung</div> <p class="sub_title">Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an <a href="mailto:sales@ironsoftware.com" aria-title="">sales@ironsoftware.com</a></p> </div> <div id="form_wrapper" class="form_wrapper" style="min-height: 488px;"> <div class="form_placeholder"></div> <p class="text_below_form"><i class="fa-solid fa-shield-heart"></i> Ihre Daten werden immer <strong>vertraulich behandelt.</strong></p> </div> <div style="flex:0 1 98px; min-height:24px;"><!-- spacer --></div> <div class="trusted_by"> <div class="h3">Von Millionen von Ingenieur*innen weltweit vertraut</div> <div><img src="/img/modals/talk_to_sales/trusted_by_logos.webp" width="552" height="97" alt="Azure (WebApps, Funktionen v3)" class="img-fluid" loading="lazy"></div> </div> </div> </div> </div> <!-- modal content, end --> </div> </div> </div> <script data-hbspt-form> document.addEventListener("DOMContentLoaded", function() { // iron_hsform_error_v2 (2024 DEC) // required: css group ".iron_hsform_error_v2" // required: label from hubspot // HubSpot form CSS is global; with multiple instances it can affect the wrong form. // Toggle the stylesheet with the modal to prevent modal submissions // from visually updating the page form. let hsCss; var salesTalkSelector = document.querySelector("#talk-to-sales"); salesTalkSelector?.addEventListener("hidden.bs.modal", (evt) => { if (evt.target.id === "talk-to-sales") { hsCss = document.querySelector(`link[rel="stylesheet"][type="text/css"][href="/front/css/hbsptforms.css?v=1776149867"]`); hsCss && (hsCss.disabled = true); } }); salesTalkSelector?.addEventListener("show.bs.modal", (evt) => { if (evt.target.id === "talk-to-sales") { hsCss && (hsCss.disabled = false); } }); var this_hsFormID = "dd27b8f3-83d9-4518-8fbc-8d07ec8b0761"; var this_hsFormSubmitText = "Ein Angebot anfordern"; var this_hsFormSubmittedText = '<div class="hsform_submitted_badge"></div><div class="hsform_submitted_text">Danke! für das Übermitteln des Formulars</div>'; var this_hsFormConfig = { region: "na1", portalId: "22630553", formId: this_hsFormID, locale: "de", inlineMessage: this_hsFormSubmittedText, submitText: this_hsFormSubmitText, target: "#form_wrapper", cssClass: "hsform_talk-to-sales iron_hsform_error_v2", translations: { "de": { fieldLabels: {"email":"Ihre Geschäfts-E-Mail","firstname":"Name","countrycode":"Vorwahl","phone":"Telefonnummer","preferred_communication":"Bevorzugte Kontaktmethode"} } }, onFormReady: function($form) { // alway scoped with $form // inject error element (icon and tooltip) var this_hsFormErrors = {"email":"Bitte geben Sie eine gültige E-Mail-Adresse ein","firstname":"Bitte geben Sie Ihren Namen ein","countrycode":"","phone":"Eine gültige Telefonnummer darf nur Ziffern, +()-. oder x enthalten","preferred_communication":"Bitte wählen Sie eine bevorzugte Kontaktmethode aus"}; var this_hsFormErrorTooltipMessages = { ".hs-form-field.hs-firstname": this_hsFormErrors.firstname || "Bitte geben Sie Ihren Namen ein", ".hs-form-field.hs-email": this_hsFormErrors.email || "Bitte geben Sie eine gültige E-Mail-Adresse ein", ".hs-form-field.hs-phone": this_hsFormErrors.phone || "Eine gültige Telefonnummer darf nur Ziffern, +()-. oder x enthalten", } for (var classname in this_hsFormErrorTooltipMessages) { const errorElement = $('<div/>', { class: 'iron-hsform-error-element', 'data-toggle': 'tooltip', 'data-placement': 'top', title: this_hsFormErrorTooltipMessages[classname] }); $form.find(classname).append(errorElement); } // create bootstrap's tooltip inside this form only $form.find('[data-toggle="tooltip"]').each(function(index, el) { bootstrap.Tooltip.getOrCreateInstance(this); }); }, onFormSubmitted: function($form) { // hide form header, form making sense of submitted form $form.parent().parent().parent().find('.content_right__hsform_header').hide(); window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(229);}); } }; setupModalPopupWithHubSpotForm(salesTalkSelector, "talk-to-sales", ["modals/talk_to_sales.css"], this_hsFormConfig, "#talk-to-sales div.form_wrapper"); }); </script> <!-- modal start --> <div class="modal fade cv-auto" id="booking-demo" tabindex="-1"> <div class="modal-dialog modal-fullscreen modal-dialog-scrollable"> <div class="modal-content modal_booking_demo"> <div class="modal-loaded donotdelete"></div> <!-- close modal button --> <button type="button" class="button_close_modal" data-bs-dismiss="modal" aria-label="Close"><img src="/img/modals/booking_demo/icon_close_modal.svg" width="20" height="20" alt="close modal button" loading="lazy"></button> <!-- modal content, start --> <div class=""> <div class="d-flex align-items-stretch vh-100"> <div class="content_left d-none d-md-flex flex-column"> <div class="product_logo_wrapper"><img class="product_logo" src="/img/products/ironpdf-logo-text-dotnet-white.svg" width="170" height="28" alt="IronPDF für .Net" loading="lazy"></div> <div style="flex:0 1 56px;"><!-- spacer --></div> <div class="h2">Kostenlose Live-Demo buchen</div> <p class="sub_title">Windows (10, 11, Server 2012 - 2022)</p> <p class="sub_title_emphasis">Keine Verträge, keine Kartenangaben, keine Verpflichtungen.</p> <div style="flex:0 1 12px;"><!-- spacer --></div> <div class="team_expert_photo_wrapper"> <img loading="lazy" src="/img/modals/booking_demo/team_expert.webp" width="496" height="112" alt="Linux (Debian, CentOS, Ubuntu)" class="team_expert_photo"> </div> <div style="flex:0 1 40px;"><!-- spacer --></div> <div class="how_we_help"> <span class="h3">Was Sie erwarten können:</h3> <ul> <li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Eine Live-Demo unseres Produkts und seiner Hauptmerkmale</span></li><li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Erhalten Sie projektspezifische Funktionsempfehlungen</span></li><li><span class="d-block"><i class="far fa-check-circle"></i></span><span class="d-block flex-grow-1">Alle Ihre Fragen werden beantwortet, um sicherzustellen, dass Sie alle Informationen haben, die Sie benötigen.<br>(Keine Verpflichtung.)</span></li> </ul> </div> </div> <div class="content_right d-flex flex-column"> <div class="d-none d-md-block" style="flex:0 0 48px;"><!-- spacer --></div> <div class="d-none d-md-block hsform_progress"> <div class="line"></div> <div class="dot step-1"></div> <div class="dot step-2"></div> <div class="text step-1">UHRZEIT WÄHLEN</div> <div class="text step-2">NuGet-Logo</div> </div> <div class="form_title">AWS-Logo</div> <div class="d-none d-md-block" style="height:72px;"><!-- spacer --></div> <div class="content_right__hsform_header"> <div class="text-center"> <img loading="lazy" src="/img/modals/booking_demo/booking_badge.svg" class="img-fluid mx-auto" width="234" height="170" alt="Booking Badge related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel"> </div> </div> <div class="hsform_loader_wrapper"> <div class="hsform_loader"></div> </div> <div class="form_wrapper hsform_schedule_email" style="min-height: 201px;"></div> <div class="hsform_schedule_meeting"> <!-- Start of Meetings Embed Script --> <div class="meetings-iframe-container" data-src="https://hub.ironsoftware.com/meetings/ironsoftware/demo?embed=true"></div> <!-- End of Meetings Embed Script --> </div> <div style="flex:0 0 24px;"><!-- spacer --></div> <div style="flex:0 1 98px;"><!-- spacer --></div> <div class="trusted_by"> <h3 class="h3">Von Millionen von Ingenieur*innen weltweit vertraut</h3> <div><img loading="lazy" src="/img/modals/booking_demo/trusted_by_logos.webp" width="574" height="54" alt="Azure (WebApps, Funktionen v3)" class="img-fluid"></div> </div> </div> </div> </div> <!-- modal content, end --> </div> </div> </div> <script data-hbspt-form> document.addEventListener("DOMContentLoaded", function() { var bookingDemoSelector = document.querySelector("#booking-demo"); // iron_hsform_error_v2 (2024 DEC) // required: css group ".iron_hsform_error_v2" // required: label from hubspot window.currentModalID = "#booking-demo"; var this_hsFormID = "28570e7d-08f2-41c5-ab5b-b00342515d68"; var this_hsFormSubmitText = "Visual Studio-Logo"; var this_hsFormConfig = { region: "na1", portalId: "22630553", formId: this_hsFormID, locale: 'en', submitText: this_hsFormSubmitText, cssClass: "iron_hsform_meeting iron_hsform_error_v2", onFormReady: function($form) { /* create error tooltip, start */ // alway scoped with $form // inject error element (icon and tooltip), then hide them var this_hsFormErrorTooltipMessages = { ".hs-form-field.hs-firstname": "Bitte geben Sie Ihren Namen ein", ".hs-form-field.hs-email": "Bitte geben Sie eine gültige E-Mail-Adresse ein", ".hs-form-field.hs-phone": "", }; for (var classname in this_hsFormErrorTooltipMessages) { const invalidAttr = $('<div/>', { class: 'invalid-field', 'data-toggle': 'tooltip', 'data-placement': 'top', title: this_hsFormErrorTooltipMessages[classname] }); $form.find(classname).append(invalidAttr); } // create bootstrap's tooltip inside this form only $form.find('[data-toggle="tooltip"]').each(function(index, element) { bootstrap.Tooltip.getOrCreateInstance(element); }); /* create error tooltip, end */ }, onFormSubmitted: function($form, data) { $(currentModalID + ' .content_right__hsform_header').hide(); $(currentModalID + ' .hsform_schedule_email').hide(); $(currentModalID + ' .trusted_by').hide(); $(currentModalID + ' .hsform_loader_wrapper').show(); dataLayer.push({ 'event': 'book_live_demo' }); window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() { _vis_opt_goal_conversion(234); }); setTimeout(function() { // collect email address after form submitted const email = data['submissionValues']['email']; // get data-src from next form var nextFormDataSrc = $('.hsform_schedule_meeting .meetings-iframe-container').attr('data-src'); // generate new data-src nextFormDataSrc = nextFormDataSrc + '&email=' + email // inject new data-src to next form $(currentModalID + ' .hsform_schedule_meeting .meetings-iframe-container').attr('data-src', nextFormDataSrc); // call next form manually after update data-src $.getScript('https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js', function() { $(currentModalID + ' .hsform_loader_wrapper').hide(); $(currentModalID + ' .hsform_schedule_meeting').show(); }); }, 0); }, }; /* for form progress, start */ var hsMeetingFormActivated = false; window.addEventListener("message", function(event) { if (event.origin == "https://meetings.hubspot.com" && event.data == "readyForConsentListener" && hsMeetingFormActivated == false) { hsMeetingFormActivated = true; $(currentModalID + ' .hsform_progress').css("visibility", "visible"); $(currentModalID + ' .hsform_progress .step-1.dot').addClass('active'); $(currentModalID + ' .hsform_progress .step-1.text').addClass('active'); } if (event.origin == "https://meetings.hubspot.com" && event.data != "readyForConsentListener" && hsMeetingFormActivated) { // console.log('>> second meeting form displaying') $(currentModalID + ' .hsform_progress .step-1.dot').addClass('completed'); $(currentModalID + ' .hsform_progress .step-1.dot').html('<i class="fas fa-check"></i>'); $(currentModalID + ' .hsform_progress .step-1.text').addClass('completed'); $(currentModalID + ' .hsform_progress .step-2.dot').addClass('active'); $(currentModalID + ' .hsform_progress .step-2.text').addClass('active'); $(currentModalID + ' .hsform_progress .line').addClass('active'); } if (event.origin == "https://meetings.hubspot.com" && event.data.meetingBookSucceeded && hsMeetingFormActivated) { // console.log('>> meeting form submitted') $(currentModalID + ' .hsform_progress .step-2.dot').addClass('completed'); $(currentModalID + ' .hsform_progress .step-2.dot').html('<i class="fas fa-check"></i>'); $(currentModalID + ' .hsform_progress .step-2.text').addClass('completed'); } }); /* for form progress, end */ setupModalPopupWithHubSpotForm(bookingDemoSelector, "booking-demo", ["modals/booking_demo.css"], this_hsFormConfig, "#booking-demo .form_wrapper.hsform_schedule_email"); }); </script> <!-- modal end --> <!-- Article Documentation Typeform Modal START --> <div class="modal fade cv-auto" id="article-feedback-modal" tabindex="-1" data-bs-backdrop="true" aria-modal="true" aria-hidden="true" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <i class="fas fa-times slide-out-close" data-bs-dismiss="modal" aria-hidden="true"></i> </div> <div class="modal-body"> <div class="modal-loaded donotdelete"></div> <div class="article-feedabck__wrapper" id="anchor-improve-the-article" data-tf-widget="zrOqRbmz" data-tf-iframe-props="title=Article feedback" data-tf-medium="snippet" data-tf-hidden="source=https://ironpdf.com/de/blog/using-ironpdf/read-header-footer-itextsharp" data-tf-disable-auto-focus ></div> <script> document.addEventListener("DOMContentLoaded", function() { setupModalPopup("#article-feedback-modal", "article-feedback-modal", ["https://embed.typeform.com/next/embed.js", "modals/article-typeform.css"]); }); </script> </div> </div> </div> </div> <!-- Article Documentation Typeform Modal END --> <!-- Full Width Code Example Modal START --> <div class="modal full-width-code-example-modal cv-auto" tabindex="-1" id="fullWidthCodeExample" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-loaded donotdelete"></div> <div class="modal-header"> <button title="Close" data-bs-dismiss="modal" aria-hidden="true" class="full-width-code-example-modal__close-button"> <i class="fas fa-times" data-bs-dismiss="modal" aria-hidden="true"></i> </button> </div> <div class="modal-body"></div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { var copyButtonSibling = null; const fwCSEl = document.querySelector("#fullWidthCodeExample"); const fwCSModal = bsModal(fwCSEl); document.querySelectorAll(".js-full-screen-code-example-modal").forEach((exBtn) => { exBtn.addEventListener("click", (ev) => { copyButtonSibling = Array.from(getSiblings(exBtn)).filter(sibling => sibling.classList.contains('js-clipboard-button') || sibling.classList.contains('copy-clipboard'))[0]; let copyHoverVal = copyButtonSibling.getAttribute("title"); let copyDataHoverVal = copyButtonSibling.getAttribute("data-original-title"); let codeExampleContent = exBtn.closest(".code-content")?.cloneNode(true); if (!codeExampleContent) { codeExampleContent = exBtn.closest(".code-explorer__content").cloneNode(true); } if (codeExampleContent) { fwCSEl.querySelector(".modal-body").replaceChildren(codeExampleContent); fwCSEl.querySelector(".copy-clipboard")?.setAttribute("title", copyDataHoverVal != '' ? copyDataHoverVal : copyHoverVal); openModalPopup("fullWidthCodeExample", null, false); } }); }); fwCSEl.addEventListener("click", (ev) => { const target = ev.target.closest(".js-exit-full-screen-code-example-modal, .full-width-code-example-modal__close-button"); if (!target) return; const sib = Array.from(getSiblings(target)).filter(sibling => sibling.classList.contains('copy-clipboard'))[0]; if (!sib) return; copyButtonSibling.setAttribute('title', sib.getAttribute('title')); fwCSModal.then((modal) => { modal.hide(); }); }); setupModalPopup("#fullWidthCodeExample", "fullWidthCodeExample", ["modals/code-examples.css"]); }); </script> <!-- Full Width Code Example Modal END --> <script> // toggle dropdown trial form function vwoEnabledHsFormAtStickyFooter() { load_$(() => { // load hubspot form dynamically function dynamicLoadHsForms(formOption, target) { function waitForHsptReady() { var interval = setInterval(function() { if (typeof hbspt !== "undefined") { clearInterval(interval); var option = formOption; option.target = target; hbspt.forms.create(option); } }, 10); } if (typeof hbspt === "undefined") { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "//js.hsforms.net/forms/embed/v2.js"; document.getElementsByTagName("head")[0].appendChild(script); script.onload = function() { waitForHsptReady(); }; } else { waitForHsptReady(); } } // disable open the modal on click at sticky footer bar const $footerSticky = $("#footer-sticky"); $footerSticky.replaceWith($footerSticky.clone(true)); // hide default black cta button $('#footer-sticky-cta-button').hide(); // show a variant hsform $('#placeHolderForHsFormAtStickyFooter').show(); // styling variant $("#footer-sticky").css({ 'cursor': 'default', 'height': '52px' }); $('#footer-sticky .support-text').css({ 'cursor': 'default', }); // hsform options const hsFormOptionsAtStickyFooter = { portalId: "22630553", region: "na1", locale: "en", formId: "78c61202-075f-4baa-909b-54216b9dede2", formInstanceId: "sticky-footer-trial", submitText: "Gratis testen", inlineMessage: "Vielen Dank, bitte prüfen Sie Ihre E-Mail für Ihre kostenlose Testversion.", onFormReady: function($form) { // insert product_id to form hidden input // $form.find('input[name="2-12260276/trial_products"]').val(window.IRON.product.code.toUpperCase()).change(); const el = document.querySelector('#placeHolderForHsFormAtStickyFooter'); const tooltip = new bootstrap.Tooltip(el, { placement: 'top', trigger: 'manual', title: 'E-Mail erforderlich, um den Testschlüssel zu erhalten', }); const emailInput = $form.find('input[type="email"]')[0]; const observer = new MutationObserver((mutations) => { const mutation = mutations[0]; if (mutation.attributeName === 'class') { if (emailInput.classList.contains('invalid')) { tooltip.show(); setTimeout(() => { tooltip.hide(); }, 3000); } else { tooltip.hide(); } } }); observer.observe(emailInput, { attributes: true, attributeFilter: ['class'] }); }, onFormSubmitted: function($form, data) { // trigger goal start window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() { _vis_opt_goal_conversion(237); }); // Fire Custom Event when form submited dataLayer.push({ 'event': 'trial-from-submitted' }); // HubSpot hubspot_custom_conversion_trigger("pe22630553_trial_from_submitted_v2"); // trigger goal end const nextForm = ".modal#trial-license .placeholder__hsform--two form"; const waitForTargetInput = setInterval(() => { if ($(nextForm).length) { clearInterval(waitForTargetInput); $(nextForm + " input[name='email']").val(data.submissionValues.email).change(); $(nextForm + " input[name='email']").attr('readonly', true); } }, 100); // open full trial modal, jump to step 2 trialFormSetStep('#trial-license', 2); $('#trial-license').modal('show'); }, }; dynamicLoadHsForms(hsFormOptionsAtStickyFooter, "#placeHolderForHsFormAtStickyFooter"); }); } </script> <div id="footer-sticky" class="fixed-support-bar footer-sticky__vwo-test js-hide-footer-on-scroll js-search-offset-block js-modal-open" data-modal-id="trial-license" > <div class="support-text"> <span class="support-text__full-power">30-Tage-Testversion → Volles Produkt. Keine Grenzen. Keine Karte.</span> <a id="footer-sticky-cta-button" aria-label="Iron Software Testlizenz" class="js-fixed-support-bar-button vwo-homepage-start-trial-cta-button--control btn btn-red btn-white-red" > <i class="fas fa-key d-inline"></i><span class="d-inline">Gratis testen</span> </a> <div id="placeHolderForHsFormAtStickyFooter"><!-- placeholder --></div> </div> </div> <script> // enabled for debug /* window.onload = function() { vwoEnabledHsFormAtStickyFooter(); }; */ </script> <footer id="footer" class="footer"> <!-- Iron Suite Products --> <div id="new-sc" class="main_product_page new-footer"> <div class="footer__wrapper"> <div class="footer__header"> <a href="https://ironsoftware.com/de/about-us/1-percent-for-the-planet/" class="footer__header-logo"> <img class="footer__logo" src="/img/footer/logo-1_percent.svg" alt="Logo 1 Percent related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel" width="204" height="32" loading="lazy"> </a> <div class="footer__header-content"> <div class="footer__header-tagline"> <div class="footer__icon-wrapper"> <img class="footer__icon" src="/img/footer/textlogo-iron_suite.svg" alt="Textlogo Iron Suite related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel" width="201" height="32" loading="lazy"> </div> <h2 class="footer__title"><span>IronPDF ist ein Teil der </span>IRON<strong>SUITE</strong></h2> <p class="footer__subtitle">10 .NET-API-Produkte <span>für Ihre Bürodokumente</span></p> </div> <div class="footer__cta"> <a href="https://ironsoftware.com/de/suite/" class="footer__btn buy-all__btn">10-Produkt-Suite erhalten <i class="fa-solid fa-caret-right"></i></a> <a href="https://ironsoftware.com/de/suite/#trial-license" class="footer__btn free-trial__btn"><i class="fa-solid fa-key"></i>  Gratis testen <i class="fa-solid fa-caret-right"></i></a> </div> </div> </div> <div class="footer__divider d-none d-xl-block"></div> <div class="footer__products"> <h2 class="visually-hidden" id="footer__products__heading">Produktlinks</h2> <ul class="footer__products-list" aria-labelledby="footer__products__heading"> <li class="footer__product"> <a href="/de/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_pdf.svg" alt="ironpdf_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> PDFs erstellen, lesen und bearbeiten. HTML zu PDF für .NET.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/word/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_word.svg" alt="ironword_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> DOCX-Dateien bearbeiten. Kein Office Interop nötig.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/excel/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_xl.svg" alt="ironxl_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> Excel- und CSV-Dateien bearbeiten. Kein Interop nötig.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/ppt/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_ppt.svg" alt="ironppt_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> Präsentationen bearbeiten – kein Office nötig</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/ocr/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_ocr.svg" alt="ironocr_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> OCR in 125 Sprachen.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/barcode/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_barcode.svg" alt="ironbarcode_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> QR- & Barcodes lesen und schreiben.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/qr/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_qr.svg" alt="ironqr_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> QR-Codes lesen und schreiben.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/zip/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_zip.svg" alt="ironzip_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> Archive zippen und entpacken.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/print/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_print.svg" alt="ironprint_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> Dokumente in .NET drucken.</span> </a> </li> <li class="footer__product"> <a href="https://ironsoftware.com/de/csharp/webscraper/" class="footer__product-link"> <div class="d-flex align-items-center"> <div class="footer__hash-icon-wrapper d-none d-md-inline-flex"> <img src="/img/footer/icon-hash.svg" alt="Icon Hash related to Produktlinks" width="27.95" height="24" loading="lazy"> </div> <div class="footer__product-icon-wrapper"> <img src="/img/footer/textlogo-iron_webscraper.svg" alt="ironwebscraper_logo" width="auto" height="14" loading="lazy"> </div> </div> <span class="footer__product-text"><strong class="d-none d-md-inline">-</strong> Strukturierte Webdaten extrahieren.</span> </a> </li> </ul> </div> </div> </div> <nav class="footer__first-row-wrappe" role="navigation"> <div class="footer__first-row__first-column"> <div class="footer__first-row__logo"> <a href="#"> <img loading="lazy" src="/img/products/footer-top-logo-ironpdf-for-net.svg" alt="IronPDF for .NET" width="268" height="44"> </a> </div> <div class="footer__first-row__logo-description"> <p>Wenn Ihr PDF wie HTML aussehen soll, schnell.</p> </div> </div> <div class="footer__first-row__second-column"> <section class="bifrost"></section> <div class="footer__first-row__second-column__navigation"> <nav class="footer__first-row__navigation"> <p class="footer__first-row__navigation__title">Dokumentation</p> <ul class="footer__first-row__navigation__links-list"> <li> <a class="footer__first-row__navigation__link" href="/de/examples/using-html-to-create-a-pdf/" > Codebeispiele </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/how-to/create-new-pdfs/" > Anleitungen </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/object-reference/api/" target="_blank" > API Referenz </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/features/" > Funktionen </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/blog/" > Blog </a> </li> <li> <a class="footer__first-row__navigation__link i18n__distrans" href="/assets/ironpdf-brochure.pdf" target="_blank" > Produktbroschüre </a> </li> <li> <a class="footer__first-row__navigation__link" data-bs-toggle="tooltip" data-bs-placement="right" title="Hilft LLMs und Tools wie ChatGPT und Claude, unsere Dokumentation besser zu verstehen" href="/de/llms.txt" target="_blank" > KI-freundlicher Index (llms.txt) </a> </li> </ul> </nav> <nav class="footer__first-row__navigation"> <p class="footer__first-row__navigation__title">Tutorials</p> <ul class="footer__first-row__navigation__links-list"> <li> <a class="footer__first-row__navigation__link" href="/de/docs/" > Loslegen </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/tutorials/html-to-pdf/" > HTML zu PDF </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/tutorials/csharp-edit-pdf-complete-tutorial/" > PDFs in C# bearbeiten </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/how-to/pixel-perfect-html-to-pdf/" > HTML mit Chrome debuggen </a> </li> </ul> </nav> <nav class="footer__first-row__navigation"> <p class="footer__first-row__navigation__title">VS-Alternativen</p> <ul class="footer__first-row__navigation__links-list"> <li> <a class="footer__first-row__navigation__link" href="/de/competitors/aspose-vs-ironpdf/" > IronPDF vs Aspose </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/competitors/syncfusion-vs-ironpdf/" > IronPDF vs Syncfusion </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/competitors/itext-vs-ironpdf/" > IronPDF vs. iText </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/competitors/apryse-vs-ironpdf/" > IronPDF vs Apryse </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/competitors/questpdf-vs-ironpdf/" > IronPDF vs QuestPDF </a> </li> </ul> </nav> <nav class="footer__first-row__navigation"> <p class="footer__first-row__navigation__title">Lizenzierung</p> <ul class="footer__first-row__navigation__links-list"> <li> <a class="footer__first-row__navigation__link" href="/de/licensing/" > Eine Lizenz kaufen </a> </li> <li> <a class="footer__first-row__navigation__link" href="https://ironsoftware.com/de/resellers/" target="_blank" > Einen Wiederverkäufer finden </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/licensing/upgrades/" > Lizenz-Upgrades </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/licensing/extensions/" > Lizenzverlängerungen </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/get-started/license-keys/" > Lizenzschlüssel verwenden </a> </li> <li> <a class="footer__first-row__navigation__link" href="/de/licensing/eula/" > EULA </a> </li> <li> <a class="footer__first-row__navigation__link" href="https://ironsoftware.com/de/enterprise/" > Enterprise </a> </li> </ul> </nav> <nav class="footer__first-row__navigation"> <p class="footer__first-row__navigation__title">IronPDF kostenlos testen</p> <ul class="footer__first-row__navigation__links-list"> <li> <a class="footer__first-row__navigation__link footer__first-row__navigation__link--highlight js-modal-open" href="https://www.nuget.org/packages/IronPdf/" target="_blank" data-modal-id="trial-license-after-download" > <i class="nuget-icon-pink"></i> Auf NuGet herunterladen </a> </li> <li> <p class="footer__first-row__navigation__link ga-dll-installer footer-dropdown-menuitem download-library-dropdown dll-installer center-dropdown js-modal-open--downloading" data-modal-id="trial-license-after-download" data-url=" /packages/IronPdf.zip " data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-html="true" data-bs-title='<div class="library_download_dropdown_tooltip v2"><div class="library_download_dropdown_tooltip__menuitem" data-download-link="/packages/IronPdf.zip"><span class="library_download_dropdown_tooltip__menuitem_text"><i class="library_download_dropdown_tooltip__menuitem_fa-icon fab fa-microsoft"></i><span class="library_download_dropdown_tooltip_menuitem_text-label">Für Windows</span></span></div><div class="library_download_dropdown_tooltip__menuitem" data-download-link="/packages/IronPdf.MacOs.zip"><span class="library_download_dropdown_tooltip__menuitem_text"><i class="library_download_dropdown_tooltip__menuitem_fa-icon fab fa-apple"></i><span class="library_download_dropdown_tooltip_menuitem_text-label">Für macOS</span></span></div><div class="library_download_dropdown_tooltip__menuitem" data-download-link="/packages/IronPdf.Linux.zip"><span class="library_download_dropdown_tooltip__menuitem_text"><i class="library_download_dropdown_tooltip__menuitem_fa-icon fab fa-linux"></i><span class="library_download_dropdown_tooltip_menuitem_text-label">Für Linux</span></span></div></div>' data-bs-custom-class='dl-dropdown-tooltip' data-bs-trigger='manual'> <i class="fas fa-download"></i> DLL herunterladen <i class="fas fa-caret-down"></i> </p> </li> <li> <p class="footer__first-row__navigation__link ga-windows-installer js-modal-open--downloading" data-modal-id="trial-license-after-download" data-url=" /packages/IronPdfInstaller.zip " > <i class="fab fa-microsoft"></i> Windows-Installer herunterladen </p> </li> <li> <a class="footer__first-row__navigation__link js-modal-open" href="#trial-license" data-modal-id="trial-license" > <i class="fas fa-key"></i> Gratis testen </a> </li> </ul> </nav> </div> </div> </nav> <nav id="footer__breadcrumbs-navigation-menu"> <div class="container-fluid"> <div class="navigation-container"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="/de/" aria-label="Go to IronPDF">IronPDF</a></li><li class="breadcrumb-item"><a href="/de/blog/" aria-label="Go to IronPDF Blog">IronPDF Blog</a></li><li class="breadcrumb-item"><a href="/de/blog/using-ironpdf/" aria-label="Go to IronPDF nutzen">IronPDF nutzen</a></li><li class="breadcrumb-item active">Lesen Kopfzeile Fußzeile iTextSharp</li></ol> <a id="footer__topscroll-link" class="top-return-link" href="#top"> Nach oben </a> </div> </div> </nav> <nav class="footer__additional-background-wrapper d-none" role="navigation"> <h2 class="visually-hidden" id="footer__global-navigation-menu-heading">Globales Navigationsmenü</h2> <div class="footer__fourth-row-wrapper"> <div class="footer__fourth-row-wrapper__logo-block"> <h3 class="visually-hidden">Firmenlogo und Adresse</h3> <a href="https://ironsoftware.com/de/"> <img class="footer__fourth-row-wrapper__logo-icon" loading="lazy" src="/img/svgs/hero-logo__162x20.svg" alt="Iron Software" width="162" height="20"> </a> <div class="footer__fourth-row-wrapper__address text-center text-md-end" aria-labelledby="footer-main-links-heading"> <address> 205 N. Michigan Ave. Chicago, IL 60601 USA +1 (312) 500-3060 </address> </div> </div> <div class="footer__fourth-row-wrapper__contact-links-block"> <h3 class="visually-hidden" id="footer__main-navlinks">Haupt-Navigationslinks</h3> <ul class="footer__fourth-row-wrapper__links-list" aria-labelledby="footer_main-navlinks"> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/about-us/" target="_blank"> Über uns </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/news/" target="_blank"> Nachrichten </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/customers/" target="_blank"> Kunden </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/careers/" target="_blank"> Karrieren </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/academy/" target="_blank"> Akademie </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/live-streams/" target="_blank"> Webinare </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://hub.ironsoftware.com/de/licenses-view" target="_blank"> Kunden HUB Login </a> </li> <li> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/contact-us/" target="_blank"> Kontakt </a> </li> <li class="d-none d-md-flex"> <div class="iron_lang-menu dropup" data-bs-target="#footerLangNameMenuDropdown"> <button type="button" class="dropdown-toggle" id="iron_lang-menu__language-name_dropdown__current-language" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Deutsch </button> <ul id="footerLangNameMenuDropdown" class="dropdown-menu" aria-labelledby="footerLangNameMenuDropdown"> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="en" hreflang="en" href="/blog/using-ironpdf/read-header-footer-itextsharp/" >English</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="es" hreflang="es" href="/es/blog/using-ironpdf/read-header-footer-itextsharp/" >Español</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans active-lang" data-language-code="de" hreflang="de" href="/de/blog/using-ironpdf/read-header-footer-itextsharp/" >Deutsch</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="fr" hreflang="fr" href="/fr/blog/using-ironpdf/read-header-footer-itextsharp/" >Français</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="ja" hreflang="ja" href="/ja/blog/using-ironpdf/read-header-footer-itextsharp/" >日本語</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="ko" hreflang="ko" href="/ko/blog/using-ironpdf/read-header-footer-itextsharp/" >한국어</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="pt" hreflang="pt" href="/pt/blog/using-ironpdf/read-header-footer-itextsharp/" >Português</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="pl" hreflang="pl" href="/pl/blog/using-ironpdf/read-header-footer-itextsharp/" >polski</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="zh" hreflang="zh" href="/zh/blog/using-ironpdf/read-header-footer-itextsharp/" >简体中文</a></li> <li class="dropdown-item" role="menuitem"><a class="i18n__distrans" data-language-code="zh_TW" hreflang="zh-tw" data-language-alias="zh-hant" href="/zh-hant/blog/using-ironpdf/read-header-footer-itextsharp/" >繁體中文</a></li> </ul> </div> </li> </ul> </div> <div class="d-flex flex-column align-items-end"> <h3 class="visually-hidden" id="footer__main-social-links">Links zu sozialen Medien</h3> <ul class="footer__fourth-row-wrapper__social-icons" aria-labelledby="footer__main-social-links"> <li><a class="footer__fourth-row-wrapper__social-icon" href="https://github.com/iron-software" title="Iron Software GitHub-Repository erkunden" target="_blank"><img loading="lazy" src="/img/footer-socials/github.svg" alt="Github related to Links zu sozialen Medien" width='16' height='15.33'></a></li> <li><a class="footer__fourth-row-wrapper__social-icon" href="https://www.youtube.com/@ironsoftware" title="Sehen Sie sich Iron Software-Videos auf Youtube an" target="_blank"><img loading="lazy" src="/img/footer-socials/youtube.svg" alt="Youtube related to Links zu sozialen Medien" width='16' height='11'></a></li> <li><a class="footer__fourth-row-wrapper__social-icon" href="https://x.com/ironsoftwaredev" title="Folgen Sie Iron Software auf Twitter" target="_blank"><img loading="lazy" src="/img/footer-socials/twitter-x.svg" alt="Twitter X related to Links zu sozialen Medien" width='16' height='13.44'></a></li> <li><a class="footer__fourth-row-wrapper__social-icon" href="https://www.facebook.com/teamironsoftware" title="Bleiben Sie mit Iron Software auf Facebook verbunden" target="_blank"><img loading="lazy" src="/img/footer-socials/facebook.svg" alt="Facebook related to Links zu sozialen Medien" width='16' height='16'></a></li> <li><a class="footer__fourth-row-wrapper__social-icon" href="https://www.linkedin.com/company/ironsoftware" title="Verbinden Sie sich mit Iron Software auf LinkedIn" target="_blank"><img loading="lazy" src="/img/footer-socials/linkedin.svg" alt="Linkedin related to Links zu sozialen Medien" width='16.34' height='16'></a></li> </ul> <a class="footer__fourth-row-wrapper__link" href="https://ironsoftware.com/de/company/iron-slack-community/"> <img loading="lazy" src="/img/icons/slack-icon.svg" class="footer__fourth-row__slack-icon" alt="Slack Icon related to Links zu sozialen Medien" width="14" height="14"> Treten Sie Iron Slack bei</a> </div> </div> </div> </nav> <nav class="footer__fifth-row-wrapper d-none"> <p class="footer__fifth-row-wrapper__teamseas"> <a href="https://ironsoftware.com/de/about-us/1-percent-for-the-planet/"> <img loading="lazy" src="/img/footer/logo-1-percent.svg" alt="Teams unterstützen" height="40"> </a> </p> <div class="copyright__links d-flex align-items-center"> <h3 class="visually-hidden" id="footer__copyright-heading">Rechtsinformationen</h3> <p class="footer__fifth-row-wrapper__copyright-text"> Urheberrechte © Iron Software 2013-2026 </p> <ul class="footer__fifth-row-wrapper__links-list" aria-labelledby="footer__copyright-heading"> <li> <a class="footer__fifth-row-wrapper__link" href="https://ironsoftware.com/de/company/terms/">Bedingungen</a> </li> <li> <a class="footer__fifth-row-wrapper__link" href="https://ironsoftware.com/de/company/privacy/">Datenschutz</a> </li> <li> <a class="footer__fifth-row-wrapper__link" href="https://ironsoftware.com/de/company/cookie/">Cookie</a> </li> </ul> </div> </nav> <!-- New Footer Navs --> <div class="site-footer__wrapper"> <nav class="site-footer" aria-label="Footer"> <div class="site-footer__links"> <a href="https://ironsoftware.com/de/about-us/" target='_blank' class="site-footer__link"> Über uns </a> <a href="https://ironsoftware.com/de/news/" target='_blank' class="site-footer__link"> Nachrichten </a> <a href="https://ironsoftware.com/de/customers/" target='_blank' class="site-footer__link"> Kunden </a> <a href="https://ironsoftware.com/de/careers/" target='_blank' class="site-footer__link"> Karrieren </a> <a href="https://ironsoftware.com/de/academy/" target='_blank' class="site-footer__link"> Akademie </a> <a href="https://ironsoftware.com/de/live-streams/" target='_blank' class="site-footer__link"> Webinare </a> <a href="https://hub.ironsoftware.com/de/licenses-view" target='_blank' class="site-footer__link"> Kunden HUB Login </a> <a href="https://ironsoftware.com/de/contact-us/" target='_blank' class="site-footer__link"> Kontakt </a> </div> <div class="site-footer__bar"> <div class="site-footer__ratings"> <a class="site-footer__rating" href="https://ironsoftware.com/de/awards-and-recognition/" aria-label="G2 Reviews - view awards and recognition"> <div class="site-footer__rating-logo"> <img class="img-fluid" src="/img/awards/g2-reviews.svg" alt="G2 Reviews" width="48" height="48" loading="lazy"> </div> <div class="site-footer__rating-content"> <div class="site-footer__rating-label"> <div class="site-footer__rating-star-meter" role="img" aria-label="Rated 4.9 out of 5 stars" style="--rating-percent: 98%;"> <span class="site-footer__rating-stars-base" aria-hidden="true">★★★★★</span> <span class="site-footer__rating-stars-fill" aria-hidden="true">★★★★★</span> </div> </div> <span class="site-footer__rating-score"><strong>4.9</strong> / 5</span> </div> </a> <a class="site-footer__rating" href="https://ironsoftware.com/de/awards-and-recognition/" aria-label="Capterra Reviews - view awards and recognition"> <div class="site-footer__rating-logo"> <img class="img-fluid" src="/img/awards/capterra-reviews.svg" alt="Capterra Reviews" width="32" height="32" loading="lazy"> </div> <div class="site-footer__rating-content"> <div class="site-footer__rating-label"> <div class="site-footer__rating-star-meter" role="img" aria-label="Rated 5 out of 5 stars" style="--rating-percent: 100%;"> <span class="site-footer__rating-stars-base" aria-hidden="true">★★★★★</span> <span class="site-footer__rating-stars-fill" aria-hidden="true">★★★★★</span> </div> </div> <span class="site-footer__rating-score"><strong>5</strong> / 5</span> </div> </a> </div> <div class="site-footer__brand"> <div class="site-footer__brand-logo"> <img src="/img/svgs/hero-logo__162x20.svg" alt="Iron Software" width="162" height="20" loading="lazy"> </div> <span class="site-footer__address">205 N. Michigan Ave. Chicago, IL 60601 USA +1 (312) 500-3060</span> </div> <div class="site-footer__contact"> <ul class="site-footer__social-items"> <li class="site-footer__social-item"> <a href="https://github.com/iron-software" class="site-footer__social-link" aria-label="GitHub" target='_blank' > <i class="fa-brands fa-github"></i> </a> </li> <li class="site-footer__social-item"> <a href="https://www.youtube.com/@ironsoftware" class="site-footer__social-link" aria-label="Youtube" target='_blank' > <i class="fa-brands fa-youtube"></i> </a> </li> <li class="site-footer__social-item"> <a href="https://x.com/ironsoftwaredev" class="site-footer__social-link" aria-label="X" target='_blank' > <i class="fa-brands fa-x-twitter"></i> </a> </li> <li class="site-footer__social-item"> <a href="https://www.facebook.com/teamironsoftware" class="site-footer__social-link" aria-label="Facebook" target='_blank' > <i class="fa-brands fa-square-facebook"></i> </a> </li> <li class="site-footer__social-item"> <a href="https://www.linkedin.com/company/ironsoftware" class="site-footer__social-link" aria-label="LinkedIn" target='_blank' > <i class="fa-brands fa-linkedin-in"></i> </a> </li> </ul> <a href="https://ironsoftware.com/de/company/iron-slack-community/" class="site-footer__cta" arial-label="Join Iron Slack" > <div class="site-footer__cta-logo"> <img src="/img/icons/slack-icon.svg" alt="Slack Icon related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel" width="16" height="16" loading="lazy"> </div> <span class="site-footer__cta-text">Treten Sie Iron Slack bei</span> </a> </div> </div> </nav> </div> <div class="site-copyright__wrapper"> <nav class="site-copyright" aria-label="Copyright & legal"> <div class="site-copyright__partner-logos"> <div class="site-copyright__partner-logo"> <img class="site-copyright__partner-logo-image" src="/img/footer/partner-logo_pdfa--hover.svg" alt="PDF-Vereinigungsmitglied" width="46" height="28" loading="lazy"> </div> <div class="site-copyright__partner-logo"> <img class="site-copyright__partner-logo-image" src="/img/footer/partner-logo_microsoft--hover.svg" alt="Microsoft-Partner" width="92" height="28" loading="lazy"> </div> <div class="site-copyright__partner-logo"> <img class="site-copyright__partner-logo-image" src="/img/footer/partner-logo_aws--hover.svg" alt="AWS-Partnernetzwerk" width="87" height="28" loading="lazy"> </div> </div> <div class="site-copyright__meta"> <span class="site-copyright__text">Urheberrechte © Iron Software 2013-2026</span> <div class="site-copyright__legal"> <a href="https://ironsoftware.com/de/company/terms/" class="site-copyright__legal-link">Bedingungen</a> <a href="https://ironsoftware.com/de/company/privacy/" class="site-copyright__legal-link">Datenschutz</a> <a href="https://ironsoftware.com/de/company/cookie/" class="site-copyright__legal-link">Cookie</a> </div> </div> <div class="site-copyright__donation"> <img src="/img/footer/badge-one_percent.png" alt="One Perent for the Planet" width="230" height="32" loading="lazy"> </div> </nav> </div> </footer> <style> #ironSupportWidgetButtonContainer { display: none; position: fixed; bottom: 16px; right: 16px; width: 60px; height: 60px; z-index: 10500; #ironSupportWidgetButton { font: normal 900 24px/1 var(--ff-gotham); color: #fff; background: url('/img/widgets/livechat/icon_messages.svg') #2c96d5; background-repeat: no-repeat; background-position: center; background-size: 32px auto; width: 60px; height: 60px; border-radius: 50%; cursor: pointer; user-select: none; transition: transform 0.1s ease-in-out; border: none; display: flex; justify-content: center; align-items: center; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px, rgba(0, 0, 0, 0.2) 0px 2px 12px; &:hover { box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px, rgba(0, 0, 0, 0.2) 0px 4px 16px; transform: scale(1.1); } } /* control button icon if widget open (active) */ &:has(~#ironSupportWidgetContainer.active) { #ironSupportWidgetButton { background: url('/img/widgets/livechat/icon_x.svg') #2c96d5; background-repeat: no-repeat; background-position: center; background-size: 26px auto; } } } #ironSupportWidgetContainer { /* only display via vwo, on test process */ position: fixed; bottom: 92px; right: 16px; width: 416px; height: 700px; padding: 0; display: none; z-index: 10501; &.active { display: block; } .ironSupportWidgetBody { overflow: hidden; background-color: #fff; border: solid 0px #e7eef0; border-radius: 16px; display: flex; flex-direction: column; height: 100%; padding: 0; margin: 0; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px, rgba(0, 0, 0, 0.2) 0px 2px 12px; .ironSupportWidgetHeader { .ironSupportWidgetTitle { background-color: #2a95d5; display: flex; align-items: center; column-gap: 16px; padding: 16px 24px; .supportLogo { width: 48px; height: 48px; overflow: hidden; display: flex; justify-content: center; align-items: center; background-color: #aaa; border: solid 2px #fff; border-radius: 50%; } .dotSupportStatus { position: absolute; bottom: 0px; right: 0px; background-color: #444; border: solid 2px #fff; width: 11px; height: 11px; border-radius: 50%; &.green { background-color: #02bda5; } &.red { background-color: red; } } h2.title { margin: 0; padding: 0; font: normal 700 18px/1.6 var(--ff-gotham); color: #fff; } .subTitle { margin: 0; padding: 0; font: normal 400 12px/1.4 var(--ff-gotham); color: #fff; } } .ironSupportWidgetButtons { display: flex; column-gap: 2px; padding: 8px 24px 0; margin: 0; background-color: #fff; overflow: hidden; align-items: center; justify-content: center; cursor: pointer; background-color: #2a95d5; .iron_widget_button { flex: 1 0 calc(100%/3); display: flex; align-items: center; justify-content: center; padding: 12px 0; font: normal 700 14px/1.2 var(--ff-gotham); cursor: pointer; color: #fff; user-select: none; border-top: solid 3px #2a95d5; background-color: #5fafdf; &:hover { color: #181818; background-color: #d9e5e9; } &.active { color: #181818; border-top: solid 3px #e01a59; background-color: #fff; i { color: #2a95d5; } } i { margin-right: 8px; width: 18px; height: 18px; color: inherit; display: flex; align-items: center; justify-content: center; pointer-events: none; } } } } &>.ironSupportWidgetTab { flex: 1 1 auto; background-color: #fff; padding: 0; margin: 0; } } /* hschat start */ #hubspotConversationsInlineContainer { height: 100%; overflow: hidden; #hubspotConversationsInlinePlaceholder { /* hubspot chat use height in (px) to render its container, can't be a relative value hide the chat header by moving up the container 72px */ --offset_chat_header: 72px; margin-top: calc(-1 * var(--offset_chat_header)); height: 100%; max-height: calc(100% + var(--offset_chat_header)); z-index: 0; /* below is gen by hubspot */ #hubspot-conversations-inline-parent { height: calc(100% + var(--offset_chat_header)); &>iframe { width: 100%; height: 100%; } } } } /* hschat end */ /* hsform start */ .ironSupportWidgetFormPlaceholder { padding: 24px; height: 100%; form.hs-form { width: 100%; display: flex; flex-direction: column; row-gap: 24px; height: 100%; .hs-input { height: unset; } .hs-button { margin: 0; height: unset; max-width: unset; } .hs-form-field:first-child { margin: 0; } .hs-form-field { margin: 0; } p { margin: 0; } select.hs-input, input[type="tel"], input[name="lastname"], input[name="phone"], input[name="firstname"], input[name="email"] { width: 100%; border-radius: 6px; border: solid 1px #e7eef0; padding: 8px 16px; font: normal 400 14px/1.2 var(--ff-gotham); color: #7e7e7e; background-color: #fafafb; } div.hs-form-field:has(ul.hs-error-msgs) { ul.hs-error-msgs { display: none; } input[name="email"] { border: solid 1px #e01a59; } } input[type="submit"] { background-color: #fff; color: #2a95d5; border: solid 1px #d9e5e9; display: flex; justify-content: center; align-items: center; border-radius: 64px; padding: 8px 0; min-width: 128px; font: normal 700 14px/1.6 var(--ff-gotham); user-select: none; transition: all 0.1s ease-in-out; &:hover { color: #e01a59; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px, rgba(0, 0, 0, 0.2) 0px 4px 16px; } } div.hs-submit { margin-top: auto; align-self: end; } div.hs-form-field>label { font: normal 700 14px/1.2 var(--ff-gotham); color: #525252; margin-bottom: 12px; display: block; } textarea[name="TICKET.content"] { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; background-color: #fafafb; border: solid 1px #d9e5e9; padding: 12px 16px; width: 100%; border-radius: 6px; min-height: 84px; &:focus { border: 1px solid #2a95d5; outline: 2px solid #aad5ee; } } input[name="phone"] { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; background-color: #fafafb; border: solid 1px #d9e5e9; padding: 12px 16px; width: 100%; border-radius: 6px; &:focus { border: 1px solid #2a95d5; outline: 2px solid #aad5ee; } } input[name="email"] { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; background-color: #fafafb; border: solid 1px #d9e5e9; padding: 12px 16px; width: 100%; border-radius: 6px; &:focus { border: 1px solid #2a95d5; outline: 2px solid #aad5ee; } } div.input:has(>input[type="file"]) { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; position: relative; display: block; cursor: pointer; line-height: 1.5; border: .075rem solid #d9e5e9; border-radius: 6px; user-select: none; cursor: pointer; min-height: 44px; background-color: #fafafb; &:after { font: normal 400 14px/1.4 var(--ff-gotham); position: absolute; z-index: 0; display: flex; align-items: center; top: 0; bottom: 0; left: 0; width: 100%; padding: 12px 16px; content: "Datei auswählen..."; cursor: pointer; } &:before { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; position: absolute; z-index: 1; display: flex; justify-content: center; align-items: center; content: "Durchsuchen"; top: 0; bottom: 0; right: 0; width: fit-content; padding: 12px 16px; border-radius: 0 6px 6px 0; cursor: pointer; background-color: #d9e5e9; } &:hover { border: 1px solid #2a95d5; outline: 2px solid #aad5ee; } &:hover:before { background-color: #5fafdf; color: #fff; } input[type="file"] { margin: 0; filter: alpha(opacity=0); opacity: 0; padding: 0; cursor: pointer; position: absolute; z-index: 2; height: 100%; width: 100%; } } ul[role="checkbox"] { font: normal 400 14px/1.4 var(--ff-gotham); color: #7e7e7e; padding: 0; margin: 0; list-style: none; &>li>label { display: inline-flex; align-items: center; column-gap: 8px; } input[type="radio"] { width: unset; accent-color: #e01a59; height: unset; &:hover, &:checked, &:checked:hover { color: #e01a59; accent-color: none; } } } } } /* hsform end */ } @media screen and (max-width: 575px) { body:has(#ironSupportWidgetContainer.active) { overflow: hidden; } #ironSupportWidgetButtonContainer:has(~#ironSupportWidgetContainer.active) { left: unset; bottom: unset; top: 16px; right: 16px; width: 48px; height: 48px; z-index: 10502; #ironSupportWidgetButton { width: 48px; height: 48px; border: solid 1px #fff; } } #ironSupportWidgetContainer { right: 0; bottom: 0; width: 100%; height: 100%; .ironSupportWidgetBody { border-radius: 0px; } } } </style> <!-- Iron Support Widget Button --> <div id="ironSupportWidgetButtonContainer"> <div id="ironSupportWidgetButton" onclick="toggleIronSupportWidget()"></div> </div> <!-- Iron Support Widget Body --> <div id="ironSupportWidgetContainer" class=""> <div class="ironSupportWidgetBody"> <div class="ironSupportWidgetHeader"> <div class="ironSupportWidgetTitle"> <div style="position:relative;"> <div class="dotSupportStatus green"></div> <div class="supportLogo"> <img src="/img/support-team/support_widget.png" width="48" height="48" alt="Support Widget related to Hinzufügen von Kopf- und Fußzeilen in PDF mit iTextSharp und IronPDF in C# mit Beispiel" loading="lazy"> </div> </div> <div> <h2 id="ironSupportWidgetHeaderTitle" class="title">Iron Support Team</h2> <div id="ironSupportWidgetHeaderSubTitle" class="subTitle">Wir sind 24 Stunden am Tag, 5 Tage die Woche online.</div> </div> </div> <div class="ironSupportWidgetButtons"> <div class="iron_widget_button active" data-iron-widget-tab="ironSupportWidgetTab1" data-iron-widget-subtitle="Wir sind 24 Stunden am Tag, 5 Tage die Woche online." onclick="ironSupportWidgetTabChange(event);"><i class="fa-solid fa-messages-question"></i>Chat</div> <div class="iron_widget_button" data-iron-widget-tab="ironSupportWidgetTab2" data-iron-widget-subtitle="Sie erhalten die Antworten innerhalb von 24 Stunden per E-Mail." onclick="ironSupportWidgetTabChange(event);"><i class="fa-solid fa-envelope"></i>E-Mail</div> <div class="iron_widget_button" data-iron-widget-tab="ironSupportWidgetTab3" data-iron-widget-subtitle="Sie möchten das lieber persönlich besprechen? Wir rufen Sie innerhalb von 24 Stunden an." onclick="ironSupportWidgetTabChange(event);"><i class="fa-solid fa-phone"></i>Rufen Sie mich an</div> </div> </div> <div id="ironSupportWidgetTab1" class="ironSupportWidgetTab"> <div id="hubspotConversationsInlineContainer"> <div id="hubspotConversationsInlinePlaceholder"><!-- placeholder --></div> </div> </div> <div id="ironSupportWidgetTab2" class="ironSupportWidgetTab" style="display:none;"> <div class="ironSupportWidgetFormPlaceholder"><!-- placeholder --></div> </div> <div id="ironSupportWidgetTab3" class="ironSupportWidgetTab" style="display:none;"> <div class="ironSupportWidgetFormPlaceholder"><!-- placeholder --></div> </div> </div> </div> <!-- # uncomment for test or want chat appear sooner, on website it delay by core web vital # chat will not appear until the trcking script (below) loaded --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/22630553.js"></script> <script> /* pre-register window.ironSupportWidget */ if (typeof window.ironSupportWidget === 'undefined') { window.ironSupportWidget = {}; window.ironSupportWidget.isHsFormLoaded = false; } // hubspot chat place holder if (typeof window.hsConversationsSettings === 'undefined') { window.hsConversationsSettings = {}; } // window.hsConversationsSettings.inlineEmbedSelector = '#hubspotConversationsInlinePlaceholder'; function loadHsFormInSupportWidget() { const supportWidgetFormOptionA = { portalId: "22630553", formId: "8d0b0bf2-6aea-4c76-959c-cb2f9183f7c5", region: "na1", target: "#ironSupportWidgetContainer #ironSupportWidgetTab2 .ironSupportWidgetFormPlaceholder", onFormSubmitted: function ($form, data) { window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(232);}); } } const supportWidgetFormOptionB = { portalId: "22630553", formId: "c8f2b8df-0228-4331-b207-9c6c9910764c", region: "na1", target: "#ironSupportWidgetContainer #ironSupportWidgetTab3 .ironSupportWidgetFormPlaceholder", onFormSubmitted: function ($form, data) { window._vis_opt_queue = window._vis_opt_queue || []; window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(232);}); } }; dynamicLoadHsForms_inSupportWidget(supportWidgetFormOptionA); dynamicLoadHsForms_inSupportWidget(supportWidgetFormOptionB); } function ironSupportWidgetTabChange(e) { const target = e.target; const targetWidgetTab = target.getAttribute('data-iron-widget-tab'); const textSubtitle = target.getAttribute('data-iron-widget-subtitle'); if (!targetWidgetTab) return; // Save current tab state window.ironSupportWidget.lastTab = targetWidgetTab; window.ironSupportWidget.subTitle = textSubtitle; // Remove 'active' class from all buttons document.querySelectorAll('.iron_widget_button').forEach(button => { button.classList.remove('active'); }); // Add 'active' class to clicked button target.classList.add('active'); // Hide/Show tab document.querySelectorAll('.ironSupportWidgetTab').forEach(tab => { tab.style.display = 'none'; }); const targetTab = document.getElementById(targetWidgetTab); if (targetTab) { targetTab.style.display = 'block'; } // Update subtitle in header const subtitleEl = document.getElementById('ironSupportWidgetHeaderSubTitle'); if (subtitleEl) { subtitleEl.textContent = textSubtitle || ''; } } function toggleIronSupportWidget(action = null) { const widgetContainer = document.getElementById('ironSupportWidgetContainer'); function openWidget() { window.ironSupportWidget.isOpen = true; widgetContainer.classList.add('active'); if (typeof window.ironSupportWidget.isHsFormLoaded !== true) { loadHsFormInSupportWidget(); window.ironSupportWidget.isHsFormLoaded = true; } } function closeWidget() { window.ironSupportWidget.isOpen = false; widgetContainer.classList.remove('active'); } if (action === 'open') { openWidget(); } else if (action === 'close') { closeWidget() } else { if (window.getComputedStyle(widgetContainer).display !== 'none') { closeWidget() } else { openWidget(); } } } // load hubspot form dynamically function dynamicLoadHsForms_inSupportWidget(formOption, target_override = null) { function waitForHsptReady() { var interval = setInterval(function() { if (typeof hbspt !== "undefined") { clearInterval(interval); var option = formOption; if (target_override !== null) { option.target = target_override; } hbspt.forms.create(option); } }, 10); } if (typeof hbspt === "undefined") { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "//js.hsforms.net/forms/embed/v2.js"; document.getElementsByTagName("head")[0].appendChild(script); script.onload = function() { waitForHsptReady(); }; } else { waitForHsptReady(); } } </script> <!-- Start Commonly Loaded Scripts --> <script src="/front/js/iron.loaders.js?v=1776149867" ></script><script src="/front/js/iron.helpers.js?v=1776149867" ></script><script src="/front/js/global.js?v=1776149867" ></script><script src="/front/js/bootstrap-loader/bootstrap-autoloader.min.js?v=1776149867" type="module" async="1"></script><script src="/front/js/page.js?v=1776149867" ></script><script src="/front/js/product.js?v=1776149867" ></script><!-- customJSFiles, Start --> <script src="/front/js/blog.js?v=1776149867" ></script> <script src="/front/js/blog-post.js?v=1776149867" ></script> <script src="/front/js/competitors.js?v=1776149867" ></script> <!-- customJSFiles, End --> <!-- Clarity Code Start --> <script type="text/javascript"> if (!window.deviceDetails.mobileCheck && window.deviceDetails.isDesktopViewport) { (function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i+"?ref=gtm2";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window,document,"clarity","script","cximmak38b"); } </script><!-- Clarity Code End --> <!-- AC Code Start --> <script> document.queueDeferredUserIntentAction(function() { importScript("tracking-code/activecampaign.js", debug()); document.fireCustomEvent("thirdPartyScriptLoaded", {scriptName: "activecampaign"}, debug()); }); </script> <!-- AC Code End --> <!-- Impact Sale Tracker Start --> <script> document.queueDeferredUserIntentAction(function() { importScript(["tracking-code/impactsale.js"], debug()).then(function() { setTimeout(function() { importScript(["tracking-code/impactsale-id.js"], debug()); document.fireCustomEvent("thirdPartyScriptLoaded", {scriptName: "impactsale"}, debug()); }, 150); }); }); </script> <!-- Impact Sale Tracker End --> <!-- End Commonly Loaded Scripts --> <!-- Start Setup Helper Functions --> <script> /** * Configures the Algolia Search feature using set-up data that is presumed to originate from an Iron Product's common.json file. * * @param {String} searchData the JSON string data (usually taken from the $common_json['search'] property key) * @param {String} indexName the Algolia Index that should be used (usually taken from the $common_json['search']['name] property key */ function setupAlgoliaSearch(searchData, indexName) { if (typeof 'aa' != 'undefined' && window.dataLayer) { window.searchData = JSON.parse(searchData); window.searchClient = algoliasearch(window.searchData.applicationId, window.searchData.apiKey); window.searchIndex = window.searchClient.initIndex(indexName); aa('init', { appId: window.searchData.applicationId, apiKey: window.searchData.apiKey, useCookie: true }); aa('getUserToken', null, (err, newUserToken) => { if (err) { console.error(err); return; } window.algoliaUserToken = newUserToken; }); let userToken = window.algoliaUserToken; aa('onUserTokenChange', (userToken) => { window.dataLayer.push({ algoliaUserToken: userToken, }); }, { immediate: true }); } else { logMsg("error", 'Algolia failed setup. The required object definitions do not exist!'); } } </script><!-- End Setup Helper Functions --> <!-- Start Algolia Insights Client --> <script> document.addEventListener("DOMContentLoaded", function() { document.queueDeferredUserIntentAction(function() { importScript(['tracking-code/algolia.js', 'algoliasearch-lite.umd.js']).then(function(status) { const algoliaSetup = function() { setupAlgoliaSearch('{"applicationId":"4S8YCFXKT5","apiKey":"ec878b51c06a7d5fbb7aab95991ab432","indexName":"ironpdf","inputPlaceholder":"Durchsuchen Sie die API, Codebeispiele und Anleitungen","searchText":"Suche","boostedResult":"Dies wird der hilfreichste Artikel sein","searchShortCut":["Ctrl","K"],"categories":[{"key":"Best match","title":"Beste \u00dcbereinstimmung","iconClass":null,"color":null},{"key":"Code Examples","title":"Codebeispiele","iconClass":"fas fa-code","color":"#2A95D5"},{"key":"Products","title":"Produkte","iconClass":"fas fa-bookmark","color":"#E01A59"},{"key":"Get Started","title":"Loslegen","iconClass":"fas fa-rocket","color":"#2A95D5"},{"key":"Tutorials","title":"Tutorials","iconClass":"fas fa-graduation-cap","color":"#FDA509"},{"key":"How-Tos","title":"Anleitungen","iconClass":"fa-regular fa-book","color":"#63C1A0"},{"key":"Languages","title":"Sprache ausw\u00e4hlen","iconClass":"fas fa-globe-americas","color":"#2A95D5"},{"key":"Licensing","title":"Lizenzierung","iconClass":"fas fa-shopping-cart","color":"#E01A59"},{"key":"API Reference","title":"API Referenz","iconClass":"fas fa-bookmark","color":"#89D3DF"},{"key":"Features","title":"Funktionen","iconClass":"fas fa-bookmark","color":"#63C1A0"},{"key":"Support","title":"Unterst\u00fctzung","iconClass":"fas fa-info-circle","color":"#2A95D5"},{"key":"Blog","title":"Blog","iconClass":"fa-regular fa-file","color":"#15aabf"},{"key":"Troubleshooting","title":"Fehlersuche","iconClass":"fas fa-wrench","color":"#15aabf"},{"key":"Product Updates","title":"Produkt-Updates","iconClass":"fa-solid fa-rotate","color":"#146ebe","class":"bottom_separator"}],"previewEnabled":false,"categorySortingEnabled":false,"breadcrubmsEnabled":true,"searchResultLimit":10,"breadcrumbs":[{"title":"IronPDF","url":"/"},{"title":"Lizenzierung","url":"/licensing/"},{"title":"Dokumente","url":"/docs/"},{"title":"Codebeispiele","url":"/examples/using-html-to-create-a-pdf/"},{"title":"Tutorials","url":"/tutorials/html-to-pdf/"},{"title":"Anleitungen","url":"how-to/create-new-pdfs/"},{"title":"API Referenz","url":"/object-reference/api/"},{"title":"Unterst\u00fctzung","url":"https://ironsoftware.com/contact-us/"},{"title":"IronOCR","url":"https://ironsoftware.com/csharp/ocr/"},{"title":"IronBarcode","url":"https://ironsoftware.com/csharp/barcode/"},{"title":"IronXL","url":"https://ironsoftware.com/csharp/excel/"},{"title":"IronWebScraper","url":"https://ironsoftware.com/csharp/webscraper/"},{"title":"Iron Software","url":"https://ironsoftware.com/"},{"title":"Produkte","url":"https://ironsoftware.com/"}],"noResults":{"message":"Keine Ergebnisse f\u00fcr <strong>\u201c{query}\u201d</strong>.","icon":"/img/svgs/search-no-results.svg","alt":"Nachrichtensymbol"},"error":{"message":"Konsole","icon":"/img/svgs/search-no-results.svg","alt":"Nachrichtensymbol"}}', "ironpdf__de"); document.fireCustomEvent("thirdPartyScriptLoaded", {scriptName: "algolia"}); }; const algoliaReady = function() { return typeof aa != 'undefined' && typeof algoliasearch != 'undefined' && window.dataLayer; }; if (algoliaReady()) { algoliaSetup(); } else { const aaTimer = setInterval(function() { if (algoliaReady()) { algoliaSetup(); clearInterval(aaTimer); } }, 500); } }); }); }); </script> <!-- End Algolia Insights Client --> <script src="https://iron-ai-assistant-frontend-152f73438a0d.herokuapp.com/widget/ironpdf-assistant.js" data-server-url="https://iron-ai-assistant-frontend-152f73438a0d.herokuapp.com" data-hide-button="true" data-trigger-selector="#ai-chat-assistant" data-min-height="80%" data-margin-top="120px" data-vertical-position="top" defer ></script> </body> </html>