Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von Spire.PDF zu IronPDF in C#

Migrieren von Spire.PDF zu IronPDF: Vollständiger C#-Migrationsleitfaden

Durch die Migration von Spire.PDF zuIronPDFwird Ihr PDF-Generierungs-Workflow von einer Bibliothek, die Text als Bilder rendert, zu einer Bibliothek, die echten, auswählbaren und durchsuchbaren Text mit einer modernen Chromium-Rendering-Engine erzeugt. Diese Anleitung bietet einen vollständigen, schrittweisen Migrationspfad, der die kritischen HTML-Rendering-Beschränkungen von Spire.PDF und die Probleme bei der Schrifteinbettung beseitigt.

Warum von Spire.PDF zuIronPDFmigrieren

Spire verstehen.PDF

Spire.PDF ist eine robuste, kommerzielle PDF-Bibliothek, die für .NET-Entwickler entwickelt wurde, um PDF-Dokumente effizient zu verarbeiten. Spire.PDF hat sich in der Programmier-Community aufgrund seiner spezifischen Fähigkeiten, insbesondere bei Legacy-Anwendungen, einen Namen gemacht und lässt sich nahtlos in andere Komponenten des E-iceblue-Toolsets integrieren.

Spire.PDF hat jedoch einige grundsätzliche Probleme, die sich auf die reale Nutzung auswirken, insbesondere im Bereich der HTML-zu-PDF-Konvertierung und der Unterstützung moderner Webstandards.

Kritische technische Fragen

Problem Auswirkungen IronPDFLösung
Text als Bilder gerendert PDFs nicht durchsuchbar, nicht zugänglich, Text kann nicht kopiert werden Echte Textwiedergabe
Internet Explorer-Abhängigkeit Veraltetes Rendering, Sicherheitsrisiken Moderne Chromium-Engine
Fehler bei der Schrifteinbettung Dokumente sehen auf anderen Systemen falsch aus Zuverlässige Handhabung von Schriftarten
Großer Einsatzbereich Hoher Speicherverbrauch, langsames Starten Effiziente Bereitstellung
Beschränkte CSS-Unterstützung Moderne Layouts werden nicht korrekt wiedergegeben Vollständige CSS3-Unterstützung

Das Kernproblem: Bildbasierte PDFs

Ein wesentlicher Nachteil von Spire.PDF ist die Neigung, Text in HTML-Dokumenten als Bilder darzustellen. Das Ergebnis sind PDFs, in denen der Text nicht auswählbar oder durchsuchbar ist, was für Anwendungen, die eine Suchfunktion oder eine Interaktion mit dem Dokumententext erfordern, eine große Einschränkung darstellen kann.

Wenn Sie die LoadFromHTML()-Methode von Spire.PDF verwenden, wird der Text oft als Bitmap-Bild und nicht als echter Text dargestellt, was diese Probleme verursacht:

  • Der Text kann NICHT ausgewählt werden
  • Der Text darf NICHT durchsucht werden
  • Text darf NICHT kopiert werden
  • Bildschirmlesegeräte können sie NICHT lesen (Verstoß gegen die Zugänglichkeit)
  • Dateigröße ist VIEL größer
  • Zoomen verursacht Pixelbildung

Spire.PDF vsIronPDFVergleich

Feature Spire.PDF IronPDF
HTML zu PDF Rendering Als Bilder gerenderter Text Echte Textwiedergabe (auswählbar und durchsuchbar)
Rendering Engine Internet Explorer auf einigen Systemen abhängig Chromium-basiert, konform mit modernen Webstandards
Schriftbehandlung Bekannte Probleme mit der Schrifteinbettung Zuverlässige und robuste Handhabung von Schriftarten
CSS3-Unterstützung Beschränkt Voll
Flexbox/Grid Nicht unterstützt Volle Unterstützung
JavaScript Beschränkt Vollständig ES6+
PDF Barrierefreiheit Schlecht (bildbasiert) Ausgezeichnet
API-Entwurf Komplex Einfach und intuitiv
Bereitstellungsumfang Groß Mäßig
Lizenzierung Freemium/Kommerziell Kommerziell

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, löstIronPDFkritische Probleme mit der HTML-zu-PDF-Konvertierung von Spire.PDF, indem es Text als tatsächlich auswählbaren Text und nicht als Bild rendert und so sicherstellt, dass PDFs durchsuchbar und zugänglich sind.


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 Spire.PDF
dotnet remove package Spire.PDF
dotnet remove package FreeSpire.PDF  # If using free version

# Install IronPDF
dotnet add package IronPdf
# Remove Spire.PDF
dotnet remove package Spire.PDF
dotnet remove package FreeSpire.PDF  # If using free version

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// 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

Komplette API-Referenz

