Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

Ein Vergleich zwischen IronPDF und XFINIUM.PDF

Ständig verbesserte Technologie bedeutet intelligentere Lösungen für alle, insbesondere Entwickler. Automatisierung ist jetzt der Schlüssel zu Softwareentwicklungsprozessen. Das Arbeiten mit C#-PDF-Dateien war für Entwickler über viele Jahre problematisch. Beim Erstellen von Inhalten für PDF-Dateien sind viele Faktoren zu berücksichtigen, und noch mehr, wenn Inhalte aus verschiedenen Formaten in PDF konvertiert werden. Diese Probleme wurden nun mit der Konstruktion mehrerer Bibliotheken gelöst, die beim Lesen, Schreiben, Erstellen und Konvertieren von PDFs aus verschiedenen Formaten helfen sollen.

Dieser Artikel vergleicht zwei der beliebtesten PDF-Bibliotheken für .NET- und .NET-Core-Entwickler. Diese beiden Bibliotheken sind:

  • Die IronPDF-Bibliothek – Die XFINIUM.PDF-Bibliothek

IronPDF und XFINIUM.PDF sind zwei Bibliotheken, die Methoden zur Erstellung, Manipulation und zum Drucken von PDFs in .NET und .NET Core bereitstellen. Die nächste Frage ist, welche C# PDF-Bibliothek am besten für Ihr .NET-Projekt geeignet ist. Sie können Ihre Entscheidung abwägen, indem Sie den folgenden Vergleich zwischen den beiden Bibliotheken und ihren jeweiligen herausragenden Funktionen für PDF-Konvertierung und -Manipulation lesen.

Zuerst werfen wir einen Blick darauf, was die beiden Bibliotheken zu bieten haben, und gehen dann zum eigentlichen Vergleich über.

Die XFINIUM.PDF-Bibliothek und ihre Funktionen

Die XFINIUM.PDF-Bibliothek ist eine plattformübergreifende Bibliothek für die PDF-Entwicklung. Sie bietet eine Vielzahl von Funktionen sowohl für den Amateur als auch den fortgeschrittenen PDF-Entwickler. Egal, ob Sie einen Bericht erstellen, ein PDF-Formular ausfüllen, ein PDF-Portfolio erstellen, sensible Daten aus einem PDF-Bericht redigieren oder einen PDF-Bericht in ein mehrseitiges TIFF-Bild konvertieren möchten.

XFINIUM.PDF ist in zwei Editionen verfügbar: die Generator-Edition, die PDF-Erstellung und -Bearbeitung umfasst, und die Viewer-Edition, die alle Funktionen der Generator-Edition plus PDF-Wiedergabe und PDF-Anzeige enthält. Der Abschnitt Funktionen erklärt, welche Funktionen in beiden Editionen enthalten sind und welche nur in der Viewer-Edition verfügbar sind.

XFINIUM.PDF wurde vollständig in C# geschrieben und ist vollständig verwalteter Code. Es wird pro Entwickler lizenziert mit lizenzfreier Verteilung, wodurch Sie Ihr Programm frei vertreiben können, ohne weitere Kosten zu verursachen.

Was ist der Unterschied zwischen der Generator- und der Viewer-Edition?

Die Generator-Edition ist ein Teil der Viewer-Edition. Die Generator-Edition bietet PDF-Funktionalit\u00e4t zum Erstellen und Bearbeiten von PDFs, w\u00e4hrend die Viewer-Edition PDF-Rendering-Funktionen zur Generator-Edition hinzuf\u00fcgt. Die Viewer-Edition kann PDF-Seiten in RAW-, BMP-, GIF-, JPG-, PNG- und TIFF-Bilder konvertieren.

XFINIUM.PDF Spezifikation

Einige der wichtigen Funktionen umfassen:

Sicherheit

– Benutzer- und Eigentümerpasswörter – Dokumentzugriffsrechte – 40-Bit- und 128-Bit-RC4-Verschlüsselung – 128-Bit- und 256-Bit-AES-Verschlüsselung

  • Inhalts-Schwärzung
  • Deaktivieren von Textkopieren/-einfügen.

Digitale Unterschriften

– Genehmigung und Zertifizierung digitaler Signaturen mit X509-Zertifikaten – Grundlegende CMS- und PAdES-Digitalsignaturen mit SHA256 / SHA384 / SHA512 – Signaturzeitstempel – OCSP- und CRL-Informationen in digitalen Signaturen enthalten – Dokumentensicherheits-Speicher – Dokumentzeitstempel – LTV (Langzeitvalidierung) aktivierte digitale Signaturen – Vorhandene Signaturen in ASN.1-Objekte dekodieren – Zertifikat aus digitalen Signaturen extrahieren – Signierte Kopien von PDF-Dokumenten speichern

BarCode

