Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Wie man von iText zu IronPDF in C# migriert

Migrieren Sie von iText zu IronPDF: Vollständiger C#-Migrationsleitfaden

Die Migration von iText zuIronPDFverwandelt Ihren .NET-PDF-Workflow von einer programmatischen API, die eine manuelle Konstruktion von Paragraph-, Table- und Cell-Objekten erfordert, in einen modernen HTML-first-Ansatz mit vollständiger CSS3- und JavaScript-Unterstützung. Dieses Handbuch bietet einen umfassenden, schrittweisen Migrationspfad, der AGPL-Lizenzierungsprobleme und die Notwendigkeit separater pdfHTML-Add-ons für professionelle .NET-Entwickler beseitigt.

Warum von iText zuIronPDFmigrieren

Die AGPL-Lizenzfalle

iText birgt ernsthafte rechtliche und geschäftliche Risiken für kommerzielle Anwendungen, die viele Entwicklerteams zu spät erkennen:

  1. AGPL Viral License: Wenn Sie iText in einer Webanwendung verwenden, verlangt die AGPL, dass Sie Ihre GESAMTE Anwendung offen zugänglich machen - nicht nur den PDF-Code, sondern Ihre gesamte Codebasis. Für die meiste kommerzielle Software ist das kein Grund zur Sorge.

  2. Keine unbefristete Lizenz: iText hat die unbefristete Lizenzierung abgeschafft, die eine jährliche Erneuerung des Abonnements erzwingt und die Gesamtbetriebskosten erhöht.

  3. pdfHTML Add-On Kosten: Für die HTML-zu-PDF-Funktionalität ist das pdfHTML Add-On erforderlich, das separat zu den Kosten der Basislizenz verkauft wird.

  4. Komplexe Lizenzierungsprüfungen: Unternehmen sind mit komplexen Lizenzierungs- und Prüfungsrisiken konfrontiert, die Projekte verzögern und rechtliche Risiken mit sich bringen können.

  5. Programmatic-Only API: iText erfordert eine manuelle Low-Level-PDF-Konstruktion mit Paragraph-, Table- und Cell-Objekten - mühsam und fehleranfällig für komplexe Layouts.

  6. Limited Modern Web Rendering: Selbst mit pdfHTML erfordern komplexe CSS- und JavaScript-Inhalte einen erheblichen Mehraufwand.

iText vsIronPDFVergleich

Feature iText 7 / iTextSharp IronPDF
Lizenz AGPL (viral) oder teures Abonnement Kommerzielle, unbefristete Option
HTML-zu-PDF Separates pdfHTML-Zusatzmodul Eingebauter Chromium-Renderer
CSS-Unterstützung CSS-Grundlagen Vollständig CSS3, Flexbox, Grid
JavaScript Keine Vollständige Ausführung
API-Paradigma Programmatisch (Absatz, Tabelle, Zelle) HTML-first mit CSS
Lernkurve Steil (PDF-Koordinatensystem) Webentwicklerfreundlich
Open-Source-Risiko Muss Open-Source-Webanwendungen Keine viralen Anforderungen
Preismodell Nur Abonnement Unbefristet oder Abonnement

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietetIronPDFmit seinem HTML-first-Ansatz eine zukunftssichere Grundlage, die die bereits vorhandenen Webentwicklungskenntnisse Ihres Teams nutzt.


Migrationskomplexitätsbewertung

Geschätzter Aufwand nach Merkmalen

Feature Komplexität der Migration Notizen
HTML zu PDF Sehr niedrig Direkte Methodenersetzung
PDFs zusammenführen Niedrig Einfachere API
Text und Bilder Niedrig HTML ersetzt programmatische
Tabellen Medium HTML-Tabellen ersetzen die iText Table-Klasse
Kopf-/Fußzeilen Medium Ereignis-Handler → HTML-Vorlagen
Sicherheit/Verschlüsselung Niedrig Eigenschaftsbasierte API

Paradigmen-Verschiebung

Der grundlegende Wandel bei dieser iText-Migration ist die Umstellung von programmatischer PDF-Erstellung auf HTML-first rendering:

iText:    PdfWriter → PdfDocument → Dokument → Hinzufügen(Absatz) → Hinzufügen(Tabelle)
IronPDF:  ChromePdfRenderer → RenderHtmlAsPdf(htmlString) → SaveAs()

Dieser Paradigmenwechsel ist befreiend: Anstatt das Objektmodell von iText zu lernen, nutzen Sie HTML- und CSS-Kenntnisse, die Webentwickler bereits besitzen.


Bevor Sie beginnen

Voraussetzungen

  1. .NET-Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Access: Fähigkeit, NuGet-Pakete zu installieren
  3. IronPDF Lizenz: Beziehen Sie Ihren Lizenzschlüssel von ironPdf.com

NuGet-Paketänderungen

# Remove iText packages
dotnet remove package itext7
dotnet remove package itext7.pdfhtml
dotnet remove package itextsharp

# Install IronPDF
dotnet add package IronPdf
# Remove iText packages
dotnet remove package itext7
dotnet remove package itext7.pdfhtml
dotnet remove package itextsharp

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

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

Identifizieren Sie die Verwendung von iText

# Find all iText references
grep -r "using iText\|using iTextSharp" --include="*.cs" .
grep -r "PdfWriter\|PdfDocument\|Document\|Paragraph\|Table\|Cell" --include="*.cs" .
grep -r "HtmlConverter\|ConverterProperties" --include="*.cs" .
# Find all iText references
grep -r "using iText\|using iTextSharp" --include="*.cs" .
grep -r "PdfWriter\|PdfDocument\|Document\|Paragraph\|Table\|Cell" --include="*.cs" .
grep -r "HtmlConverter\|ConverterProperties" --include="*.cs" .
SHELL

Komplette API-Referenz

Klassen-Zuordnungen

iText 7 Klasse iTextSharp-Klasse IronPDF-Äquivalent
PdfWriter PdfWriter ChromePdfRenderer
PdfDocument Dokument PdfDocument
Dokument Dokument ChromePdfRenderer.RenderHtmlAsPdf()
Absatz Absatz HTML <p>, <h1>, usw.
Tabelle PdfPTabelle HTML <table>
Zelle PdfPCell HTML <td>, <th>
Bild Bild HTML <img>
PdfReader PdfReader PdfDocument.FromFile()
PdfMerger Nicht anwendbar PdfDocument.Merge()

Namespace-Zuordnungen

iText 7-Namensraum IronPDF-Äquivalent
iText.Kernel.Pdf IronPdf
iText.Layout IronPdf
iText.Layout.Element HTML-Elemente verwenden
iText.Html2Pdf IronPdf(eingebaut)
iText.IO.Image HTML verwenden <img>
iText.Kernel.Utils IronPdf

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML in PDF

Vor (iText 7):

// NuGet: Install-Package itext7
using iText.Html2pdf;
using System.IO;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>";
        string outputPath = "output.pdf";

        using (FileStream fs = new FileStream(outputPath, FileMode.Create))
        {
            HtmlConverter.ConvertToPdf(html, fs);
        }
    }
}
// NuGet: Install-Package itext7
using iText.Html2pdf;
using System.IO;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>";
        string outputPath = "output.pdf";

        using (FileStream fs = new FileStream(outputPath, FileMode.Create))
        {
            HtmlConverter.ConvertToPdf(html, fs);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>";

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>";

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

Der iText-Ansatz erfordert das separate iText.Html2pdf-Paket (pdfHTML-Add-on, separat erhältlich), die Erstellung eines FileStream und die Einbettung in using-Anweisungen zur ordnungsgemäßen Entsorgung. Die Methode HtmlConverter.ConvertToPdf() schreibt direkt in den Stream.

Der Ansatz vonIronPDFist sauberer: Erstellen Sie einen ChromePdfRenderer, rufen Sie RenderHtmlAsPdf() mit Ihrer HTML-Zeichenkette auf, und rufen Sie SaveAs() für das resultierende PdfDocumentauf. Es gibt keine separaten Pakete, keine Stream-Verwaltung, und die Chromium-Rendering-Engine bietet hervorragende CSS3- und JavaScript-Unterstützung. Weitere Rendering-Optionen finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Mehrere PDFs zusammenführen

Vor (iText 7):

// NuGet: Install-Package itext7
using iText.Kernel.Pdf;
using iText.Kernel.Utils;
using System.IO;

class Program
{
    static void Main()
    {
        string outputPath = "merged.pdf";
        string[] inputFiles = { "document1.pdf", "document2.pdf", "document3.pdf" };

        using (PdfWriter writer = new PdfWriter(outputPath))
        using (PdfDocument pdfDoc = new PdfDocument(writer))
        {
            PdfMerger merger = new PdfMerger(pdfDoc);

            foreach (string file in inputFiles)
            {
                using (PdfDocument sourcePdf = new PdfDocument(new PdfReader(file)))
                {
                    merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages());
                }
            }
        }
    }
}
// NuGet: Install-Package itext7
using iText.Kernel.Pdf;
using iText.Kernel.Utils;
using System.IO;

class Program
{
    static void Main()
    {
        string outputPath = "merged.pdf";
        string[] inputFiles = { "document1.pdf", "document2.pdf", "document3.pdf" };

        using (PdfWriter writer = new PdfWriter(outputPath))
        using (PdfDocument pdfDoc = new PdfDocument(writer))
        {
            PdfMerger merger = new PdfMerger(pdfDoc);

            foreach (string file in inputFiles)
            {
                using (PdfDocument sourcePdf = new PdfDocument(new PdfReader(file)))
                {
                    merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages());
                }
            }
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfDocuments = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf"),
            PdfDocument.FromFile("document3.pdf")
        };

        var merged = PdfDocument.Merge(pdfDocuments);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfDocuments = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf"),
            PdfDocument.FromFile("document3.pdf")
        };

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

Die iText-Merge-Operation erfordert einen erheblichen Aufwand: Erstellen eines PdfWriterfür die Ausgabe, Einpacken in ein PdfDocument, Erstellen eines PdfMerger, dann Iteration durch Quelldateien mit verschachtelten using-Anweisungen für jedes PdfDocumentund PdfReader. Sie müssen auch Seitenbereiche mit merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages()) angeben.

IronPDF reduziert dies auf drei Schritte: Laden der Dokumente mit PdfDocument.FromFile(), Aufruf der statischen Methode PdfDocument.Merge()mit der Liste und Speichern. Der gesamte Merge-Vorgang wird lesbar und wartbar. Erfahren Sie mehr über das Zusammenführen und Aufteilen von PDFs.

Beispiel 3: PDF mit Text und Bildern erstellen

Vor (iText 7):

// NuGet: Install-Package itext7
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    static void Main()
    {
        string outputPath = "document.pdf";

        using (PdfWriter writer = new PdfWriter(outputPath))
        using (PdfDocument pdf = new PdfDocument(writer))
        using (Document document = new Document(pdf))
        {
            document.Add(new Paragraph("Sample PDF Document"));
            document.Add(new Paragraph("This document contains text and an image."));

            Image img = new Image(ImageDataFactory.Create("image.jpg"));
            img.SetWidth(200);
            document.Add(img);
        }
    }
}
// NuGet: Install-Package itext7
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    static void Main()
    {
        string outputPath = "document.pdf";

        using (PdfWriter writer = new PdfWriter(outputPath))
        using (PdfDocument pdf = new PdfDocument(writer))
        using (Document document = new Document(pdf))
        {
            document.Add(new Paragraph("Sample PDF Document"));
            document.Add(new Paragraph("This document contains text and an image."));

            Image img = new Image(ImageDataFactory.Create("image.jpg"));
            img.SetWidth(200);
            document.Add(img);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Sample PDF Document</h1>
            <p>This document contains text and an image.</p>
            <img src='image.jpg' width='200' />";

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Sample PDF Document</h1>
            <p>This document contains text and an image.</p>
            <img src='image.jpg' width='200' />";

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

Dieses Beispiel veranschaulicht den Paradigmenwechsel am deutlichsten. iText benötigt:

  • Dreifach verschachtelte benutzen Anweisungen (PdfWriter, PdfDocument, Document)
  • Erstellen von Paragraph-Objekten für jedes Textelement mit new Paragraph()
  • Verwendung von ImageDataFactory.Create() zum Laden von Bildern
  • Erstellen eines Bild-Objekts und separater Aufruf von SetWidth()
  • Aufruf von document.Add() für jedes Element

IronPDF verwendet Standard-HTML: <h1> für Überschriften, <p> für Absätze und <img> für Bilder mit einem Breitenattribut. Webentwickler können ihre vorhandenen Kenntnisse sofort nutzen, und Designer können Dokumente mit CSS gestalten, das sie bereits kennen.


Kritische Hinweise zur Migration

Paradigmen-Wechsel: Von Programmatic zu HTML-First

Die wichtigste Änderung bei dieser iText-Migration ist konzeptioneller Natur. iText erstellt PDFs programmatisch:

// iText approach
document.Add(new Paragraph("Title")
    .SetTextAlignment(TextAlignment.CENTER)
    .SetFontSize(24)
    .SetBold());

var table = new Table(UnitValue.CreatePercentArray(3)).UseAllAvailableWidth();
table.AddHeaderCell(new Cell().Add(new Paragraph("ID")));
table.AddHeaderCell(new Cell().Add(new Paragraph("Name")));
// ... many more lines
// iText approach
document.Add(new Paragraph("Title")
    .SetTextAlignment(TextAlignment.CENTER)
    .SetFontSize(24)
    .SetBold());

var table = new Table(UnitValue.CreatePercentArray(3)).UseAllAvailableWidth();
table.AddHeaderCell(new Cell().Add(new Paragraph("ID")));
table.AddHeaderCell(new Cell().Add(new Paragraph("Name")));
// ... many more lines
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF verwendet HTML und CSS:

//IronPDFapproach
string html = @"
    <style>
        h1 { text-align: center; font-size: 24px; font-weight: bold; }
        table { width: 100%; border-collapse: collapse; }
        th { background-color: #4CAF50; color: white; padding: 8px; }
    </style>
    <h1>Title</h1>
    <table>
        <tr><th>ID</th><th>Name</th></tr>
    </table>";

var pdf = renderer.RenderHtmlAsPdf(html);
//IronPDFapproach
string html = @"
    <style>
        h1 { text-align: center; font-size: 24px; font-weight: bold; }
        table { width: 100%; border-collapse: collapse; }
        th { background-color: #4CAF50; color: white; padding: 8px; }
    </style>
    <h1>Title</h1>
    <table>
        <tr><th>ID</th><th>Name</th></tr>
    </table>";

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

AGPL-Lizenz abgeschafft

die AGPL-Lizenz von iText erfordert das Open-Sourcing Ihrer gesamten Webanwendung oder den Erwerb einer teuren kommerziellen Lizenz. Die kommerzielle Lizenz vonIronPDFermöglicht den Einsatz in proprietärer Software ohne virale Lizenzierungsanforderungen.

Kein pdfHTML Add-On erforderlich

iText erfordert das separate pdfHTML-Add-on für die HTML-zu-PDF-Konvertierung, das gegen Aufpreis erhältlich ist.IronPDFenthält das vollständige Chromium-basierte HTML-Rendering bereits im Basispaket.

Methoden-Ersetzungsmuster

iText-Muster IronPDF-Ersatz
SetTextAlignment(TextAlignment.CENTER) CSS text-align: center
SetFontSize(24) CSS Schriftgröße: 24px
SetBold() CSS Schriftgewicht: fett
neue Tabelle(3) HTML <table>
AddHeaderCell(new Cell().Add(new Paragraph())) HTML <th>
Zelle hinzufügen(new Cell().Add(new Paragraph())) HTML <td>

Fehlerbehebung

Ausgabe 1: PdfWriter/Document Pattern

Problem: Der Code verwendet das Verschachtelungsmuster PdfWriterPdfDocumentDocument.

Lösung: Ersetzen Sie durch ChromePdfRenderer:

// Delete this iText pattern:
// using (var writer = new PdfWriter(outputPath))
// using (var pdfDoc = new PdfDocument(writer))
// using (var document = new Document(pdfDoc))

// Replace with:
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
// Delete this iText pattern:
// using (var writer = new PdfWriter(outputPath))
// using (var pdfDoc = new PdfDocument(writer))
// using (var document = new Document(pdfDoc))

// Replace with:
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe 2: HtmlConverter nicht gefunden

Problem: Der Code verwendet iText.Html2pdf.HtmlConverter, der das pdfHTML-Add-on benötigt.

Lösung: Verwenden Sie das integrierte HTML-Rendering von IronPDF:

// iText (requires pdfHTML add-on)
HtmlConverter.ConvertToPdf(html, fileStream);

//IronPDF(built-in)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
// iText (requires pdfHTML add-on)
HtmlConverter.ConvertToPdf(html, fileStream);

//IronPDF(built-in)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe 3: Komplexität von PdfMerger

Problem: Der PdfMergervon iText erfordert verschachtelte Lesegeräte und die Angabe von Seitenbereichen.

Lösung: Verwenden Sie die statische Zusammenführungsmethode von IronPDF:

// iText merger pattern (delete this)
// using (PdfDocument pdfDoc = new PdfDocument(writer))
// {
//     PdfMerger merger = new PdfMerger(pdfDoc);
//     foreach (string file in inputFiles)
//     {
//         using (PdfDocument sourcePdf = new PdfDocument(new PdfReader(file)))
//         {
//             merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages());
//         }
//     }
// }

//IronPDF(simple)
var merged = PdfDocument.Merge(pdfDocuments);
merged.SaveAs("merged.pdf");
// iText merger pattern (delete this)
// using (PdfDocument pdfDoc = new PdfDocument(writer))
// {
//     PdfMerger merger = new PdfMerger(pdfDoc);
//     foreach (string file in inputFiles)
//     {
//         using (PdfDocument sourcePdf = new PdfDocument(new PdfReader(file)))
//         {
//             merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages());
//         }
//     }
// }

//IronPDF(simple)
var merged = PdfDocument.Merge(pdfDocuments);
merged.SaveAs("merged.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Migrations-Checkliste

Vor der Migration

  • [Inventarisierung aller iText-API-Aufrufe in der Codebasis
  • [Identifizieren Sie programmatische PDF-Konstruktionsmuster (Absatz, Tabelle, Zelle)
  • [Verwendung von Document HtmlConverter (pdfHTML-Add-on)
  • [Bewertung des AGPL-Konformitätsrisikos
  • [IronPDF-Lizenzschlüssel erhalten

Code-Migration

  • [iText NuGet-Pakete entfernen: dotnet remove package itext7
  • [IronPdf NuGet-Paket installieren: dotnet add package IronPdf
  • [Aktualisieren von Namensraum-Importen (Verwendung von iText.*Verwendung von IronPdf)
  • [Ersetzen Sie das Muster PdfWriter/Document durch ChromePdfRenderer
  • [Paragraph/Tabelle/Zelle in HTML-Elemente umwandeln
  • [Ersetzen Sie HtmlConverter.ConvertToPdf() durch RenderHtmlAsPdf()
  • [Aktualisieren Sie die Zusammenführungsoperationen zu PdfDocument.Merge()
  • [Initialisierung des Lizenzschlüssels beim Start hinzufügen

Testing

  • [Alle PDF-Erzeugungspfade testen
  • [Überprüfen Sie, ob die visuelle Ausgabe den Erwartungen entspricht
  • [Test mit komplexen HTML/CSS-Inhalten
  • [Benchmark-Leistung

Post-Migration

  • [iText-Lizenzdateien und Verweise entfernen
  • [Dokumentation aktualisieren
  • [ ] iText-Abonnement kündigen (falls zutreffend)
  • [Archivierung von altem iText-Code

Abschluss

Die Migration von iText zuIronPDFbeseitigt die AGPL-Lizenzierungsfalle und vereinfacht gleichzeitig Ihren PDF-Generierungscode. Der Paradigmenwechsel von der programmatischen Konstruktion zum HTML-first-Rendering bedeutet, dass Ihr Team vorhandene Webentwicklungskenntnisse nutzen kann, anstatt das Objektmodell von iText zu lernen.

Die wichtigsten Änderungen bei dieser Migration sind:

  1. Lizenz: AGPL (viral) → Kommerziell (permissiv)
  2. HTML-Unterstützung: Separates pdfHTML-Add-on → Eingebautes Chromium
  3. API-Paradigma: Programmatisch (Absatz, Tabelle, Zelle) → HTML/CSS
  4. Zusammenführung: Complex PdfMerger → Simple PdfDocument.Merge()
  5. Lernkurve: PDF-Koordinatensystem → Webentwicklerfreundlich

Entdecken Sie die vollständige IronPDF-Dokumentation, Tutorials und API-Referenz, um Ihre iText-Migration zu beschleunigen.

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