Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

Ein Vergleich zwischen IronPDF und Apitron PDF Kit

Die Arbeit mit PDF-Dateien in C# kann für Entwickler eine Herausforderung darstellen. Bei der Erstellung von Inhalten für diese Dateien sind viele Faktoren zu berücksichtigen, und noch mehr, wenn Inhalte aus verschiedenen Formaten in PDF konvertiert werden. Automatisierung ist heute in Softwareentwicklungsprozessen unerlässlich. Diesen Herausforderungen wurde mit der Entwicklung von Bibliotheken begegnet, die das Lesen, Schreiben, Erstellen und Ändern von PDF-Dokumenten sowie das Bearbeiten ihrer Attribute und das Konvertieren aus anderen Formaten ermöglichen.

Dieser Blogbeitrag vergleicht zwei PDF-Bibliotheken für .NET und .NET Core:

  • Die IronPDF-Bibliothek
  • Das Apitron PDF Kit

IronPDF und Apitron PDF Kit sind Bibliotheken, die PDF-Manipulationsfunktionen für .NET und .NET Core bereitstellen. Beide können für die Konvertierung und Manipulation von Dokumentenfeldern verwendet werden. Sie ermöglichen auch das Erstellen von Lesezeichen. Im nächsten Schritt gilt es zu entscheiden, welche C# PDF .NET-Bibliothek am besten für unsere .NET-Projekte geeignet ist. Dieser Vergleichsartikel wird Ihnen helfen, sich zwischen diesen beiden PDF-Bibliotheken zu entscheiden.

Zunächst wollen wir uns ansehen, was die beiden Bibliotheken bieten, und dann zum eigentlichen Vergleich übergehen.

Die Apitron PDF Kit Library und ihre Funktionen

Apitron PDF Kit ist eine .NET-Komponente, mit der Sie PDF-Dateien auf verschiedene Weise bearbeiten oder konvertieren können. Sie können Bilder, Zeichnungen und Texte hinzufügen, Dokumente signieren und vieles mehr. Sie können auch vorhandene Inhalte bearbeiten. Die Apitron PDF Kit .NET-Komponente kann verwendet werden, um mobile, Desktop-, Web-, Windows- und Cloud-Anwendungen über mehrere Plattformen hinweg zu erstellen.

Mit diesem PDF-SDK können Sie:

  • Grafiken (Text, Bilder, Zeichnungen) extrahieren, bearbeiten und hinzufügen
  • PDF-Dokumente teilen oder zusammenführen
  • Passwortgeschützte PDF-Formulare ausfüllen oder erstellen, FDF-Unterstützung
  • Erstellen Sie mehrschichtige PDF-Dokumente mit optionalen Inhaltsgruppen (OCG)
  • Hinzufügen oder Entfernen von Feldern aus Dokumenten
  • Rechts-nach-links- oder bidirektionalen Text verwenden, um Seiteninhalte zu erstellen
  • Ressourcen innerhalb eines Dokuments prüfen - definierte Schriftarten, eingebettete Dateien
  • PDF-Dokumente digital signieren und vorhandene Signaturen prüfen

Die wichtigsten Funktionen von IronPDF

Entwickler, insbesondere C#-Programmierer, werden die IronPDF .NET-Bibliothek zu schätzen wissen. Mit diesem Tool können Sie auf einfache Weise eine .NET Core PDF-Verarbeitungsanwendung erstellen.

IronPDF verwendet die .NET Chromium-Engine, um HTML-Seiten (im Code oder in URL-Form) in PDF-Dateien zu konvertieren. Es ist nicht nötig, komplexe APIs zu verwenden, um Navigationsobjekte zu positionieren oder PDFs aus HTML zu erstellen. Standard-Webdokumente werden von IronPDF unterstützt, einschließlich HTML, ASPX, JS, CSS und Bilder.

IronPDF kann mit HTML5, CSS, JS und Bildern erstellt werden. Ein PDF kann einfach bearbeitet, gestempelt sowie mit Kopf- und Fußzeilen versehen werden. Außerdem vereinfacht es das Lesen von PDF-Texten und das Extrahieren von Grafiken.

Herausragende Merkmale von IronPDF sind:

  • Erstellung von PDF-Dokumenten mit HTML4/5, CSS und JavaScript
  • Laden von URLs mit benutzerdefinierten Netzwerkanmeldeinformationen, User-Agents, Proxys, Cookies, HTTP-Headern und Formularvariablen (ermöglicht das Einloggen hinter HTML-Anmeldeformularen)
  • Lesen und Ausfüllen von PDF-Formularfeldern
  • Extraktion von Text und Grafiken aus PDFs
  • Aktualisierung von PDF-Seiten mit neuen HTML-Inhalten
  • Erstellung von textbasierten oder HTML-basierten Kopf- und Fußzeilen
  • Zusammenführen und Trennung von PDF-Dokumenteninhalten
  • Konvertierung von ASP.NET-Webformularen in druckbare PDFs
  • Drucken von PDF-Dateien ohne Adobe Acrobat Software