Namensraumänderungen

// Before: Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.HtmlConverter;

// After: IronPDF
using IronPdf;
using IronPdf.Editing;
// Before: Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.HtmlConverter;

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

Kern-API-Zuordnungen

Spire.PDF IronPDF Notizen
new PdfDocument() new ChromePdfRenderer() Für HTML-Rendering
pdf.LoadFromHTML() renderer.RenderHtmlAsPdf() HTML-Konvertierung
pdf.LoadFromFile() PdfDocument.FromFile() Vorhandene PDF-Datei laden
pdf.SaveToFile() pdf.SaveAs() In Datei speichern
pdf.Close() Nicht erforderlich Verwendet das Dispose-Muster
pdf.Pages.Add() renderer.RenderHtmlAsPdf() Seite aus HTML erstellen
pdf.InsertPageRange() PdfDocument.Merge() PDFs zusammenführen
Seite.Canvas.DrawString() TextStamper + ApplyStamp() Text hinzufügen
PdfFont CSS-Styling in HTML Schriftart-Konfiguration
PdfBrush CSS-Styling in HTML Farb-/Füllkonfiguration

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML in PDF

Vor (Spire.PDF):

// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();

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

        pdf.LoadFromHTML(htmlString, false, true, true);
        pdf.SaveToFile("output.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();

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

        pdf.LoadFromHTML(htmlString, false, true, true);
        pdf.SaveToFile("output.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

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

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

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

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

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

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

Dieses Beispiel verdeutlicht den grundlegenden Unterschied in der HTML-Darstellung. Spire.PDF verwendet LoadFromHTML() mit einem PdfHtmlLayoutFormat-Objekt, das Text oft als Bitmap-Bilder wiedergibt. Das Ergebnis sind PDFs, in denen die Benutzer keinen Text auswählen, kopieren oder suchen können.

IronPDF verwendet einen ChromePdfRenderer mit RenderHtmlAsPdf(), der echten Text erzeugt, der vollständig auswählbar, durchsuchbar und zugänglich ist. Es ist kein Close()-Aufruf erforderlich -IronPDFverwendet das Dispose-Muster zur automatischen Bereinigung. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Zusammenführen mehrerer PDFs

Vor (Spire.PDF):

// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf1 = new PdfDocument();
        pdf1.LoadFromFile("document1.pdf");

        PdfDocument pdf2 = new PdfDocument();
        pdf2.LoadFromFile("document2.pdf");

        pdf1.InsertPageRange(pdf2, 0, pdf2.Pages.Count - 1);

        pdf1.SaveToFile("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf1 = new PdfDocument();
        pdf1.LoadFromFile("document1.pdf");

        PdfDocument pdf2 = new PdfDocument();
        pdf2.LoadFromFile("document2.pdf");

        pdf1.InsertPageRange(pdf2, 0, pdf2.Pages.Count - 1);

        pdf1.SaveToFile("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

class Program
{
    static void Main()
    {
        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;
using System;

class Program
{
    static void Main()
    {
        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

Spire.PDF erfordert das manuelle Laden jedes Dokuments mit new PdfDocument()+ LoadFromFile(), dann die Verwendung von InsertPageRange(), um anzugeben, welche Seiten eingefügt werden sollen, und schließlich den Aufruf von Close() für jedes Dokument.

IronPDF verwendet das einfachere Muster PdfDocument.FromFile()und eine statische Methode PdfDocument.Merge(), die mehrere Dokumente akzeptiert. Keine Close()-Aufrufe erforderlich. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Hinzufügen von Text zu einer PDF-Datei

Vor (Spire.PDF):

// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.Pages.Add();

        PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 20);
        PdfBrush brush = new PdfSolidBrush(Color.Black);

        page.Canvas.DrawString("Hello from Spire.PDF!", font, brush, new PointF(50, 50));

        pdf.SaveToFile("output.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package Spire.PDF
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.Pages.Add();

        PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 20);
        PdfBrush brush = new PdfSolidBrush(Color.Black);

        page.Canvas.DrawString("Hello from Spire.PDF!", font, brush, new PointF(50, 50));

        pdf.SaveToFile("output.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body></body></html>");

        var textStamper = new TextStamper()
        {
            Text = "Hello from IronPDF!",
            FontSize = 20,
            VerticalOffset = 50,
            HorizontalOffset = 50
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body></body></html>");

        var textStamper = new TextStamper()
        {
            Text = "Hello from IronPDF!",
            FontSize = 20,
            VerticalOffset = 50,
            HorizontalOffset = 50
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Spire.PDF verwendet ein Canvas-basiertes Zeichenmodell mit PdfFont, PdfBrushund page.Canvas.DrawString(), um Text an bestimmten Koordinaten mit PointF zu positionieren.

IronPDF verwendet ein TextStamper-Objekt mit intuitiven Eigenschaften wie Text, FontSize, VerticalOffset und HorizontalOffset und wendet es dann mit ApplyStamp() an. Dieser Ansatz ist deklarativer und leichter zu pflegen.


Das Text-als-Bilder-Problem

Warum dies wichtig ist

Wenn Spire.PDF HTML in PDF konvertiert und dabei bildbasiertes Rendering verwendet, verlieren Ihre Dokumente wesentliche Funktionen:

1. Keine Textsuche: Benutzer können Strg+F nicht verwenden, um Text zu suchen. Dokumentenmanagementsysteme können Inhalte nicht indizieren.

2. keine Textauswahl/Kopieren: Benutzer, die versuchen, ein Zitat, eine Referenz oder Daten zu kopieren, können keinen Text auswählen - es handelt sich um ein Bild.

3. Verstöße gegen die Zugänglichkeit: Bildbasierte PDFs entsprechen nicht den WCAG 2.1, Section 508 (US-Regierung), ADA-Anforderungen und Screenreader-Kompatibilität.

4. große Dateigrößen: Der gleiche Inhaltsvergleich zeigt, dass Spire.PDF (bildbasiert) Dateien erzeugt, die bis zu 16 Mal größer sind alsIronPDF(textbasiert).

Erkennung: Ist Ihre PDF-Datei bildbasiert?

Öffnen Sie Ihr mit Spire.PDF erstelltes Dokument und führen Sie diese Tests durch:

  1. Textauswahl: Klicken und über den Text ziehen. Wenn nichts hervorgehoben wird → IMAGE-BASED
  2. Strg+F Suche: Suche nach einem beliebigen Wort auf der Seite. Wenn "Keine Treffer gefunden" → IMAGE-BASED
  3. Kopieren/Einfügen: Text markieren und in den Notizblock kopieren. Wenn sich nichts einfügt → IMAGE-BASED

Das Internet Explorer Problem

Die Rendering-Engine von Spire.PDF

Spire.PDF ist in einigen Umgebungen auf Internet Explorer/Edge Legacy für das HTML-Rendering angewiesen. Der Internet Explorer ist seit 2022 veraltet, modernes CSS funktioniert nicht, die JavaScript-Unterstützung ist begrenzt und die Darstellung ist systemübergreifend inkonsistent.

Modernes CSS, das in Spire scheitert.PDF

<!-- This HTML renders incorrectly in Spire.PDF -->
<div style="display: flex; justify-content: space-between; gap: 20px;">
    <div style="flex: 1;">Column 1</div>
    <div style="flex: 1;">Column 2</div>
</div>

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

<!-- CSS Variables don't work -->
<style>
:root { --primary-color: #007bff; }
h1 { color: var(--primary-color); }
</style>
<!-- This HTML renders incorrectly in Spire.PDF -->
<div style="display: flex; justify-content: space-between; gap: 20px;">
    <div style="flex: 1;">Column 1</div>
    <div style="flex: 1;">Column 2</div>
</div>

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

<!-- CSS Variables don't work -->
<style>
:root { --primary-color: #007bff; }
h1 { color: var(--primary-color); }
</style>
HTML

IronPDF verwendet modernes Chromium-Rendering, so dass alle diese CSS-Funktionen korrekt funktionieren.


Neue Funktionen nach der Migration

Nach der Migration aufIronPDFerhalten Sie Funktionen, die Spire.PDF nicht bieten kann:

Auswählbarer, durchsuchbarer Text

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Important Contract</h1>");
pdf.SaveAs("contract.pdf");

// Result:
// ✅ Text is fully selectable
// ✅ Text is searchable with Ctrl+F
// ✅ Text can be copied to clipboard
// ✅ Screen readers work perfectly
// ✅ File size is compact
// ✅ Zooming is crystal clear
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Important Contract</h1>");
pdf.SaveAs("contract.pdf");

// Result:
// ✅ Text is fully selectable
// ✅ Text is searchable with Ctrl+F
// ✅ Text can be copied to clipboard
// ✅ Screen readers work perfectly
// ✅ File size is compact
// ✅ Zooming is crystal clear
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Moderne CSS-Unterstützung

var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; }
    .container { display: flex; gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(3, 1fr); }
</style>
<div class='container'>
    <div style='flex: 1; color: var(--primary)'>Column 1</div>
    <div style='flex: 1'>Column 2</div>
</div>
<div class='grid'>
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; }
    .container { display: flex; gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(3, 1fr); }
</style>
<div class='container'>
    <div style='flex: 1; color: var(--primary)'>Column 1</div>
    <div style='flex: 1'>Column 2</div>
</div>
<div class='grid'>
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

HTML-basierte Wasserzeichen

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.ApplyWatermark(@"
    <div style='
        font-size: 48px;
        color: rgba(255, 0, 0, 0.5);
        transform: rotate(-45deg);
    '>DRAFT</div>");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.ApplyWatermark(@"
    <div style='
        font-size: 48px;
        color: rgba(255, 0, 0, 0.5);
        transform: rotate(-45deg);
    '>DRAFT</div>");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Migrations-Checkliste

Vor der Migration

  • [Inventarisierung aller Verwendungen von Spire.PDF in der Codebasis
  • [Vorhandene PDFs auf Textauswählbarkeit testen (Erkennung kritischer Probleme)
  • [LoadFromHTML()-Aufrufe im Dokument (diese sind vorrangig zu beheben)
  • [Den IronPDF-Lizenzschlüssel erhalten Sie von ironpdf.com

Code-Aktualisierungen

  • [Entfernen Sie das NuGet-Paket Spire.PDF (und FreeSpire.PDF, wenn Sie die kostenlose Version verwenden)
  • [Installieren Sie das NuGet-Paket IronPdf
  • [Aktualisieren von Namensraum-Importen (Verwendung von Spire.Pdf;Verwendung von IronPdf;)
  • [Ersetzen Sie LoadFromHTML() durch RenderHtmlAsPdf() (CRITICAL FIX)
  • [Ersetzen Sie new PdfDocument()+ LoadFromFile() mit PdfDocument.FromFile()
  • [Ersetzen Sie InsertPageRange() mit PdfDocument.Merge()
  • [Ersetzen Sie Canvas.DrawString() durch TextStamper + ApplyStamp()
  • [Ersetze SaveToFile() mit SaveAs()
  • [Entfernen Sie alle Close()-Aufrufe (inIronPDFnicht erforderlich)
  • [Lizenzinitialisierung beim Starten der Anwendung hinzufügen

Testing

  • [Überprüfen Sie, ob der Text in den generierten PDFs auswählbar ist (KRITISCHE PRÜFUNG)
  • [Überprüfen Sie die Verbesserungen beim CSS-Rendering (Flexbox/Grid funktionieren jetzt)
  • [Überprüfen Sie, ob die Dateigrößen kleiner sind
  • [Zugänglichkeit mit Screenreadern testen
  • [Leistungsvergleich

Abschluss

Spire.PDF bietet zwar eine Reihe von Funktionen, die für Entwickler relevant sind, die mit Legacy-Anwendungen und suite-basierten Abläufen arbeiten, aber die Einschränkungen bei der Textdarstellung, die Abhängigkeit von veralteten Rendering-Engines und die Probleme bei der Handhabung von Schriftarten sind wichtige Aspekte.IronPDFhebt sich als konkurrenzfähige Alternative ab, indem es durch seine modernen Rendering-Techniken und seine robuste Textverarbeitung überlegene HTML-zu-PDF-Konvertierungsfähigkeiten demonstriert.

Die wichtigsten Änderungen bei dieser Migration sind:

  1. Text-Wiedergabe: Bildbasiert (nicht auswählbar) → Echter Text (auswählbar, durchsuchbar)
  2. Rendering Engine: Internet Explorer abhängig → Modern Chromium
  3. CSS-Unterstützung: Eingeschränkt → Vollständig CSS3 (Flexbox, Grid, CSS-Variablen)
  4. HTML-Konvertierung: pdf.LoadFromHTML()renderer.RenderHtmlAsPdf()
  5. Vorhandene PDF-Datei laden: neues PdfDocument() + LoadFromFile()PdfDocument.FromFile()
  6. PDFs zusammenführen: InsertPageRange()PdfDocument.Merge()
  7. Text hinzufügen: Canvas.DrawString() mit PdfFont/PdfBrushTextStamper + ApplyStamp()
  8. Speichern: SaveToFile()SaveAs()
  9. Aufräumen: Close() erforderlich → Nicht erforderlich (dispose pattern)
  10. Dateigröße: Groß (bildbasiert) → Kompakt (echtes PDF)
  11. Zugänglichkeit: Schlecht → Ausgezeichnet

Bei der Auswahl einer PDF-Bibliothek ist es wichtig, die Wahl auf die spezifischen Anforderungen des jeweiligen Projekts abzustimmen und Faktoren wie Dokumententreue, Durchsuchbarkeit und moderne Webkompatibilität zu berücksichtigen. Wenn Entwickler diese Dynamik verstehen, können sie fundierte Entscheidungen treffen, die die Handhabung von Dokumenten und die Benutzerfreundlichkeit optimieren.

Entdecken Sie die vollständige IronPDF-Dokumentation, Tutorials und API-Referenz, um Ihre Spire.PDF-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