IRONSOFTWAREHOME

Iron Suite for .NET

10 .NET-Bibliotheken. Eine komplette Dokumenten-Suite.

VERGLEICH

Text Control vs. IronPDF: Leitfaden für einen technischen Vergleich

Curtis Chau
Curtis Chau
Updated: 8. Mai 2026

Kostenlose PDF-Bibliotheken für .NET sind mit versteckten Kosten verbunden: AGPL-Lizenzfallen, fehlende HTML-Unterstützung, veraltete Abhängigkeiten mit ungepatchten CVEs, Umsatzschwellen und eine betriebliche Komplexität, die oft die kommerziellen Lizenzkosten übersteigt.

Bevor Sie sich für eines der Tools entscheiden, führen Sie es in einem Terminal aus:

<!-- This is CVE-2022-35583. CVSS 9.8 Critical. -->
<!-- If your PDF library renders this, attackers can steal your cloud credentials. -->
<iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe>
HTML

Wenn Ihre .NET-Anwendung wkhtmltopdf oder einen seiner Wrapper- DinkToPdf, TuesPechkin, Rotativa, NReco.PdfGenerator - verwendet, wird dieser HTML-Code eine Server-Side Request Forgery gegen den Metadaten-Endpunkt Ihres Cloud-Anbieters ausführen. AWS IAM-Anmeldeinformationen, Azure verwaltete Identitäts-Tokens, GCP-Service-Kontoschlüssel. Alle ausgesetzt. Das Projekt wurde im Januar 2023 archiviert. Ein Patch ist nicht geplant.

Das ist es, was "kostenlos" in der Produktion kostet.

Schnellstart: PDF-Bibliotheken für Ihr .NET Projekt evaluieren
// Install: dotnet add package IronPdf
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><style>h1{font-family:Inter}</style>");
pdf.SaveAs("output.pdf");
var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
gfx.DrawString("Hello World", new XFont("Arial", 20), XBrushes.Black, 72, 72);
document.Save("output.pdf");

Die Lücke zwischen diesen beiden Beispielen ist die Lücke zwischen dem, was die meisten .NET-Entwickler benötigen, und dem, was die meisten freien Bibliotheken bieten.

Was bedeutet eigentlich "frei" in .NET PDF-Bibliotheken?

Wenn Sie in NuGet nach "PDF" suchen, finden Sie Bibliotheken für fünf Lizenzmodelle, die jeweils unterschiedliche Einschränkungen für die .NET-Bereitstellung aufweisen:

MIT/Apache (echte Freizügigkeit): PDFSharp. Verwenden Sie es in kommerziellen Anwendungen, Docker-Containern, Azure Functions, AWS Lambda — ohne Einschränkungen, ohne Umsatzschwellen, ohne Offenlegung des Quellcodes. Der Haken: HTML kann nicht in PDF umgewandelt werden.

AGPL (Copyleft-Falle): iText-Kern(früher iText). Wenn Sie sie in einer beliebigen netzwerkfähigen Anwendung - Webanwendungen, REST-APIs, Microservices - einsetzen, müssen Sie Ihren gesamten Quellcode unter AGPL veröffentlichen. SaaS-Unternehmen sind davon nicht ausgenommen.

Umsatzabhängig: QuestPDF Community Lizenz. Frei unter $1M Bruttojahresumsatz. Wenn Sie diese Schwelle überschreiten, benötigen Sie eine kommerzielle Lizenz. Der Übergang ist nicht allmählich - er ist eine Klippe.

Aufgegeben: wkhtmltopdf und alle .NET-Wrapper. Archiviert mit ungepatchten CVEs der Bewertung 9.8 Kritisch. Keine Sicherheitspflege. Eine Verpflichtung bei jedem Compliance-Audit.

Betrieblich teuer: PuppeteerSharpund Playwright for .NET. Keine Lizenzbeschränkungen, volle moderne CSS-Unterstützung - aber Sie verwalten externe Browser-Prozesse, Chromium-Downloads und den Speicherlebenszyklus in der Produktion.

Jede Kategorie birgt unterschiedliche Risiken for .NET-Implementierungen. Im weiteren Verlauf dieses Artikels werden diese Risiken anhand von Code, Zahlen und Daten zum NuGet-Ökosystem aufgezeigt.