IronPDF ist auf nahezu allen mit C# kompatiblen Betriebssystemen und Frameworks verfügbar, darunter:

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

Der Rest des Artikels geht wie folgt weiter:

  1. IronPDF-Installation
  2. Apitron PDF Kit-Installation
  3. Erstellen eines PDF-Dokuments
  4. Erstellen von Kopf- und Fußzeilen im PDF
  5. PDF digital signieren
  6. Preise und Lizenzierung

1. IronPDF-Installation

Es gibt vier Methoden, um die IronPDF-Bibliothek herunterzuladen und zu installieren. Diese sind:

  1. Verwendung des NuGet-Paketmanagers
  2. Developer Command Prompt
  3. Direktes Herunterladen des NuGet-Pakets
  4. Herunterladen der IronPDF .DLL-Bibliothek

1.1. Verwendung des NuGet-Paketmanagers

Um IronPDF zu installieren, klicken Sie einfach mit der rechten Maustaste auf Ihr Projekt im Solution Explorer. Dies öffnet den NuGet-Paketmanager.

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 1: Zugriff auf den NuGet-Paketmanager über den Solution Explorer

Zugriff auf den NuGet-Paketmanager über den Solution Explorer

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

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 2: Installieren der IronPDF-Bibliothek mit dem NuGet-Paketmanager

Installieren der IronPDF-Bibliothek mit dem NuGet-Paketmanager

1.2. Verwendung der Eingabeaufforderung für Entwickler

Sie können IronPDF auch über den Developer Command Prompt installieren.

  • Öffnen Sie den Developer Command Prompt, der sich normalerweise im Visual Studio-Ordner befindet
  • Geben Sie den folgenden Befehl ein:
Install-Package IronPdf
  • Drücken Sie die Eingabetaste
  • Dies wird das Paket herunterladen und installieren
  • Laden Sie Ihr Projekt neu und beginnen Sie mit der Nutzung

1.3. Laden Sie das NuGet-Paket direkt herunter

IronPDF kann auch installiert werden, indem Sie die IronPDF NuGet Package-Seite direkt besuchen und das Paket herunterladen. Die Schritte sind:

  • Navigieren Sie zu IronPDF NuGet Package
  • 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

IronPDF ist heruntergeladen und einsatzbereit. Bevor wir jedoch damit beginnen, sollten wir die Apitron PDF-Bibliothek installieren.

2. die Installation des Apitron PDF-Kits

Für .NET Core-Anwendungen können wir Apitron mit dem NuGet-Paketmanager installieren oder Apitron von der Apitron PDF Kit NuGet-Website direkt herunterladen und installieren.

  • Öffnen Sie NuGet-Pakete in Visual Studio, wie wir es bei IronPDF getan haben.
  • Suchen Sie nach Apitron.PDF.Kit.
  • Klicken Sie auf Installieren in Ihrem aktuellen Projekt.
A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 3: Apitron PDF Kit Suche

Apitron PDF Kit Suche

Sie können auch die NuGet-Paket-Manager-Konsole verwenden, um Apitron zu installieren. Folgen Sie dem Schritt "Developer Command Prompt verwenden" wie bei IronPDF und geben Sie den folgenden Befehl ein:

Install-Package Apitron.PDF.Kit

Drücken Sie ENTER. Es wird Apitron.PDF.Kit herunterladen und installieren.

Fügen Sie die folgenden Namespaces hinzu:

using Apitron.PDF.Kit;
using Apitron.PDF.Kit.FixedLayout.Resources;
using Apitron.PDF.Kit.FixedLayout.Resources.Fonts;
using Apitron.PDF.Kit.FlowLayout.Content;
using Apitron.PDF.Kit.Styles;
using Apitron.PDF.Kit.Styles.Appearance;
using Font = Apitron.PDF.Kit.Styles.Text.Font;
using Apitron.PDF.Kit;
using Apitron.PDF.Kit.FixedLayout.Resources;
using Apitron.PDF.Kit.FixedLayout.Resources.Fonts;
using Apitron.PDF.Kit.FlowLayout.Content;
using Apitron.PDF.Kit.Styles;
using Apitron.PDF.Kit.Styles.Appearance;
using Font = Apitron.PDF.Kit.Styles.Text.Font;
$vbLabelText   $csharpLabel

Nun, lassen Sie uns zum Vergleich zwischen IronPDF und Apitron PDF übergehen.

3. ein PDF-Dokument erstellen

3.1. Mit IronPDF

IronPDF hat mehrere Methoden zur Erstellung von PDFs. Lassen Sie uns zwei wichtige Aspekte näher betrachten.

Bestehende URL zu PDF

IronPDF macht es einfach, jede URL in ein PDF zu konvertieren. Der folgende Code hilft, die URL in ein PDF zu konvertieren.

var Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from an existing URL
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the PDF to a file
Pdf.SaveAs("url.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from an existing URL
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the PDF to a file
Pdf.SaveAs("url.pdf");
$vbLabelText   $csharpLabel

HTML-Eingabestring zu PDF

Der folgende Code erklärt, wie ein PDF-Dokument aus einem HTML-String gerendert wird. Sie können nur HTML verwenden oder es mit CSS, Bildern und JavaScript kombinieren.

var Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a simple HTML string
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets like images, CSS, and JavaScript
// Set the optional BasePath as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo.png'><h1>Sample Text</h1>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a simple HTML string
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets like images, CSS, and JavaScript
// Set the optional BasePath as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo.png'><h1>Sample Text</h1>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
$vbLabelText   $csharpLabel

Das Ergebnis ist wie folgt:

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 4: IronPDF PDF aus URL und HTML-CSS-String generieren

IronPDF PDF aus URL und HTML-CSS-String generieren

3.2. Verwendung von Apitron PDF Kit

Apitron PDF bietet keine Möglichkeit, eine URL oder HTML in PDF zu konvertieren. Es ermöglicht die Konvertierung von PDF in HTML. Es kann jedoch auch XML-Dateien in PDF konvertieren. Die verwendete XML-Datei ist:

<?xml version="1.0" encoding="utf-8"?>
<FlowDocument xmlns="Apitron.PDF.Kit.FlowLayout.v1">
  <Resources>
    <Image resourceId="logo" fileName="../../images/logo.png" />
  </Resources>
  <Styles>
    <Style selector="flowdocument">
      <Color value="Black" />
    </Style>
    <Style selector="grid">
      <InnerBorder thickness="1" />
      <InnerBorderColor value="Black" />
    </Style>
  </Styles>
  <Elements>
    <Image>
      <Properties>
        <Class value="logo" />
        <ResourceId value="logo" />
      </Properties>
    </Image>
    <TextBlock>
      <Properties>
        <Class value="header" />
        <Text value="Sample Interview Questions for Candidates" />
      </Properties>
    </TextBlock>
    <Br />
    <TextBlock>
      <Properties>
        <Class value="headerNote" />
        <Text value="To help facilitate the interview process, the Human Resources Department has compiled a list of questions that might be used during the phone and/or on-campus interviews. Some of the questions deal with the same content, but are phrased differently while other questions may not pertain to a specific discipline; however all of the questions are unbiased and appropriate to ask. We hope you'll find this helpful." />
      </Properties>
    </TextBlock>
  </Elements>
  <Properties>
    <Margin value="30,20,30,20" />
  </Properties>
</FlowDocument>
<?xml version="1.0" encoding="utf-8"?>
<FlowDocument xmlns="Apitron.PDF.Kit.FlowLayout.v1">
  <Resources>
    <Image resourceId="logo" fileName="../../images/logo.png" />
  </Resources>
  <Styles>
    <Style selector="flowdocument">
      <Color value="Black" />
    </Style>
    <Style selector="grid">
      <InnerBorder thickness="1" />
      <InnerBorderColor value="Black" />
    </Style>
  </Styles>
  <Elements>
    <Image>
      <Properties>
        <Class value="logo" />
        <ResourceId value="logo" />
      </Properties>
    </Image>
    <TextBlock>
      <Properties>
        <Class value="header" />
        <Text value="Sample Interview Questions for Candidates" />
      </Properties>
    </TextBlock>
    <Br />
    <TextBlock>
      <Properties>
        <Class value="headerNote" />
        <Text value="To help facilitate the interview process, the Human Resources Department has compiled a list of questions that might be used during the phone and/or on-campus interviews. Some of the questions deal with the same content, but are phrased differently while other questions may not pertain to a specific discipline; however all of the questions are unbiased and appropriate to ask. We hope you'll find this helpful." />
      </Properties>
    </TextBlock>
  </Elements>
  <Properties>
    <Margin value="30,20,30,20" />
  </Properties>
</FlowDocument>
XML

Der Code zur Konvertierung dieser XML-Vorlage in ein PDF ist wie folgt:

// Use Apitron's FlowDocument to convert XML to PDF
using (Stream stream = File.OpenRead("C:\PLACE YOUR EXACT PATH HERE\template.xml"), 
               outputStream = File.Create("fromTemplate.pdf"))
{
    ResourceManager resourceManager = new ResourceManager();
    FlowDocument doc = FlowDocument.LoadFromXml(stream, resourceManager);

    doc.Write(outputStream, resourceManager);
}
// Use Apitron's FlowDocument to convert XML to PDF
using (Stream stream = File.OpenRead("C:\PLACE YOUR EXACT PATH HERE\template.xml"), 
               outputStream = File.Create("fromTemplate.pdf"))
{
    ResourceManager resourceManager = new ResourceManager();
    FlowDocument doc = FlowDocument.LoadFromXml(stream, resourceManager);

    doc.Write(outputStream, resourceManager);
}
$vbLabelText   $csharpLabel

Das Ergebnis ist wie folgt:

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 5: Apitron PDF-Dokument

Apitron PDF-Dokument

Vergleicht man die Ergebnisse von IronPDF und Apitron, wird deutlich, dass IronPDF beeindruckende Dokumente mit HTML-Rendering erstellt, ohne die Bildgröße zu skalieren. Apitron hingegen liefert ein ähnliches Ergebnis wie IronPDF, allerdings nur, wenn die XML-Datei registrierte Stile enthält.

4. Kopf- und Fußzeilen zu PDF-Dokumenten hinzufügen

4.1. Mit IronPDF

Mit IronPDF ist das Hinzufügen von Kopf- und Fußzeilen unkompliziert. Mit IronPDF können Sie Seitenzahlen und Seitenumbrüche hinzufügen, ein Deckblatt anfügen, Ränder festlegen usw.

Der Code zum Hinzufügen von Kopf- und Fußzeilen ist unten:

var Renderer = new ChromePdfRenderer();

// Add a header
Renderer.RenderingOptions.FirstPageNumber = 1; // Use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "This is the header text";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.MarginTop = 25; // Create 25mm space for header

// Add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 12;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderingOptions.MarginTop = 25; // Create 25mm space for footer

using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo.png'><h1>This is header and footer generated pdf file</h1>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new ChromePdfRenderer();

// Add a header
Renderer.RenderingOptions.FirstPageNumber = 1; // Use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "This is the header text";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.MarginTop = 25; // Create 25mm space for header

// Add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 12;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderingOptions.MarginTop = 25; // Create 25mm space for footer

using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo.png'><h1>This is header and footer generated pdf file</h1>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
$vbLabelText   $csharpLabel

Das Ergebnis ist wie folgt:

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 6: IronPDF Kopf- und Fußzeile

IronPDF Kopf- und Fußzeile

4.2. Verwendung von Apitron PDF Kit

Das Apitron PDF Kit erstellt PDFs durch Konvertierung von Inhalten im XML-Strukturformat in ein PDF. In Apitron PDF Kit können Kopf- und Fußzeilen mithilfe der Eigenschaften PageHeader und PageFooter hinzugefügt werden. Der Code dafür ist wie folgt:

// Register document resources first
ResourceManager resourceManager = new ResourceManager();
resourceManager.RegisterResource(new Apitron.PDF.Kit.FixedLayout.Resources.XObjects.Image("logo", "../../data/logo.png"));

// Create the document
FlowDocument doc = new FlowDocument() { Margin = new Thickness(10) };

// Register styles
doc.StyleManager.RegisterStyle(".pageHeader", new Style() { Font = new Font(StandardFonts.TimesBold, 20) });
doc.StyleManager.RegisterStyle(".pageFooter", new Style() { Align = Align.Right });
doc.StyleManager.RegisterStyle("hr", new Style() { Height = 2, Margin = new Thickness(0, 5, 0, 5) });
doc.StyleManager.RegisterStyle(".content", new Style() { Align = Align.Left, Display = Display.InlineBlock });

// Fill the header section
doc.PageHeader.Class = "pageHeader";
doc.PageHeader.Add(new Image("logo") { Width = 100, Height = 50 });
doc.PageHeader.Add(new TextBlock("This document is intended for internal use only") { TextIndent = 20 });
doc.PageHeader.Add(new Hr());

// Fill the footer section
doc.PageFooter.Class = "pageFooter";
doc.PageFooter.Add(new Hr());
doc.PageFooter.Add(new TextBlock((ctx) => string.Format("Page {0} from&nbsp;", ctx.CurrentPage + 1)));
doc.PageFooter.Add(new PageCount(3) { Display = Display.Inline });

// Add pages
for (int i = 0; i < 2; ++i)
{
    doc.Add(new TextBlock("This is header and footer generation pdf file.") { Class = "content" });
    doc.Add(new PageBreak());
}

// Generate PDF
using (Stream stream = File.Create("out.pdf"))
{
    doc.Write(stream, resourceManager);
}

Process.Start("out.pdf");
// Register document resources first
ResourceManager resourceManager = new ResourceManager();
resourceManager.RegisterResource(new Apitron.PDF.Kit.FixedLayout.Resources.XObjects.Image("logo", "../../data/logo.png"));

// Create the document
FlowDocument doc = new FlowDocument() { Margin = new Thickness(10) };

// Register styles
doc.StyleManager.RegisterStyle(".pageHeader", new Style() { Font = new Font(StandardFonts.TimesBold, 20) });
doc.StyleManager.RegisterStyle(".pageFooter", new Style() { Align = Align.Right });
doc.StyleManager.RegisterStyle("hr", new Style() { Height = 2, Margin = new Thickness(0, 5, 0, 5) });
doc.StyleManager.RegisterStyle(".content", new Style() { Align = Align.Left, Display = Display.InlineBlock });

// Fill the header section
doc.PageHeader.Class = "pageHeader";
doc.PageHeader.Add(new Image("logo") { Width = 100, Height = 50 });
doc.PageHeader.Add(new TextBlock("This document is intended for internal use only") { TextIndent = 20 });
doc.PageHeader.Add(new Hr());

// Fill the footer section
doc.PageFooter.Class = "pageFooter";
doc.PageFooter.Add(new Hr());
doc.PageFooter.Add(new TextBlock((ctx) => string.Format("Page {0} from&nbsp;", ctx.CurrentPage + 1)));
doc.PageFooter.Add(new PageCount(3) { Display = Display.Inline });

// Add pages
for (int i = 0; i < 2; ++i)
{
    doc.Add(new TextBlock("This is header and footer generation pdf file.") { Class = "content" });
    doc.Add(new PageBreak());
}

// Generate PDF
using (Stream stream = File.Create("out.pdf"))
{
    doc.Write(stream, resourceManager);
}

Process.Start("out.pdf");
$vbLabelText   $csharpLabel

Das Ergebnis ist wie folgt:

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 7: Apitron Kopfzeile und Fußzeile

Apitron Kopfzeile und Fußzeile

5. Digitales Signieren von PDF

5.1. Mit IronPDF

Eine der wichtigsten Funktionen der PDF-Verarbeitung ist die Fähigkeit, ein PDF-Dokument digital zu signieren. IronPDF stellt alle erforderlichen Werkzeuge zur Verfügung, um dies zu tun.

using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");

// 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPdf.Signing.PdfSignature("Iron.pfx", "123456");

// 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// 4. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// 5. The PDF is not signed until saved to file, stream or byte array.
doc.SaveAs("signed.pdf");
using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");

// 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPdf.Signing.PdfSignature("Iron.pfx", "123456");

// 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// 4. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// 5. The PDF is not signed until saved to file, stream or byte array.
doc.SaveAs("signed.pdf");
$vbLabelText   $csharpLabel

5.2 Apitron PDF Kit verwenden

Das Signieren eines PDF-Dokuments mit Apitron PDF Kit ist sowohl ein langwieriger als auch technischer Prozess.

static void Main(string[] args)
{
    string fileName = "signedTwice.pdf";

    using (Stream stream = File.Create(fileName))
    {
        FlowDocument doc = new FlowDocument() { Margin = new Thickness(10) };
        doc.Add(new TextBlock("Signed using Apitron PDF Kit for .NET"));
        doc.Write(stream, new ResourceManager());
    }

    // Save
    Sign(fileName, "../../data/certs/JohnDoe.pfx", "password", "../../data/images/signatureImage.png", new Boundary(10, 750, 110, 800));
}

// Implementation of Sign Method
private static void Sign(string pathToDocument, string pathToCertificate, string password, string pathToSignatureImage, Boundary signatureViewLocation)
{
    // Open existing document and sign once
    using (Stream inputStream = new FileStream(pathToDocument, FileMode.Open, FileAccess.ReadWrite))
    {
        using (FixedDocument doc = new FixedDocument(inputStream))
        {
            string imageResourceId = Guid.NewGuid().ToString("N");
            string signatureFieldId = Guid.NewGuid().ToString("N");

            // Register signature image resource
            doc.ResourceManager.RegisterResource(new Image(imageResourceId, pathToSignatureImage));

            // Create first signature field and initialize it using a stored certificate
            SignatureField signatureField = new SignatureField(signatureFieldId);
            using (Stream signatureDataStream = File.OpenRead(pathToCertificate))
            {
                signatureField.Signature = Signature.Create(new Pkcs12Store(signatureDataStream, password));
            }

            // Add signature fields to the document
doc.AcroForm.Fields.Add(signatureField);

            // Create first signature view using the image resource
            SignatureFieldView signatureView = new SignatureFieldView(signatureField, signatureViewLocation);
            signatureView.ViewSettings.Graphic = Graphic.Image;
            signatureView.ViewSettings.GraphicResourceID = imageResourceId;
            signatureView.ViewSettings.Description = Description.None;

            // Add views to page annotations collection
doc.Pages[0].Annotations.Add(signatureView);

            // Save as incremental update
doc.Save();
        }
    }
}
static void Main(string[] args)
{
    string fileName = "signedTwice.pdf";

    using (Stream stream = File.Create(fileName))
    {
        FlowDocument doc = new FlowDocument() { Margin = new Thickness(10) };
        doc.Add(new TextBlock("Signed using Apitron PDF Kit for .NET"));
        doc.Write(stream, new ResourceManager());
    }

    // Save
    Sign(fileName, "../../data/certs/JohnDoe.pfx", "password", "../../data/images/signatureImage.png", new Boundary(10, 750, 110, 800));
}

// Implementation of Sign Method
private static void Sign(string pathToDocument, string pathToCertificate, string password, string pathToSignatureImage, Boundary signatureViewLocation)
{
    // Open existing document and sign once
    using (Stream inputStream = new FileStream(pathToDocument, FileMode.Open, FileAccess.ReadWrite))
    {
        using (FixedDocument doc = new FixedDocument(inputStream))
        {
            string imageResourceId = Guid.NewGuid().ToString("N");
            string signatureFieldId = Guid.NewGuid().ToString("N");

            // Register signature image resource
            doc.ResourceManager.RegisterResource(new Image(imageResourceId, pathToSignatureImage));

            // Create first signature field and initialize it using a stored certificate
            SignatureField signatureField = new SignatureField(signatureFieldId);
            using (Stream signatureDataStream = File.OpenRead(pathToCertificate))
            {
                signatureField.Signature = Signature.Create(new Pkcs12Store(signatureDataStream, password));
            }

            // Add signature fields to the document
doc.AcroForm.Fields.Add(signatureField);

            // Create first signature view using the image resource
            SignatureFieldView signatureView = new SignatureFieldView(signatureField, signatureViewLocation);
            signatureView.ViewSettings.Graphic = Graphic.Image;
            signatureView.ViewSettings.GraphicResourceID = imageResourceId;
            signatureView.ViewSettings.Description = Description.None;

            // Add views to page annotations collection
doc.Pages[0].Annotations.Add(signatureView);

            // Save as incremental update
doc.Save();
        }
    }
}
$vbLabelText   $csharpLabel

Das Ergebnis ist für beide Bibliotheken ziemlich gleich. Sichtbar ist, dass IronPDF einfacher und bequemer ist für die Manipulation von PDF-Inhalten. Das Ausgabepdf ist mit dem Zertifikat signiert und die Signatur darauf gedruckt.

Nutzung von Bootstrap 5 mit IronPDF für Portfolio-Galerien

Die Chrome V8-Rendereinheit von IronPDF unterstützt vollständig moderne Bootstrap 5-Komponenten und ermöglicht die Erstellung visuell beeindruckender PDF-Dokumente mit professionellen Portfolio-Galerien. Dieses Beispiel demonstriert Rasterlayouts, Hover-Effekte, Verlaufsoverlays und Kategoriebadges - Funktionen, die mit traditionellen PDF-Bibliotheken wie Apitron PDF SDK schwer umzusetzen wären.

using IronPdf;

var renderer = new ChromePdfRenderer();

string portfolioGallery = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .gallery-item img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: transform 0.3s;
        }
        .gallery-item:hover img {
            transform: scale(1.1);
        }
        .gallery-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            padding: 20px;
            color: white;
        }
        .category-badge {
            position: absolute;
            top: 10px;
            right: 10px;
        }
        @media print {
            .gallery-item { page-break-inside: avoid; }
        }
    </style>