– Eingebautes Vektor-Barcodelese, keine Barcode-Bilder oder Barcode-Schriften – Eindimensionale Barcodes: – Generische Barcodes: Codabar, Code 11, Code 25, Code 25 Interleaved, Code 39, Code 39 Extended, Code 93, Code 93 Extended, Code 128 A, Code 128 B, Code 128 C, COOP 25, Matrix 25, MSI/Plessey – Pharmazeutische Barcodes: Code 32, Pharmacode, PZN (Pharma-Zentral-Nummer) – Zweidimensionale Barcodes: – DataMatrix, QR, PDF417, Micro PDF417, Codablock F, Code 16K

Inhaltsextraktion

– Text mit Positionsinformationen auf Fragmentebene und Glyphenebene extrahieren – Text als Wörter mit Positionsinformationen auf Wort- und Glyphenebene extrahieren – Text und Wörter aus benutzerdefinierten Regionen extrahieren – Bilder extrahieren, einschließlich Bildinformationen wie Bildgröße in Pixeln, Bits pro Pixel, Farbraum, Bildposition auf der PDF-Seite, Bildgröße auf der PDF-Seite, Bild-Horizontal- und Vertikalauflösung

COS-API auf niedriger Ebene

– COS-Objekte hinzufügen, bearbeiten und entfernen – Unterstützte COS-Objekte: Zeichenfolgen, Zahlen, Namen, Booleans, Nullwerte, Arrays, Wörterbücher und Streams

PDF-Rendering (nur Viewer Edition)

– PDF-Seiten in Bilder rendern: RAW, BMP, GIF, JPG, PNG und TIFF ARGB, RGBA, BGRA, RGB, BGR und Graustufen-Byte-Layouts für RAW-Bilder – PDF in mehrseitiges TIFF (Farbe/graustufen/schwarz-weiß CCITT G4)

Die wichtigsten Funktionen von IronPDF

Die IronPDF for .NET PDF-Bibliothek ist ein wahr gewordener Traum für Entwickler, insbesondere für C#-Programmierer. Mit diesem erstaunlichen Tool können Sie mühelos eine Kern-PDF-Bibliothek für .NET erstellen.

IronPDF konvertiert HTML-Seiten in PDF-Dateien mit der .NET Chromium-Engine. Es besteht keine Notwendigkeit, komplizierte APIs zu verwenden, um PDFs mit HTML in PDF zu positionieren oder zu gestalten. Standard-Online-Dokumente werden von IronPDF unterstützt, einschließlich HTML, ASPX, JS, CSS und Bilder.

Sie können auch HTML5, CSS, JavaScript und Bilder verwenden, um eine .NET PDF-Bibliothek zu entwickeln. Ein PDF kann einfach bearbeitet, gestempelt sowie mit Kopf- und Fußzeilen versehen werden. Es erleichtert auch das Lesen von PDF-Texten und das Extrahieren von Grafiken.

Laden Sie IronPDF herunter und beginnen Sie noch heute damit, es in Ihren .NET-Projekten zu verwenden.

Hervorstechende Merkmale der IronPDF C# Bibliothek

Hier sind einige der wichtigsten Merkmale:

PDFs erstellen (HTML zu PDF)

– HTML4/5, CSS und JavaScript können alle verwendet werden, um PDF-Dokumente zu erstellen. – Laden Sie URL mit benutzerdefinierten Netzwerkanmeldeinformationen, Benutzer-Agent, Proxys, Cookies, HTTP-Header und Formularvariablen, um das Anmelden hinter HTML-Anmeldeformularen zu ermöglichen.

Sie können vorhandene PDF-Dokumente ohne Adobe Acrobat bearbeiten

– Daten aus den Formularfeldern sollten gelesen und ausgefüllt werden. – Grafiken und Text aus einem PDF extrahieren. – Jede aktuelle PDF-Seite kann mit neuem HTML-Inhalt aktualisiert werden. – Kopf- und Fußzeilen sollten logische oder HTML-Elemente sein.

Bestehende PDF-Dokumente können manipuliert werden

– Vorhandene PDF-Dokumente können geladen und analysiert werden. – Inhalte in PDF-Dokumenten können zusammengeführt und getrennt werden. – Fügen Sie Kopf- und Fußzeilen, Anmerkungen, Lesezeichen, Wasserzeichen, Text- und Bildressourcen hinzu.

Konvertierung aus einer Vielzahl von Dateiformaten

– ASPX WebForms — Konvertieren Sie ASP.NET-Webformulare in druckbare PDFs, die mit nur drei Codezeilen im Browser angezeigt werden können. – HTML in einem Dokument in PDF konvertieren. – Benutzerdefinierte "Basis-URL" ermöglicht den Zugriff auf Asset-Dateien von überall im Internet. – Virtueller Viewport ermöglicht ein responsives Design (Breite und Höhe). – Akzeptieren Sie HTML-Dateien, die in einem der gängigen Dateiformate kodiert sind (standardmäßig UTF-8).