Warum ist die Preisgestaltung von iText die wahre Geschichte?

Die meisten Artikel über iText konzentrieren sich auf den Aspekt der AGPL-Durchsetzung. Das wird an anderer Stelle behandelt. Die wichtigere Frage for .NET-Teams, die PDF-Bibliotheken evaluieren, ist, was passiert, wenn Sie eine kommerzielle Lizenz benötigen.

Was kostet kommerzieller iText eigentlich?

Im April 2020 stellt iText von der unbefristeten Lizenzierung auf ein abonnementbasiertes Modell um. Preisdaten von Drittanbietern aus der Transaktionsdatenbank von Vendr zeigen:

  • Durchschnittlicher Jahresvertrag: ~$45.000
  • Hoch dotierte Verträge: Bis zu 210.000 $ je nach PDF-Volumen
  • Preismodell: Volumenbasiert - die Kosten richten sich danach, wie viele PDFs Ihre Anwendung jährlich generiert

Dieses volumenbasierte Modell schafft unvorhersehbare Budgets für wachsende Anwendungen. Ein .NET-Microservice, der im ersten Quartal 10.000 PDFs pro Monat generiert und im vierten Quartal auf 100.000 skaliert, wird eine Lizenzierungsrechnung haben, die mit ihm skaliert - und die Preisstufen von iText sind nicht öffentlich.

Vergleichen Sie dies mit IronPDFs veröffentlichter Preisgestaltung: $liteLicense für eine unbefristete Lite-Lizenz. Kein Jahresabonnement. Keine Volumenzählung. Keine Überraschungen bei der Skalierung Ihrer Anwendung.

Wie wirkt sich das Abonnementmodell auf .NET-Teams aus?

Die Umstellung von unbefristeter auf Abonnementlizenzierung ändert die TCO-Berechnung:

FaktoriText-AbonnementIronPDF Perpetual
Kosten für Jahr 1~$45,000$liteLicense - 2.999 $
Kosten für Jahr 3~$135,000$liteLicense - 2.999 $ (einmalig)
VolumenskalierungDie Kosten steigenKeine Volumenzählung
Vorhersehbares BudgetVariableFixed
StornierungsrisikoZugang verlierenUnbefristetes Eigentum

Für ein .NET-Team, das ein SaaS-Produkt entwickelt, kann das Fünf-Jahres-Delta mehr als 200.000 US-Dollar betragen. Das ist die Preisgestaltung, die wichtiger ist als Debatten über die Durchsetzung der AGPL.

Was sind die Einschränkungen vonPDFSharpfor .NET-Deployments?

PDFSharp ist die Ausnahme unter den kostenlosen Bibliotheken: MIT-Lizenz, 34+ Millionen NuGet-Downloads, wirklich freizügig für kommerzielle Nutzung. Keine Umsatzschwellen. Keine Offenlegung des Quellcodes.

Die Einschränkung ist architektonischer Natur.PDFSharparbeitet auf Ebene der PDF-Koordinaten. Es gibt keinen HTML-Parser, keine CSS-Engine und kein DOM-Rendering.

var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);

// Every element needs manual coordinates
var titleFont = new XFont("Arial", 18, XFontStyleEx.Bold);
var bodyFont = new XFont("Arial", 10);

gfx.DrawString("INVOICE #2024-0847", titleFont, XBrushes.Black, 72, 72);
gfx.DrawString("Date: 2024-12-15", bodyFont, XBrushes.Gray, 72, 100);

// Table header - manual line drawing
gfx.DrawLine(XPens.Black, 72, 140, 540, 140);
gfx.DrawString("Item", bodyFont, XBrushes.Black, 72, 155);
gfx.DrawString("Qty", bodyFont, XBrushes.Black, 300, 155);
gfx.DrawString("Price", bodyFont, XBrushes.Black, 400, 155);
gfx.DrawLine(XPens.Black, 72, 170, 540, 170);

// Row data - every cell is a manual coordinate
gfx.DrawString("Annual License", bodyFont, XBrushes.Black, 72, 185);
gfx.DrawString("1", bodyFont, XBrushes.Black, 300, 185);
gfx.DrawString("`$liteLicense`", bodyFont, XBrushes.Black, 400, 185);

document.Save("invoice.pdf");