</head>
<body>
    <div class='container py-5'>
        <div class='text-center mb-5'>
            <h1 class='display-4'>Design Portfolio</h1>
            <p class='lead text-muted'>Showcase of PDF Document Designs</p>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='btn-group' role='group'>
                    <button class='btn btn-primary'>All Projects</button>
                    <button class='btn btn-outline-primary'>Invoices</button>
                    <button class='btn btn-outline-primary'>Reports</button>
                    <button class='btn btn-outline-primary'>Forms</button>
                    <button class='btn btn-outline-primary'>Certificates</button>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-primary category-badge'>Invoice</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📄</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Professional Invoice Template</h5>
                        <small>Corporate billing with itemized details</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-success category-badge'>Report</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📊</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Analytics Dashboard Report</h5>
                        <small>Data visualization and metrics</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-warning category-badge'>Certificate</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>🏆</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Award Certificate</h5>
                        <small>Professional achievement recognition</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-info category-badge'>Form</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #fa709a 0%, #fee140 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📝</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Application Form</h5>
                        <small>Multi-page data collection</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-danger category-badge'>Invoice</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #30cfd0 0%, #330867 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>💰</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Payment Receipt</h5>
                        <small>Transaction confirmation document</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-secondary category-badge'>Report</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📈</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Financial Statement</h5>
                        <small>Quarterly performance overview</small>
                    </div>
                </div>
            </div>
        </div>

        <div class='text-center mt-5'>
            <p class='text-muted'>All templates rendered with IronPDF's Chromium engine</p>
            <div class='d-flex justify-content-center gap-2'>
                <span class='badge bg-primary'>Bootstrap 5</span>
                <span class='badge bg-success'>Responsive</span>
                <span class='badge bg-info'>Print-Ready</span>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(portfolioGallery);