Drucken und speichern

  • Dateien, Bin\u00e4rdaten und MemoryStreams k\u00f6nnen alle gespeichert und geladen werden. – Ein Fernseher oder ein Computerbildschirm CSS-Medientypen zum Drucken. – PDF-Dateien ohne Adobe Acrobat drucken, indem sie in ein PrintDocument-Objekt konvertiert werden (mit minimalem Code). – Offizielle Protokolldateien mit Informationen über API-Erfolge und Debug-Fehler im Quellcode können exportiert werden.

IronPDF ist verfügbar auf fast allen Betriebssystemen und Frameworks, die mit C# kompatibel sind, einschließlich der folgenden:

  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • .NET Standard 2.0 Compliance für universelle Kompatibilität
  • Azure
  • AWS
  • Docker
  • Linux
  • Windows

IronPDF C# Bibliothek Installation

Es gibt vier Möglichkeiten, die IronPDF-Bibliothek herunterzuladen und zu installieren. Diese sind wie folgt:

  1. Verwenden von Visual Studio
  2. Developer Command Prompt
  3. Direktes Herunterladen des NuGet-Pakets
  4. Laden Sie die IronPDF .DLL-Bibliothek herunter

Verwendung von Visual Studio

Visual Studio bietet den NuGet-Paket-Manager, um NuGet-Pakete in Ihren Projekten zu installieren. Sie können darauf über das Projektmenü oder durch Rechtsklick auf Ihr Projekt im Solution Explorer zugreifen. Beide Optionen werden unten in den Screenshots als Abbildungen 1 und 2 gezeigt.

Accessing the NuGet Package Manager using the Project Menu in Visual Studio

Abbildung 1. Zugriff auf den NuGet-Paketmanager über das Projektmenü in Visual Studio

Accessing the NuGet Package Manager using the Context Menu in Visual Studio

Abbildung 2. Zugriff auf den NuGet-Paketmanager über das Kontextmenü in Visual Studio

Sobald Sie ihn ausgewählt haben, suchen Sie nach dem IronPDF-Paket und installieren Sie es, wie im untenstehenden Screenshot gezeigt.

Installing the IronPDF library using the NuGET Package Manager in Visual Studio

Abbildung 3. Installieren der IronPDF-Bibliothek mit dem NuGet-Paketmanager in Visual Studio

Verwendung der Eingabeaufforderung für Entwickler

Eine weitere Möglichkeit, die IronPDF C#-Bibliothek herunterzuladen und zu installieren, besteht darin, die folgenden Schritte zu verwenden, um das IronPDF NuGet-Paket über die Entwickler-Befehlszeile zu installieren.

– Öffnen Sie die Entwickler-Befehlszeile — üblicherweise im Visual Studio-Ordner zu finden

  • Geben Sie den folgenden Befehl ein:

    nuget install IronPdf
    nuget install IronPdf
    SHELL
  • Drücken Sie die Eingabetaste
  • Dies wird das Paket herunterladen und installieren
  • Laden Sie Ihr Visual Studio-Projekt neu und beginnen Sie mit der Nutzung

Das NuGet-Paket direkt herunterladen

Der dritte Weg, IronPDF herunterzuladen und zu installieren, besteht darin, die folgenden Schritte auszuführen. Dies kann durch direkten Besuch der NuGet-Seite und Herunterladen des Pakets erfolgen. Die Schritte sind:

– Navigieren Sie zur IronPDF NuGet-Seite

  • Wählen Sie Paket herunterladen
  • Doppelklicken Sie auf das heruntergeladene Paket
  • Das Paket wird installiert
  • Laden Sie Ihr Visual Studio-Projekt neu und beginnen Sie mit der Nutzung

Installieren Sie IronPDF durch Herunterladen der Bibliothek

Sie können die IronPDF .DLL-Datei direkt von der IronPDF-Download herunterladen.

Downloading the IronPDF Library DLL from the IronPDF website

Abbildung 4. Herunterladen der IronPDF Library DLL von der IronPDF-Website

Verweisen Sie auf die Bibliothek in Ihrem Projekt mit den folgenden Schritten:

– Rechtsklicken Sie auf die Lösung im Solution Explorer – Wählen Sie Verweise

  • Suchen Sie nach der IronPDF.dll-Bibliothek – OK klicken

Fertig! IronPDF ist heruntergeladen, installiert und einsatzbereit. Bevor wir das tun, sollten wir jedoch die XFINIUM.PDF API installieren.

XFINIUM.PDF Installation

In .NET Core können wir Xfinium PDF entweder als Cake Addin oder als Cake Tool installieren.

# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL

Als nächstes lassen Sie uns den Vergleich zwischen IronPDF und XFINIUM.PDF vertiefen.

