Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Wie man von Telerik Document Processing zu IronPDF in C# migriert

Migrieren von Telerik-Dokumentenverarbeitungzu IronPDF: Ein vollständiger Leitfaden für Entwickler

Telerik Document Processing dient dem .NET-Ökosystem als Teil der DevCraft-Suite und bietet Entwicklern neben der Word-, Excel- und PowerPoint-Verarbeitung auch Funktionen zur PDF-Erzeugung. Mit der Weiterentwicklung moderner Webstandards und der Forderung nach vollständiger CSS3-, Flexbox- und Bootstrap-Unterstützung stoßen viele Entwicklungsteams jedoch auf grundlegende Einschränkungen in der HTML-to-PDF-Rendering-Architektur von Telerik.

Dieser Leitfaden bietet einen vollständigen Migrationspfad von Telerik-Dokumentenverarbeitungzu IronPDF, mit Schritt-für-Schritt-Anleitungen, Code-Vergleichen und praktischen Beispielen, die direkt aus realen Migrationsszenarien stammen.

Warum von Telerik-Dokumentenverarbeitungmigrieren

Die Entscheidung, von Telerik-Dokumentenverarbeitungzu migrieren, rührt in der Regel von technischen Einschränkungen her, die bei der Arbeit mit modernen Webinhalten deutlich werden. Das Verständnis dieser Einschränkungen trägt dazu bei, den Migrationsaufwand zu rechtfertigen und Erwartungen an die Lösung vonIronPDFzu wecken.

Kritische technische Beschränkungen

Telerik Document Processing hat grundlegende Probleme beim Umgang mit modernem HTML und CSS:

Problem Auswirkungen IronPDFLösung
CSS-Parsing-Einschränkungen Moderne CSS-Frameworks wie Bootstrap versagen Vollständige Chromium-CSS-Unterstützung
Umwandlung von Paragraphen in Absätze HTML-Struktur abgeflacht, Layouts aufgebrochen Direkte HTML-Wiedergabe
Flussdokumentmodell Erzwingt Zwischenkonvertierung Natives HTML-zu-PDF
Externe CSS-Probleme Komplexe Selektoren werden ignoriert Vollständige Unterstützung von CSS-Dateien
Speicherprobleme OutOfMemoryException bei großen Dokumenten Effizientes Streaming

Das Kernproblem: HTML wird nicht korrekt gerendert

Telerik Document Processing konvertiert HTML in ein "Flow Document"-Zwischenmodell, bevor es PDF generiert. Diese architektonische Entscheidung führt zu kaskadenartigen Problemen:

  1. Flattens HTML-Struktur - <div>-Elemente werden zu Absätzen
  2. Ignoriert modernes CSS - Flexbox- und Grid-Layouts fallen komplett aus
  3. Bricht Bootstrap - Spaltensysteme werden nicht als Spalten dargestellt
  4. Verlust von Formatierungen - Komplexe CSS-Selektoren werden ignoriert

Betrachten Sie dieses moderne HTML, das Standard-CSS-Layouts verwendet:

<!-- This modern HTML/CSS BREAKS in Telerik-Dokumentenverarbeitung-->
<div class="container">
    <div class="row">
        <div class="col-md-6">Column 1</div>
        <div class="col-md-6">Column 2</div>
    </div>
</div>

<div style="display: flex; gap: 20px;">
    <div style="flex: 1;">Flex Item 1</div>
    <div style="flex: 1;">Flex Item 2</div>
</div>

<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
    <div>Grid Item 1</div>
    <div>Grid Item 2</div>
    <div>Grid Item 3</div>
</div>
<!-- This modern HTML/CSS BREAKS in Telerik-Dokumentenverarbeitung-->
<div class="container">
    <div class="row">
        <div class="col-md-6">Column 1</div>
        <div class="col-md-6">Column 2</div>
    </div>
</div>

<div style="display: flex; gap: 20px;">
    <div style="flex: 1;">Flex Item 1</div>
    <div style="flex: 1;">Flex Item 2</div>
</div>

<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
    <div>Grid Item 1</div>
    <div>Grid Item 2</div>
    <div>Grid Item 3</div>
</div>
HTML

In Telerik-Dokumentenverarbeitungwerden alle diese Layouts als aufeinanderfolgende Absätze gerendert. Das zweispaltige Bootstrap-Layout wird zu zwei Textzeilen. Die Flexbox-Elemente werden vertikal gestapelt. Die CSS-Gitterelemente erscheinen nacheinander.

CSS-Funktionen, die in der Telerik-Dokumentenverarbeitung nicht funktionieren

Die Entwickler haben umfangreiche CSS-Kompatibilitätsprobleme dokumentiert:

/* ❌ These CSS features DON'T WORK in Telerik-Dokumentenverarbeitung*/

/* Flexbox - Nicht unterstützt */
.container { display: flex; }
.item { flex: 1; }

/* CSS Grid - Nicht unterstützt */
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }

/* Bootstrap columns - Converted to paragraphs */
.col-md-6 { /* Ignored, becomes linear text */ }

/* CSS Variables - Nicht unterstützt */
:root { --primary: #007bff; }
.btn { color: var(--primary); }

/* Complex selectors - Often ignored */
.container > .row:first-child { }
.item:hover { }
.content::before { }

/* Modern units - Limited support */
.box { width: calc(100% - 20px); }
.text { font-size: 1.2rem; }

Performance-Probleme mit großen Dokumenten

Neben den CSS-Einschränkungen hat Telerik-DokumentenverarbeitungOutOfMemoryException-Fehler bei der Verarbeitung großer Dateien dokumentiert. Entwicklungsteams, die mit der Generierung großer Mengen an Dokumenten arbeiten, sind auf Stabilitätsprobleme gestoßen, die andere Bibliotheken effizienter lösen.

IronPDFvs. Telerik Document Processing: Funktionsvergleich

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

Feature Telerik-Dokumentenverarbeitung IronPDF
HTML-Rendering Konvertierung von Flow-Dokumenten Direkte Chromium-Wiedergabe
CSS3-Unterstützung Begrenzt, viele Funktionen fehlen Vollständig CSS3
Flexbox Nicht unterstützt Volle Unterstützung
CSS Grid Nicht unterstützt Volle Unterstützung
Bootstrap Broken (div flattening) Volle Unterstützung einschließlich Bootstrap 5
Externes CSS Teilweise Volle Unterstützung
JavaScript Nicht unterstützt Vollständige ES2024-Unterstützung
Große Dokumente Memory-Probleme Effizientes Streaming
API-Komplexität Komplex (Anbieter, Modelle) Einfach (eine Klasse)
Lizenzmodell Kommerziell, Teil von DevCraft Einfache Standalone-Lizenzierung

Schnellstart-Migration: in 5 Minuten zu Ihrer ersten PDF-Datei

Die Migration von Telerik-DokumentenverarbeitungzuIronPDFkann sofort beginnen. Hier ist der schnellste Weg zur Erstellung Ihrer ersten PDF-Datei mit IronPDF.

Schritt 1: NuGet-Pakete aktualisieren

Entfernen Sie alle Telerik-Dokumentenverarbeitungspakete:

# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed
# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed
SHELL

IronPDF installieren:

# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
SHELL

Schritt 2: Using-Anweisungen aktualisieren

Ersetzen Sie Telerik-Namensräume durch den IronPdf-Namensraum:

// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;

// After (IronPDF)
using IronPdf;
// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;

// After (IronPDF)
using IronPdf;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Schritt 3: Lizenzschlüssel hinzufügen

Initialisieren Sie Ihre Lizenz beim Starten der Anwendung:

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Schritt 4: Aktualisieren Sie Ihren PDF-Erzeugungscode

Die Umstellung von Telerik-DokumentenverarbeitungaufIronPDFvereinfacht Ihre Codebasis drastisch.

Vor (Telerik Document Processing):

using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes("output.pdf", pdfBytes);
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes("output.pdf", pdfBytes);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Der Unterschied ist sofort ersichtlich: 3 Zeilen IronPDF-Code ersetzen 15+ Zeilen Telerik Document Processing-Code. Noch wichtiger ist, dass die IronPDF-Version modernes CSS korrekt wiedergibt, das das Flow Document-Modell von Telerik nicht verarbeiten kann.

Beispiele für die Code-Migration

Konvertierung von HTML in PDF

Dies ist der häufigste Anwendungsfall für die PDF-Erstellung. Die architektonischen Unterschiede zwischen Telerik-DokumentenverarbeitungundIronPDFwerden in diesem Vergleich deutlich.

Telerik Dokumentverarbeitungsansatz:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
    pdfProvider.Export(document, output);
}
// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
    pdfProvider.Export(document, output);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// NuGet: Install-Package IronPdf
using IronPdf;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Telerik-Version erfordert die Erstellung eines HtmlFormatProvider, den Import in ein RadFlowDocument, die Erstellung eines PdfFormatProviderund die manuelle Verwaltung von Dateiströmen. Der ChromePdfRenderervonIronPDFerledigt den gesamten Prozess mit einem einzigen Methodenaufruf.

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

Konvertierung von URLs zu PDF

Bei der Erfassung von Webseiten als PDF-Dateien zeigt sich ein weiterer wesentlicher Unterschied zwischen den Bibliotheken.

Telerik Dokumentverarbeitungsansatz:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

string url = "https://example.com";

using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
    pdfProvider.Export(document, output);
}
// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

string url = "https://example.com";

using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
    pdfProvider.Export(document, output);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;

string url = "https://example.com";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
// NuGet: Install-Package IronPdf
using IronPdf;

string url = "https://example.com";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik Document Processing hat keine native URL-zu-PDF-Funktion. Sie müssen HTML-Inhalte manuell mit HttpClient abrufen, wobei externe CSS, JavaScript-Ausführung und dynamische Inhalte verloren gehen. Die Methode RenderUrlAsPdf vonIronPDFerfasst die komplette gerenderte Seite genau so, wie sie in einem Browser erscheint.

In der URL zur PDF-Dokumentation finden Sie zusätzliche Optionen wie Authentifizierung und benutzerdefinierte Kopfzeilen.

Mehrere PDFs zusammenführen

Die PDF-Zusammenführung demonstriert den Unterschied in der Ausführlichkeit dieser .NET-PDF-Bibliotheken.

Telerik Dokumentverarbeitungsansatz:

// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;

PdfFormatProvider provider = new PdfFormatProvider();

RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
    document1 = provider.Import(input);
}

RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
    document2 = provider.Import(input);
}

RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
    mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
    mergedDocument.Pages.Add(page);
}

using (FileStream output = File.OpenWrite("merged.pdf"))
{
    provider.Export(mergedDocument, output);
}
// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;

PdfFormatProvider provider = new PdfFormatProvider();

RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
    document1 = provider.Import(input);
}

RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
    document2 = provider.Import(input);
}

RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
    mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
    mergedDocument.Pages.Add(page);
}

using (FileStream output = File.OpenWrite("merged.pdf"))
{
    provider.Export(mergedDocument, output);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");

var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
// NuGet: Install-Package IronPdf
using IronPdf;

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");

var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Bei der Telerik-Version muss jedes Dokument einzeln importiert werden, die Seiten müssen manuell durchlaufen und einem neuen Dokument hinzugefügt werden, und es müssen mehrere Dateiströme verwaltet werden. Die Methode PdfDocument.Merge()vonIronPDFerledigt alles mit einem einzigen Aufruf.

Für fortgeschrittene Zusammenführungsszenarien, einschließlich selektiver Seitenextraktion, siehe den Leitfaden zum Zusammenführen und Teilen von PDFs.

Telerik-DokumentenverarbeitungAPI toIronPDFMapping

Diese Referenztabelle beschleunigt die Migration, indem sie direkte API-Entsprechungen aufzeigt:

Telerik-Dokumentenverarbeitung IronPDF Notizen
HtmlFormatProvider ChromePdfRenderer Renderer für die PDF-Generierung erstellen
RadFlowDocument Nicht erforderlich IronPDFrendert HTML direkt
PdfFormatProvider pdf.SaveAs() Direkt speichern, kein Provider erforderlich
RadFlowDocumentEditor HTML-Bearbeitung HTML vor dem Rendern bearbeiten
Abschnitt HTML <section> Semantisches HTML verwenden
Absatz HTML <p> Standard-HTML-Elemente
PdfExportEinstellungen RenderingOptions Konfigurieren Sie die Ausgabeeinstellungen
RadFixedDocument PdfDocument Arbeit mit bestehenden PDFs
Manuelle Seitenüberarbeitung PdfDocument.Merge() Eingebaute Merge-Methode

Handhabung von Kopf- und Fußzeilen

Telerik Document Processing verwendet ein programmatisches Modell für Kopf- und Fußzeilen.IronPDFbietet HTML-basierte Kopfzeilen mit dynamischen Platzhaltern.

Telerik Dokumentenverarbeitung:

section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");
section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF:

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
    MaxHeight = 25
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Der HTML-basierte Ansatz vonIronPDFermöglicht ein vollständiges CSS-Styling in Kopf- und Fußzeilen sowie dynamische Platzhalter für Seitenzahlen und Daten. Weitere Informationen finden Sie in der Kopf- und Fußzeilen-Dokumentation.

Umrechnung von Einheiten: DIPs zu Millimetern

Telerik Document Processing verwendet geräteunabhängige Pixel (DIPs) für Messungen.IronPDFarbeitet mit Millimetern. Dies erfordert eine Konvertierung während der Migration:

// Telerik uses DIPs (device-independent pixels)
//IronPDFuses millimeters

// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4;    // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;

// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);
// Telerik uses DIPs (device-independent pixels)
//IronPDFuses millimeters

// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4;    // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;

// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik-DokumentenverarbeitungMigration Checkliste

Vor der Migration anfallende Aufgaben

Überprüfen Sie Ihre Codebasis, um alle Verwendungen von Telerik-Dokumentenverarbeitungzu identifizieren:

grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .
grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .
SHELL

Dokumentieren Sie bestehende Implementierungen, einschließlich verwendeter Formatanbieter, Kopf-/Fußzeilenkonfigurationen, benutzerdefinierter Seiteneinstellungen und aller Änderungen am Flow Document-Modell.

Während der Migration

  1. Telerik NuGet-Pakete entfernen
  2. IronPdf NuGet-Paket installieren
  3. Aktualisieren Sie die Verwendungsanweisungen von Telerik.Windows.Documents zu IronPdf
  4. Initialisierung des Lizenzschlüssels beim Start hinzufügen
  5. Ersetzen Sie HtmlFormatProvidermit ChromePdfRenderer
  6. Entfernen von RadFlowDocumentZwischenschritten
  7. Ersetzen Sie PdfFormatProvider-Exporte durch direkte SaveAs()-Aufrufe
  8. Aktualisieren Sie Kopf- und Fußzeilen, um HtmlHeaderFooter zu verwenden
  9. Seiteneinstellungen in RenderingOptionsumwandeln
  10. Aktualisierung der Randeinheiten von DIPs zu Millimetern

Post-Migrationsüberprüfung

Überprüfen Sie diese Verbesserungen nach der Migration:

  • Das CSS-Rendering sollte deutlich verbessert werden
  • Bootstrap-Layouts sollten korrekt gerendert werden (das tun sie in Telerik nicht)
  • Flexbox- und Grid-Layouts sollten funktionieren (in Telerik funktionieren sie nicht)
  • Die Ausführung von JavaScript sollte für dynamische Inhalte funktionieren
  • Die Generierung großer Dokumente sollte ohne Memory-Ausnahmen ablaufen

Die wichtigsten Vorteile der Migration zu IronPDF

Der Wechsel von Telerik-DokumentenverarbeitungzuIronPDFbringt unmittelbare Vorteile mit sich:

Moderne Chromium-Rendering-Engine:IronPDFverwendet dieselbe Rendering-Engine wie Google Chrome und stellt damit sicher, dass PDFs genau so gerendert werden, wie der Inhalt in modernen Browsern erscheint. Dadurch werden die CSS-Kompatibilitätsprobleme, die mit dem Flow-Dokumentenmodell von Telerik einhergehen, beseitigt.

Vollständige CSS3- und JavaScript-Unterstützung: Flexbox, Grid, Bootstrap 5, CSS-Variablen und modernes JavaScript funktionieren alle korrekt. Da die Verbreitung von .NET 10 und C# 14 bis 2026 zunimmt, gewährleistet die moderne Darstellung vonIronPDFdie Kompatibilität mit aktuellen Webstandards.

Einfachere API: Weniger Codezeilen, keine zwischengeschalteten Dokumentenmodelle und intuitive Methodennamen reduzieren die Entwicklungszeit und den Wartungsaufwand.

Standalone-Lizenzierung:IronPDFbietet eine unkomplizierte Lizenzierung, ohne dass der Kauf einer umfassenden Suite erforderlich ist, und stellt somit eine kostengünstige Lösung für Teams dar, die nur PDF-Funktionen benötigen.

Aktive Entwicklung: Regelmäßige Updates gewährleisten die Kompatibilität mit aktuellen und zukünftigen .NET-Versionen, Sicherheits-Patches und Funktionserweiterungen.

Abschluss

Telerik Document Processing erfüllte seinen Zweck in einer früheren Ära der .NET-Entwicklung, aber seine Flow Document-Architektur kann nicht mit modernen CSS-Layouts umgehen, die Entwickler heute als Standard betrachten. Die Umwandlung von div in paragraph, die fehlende Flexbox-Unterstützung und die Inkompatibilität mit Bootstrap schränken Teams, die moderne Anwendungen entwickeln, stark ein.

IronPDF behebt diese Einschränkungen mit einer Chromium-basierten Rendering-Engine, die moderne Webinhalte genau wie Browser verarbeitet. Der Migrationspfad ist einfach: Ersetzen Sie NuGet-Pakete, aktualisieren Sie Namespaces und vereinfachen Sie Ihren Code. Die meisten Teams schließen die Migration innerhalb von Tagen statt Wochen ab.

Beginnen Sie Ihre Migration noch heute mit einer kostenlosen Testversion von IronPDF und erleben Sie den Unterschied, den echtes browserbasiertes Rendering für Ihre PDF-Erstellungs-Workflows bedeutet.

Eine umfassende API-Dokumentation finden Sie in der IronPDF API-Referenz. In den Tutorials finden Sie weitere Implementierungsmuster und Best Practices.

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