IronPDF vs XFINIUM.PDF: HTML zu PDF-Bibliotheksvergleich für .NET
IronPDF zeichnet sich durch seine hervorragende HTML-zu-PDF-Konvertierung mit vollständiger CSS- und JavaScript Unterstützung auf Basis der Chromium-Engine aus. Im Gegensatz dazu ist XFINIUM.PDF auf die PDF-Manipulation auf niedriger Ebene ohne natives HTML-Rendering spezialisiert, wodurch IronPDF die bessere Wahl für die moderne webbasierte PDF-Erstellung in .NET Anwendungen darstellt.
Moderne Technologien bieten Entwicklern intelligentere Lösungen, wobei die Automatisierung die Softwareentwicklungsprozesse vorantreibt. Die Arbeit mit C#-PDF-Dateien stellt Entwickler seit langem vor eine Herausforderung. Bei der Erstellung von Inhalten für PDF-Dateien müssen mehrere Faktoren berücksichtigt werden, und dies gilt umso mehr für die Konvertierung von Inhalten aus verschiedenen Formaten in PDF . Diesen Herausforderungen wird heute durch Bibliotheken begegnet, die beim Lesen, Schreiben, Erstellen und Konvertieren von PDFs aus verschiedenen Formaten helfen.
Dieser Artikel vergleicht zwei beliebte PDF-Bibliotheken für .NET und .NET Core Entwickler:
- Die IronPDF Bibliothek
- Die XFINIUM.PDF-Bibliothek
Sowohl IronPDF als auch XFINIUM.PDF bieten Methoden zum Erstellen , Bearbeiten und Drucken von PDFs in .NET und .NET Core. Sie können eine fundierte Entscheidung treffen, indem Sie den folgenden Vergleich der beiden Bibliotheken und ihrer jeweiligen Funktionen zur PDF-Konvertierung und -Bearbeitung prüfen.
Zunächst wollen wir uns ansehen, was die beiden Bibliotheken bieten, und anschließend den Vergleich anstellen.
Welche Funktionen bietet die XFINIUM.PDF-Bibliothek?
Die XFINIUM.PDF-Bibliothek ist ein plattformübergreifendes Werkzeug zur PDF-Entwicklung, das sich sowohl an Anfänger als auch an fortgeschrittene PDF-Entwickler richtet. Es ermöglicht Ihnen, Berichte zu erstellen , PDF-Formulare auszufüllen , PDF-Portfolios zu erstellen, sensible Daten aus PDF-Berichten zu schwärzen oder PDF-Berichte in mehrseitige TIFF-Bilder zu konvertieren .
XFINIUM.PDF ist in zwei Editionen erhältlich: der Generator Edition, die die PDF-Erstellung und -Bearbeitung umfasst, und der Viewer Edition, die zusätzlich das Rendern und Betrachten von PDFs ermöglicht.
XFINIUM.PDF ist vollständig in C# als vollständig verwalteter Code geschrieben. Es wird pro Entwickler lizenziert und ist lizenzgebührenfrei vertreibbar, sodass Sie Ihr Programm ohne zusätzliche Kosten verbreiten können.
Was ist der Unterschied zwischen der Generator- und der Viewer-Edition?
Die Generator-Edition ist ein Teil der Viewer-Edition. Es bietet PDF-Funktionalität zum Erstellen und Bearbeiten von PDFs, während die Viewer Edition zusätzlich PDF-Rendering-Funktionen bietet. Die Viewer Edition kann PDF-Seiten in RAW-, BMP-, GIF-, JPG-, PNG- und TIFF-Bilder konvertieren .
XFINIUM.PDF Spezifikation
Hauptmerkmale sind:
Sicherheit
- Benutzer- und Besitzerpasswörter – Dokumentzugriffsrechte – 40-Bit- und 128-Bit-RC4-Verschlüsselung
- 128-Bit- und 256-Bit-AES-Verschlüsselung
- Inhaltsredaktion
- Deaktivieren von Textkopieren/-einfügen.
Digitale Unterschriften
- Genehmigung und Zertifizierung mit X509-Zertifikaten
- CMS- und PAdES-Signaturen mit SHA256/384/512 – Signaturzeitstempel
- OCSP- und CRL-Informationen in Signaturen – Dokumentensicherheits-Speicher – Dokumentzeitstempel
- LTV-fähige digitale Signaturen
- Signaturen in ASN.1-Objekte dekodieren
- Zertifikate aus Signaturen extrahieren
- Signierte PDF-Kopien speichern
BarCode
- Eingebaute Vektor-Barcode-Engine
– Eindimensionale Barcodes:
- Codabar, Code 11, Code 25, Code 39/93/128
- Pharmazeutischer Code: Code 32, Pharmacode, PZN – Zweidimensionale Barcodes:
DataMatrix, QR, PDF417, Micro PDF417
Für erweiterte Barcode-Funktionalität sollten Sie die IronBarcode Dokumentation in Betracht ziehen, die vollständige Barcode-Generierungs- und Lesefunktionen bietet.
Inhaltsextraktion
- Text mit Positionsinformationen extrahieren
- Text als Wörter mit Positionen extrahieren
- Extraktion aus benutzerdefinierten Regionen
- Bilder mit Metadaten extrahieren
COS-API auf niedriger Ebene
– COS-Objekte hinzufügen, bearbeiten und entfernen
- Unterstützte Datentypen: Zeichenketten, Zahlen, Namen, Boolesche Werte, Nullwerte, Arrays, Wörterbücher, Datenströme
PDF-Rendering (nur Viewer Edition)
- Seiten als Bilder rendern : RAW, BMP, GIF, JPG, PNG, TIFF
- ARGB-, RGBA-, BGRA-, RGB-, BGR- und Graustufen-Layouts
- PDF in mehrseitiges TIFF mit CCITT G4
Was sind die Hauptmerkmale von IronPDF?
Die IronPDF .NET PDF-Bibliothek vereinfacht die PDF-Entwicklung für C#-Programmierer. Mit diesem Tool können Sie auf einfache Weise eine PDF-Kernbibliothek für .NET erstellen.
IronPDF konvertiert HTML-Seiten mithilfe der .NET Chromium-Engine in PDF-Dateien. Mit HTML to PDF benötigen Sie keine komplizierten APIs, um PDFs zu positionieren oder zu gestalten. Es werden gängige Webdokumente unterstützt, darunter HTML, ASPX, JS, CSS und Bilder .
Sie können HTML5, CSS, JavaScript und Bilder verwenden, um eine .NET PDF-Bibliothek zu entwickeln. PDFs können bearbeitet, gestempelt und mit Kopf- und Fußzeilen angereichert werden. Die Bibliothek verwaltet das Lesen von PDF-Texten und das Extrahieren von Grafiken effizient.
Laden Sie IronPDF herunter und beginnen Sie noch heute damit, es in Ihren .NET-Projekten zu verwenden.
Hervorstechende Merkmale der IronPDF C# Bibliothek
Hauptmerkmale sind:
PDFs erstellen (HTML zu PDF)
- Unterstützung für HTML4/5, CSS und JavaScript
- URLs mit Netzwerkzugangsdaten , User-Agents , Proxys , Cookies und HTTP-Headern laden
Vorhandene PDF-Dokumente bearbeiten
- Formularfelder lesen und ausfüllen
- Grafiken und Text extrahieren
- Seiten mit neuem HTML-Inhalt aktualisieren
- Logische oder HTML-Kopf-/Fußzeilen hinzufügen
PDF-Dokumente bearbeiten
- Vorhandene PDFs laden und analysieren
- Dokumente zusammenführen und aufteilen
- Überschriften , Anmerkungen , Lesezeichen , Wasserzeichen , Text und Bilder hinzufügen
Verschiedene Dateiformate konvertieren
- ASPX WebForms – Konvertierung mit drei Codezeilen
- HTML-Dateien in PDF konvertieren
- Benutzerdefinierte Basis-URLs für den Zugriff auf Assets
- Virtueller Viewport für responsives Design
- Unterstützung für gängige Dateikodierungen ( UTF-8 als Standard)
Drucken und Speichern
- Speichern/Laden von Dateien, Binärdaten, MemoryStreams
- CSS-Medientypen für den Druck
- PDFs ohne Adobe Acrobat drucken
- API-Protokolle zum Debuggen exportieren
IronPDF unterstützt alle gängigen Betriebssysteme und Frameworks:
Wie installiere ich die IronPDF C#-Bibliothek?
Sie können IronPDF auf vier Arten herunterladen und installieren:
- Verwenden von Visual Studio
- Entwickler-Eingabeaufforderung
- Laden Sie das NuGet Paket direkt herunter.
- Laden Sie die IronPDF .DLL-Bibliothek herunter
Verwendung von Visual Studio
Visual Studio stellt den NuGet Paketmanager zur Verfügung, um Pakete in Ihren Projekten zu installieren. Sie können darauf über das Projektmenü oder per Rechtsklick auf Ihr Projekt im Projektmappen-Explorer zugreifen.
**Abbildung 1**. Zugriff auf den NuGet-Paketmanager über das Projektmenü in Visual Studio
**Abbildung 2**. Zugriff auf den NuGet-Paketmanager über das Kontextmenü in Visual Studio
Nach der Auswahl suchen Sie nach dem IronPDF-Paket und installieren es.
**Abbildung 3**. Installieren der IronPDF-Bibliothek mit dem NuGet-Paketmanager in Visual Studio
Verwendung der Eingabeaufforderung für Entwickler
Installieren Sie das IronPDF NuGet Paket über die Entwickler-Eingabeaufforderung:
- Öffnen Sie die Entwickler-Eingabeaufforderung
-
Geben Sie den folgenden Befehl ein:
nuget install IronPdfnuget install IronPdfSHELL - Drücken Sie die Eingabetaste Das Paket wird heruntergeladen und installiert.
- Laden Sie Ihr Visual Studio-Projekt neu.
Das NuGet-Paket direkt herunterladen
Laden Sie IronPDF direkt von NuGet herunter und installieren Sie es:
- Gehen Sie zur IronPDF NuGet -Seite
- Wählen Sie Paket herunterladen
- Doppelklicken Sie auf das heruntergeladene Paket Das Paket installiert
- Laden Sie Ihr Visual Studio-Projekt neu.
Installieren Sie IronPDF durch Herunterladen der Bibliothek
Laden Sie die IronPDF .DLL-Datei direkt von der IronPDF Downloadseite herunter.
**Abbildung 4**. Herunterladen der IronPDF Library DLL von der IronPDF-Website
Referenzieren Sie die Bibliothek in Ihrem Projekt:
- Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe. – Wählen Sie Verweise
- Suchen Sie nach der IronPDF.dll-Bibliothek – OK klicken
IronPDF ist jetzt einsatzbereit. Installieren wir als Nächstes XFINIUM.PDF.
Wie installiere ich XFINIUM.PDF?
Installieren Sie Xfinium PDF in .NET Core als CakePHP-Add-In oder -Tool:
# 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
# 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
Nun vergleichen wir IronPDF und XFINIUM.PDF.
Wie erstelle ich ein einfaches PDF-Dokument in .NET Core?
Softwareentwickler müssen wissen, wie man mit C# dynamisch PDF-Dateien erstellt . Möglicherweise benötigen Sie die PDF-Erstellung für die Generierung von Berichten aus Benutzereingaben , das Speichern von Benutzertexten als PDF, das Extrahieren von HTML-Informationen und deren Konvertierung in PDF und vieles mehr.
Beide Bibliotheken können HTML-Webseiten in PDF konvertieren . Lassen Sie uns die Vorgehensweise jeder Bibliothek genauer betrachten.
Verwendung von IronPDF
IronPDF bietet verschiedene Methoden zum Erstellen von PDF-Dateien.
Bestehende URL zu PDF
IronPDF vereinfacht die Konvertierung von HTML- in PDF-Dokumente anhand bestehender URLs . JavaScript , Bilder , Formulare und CSS werden vollständig unterstützt.
Die Implementierung übernimmt das URL-Rendering automatisch:
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500; // Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___");
// Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF";
Pdf.MetaData.Title = "Website to PDF Conversion";
Pdf.SaveAs("url.pdf");
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500; // Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___");
// Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF";
Pdf.MetaData.Title = "Website to PDF Conversion";
Pdf.SaveAs("url.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()
' Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500 ' Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Render a URL to PDF
Using Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___")
' Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF"
Pdf.MetaData.Title = "Website to PDF Conversion"
Pdf.SaveAs("url.pdf")
End Using
HTML-Eingabestring zu PDF
Betrachten Sie das folgende Codebeispiel zum Rendern einer PDF-Seite aus einem HTML-String . Sie können HTML allein verwenden oder es mit CSS, Bildern und JavaScript kombinieren:
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options
Renderer.RenderingOptions.MarginTop = 50; // millimeters
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
// Add document properties
PDF.MetaData.Author = "Development Team";
PDF.MetaData.Keywords = "HTML, PDF, C#";
PDF.MetaData.ModifiedDate = DateTime.Now;
// 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\");
// Apply security settings
AdvancedPDF.Password = "pass123";
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options
Renderer.RenderingOptions.MarginTop = 50; // millimeters
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
// Add document properties
PDF.MetaData.Author = "Development Team";
PDF.MetaData.Keywords = "HTML, PDF, C#";
PDF.MetaData.ModifiedDate = DateTime.Now;
// 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\");
// Apply security settings
AdvancedPDF.Password = "pass123";
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()
' Configure rendering options
Renderer.RenderingOptions.MarginTop = 50 ' millimeters
Renderer.RenderingOptions.MarginBottom = 50
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Render a simple HTML string to PDF
Using PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
' Add document properties
PDF.MetaData.Author = "Development Team"
PDF.MetaData.Keywords = "HTML, PDF, C#"
PDF.MetaData.ModifiedDate = DateTime.Now
' Save the PDF
PDF.SaveAs("pixel-perfect.pdf")
End Using
' 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 AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
' Apply security settings
AdvancedPDF.Password = "pass123"
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf")
End Using
Fortgeschrittene Techniken zur HTML-zu-PDF-Konvertierung finden Sie im HTML-zu-PDF-Tutorial .
Verwendung von XFINIUM.PDF
Das Erstellen eines leeren PDF-Dokuments mit XFINIUM.PDF erfordert drei Schritte: Dokument erstellen, Seite erstellen und speichern:
// 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")
Das Hinzufügen von Textinhalten erfordert drei zusätzliche Zeilen: das Erstellen einer Schriftart, das Erstellen eines Pinsels für die Farbe und das Zeichnen des Textes:
// 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")
Das Objektmodell ähnelt stark dem PDF-Standard. Dieser Ansatz bietet klare Vorteile für die Erstellung komplexer Abstraktionen wie Flussdiagramme . ## So erstellen Sie ausfüllbare PDF-Dateien
Verwendung von XFINIUM.PDF
Mit XFINIUM.PDF können Sie neue PDF-Formulare erstellen und bestehende PDF-Formulare ausfüllen .
Jedem PDF-Formularfeldtyp ist eine entsprechende Klasse zugeordnet:
PdfTextBoxField– TextfeldfelderPdfCheckBoxField– KontrollkästchenPdfRadioButtonField– OptionsfeldsätzePdfComboboxField– KombinationsboxenPdfListboxField– ListenfelderPdfPushbuttonField– Druckknöpfe- PdfSignatureField – Signaturfelder
Um ein Formularfeld zu erstellen, geben Sie den Feldnamen und die Seitenposition an. Nachdem Sie das Feldobjekt erstellt haben, fügen Sie es der Seite hinzu und legen Sie seine Attribute fest:
// 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)
Um vorhandene PDF-Formulare auszufüllen, laden Sie diese in ein PdfFixedDocument-Objekt. Die Felder des Dokuments werden automatisch ausgefüllt. Sie können Felder anhand ihres Index oder Namens finden und sie durch Festlegen von Werteigenschaften füllen:
// 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")
Verwendung von IronPDF
So erstellen Sie ausfüllbare PDFs mit IronPDF:
// PM> Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<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=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>";
// Create a PDF renderer with form creation enabled
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Renderer.RenderingOptions.MarginTop = 20;
Renderer.RenderingOptions.MarginBottom = 20;
// Render the HTML as a PDF and save it
var pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml);
pdfDocument.SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
// Get form field collection
var form = FormDocument.Form;
// Set and Read the value of the "firstname" field
var FirstNameField = form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
// Set and Read the value of the "lastname" field
var LastNameField = form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
// Set email field
var EmailField = form.FindFormField("email");
EmailField.Value = "minnie.mouse@example.com";
// Set checkbox
var NewsletterField = form.FindFormField("newsletter");
NewsletterField.Value = "yes";
// Set dropdown selection
var CountryField = form.FindFormField("country");
CountryField.Value = "usa";
// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten();
FormDocument.SaveAs("FlattenedForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<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=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>";
// Create a PDF renderer with form creation enabled
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Renderer.RenderingOptions.MarginTop = 20;
Renderer.RenderingOptions.MarginBottom = 20;
// Render the HTML as a PDF and save it
var pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml);
pdfDocument.SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
// Get form field collection
var form = FormDocument.Form;
// Set and Read the value of the "firstname" field
var FirstNameField = form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
// Set and Read the value of the "lastname" field
var LastNameField = form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
// Set email field
var EmailField = form.FindFormField("email");
EmailField.Value = "minnie.mouse@example.com";
// Set checkbox
var NewsletterField = form.FindFormField("newsletter");
NewsletterField.Value = "yes";
// Set dropdown selection
var CountryField = form.FindFormField("country");
CountryField.Value = "usa";
// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten();
FormDocument.SaveAs("FlattenedForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Imports IronPdf.Rendering
' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Dim FormHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<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=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>"
' Create a PDF renderer with form creation enabled
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
Renderer.RenderingOptions.MarginTop = 20
Renderer.RenderingOptions.MarginBottom = 20
' Render the HTML as a PDF and save it
Dim pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml)
pdfDocument.SaveAs("BasicForm.pdf")
' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")
' Get form field collection
Dim form = FormDocument.Form
' Set and Read the value of the "firstname" field
Dim FirstNameField = form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)
' Set and Read the value of the "lastname" field
Dim LastNameField = form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)
' Set email field
Dim EmailField = form.FindFormField("email")
EmailField.Value = "minnie.mouse@example.com"
' Set checkbox
Dim NewsletterField = form.FindFormField("newsletter")
NewsletterField.Value = "yes"
' Set dropdown selection
Dim CountryField = form.FindFormField("country")
CountryField.Value = "usa"
' Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf")
' Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten()
FormDocument.SaveAs("FlattenedForm.pdf")
Sie beginnen mit dem Erstellen eines Formulars mit HTML-Formatierungs-Tags. Die Bibliothek kümmert sich um die Komplexität beim Speichern als PDF. Das Lesen und Schreiben von Formularwerten erfolgt mithilfe der Funktion FindFormField . Ihre Anwendung kann diese Funktion sofort nutzen, um Formulare programmatisch auszufüllen.
Für erweiterte Formularverarbeitung, einschließlich digitaler Signaturen , siehe das Tutorial "PDF-Formulare erstellen" .
So signieren Sie PDF-Dateien digital
Fernarbeit erfordert eine effiziente Dokumentenverarbeitung. Das Ausfüllen und Unterschreiben von Formularen , das Versenden von Dateien und die Bearbeitung von Dokumenten gehören zum täglichen Geschäftsbetrieb. Das Signieren von PDF-Dokumenten , Portfolios und Formularen ersetzt Papierdokumente. Digitale Signaturen ermöglichen es Unternehmen, Verträge zu unterzeichnen und PDF-Formulare online zu teilen.
Verwendung von XFINIUM.PDF
Ein Signaturfeld wendet digitale Signaturen in PDF-Dateien an (PdfSignatureField Klasse). Obwohl das Unterschriftenfeld nur auf einer Seite erscheint, wird mit der digitalen Signatur das gesamte Dokument signiert.
Der Signaturprozess verwendet ein PdfDigitalSignature-Objekt, um das Signaturattribut festzulegen. Die Signatur wird beim Speichern des Dokuments auf Basis des Binärlayouts der PDF-Datei erstellt.
PdfDigitalSignature bildet die Grundlage für alle XFINIUM-Signaturen:
PdfCmsDigitalSignature– CMS-Standardsignatur (erbt vonPdfDigitalSignature)PdfPadesDigitalSignature– PADES-Standardsignatur (erbt vonPdfCmsDigitalSignature)PdfInteractiveCmsDigitalSignature– CMS-Signatur mit Hardware-SmartcardPdfInteractivePadesDigitalSignature– PADES mit Hardware-Smartcard-UnterstützungPdfDocumentTimeStamp– Zeitstempel auf Dokumentebene (erbt vonPdfDigitalSignature)
Verwendung von IronPDF
Entwickler fragen häufig nach Möglichkeiten, mit IronPDF und C# programmatisch Signaturen zu PDFs hinzuzufügen . Dies kann bedeuten:
- Hinzufügen grafischer Signaturbilder aus Dateien
- Kryptografische Signatur zur Verhinderung von Manipulationen
- Hinzufügen von handschriftlichen Signatursymbolen mit kryptografischer Signatur
Der erste Ansatz besteht darin , eine Signatur-PNG-Datei auf bestehende PDF-Seiten aufzudrucken . Verwenden Sie es für Unterschriften oder Firmenstempel:
// 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
};
// Advanced stamp with styling
var StyledSignatureStamp = new HtmlStamp()
{
Html = @"<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>
<img src='signature.png' style='width: 120px;' />
<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>
<p style='margin: 0; font-size: 8px;'>{date}</p>
</div>",
Width = 150,
Height = 100,
Bottom = 50,
Right = 50,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);
// Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp);
// 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
};
// Advanced stamp with styling
var StyledSignatureStamp = new HtmlStamp()
{
Html = @"<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>
<img src='signature.png' style='width: 120px;' />
<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>
<p style='margin: 0; font-size: 8px;'>{date}</p>
</div>",
Width = 150,
Height = 100,
Bottom = 50,
Right = 50,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);
// Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp);
// 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
}
' Advanced stamp with styling
Dim StyledSignatureStamp = New HtmlStamp() With {
.Html = "<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>" & _
"<img src='signature.png' style='width: 120px;' />" & _
"<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>" & _
"<p style='margin: 0; font-size: 8px;'>{date}</p>" & _
"</div>",
.Width = 150,
.Height = 100,
.Bottom = 50,
.Right = 50,
.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}
' Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1)
' Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp)
' Save the stamped PDF
Pdf.SaveAs("C:\Path\To\Stamped_PDF.pdf")
PDFs kryptografisch mit .pfx- und .p12-X509Certificate2-Zertifikaten in einer Zeile signieren :
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// Or with more control
var signature = new IronPdf.PdfSignature("CertificateFile.p12", "123456")
{
SigningContact = "john@example.com",
SigningLocation = "New York, USA",
SigningReason = "Contract Agreement"
};
// Load the PDF
var pdf = PdfDocument.FromFile("contract.pdf");
// Sign and save
pdf.SignPdfWithDigitalSignature(signature);
pdf.SaveAs("signed-contract.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// Or with more control
var signature = new IronPdf.PdfSignature("CertificateFile.p12", "123456")
{
SigningContact = "john@example.com",
SigningLocation = "New York, USA",
SigningReason = "Contract Agreement"
};
// Load the PDF
var pdf = PdfDocument.FromFile("contract.pdf");
// Sign and save
pdf.SignPdfWithDigitalSignature(signature);
pdf.SaveAs("signed-contract.pdf");
' 123456 below represents the signature password
New IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf")
' Or with more control
Dim signature = New IronPdf.PdfSignature("CertificateFile.p12", "123456") With {
.SigningContact = "john@example.com",
.SigningLocation = "New York, USA",
.SigningReason = "Contract Agreement"
}
' Load the PDF
Dim pdf = PdfDocument.FromFile("contract.pdf")
' Sign and save
pdf.SignPdfWithDigitalSignature(signature)
pdf.SaveAs("signed-contract.pdf")
Dieses fortgeschrittene Beispiel kombiniert die digitale Signatur von .pfx / .p12 X509Certificate2 mit handschriftlichen Signaturen:
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");
// Render a PDF document to be signed
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.MarginBottom = 0;
Renderer.RenderingOptions.MarginTop = 0;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Create PDF with security features
string html = @"<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>";
PdfDocument doc = Renderer.RenderHtmlAsPdf(html);
// 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";
// Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png");
// Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
doc.SecuritySettings.AllowUserCopyPasteContent = false;
// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);
// Add password protection
doc.Password = "userpassword";
doc.OwnerPassword = "ownerpassword";
// 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
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.MarginBottom = 0;
Renderer.RenderingOptions.MarginTop = 0;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Create PDF with security features
string html = @"<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>";
PdfDocument doc = Renderer.RenderHtmlAsPdf(html);
// 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";
// Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png");
// Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
doc.SecuritySettings.AllowUserCopyPasteContent = false;
// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);
// Add password protection
doc.Password = "userpassword";
doc.OwnerPassword = "ownerpassword";
// 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 Renderer = New ChromePdfRenderer()
Renderer.RenderingOptions.MarginBottom = 0
Renderer.RenderingOptions.MarginTop = 0
Renderer.RenderingOptions.EnableJavaScript = True
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Create PDF with security features
Dim html As String = "<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>"
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf(html)
' 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"
' Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png")
' Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit
doc.SecuritySettings.AllowUserCopyPasteContent = False
' Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature)
' Add password protection
doc.Password = "userpassword"
doc.OwnerPassword = "ownerpassword"
' Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf")
Für vollständige Sicherheitsimplementierungen erkunden Sie die IronSecureDoc Dokumentation für erweiterte Dokumentenschutzfunktionen.## Wie geht jede Bibliothek mit modernen CSS-Frameworks und Bootstrap um?
Moderne Webanwendungen setzen häufig auf CSS-Frameworks wie Bootstrap für eine schnelle UI-Entwicklung und responsives Design. PDF-Generierungswerkzeuge müssen diese Rahmenlayouts präzise beibehalten, um eine professionelle Dokumentqualität zu gewährleisten.
IronPDF: Vollständige Unterstützung des Bootstrap Frameworks
Die Chromium-Rendering-Engine von IronPDF unterstützt moderne CSS-Frameworks vollständig:
- Bootstrap 5: Vollständiges Flexbox- und CSS-Grid-Rendering mit allen responsiven Komponenten
- Bootstrap 4: Vollständige Kartensysteme, Navigationsleisten und Hilfsklassen
- Tailwind CSS: Alle Utility-First-Klassen und responsive Varianten
- Foundation und andere Frameworks: Volle CSS3-Unterstützung bedeutet, dass alle modernen Frameworks korrekt funktionieren.
- Fortgeschrittenes CSS: Flexbox, CSS Grid, benutzerdefinierte Eigenschaften, Animationen und Transformationen
Validierung in der Praxis: Die Bootstrap-Homepage und die Templates werden mit browsergenauer Wiedergabetreue konvertiert.
Code-Beispiel: Veranstaltungsplan mit Bootstrap-Karten
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280; // Desktop viewport
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</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 environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ 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 flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ 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 improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ 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 class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>";
// Generate the PDF
var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
// Add metadata
pdf.MetaData.Author = "Tech Conference Team";
pdf.MetaData.Title = "Conference Schedule 2025";
pdf.MetaData.Subject = "Event Schedule";
// Save the PDF
pdf.SaveAs("conference-schedule.pdf");
// Example: Generate responsive invoice with Bootstrap
string bootstrapInvoice = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);
invoicePdf.SaveAs("bootstrap-invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280; // Desktop viewport
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</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 environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ 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 flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ 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 improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ 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 class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>";
// Generate the PDF
var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
// Add metadata
pdf.MetaData.Author = "Tech Conference Team";
pdf.MetaData.Title = "Conference Schedule 2025";
pdf.MetaData.Subject = "Event Schedule";
// Save the PDF
pdf.SaveAs("conference-schedule.pdf");
// Example: Generate responsive invoice with Bootstrap
string bootstrapInvoice = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);
invoicePdf.SaveAs("bootstrap-invoice.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 500 ' Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280 ' Desktop viewport
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 10
renderer.RenderingOptions.MarginRight = 10
Dim bootstrapSchedule As String = "
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</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 environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ 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 flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ 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 improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ 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 class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>"
' Generate the PDF
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule)
' Add metadata
pdf.MetaData.Author = "Tech Conference Team"
pdf.MetaData.Title = "Conference Schedule 2025"
pdf.MetaData.Subject = "Event Schedule"
' Save the PDF
pdf.SaveAs("conference-schedule.pdf")
' Example: Generate responsive invoice with Bootstrap
Dim bootstrapInvoice As String = "
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice)
invoicePdf.SaveAs("bootstrap-invoice.pdf")
Ergebnis: Ein professioneller Konferenzplan mit Bootstraps Kartenraster, Flexbox-Ausrichtung, Badge-Komponenten und responsivem Layout – alles präzise im PDF dargestellt.
XFINIUM.PDF: Eingeschränkte HTML- und Framework-Unterstützung
XFINIUM.PDF konzentriert sich auf die PDF-Erstellung und -Bearbeitung und nicht auf die HTML-zu-PDF-Konvertierung. Die Bibliothek hat erhebliche Einschränkungen für Bootstrap und moderne CSS-Frameworks:
- Keine native HTML-Darstellung: XFINIUM.PDF enthält keine integrierte HTML-zu-PDF-Konvertierungs-Engine.
- Nur grundlegende HTML-Unterstützung: Beschränkt auf einfache HTML-Strukturen ohne erweitertes CSS
- Keine Bootstrap-Unterstützung: Moderne Bootstrap-Frameworks (4/5) mit Flexbox und CSS Grid werden nicht unterstützt.
- Umgehungslösungen erforderlich: Entwickler müssen Low-Level-PDF-APIs verwenden, um Layouts manuell nachzubilden.
- Erforderliche externe Tools: Möglicherweise ist die Integration externer HTML-Rendering-Engines erforderlich.
Auswirkungen auf die Entwicklung: Anwendungen, die Bootstrap oder moderne CSS-Frameworks verwenden, können ihre Benutzeroberfläche nicht direkt mit XFINIUM.PDF in PDF konvertieren. Entwickler müssen entweder:
- Layouts mit den Low-Level-Drawing-APIs von XFINIUM.PDF neu erstellen (erheblicher Entwicklungsaufwand)
- Externe HTML-Wiedergabe-Tools integrieren (zusätzliche Komplexität und Abhängigkeiten)
- Separate PDF-Layout-Code parallel zur Web-UI pflegen (Wartungsaufwand)
Bei Projekten, die eine HTML-zu-PDF-Konvertierung mit modernen Frameworks erfordern, erfordern die Einschränkungen von XFINIUM.PDF einen erheblichen zusätzlichen Entwicklungsaufwand.
Vollständige Unterstützung für Bootstrap und moderne CSS-Frameworks finden Sie im Bootstrap & Flexbox CSS Guide.
Welche Preis- und Lizenzoptionen gibt es?
XFINIUM.PDF Preise und Lizenzierung
Jedes Paket ist in zwei Editionen erhältlich: der Generator Edition für die PDF-Erstellung/-Bearbeitung und der Viewer Edition, die alle Generator-Funktionen Plus das Rendern und Anzeigen von PDFs enthält.
- Jeder Entwickler benötigt eine Lizenz.
- Lizenzgebührenfreie Verteilung an unbegrenzt viele Desktop-PCs/Server.
- Das Support-Abonnement beinhaltet ein Jahr Updates/Support.
Die Preise liegen zwischen 290,00 $ und 872,00 $ pro Jahr.
IronPDF Preise und Lizenzierung
IronPDF ist für die Entwicklung kostenlos und kann jederzeit für die kommerzielle Nutzung lizenziert werden. Zu den Optionen gehören Lizenzen für Einzelprojekte, einzelne Entwickler, Agenturen, multinationale Unternehmen und den Weitervertrieb von SaaS-/OEM-Lösungen. Alle Lizenzen beinhalten eine 30-Tage-Geld-zurück-Garantie, ein Jahr Support/Upgrades, Gültigkeit für Entwicklung/Staging/Produktion und eine unbefristete Lizenz (einmaliger Kauf). Das Lite Paket ist ab $999 erhältlich und es fallen keine weiteren Kosten an.
Welche PDF-Bibliothek soll ich wählen?
Die IronPDF Bibliothek vereinfacht die PDF-Erstellung ohne proprietäre APIs. "HTML-zu-PDF" konvertiert offene Standarddokumente wie HTML, JS, CSS, JPG, PNG, GIF und SVG in pixelgenaue PDFs. Es baut auf vorhandenen Entwicklerkenntnissen auf. Sie können Dokumente herunterladen, per E-Mail versenden oder in der Cloud speichern und so Rechnungen, Angebote, Berichte, Verträge und andere Dokumente erstellen. Es funktioniert mit ASP.NET, ASP.NET Core, Web-Formen, MVC, .NET Framework und .NET Core Web-APIs.
XFINIUM.PDF bietet Funktionen für Anfänger und fortgeschrittene PDF-Entwickler. Egal ob Sie Berichte erstellen, PDF-Formulare ausfüllen, Portfolios zusammenstellen, Informationen schwärzen oder PDFs in mehrseitige TIFFs konvertieren müssen, es bietet Ihnen die notwendigen Werkzeuge. Das grundlegende Objektmodell orientiert sich an den PDF-Spezifikationen. Der Code lässt sich ohne Änderungen auf allen Plattformen kompilieren.
XFINIUM.PDF-Lizenzen sind ab 290 US-Dollar (Generator) bzw. 387 US-Dollar (Viewer) erhältlich. IronPDF beginnt bei $999. IronPDF bietet sowohl Einzel- als auch Mehrbenutzerlizenzen an, während XFINIUM.PDF Lizenzen pro Entwickler erfordert. Die Professional-Lizenz von IronPDF (799 US-Dollar) unterstützt eine unbegrenzte Anzahl von Benutzern.
IronPDF benötigt für die PDF-Manipulation weniger Codezeilen als XFINIUM.PDF, wodurch der Programmieraufwand reduziert wird.
Iron Software bietet seine komplette Suite mit nur zwei Klicks an. Zum Preis von zwei Bibliotheken erhalten Sie aktuell alle fünf Bibliotheken inklusive kontinuierlichem Support.
Häufig gestellte Fragen
Was sind die Hauptfunktionen von IronPDF für die HTML-zu-PDF-Konvertierung?
IronPDF nutzt die .NET Chromium-Engine, um HTML in PDF zu konvertieren. Es unterstützt HTML5, CSS, JavaScript und Bildintegration, was es zu einer umfassenden Lösung für die Erstellung von PDFs aus Webinhalten macht.
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 verwendet 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.