Erstellen eines einfachen PDF-Dokuments in .NET Core

In der heutigen Welt müssen Softwareentwickler wissen, wie man eine PDF-Datei dynamisch mit C#-Code erstellt, da dies in praktisch allen Projekten erforderlich ist. Möglicherweise müssen Sie eine PDF-Datei aus verschiedenen Gründen erstellen, wie z. B. das Generieren eines Berichts aus Benutzereingaben, das Speichern von Benutzertext als PDF, das Extrahieren von HTML-Informationen und das Konvertieren in PDF usw.

Die Möglichkeit, eine HTML-Webseite in PDF zu konvertieren, ist in beiden Bibliotheken enthalten. Schauen wir uns den Code jeder Bibliothek nacheinander an.

Verwendung von IronPDF

IronPDF bietet mehrere Methoden zum Erstellen von PDF-Dateien.

Bestehende URL zu PDF

IronPDF macht es einfach, HTML in PDF-Dokumente von bestehenden URLs zu konvertieren. JavaScript, Bilder, Formulare und CSS bieten alle einen hohen Grad an Unterstützung.

IronPDF wird im folgenden Code verwendet, um ein PDF-Dokument direkt von einer Website-Adresse zu erstellen.

// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a URL to PDF
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Save the PDF
Pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

HTML-Eingabestring zu PDF

Der folgende Code zeigt, wie ein HTML-Eingabestring verwendet werden kann, um eine PDF-Seite zu rendern. Sie können nur HTML verwenden oder es mit CSS, Bildern und JavaScript kombinieren.

// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer = New IronPdf.ChromePdfRenderer()

' Render a simple HTML string to PDF
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")

' Save the PDF
PDF.SaveAs("pixel-perfect.pdf")

' Load external HTML assets: images, CSS, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")

' Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Verwendung von XFINIUM.PDF

Mit XFINIUM.PDF ein leeres PDF-Dokument zu erstellen, erfordert nur drei Codezeilen: Eine Zeile zur Dokumenterstellung, eine Zeile zur Erstellung einer Seite und eine weitere Zeile zum Speichern des Dokuments.

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()

' Add a page to the document
Dim page As PdfPage = document.Pages.Add()

' Save the document as a PDF file
document.Save("empty.pdf")
$vbLabelText   $csharpLabel

Drei zusätzliche Codezeilen sind erforderlich, um Textinhalt zu dem oben genannten Dokument hinzuzufügen: Eine für die Schriftartenerstellung zum Zeichnen des Textes, eine für die Pinsel-Erstellung und das Setzen der Textfarbe, und die andere zum tatsächlichen Zeichnen von Text und Grafiken auf der Seite.

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()

' Create a standard font with Helvetica face and 24 point size
Dim helvetica As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)

' Create a solid RGB red brush.
Dim brush As New PdfBrush(PdfRgbColor.Red)

' Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100)

' Save the document as a PDF file
document.Save("helloworld.pdf")
$vbLabelText   $csharpLabel

Unser Objektmodell entspricht eng dem PDF-Standard. Dies ermöglicht es Ihnen, problemlos komplizierte Abstraktionen darauf aufzubauen, wie z. B. Fließdokumente.

Erzeugte PDF-Dateien ausfüllbar machen

Verwendung von XFINIUM.PDF

Die XFINIUM.PDF-Bibliothek kann sowohl neue PDF-Formulare erstellen als auch vorhandene PDF-Formulare ausfüllen.

Jeder im PDF-Standard unterstützte Formulartyp wird durch die entsprechende Klasse dargestellt:

  • PdfTextBoxField – Textfeldfelder – PdfCheckBoxField – Kontrollkästchen
  • PdfRadioButtonField – Sets von Optionsfeldern – PdfComboboxField – Kombinationsfelder – PdfListboxField – Listboxen – PdfPushbuttonField – Schaltknöpfe – PdfSignatureField – Signaturfelder

Der Name des Feldes und dessen Position auf der Seite sind die einzigen Informationen, die benötigt werden, um ein Formularfeld zu konstruieren. Nach der Erstellung des Feldobjekts muss es zur Seite hinzugefügt werden, bevor andere Attribute angegeben werden können.

// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
' Create a text box field named "firstname"
Dim firstNameTextBox As New PdfTextBoxField("firstname")

' Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox)

' Set the position of the field on the PDF page
firstNameTextBox.Widgets(0).VisualRectangle = New PdfVisualRectangle(150, 45, 200, 20)
$vbLabelText   $csharpLabel

Vorhandene PDF-Formulare können ausgefüllt werden, wenn sie in ein PdfFixedDocument-Objekt geladen werden. Nachdem das Formular geladen wurde, wird die Dokumentenfeldersammlung automatisch mit den im Formular definierten Feldern gefüllt. Ein Feld wird in der Sammlung nach Index oder nach seinem Namen lokalisiert und durch Setzen der generischen Wert-Eigenschaft in der PdfField-Basisklasse oder der spezifischen Wert-Eigenschaften für jeden Feldtyp ausgefüllt.

// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
' Load an existing PDF document with forms
Dim document As New PdfFixedDocument("form.pdf")

' Fill form fields with values
TryCast(document.Form.Fields("firstname"), PdfTextBoxField).Text = "John"
TryCast(document.Form.Fields("lastname"), PdfTextBoxField).Value = "Doe"
TryCast(document.Form.Fields("sex").Widgets(0), PdfRadioButtonWidget).Checked = True
TryCast(document.Form.Fields("firstcar"), PdfComboBoxField).SelectedIndex = 0
TryCast(document.Form.Fields("secondcar"), PdfListBoxField).SelectedIndex = 1
TryCast(document.Form.Fields("agree"), PdfCheckBoxField).Checked = True

' Save the filled form as a new PDF file
document.Save("form_filled.pdf")
$vbLabelText   $csharpLabel

Verwendung von IronPDF

Schauen wir uns an, wie wir mit der IronPDF C#-Bibliothek ausfüllbare PDFs erstellen können.

// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf

' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Private FormHtml = "
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>"

' Create a PDF renderer
Private Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")

' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")

'Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)

'Set and Read the value of the "lastname" field
Dim LastNameField = FormDocument.Form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)

' Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf")
$vbLabelText   $csharpLabel

Wir beginnen mit der Erstellung eines Formulars mit HTML-Formatierungstags im folgenden Code. Danach speichern wir es als PDF-Dokument. Wir beginnen mit dem Lesen und Schreiben von PDF-Formularwerten in Schritt #2. Mit dem Feldnamen können Sie auf das Formularfeld zugreifen. Die FindFormField-Funktion ist in IronPDF verfügbar. Der Wert des ausgewählten Feldes wird dann festgelegt und das neu ausgefüllte Formular gespeichert.

Digitales Signieren von PDF-Dateien

Im modernen Zeitalter arbeiten viele Menschen remote. Das Ausfüllen und Signieren von Formularen, das Senden von Dateien und das Verarbeiten von Dokumenten sind nur einige der Hauptaktivitäten, die Unternehmen täglich erledigen müssen. Eine solche Hauptaktivität ist das Unterzeichnen von PDF-Dokumenten, PDF-Portfolios und PDF-Formularen als Alternative zu Papierdokumenten. Digitale Signaturen sind unverzichtbar geworden, da Unternehmen nach Möglichkeiten suchen, Vereinbarungen und Verträge zu unterschreiben sowie PDF-Formulare online zu teilen.

Verwendung von XFINIUM.PDF

Ein Signaturfeld in einer PDF-Datei wird verwendet, um eine digitale Signatur anzuwenden (PdfSignatureField-Klasse). Obwohl das Signaturfeld ein Formularfeld ist, das auf einer der Seiten des Dokuments erscheint, wird die digitale Signatur verwendet, um das gesamte Dokument zu signieren, nicht nur diese Seite.

Der Signaturvorgang beginnt mit einem PdfDigitalSignature-Objekt, das zur Einstellung des Signaturattributs eines Signaturfeldes verwendet wird. Da die Signatur auf dem tatsächlichen binären Layout der PDF-Datei basiert, wird sie gebildet, wenn das Dokument gespeichert wird.

Die PdfDigitalSignature-Klasse ist die Grundlage für alle XFINIUM-Digitalsignaturen.

Es gibt mehrere Signaturklassen zur Auswahl:

– PdfCmsDigitalSignature – eine auf dem CMS-Standard basierende digitale Signatur (erbt von PdfDigitalSignature) – PdfPadesDigitalSignature – eine digitale Signatur, die den PADES-Standard implementiert (erbt von PdfCmsDigitalSignature)

  • PdfInteractiveCmsDigitalSignature – digitale Signatur basierend auf CMS-Standards, die eine Hardware-Signaturkarte nutzen kann (erbt von PdfDigitalSignature) – PdfInteractivePadesDigitalSignature – eine digitale Signatur, die den PADES-Standard implementiert und eine Hardware-Signaturkarte verwenden kann, um die digitale Signatur zu erstellen (erbt von PdfInteractiveCmsDigitalSignature) – PdfDocumentTimeStamp – ein dokumentenbasierter Zeitstempel (erbt von PdfDigitalSignature)

Verwendung von IronPDF

Entwickler fragen häufig nach der programmatischen Hinzufügung einer Signatur zu einer PDF mit IronPDF und C#. Dies kann für Entwickler verschiedene Bedeutungen haben:

– Aus einer Bilddatei ein grafisches Digitalsignatur-Image zu bestehenden PDF-Dateien hinzufügen. – Um zu bestätigen, dass ein PDF nicht manipuliert wurde, indem es kryptografisch signiert wird. – Ein menschliches handgeschriebenes Signatur-Icon zu einem PDF hinzufügen, das kryptografisch signiert wurde.

Der erste Ansatz besteht darin, ein Signatur-PNG in eine bereits existierende PDF-Seite einzustempeln. Es kann als Signatur oder Firmenstempel verwendet werden. Opazität wird empfohlen. Nur wenige Codezeilen sind erforderlich, um den Vorgang abzuschließen.

// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
' Open an existing PDF document or create a new one
Dim Pdf = PdfDocument.FromFile("C:\Path\To\ASPX to PDF.pdf")

' Define an HTML stamp with a signature image
Dim SignatureStamp = New HtmlStamp() With {
	.Html = "<img src='signature.png' />",
	.Width = 150,
	.Height = 50,
	.Bottom = 300,
	.Left = 85,
	.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}

' Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1)

' Save the stamped PDF
Pdf.SaveAs("C:\Path\To\Stamped_PDF.pdf")
$vbLabelText   $csharpLabel

Der folgende Code signiert kryptografisch eine PDF mit einem .pfx- und .p12-X509Certificate2-Digitalsignaturzertifikat, das mit nur einer Codezeile leicht erstellt werden kann.

// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
' 123456 below represents the signature password
Call (New IronPdf.PdfSignature("CertificateFile.p12", "123456")).SignPdfFile("ASPX to PDF.pdf")
$vbLabelText   $csharpLabel

Dieses fortschrittlichere Beispiel ermöglicht die Kombination der .pfx- / .p12-X509Certificate2-Digitale-ID-Unterzeichnungsweise mit einem Scan einer handgeschriebenen Unterschrift.

// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
' Create a digital signature using a certificate file
Dim Signature = New IronPdf.PdfSignature("Iron.pfx", "123456")

' Render a PDF document to be signed
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>")

' Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com"
Signature.SigningLocation = "Chicago, USA"
Signature.SigningReason = "To show how to sign a PDF"
Signature.LoadSignatureImageFromFile("handwriting.png")

' Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature)

' Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf")
$vbLabelText   $csharpLabel

Modernes CSS Framework und Bootstrap HTML Rendering

Moderne Webanwendungen verwenden häufig CSS-Frameworks wie Bootstrap, um die UI-Entwicklung zu beschleunigen und ein reaktionsschnelles Design zu gewährleisten. PDF-Erstellungstools müssen diese Framework-Layouts genau beibehalten, um die professionelle Dokumentenqualität zu gewährleisten.

IronPDF: Umfassende Unterstützung des Bootstrap Frameworks

IronPDF's Chromium Rendering Engine bietet vollständige Unterstützung für moderne CSS-Frameworks und Webstandards:

Bootstrap 5: Vollständige Flexbox- und CSS-Grid-Rendering mit allen responsiven Komponenten – Bootstrap 4: Komplettes Kartensystem, Navigationsleisten und Dienstklassen – Tailwind CSS: Alle Utility-First-Klassen und Responsive-Varianten – Foundation und andere Frameworks: Volle CSS3-Unterstützung bedeutet, dass alle modernen Frameworks korrekt funktionieren – Erweitertes CSS: Flexbox, CSS-Grid, benutzerdefinierte Eigenschaften, Animationen und Transformationen

Validierung in der realen Welt: Bootstrap-Homepage und Vorlagen konvertieren mit Browser-getreuer Genauigkeit.

Code-Beispiel: Veranstaltungsplan mit Bootstrap-Karten

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe: Ein professioneller Konferenzplan mit dem Kartenraster von Bootstrap, Flexbox-Ausrichtung, Badge-Komponenten und responsiver Layout – alles genau im PDF gerendert.

XFINIUM.PDF: Eingeschränkte HTML- und Framework-Unterstützung

XFINIUM.PDF konzentriert sich hauptsächlich auf die PDF-Erstellung und -Manipulation, statt auf die Umwandlung von HTML in PDF. Die Bibliothek hat erhebliche Einschränkungen für Bootstrap und moderne CSS-Frameworks:

Keine native HTML-Wiedergabe: XFINIUM.PDF enthält keine integrierte HTML-zu-PDF-Konvertierungs-Engine – Einfache HTML-Unterstützung: Beschränkt auf einfache HTML-Strukturen ohne fortgeschrittenes CSS – Keine Bootstrap-Unterstützung: Moderne Bootstrap-Frameworks (4/5) mit Flexbox und CSS-Grid werden nicht unterstützt – Umgehungen erforderlich: Entwickler müssen niedrige PDF-APIs verwenden, um Layouts manuell zu rekonstruieren – Externe Tools erforderlich: Möglicherweise erforderlich, externe HTML-Wiedergabe-Engines zu integrieren