pdf.SaveAs("portfolio-gallery.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string portfolioGallery = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .gallery-item img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: transform 0.3s;
        }
        .gallery-item:hover img {
            transform: scale(1.1);
        }
        .gallery-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            padding: 20px;
            color: white;
        }
        .category-badge {
            position: absolute;
            top: 10px;
            right: 10px;
        }
        @media print {
            .gallery-item { page-break-inside: avoid; }
        }
    </style>
</head>
<body>
    <div class='container py-5'>
        <div class='text-center mb-5'>
            <h1 class='display-4'>Design Portfolio</h1>
            <p class='lead text-muted'>Showcase of PDF Document Designs</p>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='btn-group' role='group'>
                    <button class='btn btn-primary'>All Projects</button>
                    <button class='btn btn-outline-primary'>Invoices</button>
                    <button class='btn btn-outline-primary'>Reports</button>
                    <button class='btn btn-outline-primary'>Forms</button>
                    <button class='btn btn-outline-primary'>Certificates</button>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-primary category-badge'>Invoice</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📄</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Professional Invoice Template</h5>
                        <small>Corporate billing with itemized details</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-success category-badge'>Report</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📊</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Analytics Dashboard Report</h5>
                        <small>Data visualization and metrics</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-warning category-badge'>Certificate</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>🏆</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Award Certificate</h5>
                        <small>Professional achievement recognition</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-info category-badge'>Form</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #fa709a 0%, #fee140 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📝</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Application Form</h5>
                        <small>Multi-page data collection</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-danger category-badge'>Invoice</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #30cfd0 0%, #330867 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>💰</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Payment Receipt</h5>
                        <small>Transaction confirmation document</small>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='gallery-item'>
                    <span class='badge bg-secondary category-badge'>Report</span>
                    <svg width='100%' height='250' style='background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)'>
                        <text x='50%' y='50%' text-anchor='middle' fill='white' font-size='48' opacity='0.3'>📈</text>
                    </svg>
                    <div class='gallery-overlay'>
                        <h5 class='mb-1'>Financial Statement</h5>
                        <small>Quarterly performance overview</small>
                    </div>
                </div>
            </div>
        </div>

        <div class='text-center mt-5'>
            <p class='text-muted'>All templates rendered with IronPDF's Chromium engine</p>
            <div class='d-flex justify-content-center gap-2'>
                <span class='badge bg-primary'>Bootstrap 5</span>
                <span class='badge bg-success'>Responsive</span>
                <span class='badge bg-info'>Print-Ready</span>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(portfolioGallery);
pdf.SaveAs("portfolio-gallery.pdf");
$vbLabelText   $csharpLabel

Dieser Code generiert ein professionelles PDF-Portfolio mit einem responsiven Rasterlayout, visuellen Kategoriebadges, Verlaufsoverlays und Hover-Effekten. Die Chrome-Renderingeinheit bewahrt alle Bootstrap-Stilgestaltung, CSS-Grid-Layouts und benutzerdefinierte CSS-Eigenschaften - Fähigkeiten, die traditionelle PDF-Bibliotheken schwer replizieren können.

Hauptvorteile gegenüber Apitron PDF SDK:

  • Native Unterstützung von Bootstrap 5 ohne Konvertierung
  • CSS-Grid und Flexbox-Layouts rendern perfekt
  • Gradientenhintergründe und moderne CSS-Effekte
  • Einfacher Code mit hochwertigerem Ergebnis

Für eine umfassende Anleitung zur Bootstrap PDF-Erstellung siehe HTML zu PDF Bootstrap-Leitfaden.

6. Preise und Lizenzierung

IronPDF Preise und Lizenzierung

IronPDF ist eine C#-Bibliothek, die für die Entwicklung kostenlos nutzbar ist und jederzeit für die kommerzielle Nutzung lizenziert werden kann. Projektlizenzen für einzelne Entwickler, Agenturen und multinationale Organisationen sowie für SaaS und OEM-Wiederverteilung sind alle zugänglich. Alle Lizenzen bieten eine 30-tägige Geld-zurück-Garantie, ein Jahr Support und Updates, Entwicklungs-/Staging-/Produktionsgültigkeit und eine unbefristete Lizenz (Einmalkauf).

Das Lite-Paket ist für $799 verfügbar und hat keine wiederkehrenden Ausgaben. Weitere Details und Unterstützung bei der Auswahl der besten Lizenz sind auf der IronPDF Produktlizenzierungsseite verfügbar.

A Comparison of IronPDF with Apitron PDF SDK .NET - Figure 8: IronPDF Lizenzierung

IronPDF Lizenzierung

Apitron PDF Kit Preise und Lizenzierung

Es gibt zwei Lizenzschemata, die derzeit verwendet werden - Modern und Legacy. Wenn Sie bereits eine Lizenz haben, bleibt das Legacy-Lizenzschema für Sie aktiv, bis Ihre Lizenz läuft. Danach müssen Sie den Kundendienst für den Übergang kontaktieren. Das moderne Lizenzschema gilt nur, wenn Sie ein neuer Kunde sind.

Im Rahmen des modernen Schemas gibt es drei Lizenzniveaus:

  • Evaluation - dreimonatige Evaluierungsphase, um ein voll funktionsfähiges Produkt zu nutzen. Laden Sie einfach das Paket von NuGet herunter und beginnen Sie mit der Entwicklung.
  • Community - Verwenden Sie voll funktionsfähige Produkte ohne Gebühren in Ihren nicht-kommerziellen Projekten. Zustimmung ist erforderlich.
  • Kommerziell - Jeder Anwendungsfall, der nicht oben beschrieben ist. Die Preise hängen vom Nutzungsmuster ab.

Abschluss

Die IronPDF-Bibliothek erstellt perfekte PDFs aus Dokumenttypen wie HTML, JS, CSS, JPG, PNG, GIF und SVG. Die Chromium-Engine hilft beim Rendern der HTML-Dateien oder URLs, um perfekte PDFs als Ausgabe zu liefern.

Apitron ermöglicht es Ihnen, PDFs mit einer festen Layout-API zu erstellen, die zu 100% kompatibel mit der PDF-Spezifikation ist. Als stilgetriebene Methode der Inhaltserstellung, die HTML und CSS ähnelt, bietet diese Fixed-Layout-API die Möglichkeit, atemberaubende Berichte, Rechnungen, Kataloge und mehr in Minuten zu erstellen. Es unterstützt auch die Erstellung von XML-Vorlagen.

Lizenzierungspreise für Apitron PDF sind nicht auf deren Website verfügbar. Sie müssen den Support kontaktieren und einen Preis basierend auf Ihrem Gebrauch anfordern. Auf der anderen Seite hat IronPDF ein sehr klares Lizenzpaket auf ihrer Website dargestellt. Dies hebt IronPDF von seinen Mitbewerbern ab und ermöglicht es Benutzern, weise gemäß ihren Bedürfnissen zu wählen.

Mit IronPDF können Sie einfacher als mit Apitron PDF mit PDF-Dateien arbeiten. IronPDF ermöglicht es den Benutzern, weniger Codezeilen für anspruchsvolle PDF-Aufgaben zu schreiben. IronPDF bietet mehrere Methoden, um PDFs aus mehreren Dateitypen zu erstellen, während Apitron nur XML-Dokumente in PDF-Dokumente konvertieren kann. Ein perfektes Ergebnis wird ohne technische Optionen in IronPDF erzielt, im Vergleich zu Apitron.

Alle Kunden von Iron Software haben die Option, alle fünf Produkte des Unternehmens zum Preis von zwei davon zu erwerben. Probieren Sie die kostenlose, 30-tägige Testversion von IronPDF, um ihre volle Funktionalität zu testen. Kaufen Sie das gesamte Paket der Iron Software-Produkte bei IronSoftware.com.

Hinweis:Apitron PDF Kit ist eine eingetragene Marke des jeweiligen Eigentümers. Diese Seite ist nicht mit, unterstützt oder wird gesponsert von Apitron PDF Kit. 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

Wie kann man HTML in C# in PDF konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien mit RenderHtmlFileAsPdf in PDFs konvertieren.

Welche Funktionen bietet IronPDF für die PDF-Erstellung?

IronPDF unterstützt die Erstellung von PDFs aus HTML, CSS und JavaScript, das Laden von URLs, das Extrahieren von Text und Grafiken, das Zusammenführen von PDFs und mehr. Es ist kompatibel mit .NET Core, Azure, AWS, Docker, Linux und Windows.

Wie kann man eine PDF-Datei in C# digital signieren?

Mit IronPDF können Sie PDFs digital signieren, indem Sie ein PDF-Signaturzertifikat verwenden, das mit wenigen Codezeilen integriert werden kann.

Welche Installationsoptionen gibt es für IronPDF?

IronPDF kann über den NuGet Package Manager, die Developer Command Prompt oder durch direkten Download des NuGet-Pakets oder der IronPDF-.DLL-Bibliothek installiert werden.

Gibt es eine kostenlose Version von IronPDF?

Ja, IronPDF bietet eine kostenlose Entwicklungsversion sowie kommerzielle Lizenzen an. Detaillierte Preisinformationen, einschließlich einer 30-tägigen Geld-zurück-Garantie, sind auf deren Website verfügbar.

Wie geht Apitron PDF Kit mit der HTML-zu-PDF-Konvertierung um?

Apitron PDF Kit unterstützt keine direkte HTML-zu-PDF-Konvertierung, kann jedoch XML-Dateien in PDF umwandeln.

Was sind die herausragenden Funktionen von Apitron PDF Kit?

Apitron PDF Kit ermöglicht eine umfassende PDF-Manipulation, einschließlich der Hinzufügung von Bildern, Zeichnungen, Texten, Signieren von Dokumenten und dem Zusammenführen oder Aufteilen von PDFs. Es fehlt jedoch eine direkte HTML-zu-PDF-Konvertierung.

Wie kann man Kopfzeilen und Fußzeilen in C# zu einem PDF hinzufügen?

IronPDF ermöglicht es Ihnen, Kopfzeilen und Fußzeilen einfach mit Methoden wie AddTextHeader und AddTextFooter zu PDFs hinzuzufügen.

Welche Lizenzierungsoptionen stehen für Apitron PDF Kit zur Verfügung?

Apitron PDF Kit bietet einen dreimonatigen Evaluierungszeitraum und eine Community-Lizenz für nicht-kommerzielle Projekte an. Für den kommerziellen Gebrauch müssen Sie sich direkt für Angebote an sie wenden.

Welche PDF-Bibliothek ist einfacher für die .NET-Entwicklung zu verwenden?

IronPDF ist im Allgemeinen einfacher für die .NET-Entwicklung zu verwenden, da es eine unkompliziertere API bietet und weniger Codezeilen für komplexe Aufgaben erfordert als Apitron PDF Kit.

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