Das sind 20 Zeilen für eine einzeilige Rechnung ohne Styling, ohne responsives Layout, ohne CSS. Stellen Sie sich nun vor, Sie erstellen einen 15-seitigen Compliance-Bericht mit dynamischen Daten, Diagrammen und Corporate Branding.

Betrachtungen zur plattformübergreifenden Bereitstellung

PDFSharp funktioniert gut in plattformübergreifenden Szenarien mit .NET 6+ — es hat keine nativen Abhängigkeiten, keinen Chromium-Binärdatei, keine externen Prozesse. Sie lässt sich sauber auf Docker, Azure Functions und AWS Lambda mit minimaler Containergröße bereitstellen.

Für Anwendungen, die nur die programmgesteuerte PDF-Erstellung aus strukturierten Daten benötigen — Versandetiketten, einfache Quittungen, koordinatengestützte Diagramme — istPDFSharpeine legitime Wahl. Die NuGet-Gesundheit ist stark: aktive Commits, ansprechbarer Maintainer, regelmäßige Veröffentlichungen.

Für alles, was HTML-Inhalte, Webvorlagen oder modernes CSS beinhaltet, istPDFSharpdas falsche Werkzeug.

Wann hört QuestPDF auf, kostenlos zu sein?

QuestPDF hat einen anderen Designansatz alsPDFSharpgewählt: eine fließende API, die eher wie eine Layoutbeschreibung als wie Koordinatenmathematik aussieht. Das API-Design ist wirklich gut.

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);

        page.Content().Column(column =>
        {
            column.Item().Text("Invoice #2024-0847").FontSize(18).Bold();
            column.Item().Table(table =>
            {
                table.ColumnsDefinition(columns =>
                {
                    columns.RelativeColumn(3);
                    columns.RelativeColumn(1);
                    columns.RelativeColumn(1);
                });

                table.Cell().Text("Item").Bold();
                table.Cell().Text("Qty").Bold();
                table.Cell().Text("Price").Bold();

                table.Cell().Text("Annual License");
                table.Cell().Text("1");
                table.Cell().Text("`$liteLicense`");
            });
        });
    });
}).GeneratePdf("invoice.pdf");

Das ist ausdrucksstärker als das Koordinatensystem von PDFSharp. Sie hat jedoch dieselbe grundlegende Einschränkung: keine HTML-Darstellung.

Die Einkommensklippe

Die Community-Lizenz von QuestPDF ist für Unternehmen mit einem jährlichen Bruttoumsatz von weniger als 1.000.000 US-Dollar kostenlos. Überschreiten Sie diese Grenze, benötigen Sie eine Professional ($699/Jahr) oder Enterprise ($1.999/Jahr) Lizenz.

Für ein neu gegründetes Unternehmen ergibt sich daraus ein Szenario mit einem Wachstumszeitplan:

  • Jahr 1 ($200K Umsatz): Kostenlos. Die fließende API von QuestPDF beschleunigt die anfängliche Entwicklung.
  • Jahr 2 ($600K Umsatz): Immer noch kostenlos. Die API ist tief in Ihre Codebasis integriert.
  • Jahr 3 (1,1 Millionen Dollar Umsatz): Lizenz erforderlich. Sie sind jetzt an die API gebunden und müssen mit erheblichen Umstellungskosten rechnen.

Bei der Umstellung geht es nicht um die Lizenzkosten - es geht um die Umstellungskosten, die Sie angesammelt haben. Im dritten Jahr kann Ihre PDF-Generierungsschicht Dutzende von Dateien mit fließenden API-Aufrufen umfassen, die in anderen Bibliotheken keine Entsprechung haben.

Das HTML-Missverständnis

Entwickler, die von Web-Frameworks kommen, erwarten, dass eine moderne .NET PDF-Bibliothek HTML-Eingaben akzeptiert. QuestPDF unterstützt ausdrücklich keine HTML-zu-PDF-Konvertierung. Die API besteht nur aus Code - jedes Layout-Element ist ein Methodenaufruf, kein Markup.

Diese Diskrepanz trifft Teams, die QuestPDF-Lizenzen erwerben (oder auf der Community-Edition aufbauen), nur um mitten im Projekt festzustellen, dass ihre bestehenden HTML-Rechnungsvorlagen, E-Mail-zu-PDF-Workflows oder Berichtsgeneratoren QuestPDF überhaupt nicht nutzen können.

IronPDF akzeptiert HTML, CSS und JavaScript als Eingabe, da es eine Chromium-Rendering-Engine einbettet. Das gleiche HTML, das in Chrome gerendert wird, wird auch in einer PDF-Datei gerendert.

Warum sollten Sie wkhtmltopdf in jeder .NET-Implementierung vermeiden?

Ich habe diesen Artikel aus einem bestimmten Grund mit CVE-2022-35583 eröffnet. Diese SSRF-Schwachstelle ist nicht theoretisch - Proof-of-Concept-Exploits sind öffentlich verfügbar und werden aktiv genutzt.

Das vollständige Sicherheitsbild

wkhtmltopdf enthält zwei ungepatchte CVEs, die nie behoben werden:

CVE-2022-35583 (CVSS 9.8 Kritisch): Server-Side Request Forgery via iframe injection. In Cloud-Umgebungen werden dadurch Instanz-Metadaten-Endpunkte offengelegt - AWS IAM-Anmeldeinformationen, Azure Managed Identity Tokens, GCP Service Account Keys, Kubernetes Service Account Tokens.

CVE-2020-21365 (CVSS 7.5 High): Verzeichnisüberquerung, die es entfernten Angreifern ermöglicht, lokale Dateien durch manipulierte HTML-Eingaben zu lesen.

Für beide Sicherheitslücken gibt es öffentlichen Exploit-Code. Beides wird aktiv ausgenutzt. Keiner von beiden wird einen Patch erhalten.

Gesundheit des .NET Wrapper-Ökosystems

Jeder .NET-Wrapper für wkhtmltopdf erbt diese Schwachstellen und fügt seine eigene Wartungsschuld hinzu:

WrapperLetzter sinnvoller EinsatzOffene Fragen.NET 8-Unterstützung
DinkToPdf2018300+unbeantwortete FragenNein
TuesPechkin2015AufgegebenNein
Rotativa2019MVC-onlyNein
NReco.PdfGeneratorAktivKommerziellBeschränkt

NReco ist der einzige aktiv gepflegte Wrapper, aber er hängt immer noch von der wkhtmltopdf-Binärdatei ab - was bedeutet, dass die CVEs mit ihr reisen.

Rendering ist bei 2013 eingefroren

Abgesehen von der Sicherheit ist die Qt WebKit-Engine von wkhtmltopdf auf Web-Standards aus dem Jahr 2013 eingefroren. Kein CSS Flexbox. Kein CSS-Gitter. Keine CSS-Variablen. Kein calc(). ES6+ JavaScript lässt sich nicht ausführen.

Jede .NET-Anwendung, die Tailwind CSS, Bootstrap 5 oder moderne CSS-Frameworks verwendet, wird fehlerhafte Ausgaben produzieren. Für eine .NET 8-Anwendung, die auf eine containerisierte Bereitstellung abzielt, ist eine nicht gewartete Binärdatei ohne Unterstützung moderner Webstandards eine technische Schuld, die Sie auf sich nehmen.

Was sind die wahren Betriebskosten von PuppeteerSharp?

Dies ist der Bereich, in dem die meisten Artikel über "kostenlose PDF-Bibliotheken" falsch sind. PuppeteerSharpund Playwright for .NET sind technisch hervorragend - sie rendern HTML über echtes Chromium und unterstützen jede CSS-Funktion und JavaScript-API. Keine Lizenzierungsbeschränkungen. Keine Umsatzschwellen.

Die Kosten sind operativ. So sieht die PDF-Erstellung für PuppeteerSharpin der Produktion aus:

using PuppeteerSharp;

public class PuppeteerPdfService : IDisposable
{
    private IBrowser _browser;
    private readonly SemaphoreSlim _semaphore;
    private long _pdfCount = 0;

    public PuppeteerPdfService()
    {
        // Limit concurrent pages to prevent memory exhaustion
        _semaphore = new SemaphoreSlim(3, 3);
    }

    public async Task InitializeAsync()
    {
        // Step 1: Download Chromium binary (~280MB)
        var fetcher = new BrowserFetcher();
        await fetcher.DownloadAsync();

        // Step 2: Launch with production-hardened flags
        _browser = await Puppeteer.LaunchAsync(new LaunchOptions
        {
            Headless = true,
            Args = new[]
            {
                "--no-sandbox",              // Required in Docker
                "--disable-setuid-sandbox",  // Required in Docker
                "--disable-dev-shm-usage",   // Prevent /dev/shm exhaustion
                "--disable-gpu",
                "--no-zygote",
                "--single-process",
                "--disable-extensions",
                "--max_old_space_size=4096"
            },
            Timeout = 30000
        });
    }

    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        await _semaphore.WaitAsync();
        IPage page = null;

        try
        {
            Interlocked.Increment(ref _pdfCount);
            page = await _browser.NewPageAsync();

            await page.SetContentAsync(html, new NavigationOptions
            {
                WaitUntil = new[] { WaitUntilNavigation.Networkidle0 },
                Timeout = 20000
            });

            var pdfBytes = await page.PdfAsync(new PdfOptions
            {
                Format = PaperFormat.A4,
                PrintBackground = true,
                MarginOptions = new MarginOptions
                {
                    Top = "20mm", Bottom = "20mm",
                    Left = "15mm", Right = "15mm"
                }
            });

            return pdfBytes;
        }
        finally
        {
            if (page != null)
            {
                try { await page.CloseAsync(); }
                catch { /* Disposal can hang — GitHub issue #1489 */ }
            }
            _semaphore.Release();
        }
    }

    // Restart browser periodically to reclaim leaked memory
    public async Task RecycleBrowserAsync()
    {
        var oldBrowser = _browser;
        await InitializeAsync();
        try { oldBrowser?.Dispose(); } catch { }
    }

    public void Dispose()
    {
        _browser?.Dispose();
        _semaphore?.Dispose();
    }
}

Das sind mehr als 80 Zeilen, bevor Sie eine einzige PDF-Datei erstellt haben. Außerdem fehlen noch Fehlerbehebungen, Zustandsprüfungen, Metriken und der Timer für die Speicherwiederverwendung, den Produktionssysteme benötigen.

Warum diese Komplexität for .NET-Implementierungen wichtig ist

Der Arbeitsaufwand ist je nach Einsatzziel unterschiedlich:

Docker: Sie müssen Chromium in Ihr Container-Image aufnehmen. Dadurch wird das Image um ~280 MB erweitert, was die Abrufzeiten, die Speicherkosten für die Registry und die Kaltstartlatenz erhöht. Ihre Dockerdatei benötigt explizite apt-get install Befehle für Chromiums Systemabhängigkeiten — libgbm-dev, libasound2, libatk-bridge2.0-0 und ungefähr 15 weitere, die je nach Basisbild variieren.

Azure Functions / AWS Lambda: Serverlose Umgebungen schränken Speicher und Ausführungszeit ein. Der Kaltstart von Chromium - das Herunterladen und Starten des Browserprozesses - kann 5-10 Sekunden und mehr als 500 MB Arbeitsspeicher beanspruchen. Die Begrenzung des Bereitstellungspakets von Lambda auf 250 MB bedeutet, dass Chromium kaum hineinpasst, und die Speicherbegrenzung des Azure Consumption Plans auf 1,5 GB lässt wenig Platz für die eigentliche PDF-Erstellung.

Kubernetes: Browser-Prozesse vertragen sich nicht gut mit Container-Orchestrierung. Speicherbegrenzungen, die für Ihren Anwendungscode gut aussehen, werden unzureichend, wenn Chromium Renderer-Prozesse erzeugt. Pod OOMKills treten regelmäßig auf, es sei denn, Sie setzen die Speicheranforderungen deutlich höher an, als Ihre Anwendung tatsächlich benötigt.

Der äquivalente IronPDF-Code

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");

Sechs Zeilen.IronPDF bettet Chromium intern ein - Browser-Lebenszyklus, Speicherverwaltung und Prozess-Pooling werden von der Bibliothek übernommen. Kein SemaphoreSlim. Kein Browser-Recycling. Keine Änderungen an Dockerdateien. Das NuGet-Paket enthält alles.

Der Kompromiss ist real: IronPDFs NuGet-Paket ist größer als das von PDFSharp, weil es die Chromium-Binärdatei enthält. Die Latenzzeit für die erste PDF-Datei beträgt 2-5 Sekunden, während die Engine initialisiert wird, und dann 100-500 ms für die nachfolgenden Generationen. Das ist wichtig für Anwendungen, bei denen die Größe der Bereitstellung die wichtigste Einschränkung ist. Für Anwendungen, bei denen die Zeit der Entwickler und die Betriebssicherheit wichtiger sind, gewinnt der eingebettete Ansatz.

.NET Ecosystem Health: NuGet-Paketvergleich

Bevor Sie sich für eine Bibliothek entscheiden, sollten Sie den Zustand ihres NuGet-Ökosystems überprüfen. Abhängigkeitsketten, Versionshäufigkeit und Problemlösungszeit sagen mehr aus als Feature-Listen:

BibliothekNuGet DownloadsLetzte VeröffentlichungOffene Fragen.NET 8 TFMNative Abhängigkeiten
PDFSharp34M+AktivNiedrigNone
QuestPDF8M+AktivNiedrigNone
iText-Kern30M+AktivMäßigNone
IronPDF10M+AktivNiedrigChromium (gebündelt)
DinkToPdf5M+2018300+wkhtmltopdf binary
PuppeteerSharp15M+AktivMäßigChromium (extern)

Hohe Download-Zahlen bei nicht mehr genutzten Paketen wie DinkToPdfspiegeln die Akzeptanz von Altbewährtem wider, nicht den aktuellen Zustand. Die mehr als 300 offenen Fragen, auf die es keine Antworten gibt, erzählen die wahre Geschichte.

Für .NET 8-Anwendungen, die auf net8.0 TFM abzielen: PDFSharp, QuestPDF, iText-Kernund IronPDFunterstützen es alle nativ. wkhtmltopdf-Wrappers tun dies nicht – erwarten Sie DllNotFoundException und NU1202 Ziel-Framework-Inkompatibilitätsfehler.

Entscheidungsmatrix

AnforderungPDFSharpQuestPDFiText-KernwkhtmltopdfPuppeteerSharpIronPDF
Wirklich kostenlos (MIT/permissiv)❌Einnahmequelle❌AGPL⚠ Verlassen❌Kommerziell
HTML zu PDF⚠ Eingeschränkt⚠ Defektes CSS
Modernes CSS (Flexbox/Grid)
JavaScript-Ausführung⚠ Nur ES5
Kein Browser-Management
Aktive Sicherheits-Patches
Keine UmsatzgrenzeNicht anwendbarNicht anwendbar
Vorhersehbare LizenzierungskostenKostenlosCliff bei $1M~$45K/Jahr durchschnittlichNicht anwendbarKostenlos$liteLicense perpetual
Docker-freundlich✅Klein✅Klein✅Klein⚠ Binärabh.⚠ +280MB✅Eigenständig
Serverless-kompatibel⚠ Kaltstart

**Wenn Sie nur die programmgesteuerte PDF-Erstellung aus strukturierten Daten benötigen:**PDFSharp(MIT, keine Einschränkungen) oder QuestPDF (bessere API, achten Sie auf die Umsatzschwelle).

Wenn Sie HTML-zu-PDF mit modernem CSS benötigen und keine Browser-Infrastruktur verwalten möchten: IronPDF. Embedded Chromium verwaltet den Lebenszyklus der Rendering-Engine. Veröffentlichte Preise zu einem Bruchteil des Abonnementmodells von iText.

Wenn Sie HTML-zu-PDF benötigen und mit der Verwaltung von Browser-Prozessen vertraut sind: PuppeteerSharpgibt Ihnen die volle Kontrolle. Budget für den operativen Overhead.

Wenn Sie derzeit wkhtmltopdf oder einen seiner Wrapperverwenden: Migrieren Sie. Allein das Sicherheitsrisiko rechtfertigt den Aufwand - und mit jedem Monat, den Sie sich verspäten, bleibt die CVE-Liste ungepatched.

Hinweis:: DinkToPdf, NReco, PDFSharp, Playwright, PuppeteerSharp, QuestPDF, Rotativa, TuesPechkin, iText und wkhtmltopdf sind eingetragene Marken ihrer jeweiligen Eigentümer. Diese Seite ist nicht mit CodeFlint, DinkToPdf, Microsoft, NReco, PuppeteerSharp, Rotativa, TuesPechkin, empira Software GmbH, iText Group oder wkhtmltopdf verbunden, wird nicht von ihnen unterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.
Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.