Entwicklungseinfluss: Anwendungen, die Bootstrap oder moderne CSS-Frameworks verwenden, können ihre UI nicht direkt mit XFINIUM.PDF in PDF umwandeln. Entwickler müssen entweder:

  1. Layouts mit den Low-Level-Drawing-APIs von XFINIUM.PDF neu erstellen (erheblicher Entwicklungsaufwand)
  2. Externe HTML-Wiedergabe-Tools integrieren (zusätzliche Komplexität und Abhängigkeiten)
  3. Separate PDF-Layout-Code parallel zur Web-UI pflegen (Wartungsaufwand)

F\u00fcr Projekte, die eine HTML-zu-PDF-Konvertierung erfordern, insbesondere mit modernen Frameworks wie Bootstrap, machen die Einschr\u00e4nkungen von XFINIUM.PDF es ohne bedeutenden zus\u00e4tzlichen Entwicklungsaufwand ungeeignet.

Für umfassende Bootstrap- und moderne CSS-Framework-Unterstützung siehe den Bootstrap-& Flexbox-CSS-Leitfaden.

Preis- und Lizenzierungsbedingungen

XFINIUM.PDF Preise und Lizenzierung

Jedes Paket ist in zwei Editionen verfügbar: die Generator-Edition, die PDF-Erstellungs- und -Bearbeitungsfunktionen bietet, und die Viewer-Edition, die alle Funktionen der Generator-Edition sowie PDF-Wiedergabe und -Anzeige enthält.

– Jeder Entwickler hat eine Lizenz für die Xfinium PDF-Bibliothek. Jeder Entwickler, der Code f\u00fcr XFINIUM produziert, ben\u00f6tigt eine Lizenz f\u00fcr diese Bibliothek von PDF-Dateien. – XFINIUM.PDF kann gebührenfrei auf eine unbegrenzte Anzahl von Desktop-PCs und Servern im Rahmen Ihrer Lizenz gesendet werden. – Einjähriges "Assistance Subscription" bietet ein Jahr lang kostenlose Upgrades sowie technischen Support.

Die Preise reichen von $290,00 bis $872,00 pro Jahr, je nach entsprechendem Paket.

IronPDF Preise und Lizenzierung

IronPDF dagegen ist eine C# PDF-Bibliothek. Es ist kostenlos für die Entwicklung und kann jederzeit für die kommerzielle Nutzung lizenziert werden. Lizenzen für Einzelprojekte, einzelne Entwickler, Agenturen und multinationale Organisationen sowie für SaaS und OEM-Weiterverteilung sind alle verfügbar. Alle Lizenzen kommen mit einer 30-Tage-Geld-zurück-Garantie, ein Jahr Software-Support und -Updates, Dev/Staging/Produktionsgültigkeit und einer ewigen Lizenz (Einmalerwerb). Das Lite-Paket ist für $799 erhältlich. Es gibt keine wiederkehrenden Kosten mit IronPDF-Produkten.

Abschluss

Die IronPDF-Bibliothek erleichtert die Erstellung von PDF-Dokumenten, da sie nicht auf proprietäre APIs angewiesen ist. "HTML-To-PDF" konvertiert offene Standard-Dokumententypen wie HTML, JS, CSS, JPG, PNG, GIF und SVG in pixelgenaue PDFs. Mit anderen Worten, es baut auf den Fähigkeiten auf, die Entwickler derzeit haben. Es ermöglicht Benutzern das Herunterladen von Dokumenten, das Versenden per E-Mail oder das Speichern in der Cloud und das Erstellen von Rechnungen, Angeboten, Berichten, Verträgen und anderer Papiere. Es funktioniert mit ASP.NET, ASP.NET Core, Web-Formen, MVC, .NET Framework und .NET Core Web-APIs.

Die XFINIUM.PDF-Bibliothek bietet ein breites Spektrum an Funktionalitäten sowohl für Anfänger als auch für fortgeschrittene PDF-Entwickler. Egal, ob Sie einen einfachen Bericht erstellen, ein PDF-Formular ausfüllen, ein PDF-Portfolio erstellen, sensible Informationen aus einer PDF-Datei redigieren oder eine PDF-Datei in ein mehrseitiges TIFF-Bild konvertieren müssen, sie hat die Tools, die Sie benötigen. Sie haben die vollständige Kontrolle über die erstellten PDF-Dateien, da das grundlegende Objektmodell der PDF-Spezifikation folgt. XFINIUM.PDF-Code kann auf allen unterst\u00fctzten Plattformen ohne Modifikation kompiliert werden. Die XFINIUM.PDF-Sammlung steht Ihnen zur Verfügung, um Ihnen zu helfen.

