IRONSOFTWAREHOME
VIDEOS

Wie man Text in einem PDF ersetzt | IronPDF

Curtis Chau
Curtis Chau
Updated: 19. Juli 2026

TuesPechkin hat als threadsicherer Wrapper um den wkhtmltopdf nativen Binärcode gedient und hilft .NET-Entwicklern seit Jahren beim Konvertieren von HTML in PDF. Allerdings wurde das zugrundeliegende wkhtmltopdf-Projekt im Januar 2023 auf GitHub archiviert, und der WebKit-Fork, auf den es angewiesen ist, stammt von etwa 2015. Dies schafft Sicherheiten, Stabilitäts- und Rendering-Einschränkungen, die Entwicklungsteams nicht länger ignorieren können.

Dieser Leitfaden bietet einen vollständigen Migrationspfad von TuesPechkinzu IronPDF, mit Schritt-für-Schritt-Anleitungen, Code-Vergleichen und praktischen Beispielen für professionelle .NET-Entwickler, die diesen Übergang evaluieren.

Warum jetzt von TuesPechkinmigrieren

Die Entscheidung, von TuesPechkinzu migrieren, ist für sicherheitsbewusste Entwicklungsteams nicht mehr optional. Die zugrundeliegende wkhtmltopdf-Bibliothek enthält kritische, ungepatchte Sicherheitslücken, die nie behoben werden.

Kritische Sicherheitsschwachstelle: CVE-2022-35583

AttributWert
CVE IDCVE-2022-35583
SchweregradKRITISCH (9.8/10)
Attack VectorNetzwerk
StatusWird NIEMALS gepatcht
BetroffenALLE TuesPechkin-Versionen

Die Betreuer von wkhtmltopdf haben ausdrücklich erklärt, dass sie KEINE Sicherheitslücken beheben werden. Jede Anwendung, die TuesPechkinverwendet, ist permanent Angriffen durch Server-Side Request Forgery (SSRF) ausgesetzt.

Wie die Attacke funktioniert

Bei der Verarbeitung von vom Benutzer bereitgestelltem HTML können Angreifer bösartige Inhalte einschleusen:

<!-- Attacker submits this HTML to your PDF generator -->
<iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe>
<img src="http://internal-admin-panel:8080/api/users?export=all" />
HTML

Dies ermöglicht Angreifern den Zugriff auf AWS/Azure/GCP-Metadaten-Endpunkte, den Diebstahl interner API-Daten, Port-Scans interner Netzwerke und die Exfiltration sensibler Konfigurationen.

Die Technologie-Krise

TuesPechkin umhüllt wkhtmltopdf, das Qt WebKit 4.8 verwendet - eine alte Technologie aus der Zeit vor Chrome. Das bedeutet:

  • Keine Flexbox-Unterstützung
  • Keine CSS-Grid-Unterstützung
  • Defekte JavaScript-Ausführung
  • Keine ES6+-Unterstützung

Die Stabilitätskrise

Selbst mit dem beworbenen ThreadSafeConverter stürzt TuesPechkinunter hoher Last ab:

// ❌ TuesPechkin- "ThreadSafeConverter" still crashes
var converter = new TuesPechkin.ThreadSafeConverter(
    new TuesPechkin.RemotingToolset<PechkinBindings>());

// Under high load, you'll see:
// System.AccessViolationException: Attempted to read or write protected memory
// Process terminated unexpectedly
// Converter hangs indefinitely

##IronPDF vs. TuesPechkin: Funktionsvergleich

Das Verständnis der architektonischen Unterschiede hilft technischen Entscheidungsträgern, die Investition in die Migration zu bewerten:

FeatureTuesPechkinIronPDF
LizenzKostenlos, Open-SourceKommerziell
Thread-SicherheitErfordert manuelles ManagementNative Unterstützung
WährungBegrenzt, kann unter Last abstürzenRobust, bewältigt hohe Gleichzeitigkeit
EntwicklungInaktiv, zuletzt aktualisiert 2015Aktive, kontinuierliche Verbesserungen
BenutzerfreundlichkeitKomplexe EinrichtungBenutzerfreundlich mit Anleitungen
DokumentationBasicAusführlich mit Beispielen
Sicherheit❌ Kritische CVEs✅ Keine bekannten Schwachstellen
HTML zu PDF⚠ Veraltetes WebKit✅ Modernes Chromium
CSS3❌ Teilweise✅ Unterstützt
Flexbox/Grid❌ Nicht unterstützt✅ Unterstützt
JavaScript⚠ Unzuverlässig✅ Vollständig ES6+
PDF-Bearbeitung❌ Nicht verfügbar✅ Vollständig
Digitale Signaturen❌ Nicht verfügbar✅ Vollständig
PDF/A-Konformität❌ Nicht verfügbar✅ Vollständig
Formularausfüllen❌ Nicht verfügbar✅ Vollständig
Wasserzeichen❌ Nicht verfügbar✅ Vollständig
Merge/Split❌ Nicht verfügbar✅ Vollständig

Schnellstart: TuesPechkinzu IronPDF Migration

Mit diesen grundlegenden Schritten kann die Migration sofort beginnen.

Schritt 1: Ersetzen von NuGet-Paketen

Entfernen Sie alle TuesPechkin-Pakete:

# Remove TuesPechkinand all related packages
dotnet remove package TuesPechkin
dotnet remove package TuesPechkin.Wkhtmltox.Win64
dotnet remove package TuesPechkin.Wkhtmltox.Win32
SHELL

IronPDF installieren:

# Install IronPDF
dotnet add package IronPdf
SHELL

Schritt 2: Entfernen nativer Binärdateien

Löschen Sie diese Dateien und Ordner aus Ihrem Projekt:

  • wkhtmltox.dll
  • wkhtmltopdf.exe
  • Alle wkhtmlto* Dateien
  • TuesPechkin.Wkhtmltox Ordner

Schritt 3: Namespaces aktualisieren

Ersetzen Sie TuesPechkin-Namespaces durch das IronPDF- Namespace:

// Before (TuesPechkin)
using TuesPechkin;
using TuesPechkin.Wkhtmltox.Win64;

// After (IronPDF)
using IronPdf;

Schritt 4: Lizenz initialisieren

Hinzufügen der Lizenzinitialisierung beim Start der Anwendung:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Beispiele für die Code-Migration

Konvertierung von HTML in PDF

Der häufigste Anwendungsfall verdeutlicht den Komplexitätsunterschied zwischen diesen .NET-PDF-Bibliotheken.

TuesPechkin-Ansatz:

// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = { new ObjectSettings { HtmlText = html } }
        });
        
        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        pdf.SaveAs("output.pdf");
    }
}

Die TuesPechkin-Version erfordert die Erstellung einer StandardConverter mit einer komplexen Initialisierungskette: RemotingToolset, Win64EmbeddedDeployment, und TempFolderDeployment. Sie müssen auch manuell Bytes in eine Datei schreiben.

Mit IronPDF entfällt diese Zeremonie vollständig. Erstellen Sie eine ChromePdfRenderer, rendern Sie HTML und speichern Sie. Der Code ist selbstdokumentierend und erfordert keine Kenntnisse über Deployment-Toolsets oder plattformspezifisches Binärmanagement.

Für fortgeschrittene HTML-zu-PDF-Szenarien siehe den HTML-zu-PDF-Konvertierungsleitfaden.

Konvertierung von URLs zu PDF

Die URL-zu-PDF-Konvertierung weist ähnliche Komplexitätsunterschiede auf.

TuesPechkin-Ansatz:

// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = {
                new ObjectSettings {
                    PageUrl = "https://www.example.com"
                }
            }
        });
        
        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        
        pdf.SaveAs("webpage.pdf");
    }
}

TuesPechkin verwendet ObjectSettings.PageUrl, das in einem HtmlToPdfDocument eingebettet ist.IronPDF bietet eine spezielle RenderUrlAsPdf Methode, die die Absicht klar ausdrückt.

In der URL zur PDF-Dokumentation finden Sie Informationen zur Authentifizierung und zu benutzerdefinierten Kopfzeilenoptionen.

Benutzerdefinierte Rendering-Einstellungen

Seitenausrichtung, Papiergröße und Ränder erfordern unterschiedliche Konfigurationsansätze.

TuesPechkin-Ansatz:

// NuGet: Install-Package TuesPechkin
// NuGet: Install-Package TuesPechkin.Wkhtmltox.Win64
using TuesPechkin;
using System.Drawing.Printing;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        
        var document = new HtmlToPdfDocument
        {
            GlobalSettings = {
                Orientation = GlobalSettings.PaperOrientation.Landscape,
                PaperSize = PaperKind.A4,
                Margins = new MarginSettings { Unit = Unit.Millimeters, Top = 10, Bottom = 10 }
            },
            Objects = {
                new ObjectSettings { HtmlText = html }
            }
        };
        
        byte[] pdfBytes = converter.Convert(document);
        File.WriteAllBytes("custom.pdf", pdfBytes);
    }
}
C#

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 10;
        renderer.RenderingOptions.MarginBottom = 10;
        
        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        pdf.SaveAs("custom.pdf");
    }
}

TuesPechkin trennt die Einstellungen in GlobalSettings für dokumentweite Optionen und ObjectSettings für Inhalte.IronPDF konsolidiert alles in RenderingOptions mit klaren, auffindbaren Eigenschaftsnamen.

TuesPechkinAPI zu IronPDF Mapping Referenz

Dieses Mapping beschleunigt die Migration, indem es direkte API-Entsprechungen aufzeigt:

TuesPechkinIronPDF
StandardConverterChromePdfRenderer
ThreadSafeConverterChromePdfRenderer
HtmlToPdfDocumentParameter der Methode
GlobalSettingsRenderingOptions
ObjectSettings.HtmlTextRenderHtmlAsPdf(html)
ObjectSettings.PageUrlRenderUrlAsPdf(url)
GlobalSettings.PaperSizeRenderingOptions.PaperSize
GlobalSettings.OrientationRenderingOptions.PaperOrientation
MarginSettingsMarginTop, MarginBottom, usw.
[page] Platzhalter{page} Platzhalter
[topage] Platzhalter{total-pages} Platzhalter
RemotingToolsetNicht erforderlich
Win64EmbeddedDeploymentNicht erforderlich
TempFolderDeploymentNicht erforderlich

Gängige Migrationsprobleme und Lösungen

Aufgabe 1: Komplexer Initialisierungscode

Problem: TuesPechkinerfordert ein komplexes Konverter-Setup mit Bereitstellungs-Toolsets.

**Lösung:**IronPDF ist einfach:

// Before (TuesPechkin)
var converter = new StandardConverter(
    new RemotingToolset<PdfToolset>(
        new Win64EmbeddedDeployment(
            new TempFolderDeployment())));

// After (IronPDF)
var renderer = new ChromePdfRenderer();
// That's it!

Ausgabe 2: Abstürze der Thread-Sicherheit

Problem: TuesPechkins ThreadSafeConverter stürzt immer noch unter hoher Last mit AccessViolationException ab.

**Lösung:**IronPDF verfügt über eine systemeigene Thread-Sicherheit - eine spezielle Konfiguration ist nicht erforderlich:

//IronPDF is inherently thread-safe
var renderer = new ChromePdfRenderer();
// Use from any thread without crashes
C#

Ausgabe 3: Seitenzahl-Platzhalter-Syntax

Problem: TuesPechkinverwendet [page] und [topage] Platzhalter.

Lösung: Aktualisierung der Platzhalter-Syntax von IronPDF:

// Before (TuesPechkin)
"Page [page] of [topage]"

// After (IronPDF)
"Page {page} of {total-pages}"

Ausgabe 4: CSS-Layout kaputt

Problem: Flexbox- und Grid-Layouts funktionieren in TuesPechkinnicht, weil wkhtmltopdf Qt WebKit 4.8 verwendet.

Lösung: Verwenden Sie korrektes modernes CSS mit IronPDF:

// Remove table-based workarounds, use modern CSS
var html = @"
    <div style='display: flex; justify-content: space-between;'>
        <div>Left</div>
        <div>Right</div>
    </div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// Works correctly with Chromium!

Ausgabe 5: Native Binärverwaltung

Problem: TuesPechkinerfordert plattformspezifische wkhtmltopdf-Binärdateien und eine Pfadkonfiguration.

**Lösung:**IronPDF wickelt alle Abhängigkeiten über NuGet ab - es müssen keine nativen Binärdateien verwaltet werden:

# Just install the package
dotnet add package IronPdf
# No wkhtmltopdf binaries needed
SHELL

TuesPechkinCheckliste für die Migration

Vor der Migration anfallende Aufgaben

Überprüfen Sie Ihre Codebasis, um alle TuesPechkin-Verwendungen zu identifizieren:

grep -r "using TuesPechkin" --include="*.cs" .
grep -r "ThreadSafeConverter\|RemotingToolset" --include="*.cs" .
SHELL

Dokumentieren Sie aktuelle GlobalSettings Konfigurationen (Papiergröße, Orientierung, Ränder). Dokumentieren Sie ObjectSettings Konfigurationen (HTML-Inhalt, URLs). Identifizieren Sie Kopf-/Fußzeilen-Implementierungen für die Konvertierung. Lokalisieren Sie alle wkhtmltopdf-Binärdateien zur Entfernung.

Aufgaben der Code-Aktualisierung

  1. TuesPechkinNuGet-Pakete entfernen
  2. Native wkhtmltopdf-Binärdateien entfernen 3.IronPDF NuGet-Paket installieren
  3. Aktualisieren Sie die using-Anweisungen von TuesPechkin zu IronPdf
  4. Initialisierung des Lizenzschlüssels beim Start hinzufügen
  5. Ersetzen Sie Konverter durch ChromePdfRenderer
  6. Konvertieren Sie GlobalSettings zu RenderingOptions
  7. Konvertieren Sie ObjectSettings zu Methodenparametern
  8. Aktualisierung der Randkonfiguration für einzelne Eigenschaften
  9. Aktualisieren Sie die Header-/Footer-Syntax auf HTML-basierte HtmlHeaderFooter
  10. Korrigieren Sie die Seitenplatzhalter-Syntax ([page]{page})
  11. Entfernen Sie den gesamten Implementierungs-/Toolset-Code

Post-Migrationstests

Überprüfen Sie diese Aspekte nach der Migration:

  • Alle Unit-Tests ausführen
  • Testen Sie thread-sichere Szenarien (IronPDF beherrscht Multithreading ohne Abstürze)
  • Vergleich der PDF-Ausgabequalität (Chromium rendert genauer)
  • Überprüfen der CSS-Wiedergabe (Flexbox und Grid funktionieren jetzt)
  • Testen Sie die Ausführung von JavaScript (ES6+ wird jetzt unterstützt)
  • Testen Sie das Rendering von Kopf- und Fußzeilen
  • Batch-Operationen für Leistungstests
  • Sicherheitsüberprüfung, um sicherzustellen, dass keine wkhtmltopdf-Binärdateien vorhanden sind

Die wichtigsten Vorteile der Migration zu IronPDF

Der Wechsel von TuesPechkinzu IronPDF bietet mehrere entscheidende Vorteile:

Sicherheit: CVE-2022-35583und andere wkhtmltopdf-Schwachstellen wurden behoben. Die Chromium-Engine von IronPDF erhält regelmäßig Sicherheitsupdates.

Eingebettete Thread-Sicherheit: Keine komplexen ThreadSafeConverter Konfigurationen mehr. Keine AccessViolationException Abstürze mehr unter Last.IronPDF behandelt die Gleichzeitigkeit automatisch.

Moderne Rendering-Engine: Volle Unterstützung für CSS3, Flexbox, Grid und ES6+ JavaScript . Ihre PDFs werden genau so wiedergegeben, wie der Inhalt in modernen Browsern erscheint.

Vereinfachte Bereitstellung: Keine plattformspezifischen Binärdateien zu verwalten. Keine RemotingToolset, Win64EmbeddedDeployment oder TempFolderDeployment Zeremonie. Installieren Sie einfach das NuGet-Paket.

Aktive Entwicklung: IronPDFs regelmäßige Updates gewährleisten die Kompatibilität mit aktuellen und zukünftigen .NET-Versionen.

Erweiterte Funktionen: TuesPechkinkonvertiert ausschließlich HTML in PDF.IronPDF ermöglicht die Bearbeitung von PDF-Dateien, digitale Signaturen, PDF/A-Konformität, das Ausfüllen von Formularen, Wasserzeichen sowie das Zusammenführen und Teilen von Dateien.

Hinweis:: TuesPechkin und wkhtmltopdf sind eingetragene Markenzeichen ihrer jeweiligen Eigentümer. Diese Seite ist nicht mit TuesPechkinoder wkhtmltopdf verbunden, befürwortet 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.
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 Handbücher.

...
Weiterlesen

Verwandte Artikel

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.

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
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
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.