XFINIUM.PDF-Lizenzen sind in zwei Editionen verfügbar, die Generator- und die Viewer-Editionen, beginnend bei 290 $ bzw. 387 $. Das ist etwas günstiger als IronPDF, das eine Light-Version ab $799 hat. IronPDF lohnt sich, da es sowohl Einzel- als auch Mehrbenutzerlizenzen anbietet, während XFINIUM.PDF nur eine Einzelbenutzerlizenz anbietet – was bedeutet, dass Sie für jeden Entwickler eine Lizenz benötigen. Andererseits bietet IronPDF eine professionelle Lizenz ab 799 $, die von einer unbegrenzten Anzahl von Benutzern genutzt werden kann.

Mit IronPDF können Sie PDF-Dateien einfacher manipulieren als mit XFINIUM.PDF. Mit IronPDF verwenden Sie weniger Codezeilen für komplizierte Manipulationen, was hilft, die Arbeitsbelastung des Programmierers zu verringern.

Das Unternehmen Iron Software bietet allen seinen Kunden auch die Möglichkeit, das gesamte Paket mit nur zwei Klicks zu erwerben. Das bedeutet, dass Sie für den Preis von nur zwei Bibliotheken im Iron Software-Paket derzeit alle fünf Bibliotheken erhalten können, zusammen mit ununterbrochener Unterstützung für alle.

Hinweis:XFINIUM.PDF ist eine eingetragene Marke des jeweiligen Eigentümers. Diese Seite ist nicht mit XFINIUM.PDF verbunden, wird nicht von XFINIUM.PDF unterst\u00fctzt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Die Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich verfügbare Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Was sind die Hauptfunktionen von IronPDF für die HTML-zu-PDF-Konvertierung?

IronPDF verwendet die .NET Chromium-Engine zur Konvertierung von HTML in PDF. Es unterstützt HTML5, CSS, JavaScript und Bildintegration und bietet so eine umfassende Lösung zur Erstellung von PDFs aus Webinhalten.

Wie schneidet XFINIUM.PDF im Vergleich zu anderen PDF-Bibliotheken für .NET ab?

XFINIUM.PDF ist eine plattformübergreifende Bibliothek, die zwei Ausgaben bietet: Generator und Viewer. Sie zeichnet sich durch die Erstellung, Bearbeitung und Darstellung von PDFs aus und umfasst Funktionen wie Sicherheit, digitale Signaturen und Barcode-Unterstützung.

Kann IronPDF auf Cloud-Plattformen wie Azure und AWS eingesetzt werden?

Ja, IronPDF ist mit verschiedenen Plattformen kompatibel, darunter Azure und AWS, was eine flexible Bereitstellung von PDF-Lösungen in Cloud-Umgebungen ermöglicht.

Welche Installationsoptionen gibt es für IronPDF in .NET-Projekten?

IronPDF kann mit dem NuGet-Paket-Manager von Visual Studio, dem Developer Command Prompt oder durch direktes Herunterladen des NuGet-Pakets oder der Bibliothek DLL installiert werden.

Welche Möglichkeiten zur PDF-Bearbeitung bietet IronPDF?

IronPDF ermöglicht umfassende PDF-Bearbeitungen, darunter das Ausfüllen von Formularfeldern, das Zusammenführen von Dokumenten und das Extrahieren von Text und Bildern. Es unterstützt auch das Hinzufügen von Kopf- und Fußzeilen sowie Anmerkungen.

Wie unterscheiden sich die Lizenzoptionen zwischen IronPDF und XFINIUM.PDF?

XFINIUM.PDF bietet Lizenzen ab 290 US-Dollar pro Entwickler mit lizenzfreier Verteilung. IronPDF bietet umfassendere Lizenzoptionen, einschließlich einer professionellen Lizenz für unbegrenzte Benutzer.

Welche Sicherheitsfunktionen bietet XFINIUM.PDF?

XFINIUM.PDF unterstützt Sicherheitsfunktionen wie Benutzer- und Eigentümerpasswörter, Zugriffsrechte für Dokumente, RC4- und AES-Verschlüsselung sowie Inhaltsreduzierung zur Sicherung von Dokumenten.

Warum sollten Entwickler IronPDF für ihre Projekte wählen?

Entwickler könnten IronPDF wegen seines vereinfachten Ansatzes zur PDF-Manipulation wählen, der weniger Codezeilen erfordert, sowie seiner Flexibilität mit Einzel- und Mehrbenutzerlizenzen.

Wie handhabt IronPDF das Ausfüllen von Formularen in PDFs?

IronPDF bietet Werkzeuge zum Ausfüllen von Formularfeldern innerhalb von PDFs, was die dynamische Dokumentenerstellung und Benutzerinteraktion ermöglicht.

Welche Möglichkeiten zur digitalen Signierung bieten diese PDF-Bibliotheken?

Sowohl IronPDF als auch XFINIUM.PDF unterstützen digitale Signaturen, die eine sichere Validierung der Dokumentechtheit und -integrität ermöglichen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen