Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von VectSharp zu IronPDF in C#

Migrieren von VectSharpzu IronPDF: Ein vollständiger C#-Entwicklerleitfaden

VectSharp hat sich als leistungsfähige Vektorgrafik-Bibliothek im .NET-Ökosystem etabliert und wird besonders für wissenschaftliche Visualisierungen und technische Illustrationen geschätzt. Wenn Entwicklungsteams jedoch Geschäftsdokumente, Berichte, Rechnungen oder andere HTML-basierte Inhalte erstellen müssen, führt das grafikorientierte Paradigma von VectSharpzu erheblichen Problemen. Die Bibliothek ist für Wissenschaftler gedacht, die Zahlen und Diagramme erstellen, nicht für Entwickler, die Dokumente erstellen.

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

Warum von VectSharpmigrieren

VectSharp ist eine wissenschaftliche Visualisierungs- und Vektorgrafikbibliothek, die für die Erstellung von Diagrammen, Tabellen und technischen Illustrationen entwickelt wurde. Es ist nicht für die Dokumentenerstellung gedacht - es ist eine Zeichenbibliothek, die zufällig PDF ausgibt. Zu den wichtigsten Gründen, warum Entwicklerteams eine Migration in Betracht ziehen, gehören:

Nur wissenschaftlicher Fokus: VectSharpist für die Visualisierung und Darstellung von Daten konzipiert, nicht für Geschäftsdokumente wie Rechnungen, Berichte oder Zertifikate.

Keine HTML-Unterstützung: VectSharpkann HTML oder CSS nicht in PDF konvertieren. Jedes Element muss manuell mit Vektorgrafikbefehlen gezeichnet werden.

Koordinatenbasierte API: Jedes Element muss mit exakten X,Y-Koordinaten positioniert werden. Es gibt kein automatisches Layout, keinen automatischen Fluss oder Textumbruch.

Kein CSS-Styling: Das gesamte Styling erfolgt programmatisch durch Methodenaufrufe. Webentwickler können ihre vorhandenen CSS-Kenntnisse nicht nutzen.

Kein JavaScript: VectSharpkann keine dynamischen Webinhalte, interaktive Diagramme oder JavaScript-basierte Visualisierungen darstellen.

Kein Text-Layout: Automatischer Textumbruch, Paginierung und fließendes Layout sind nicht verfügbar. Die Entwickler müssen Textpositionen und Seitenumbrüche manuell berechnen.

Graphics-First Paradigm: Die Bibliothek ist für Diagramme konzipiert, nicht für Berichte oder Rechnungen. Die Dokumentenerstellung erfordert umfangreiche manuelle Arbeit.

Das Kernproblem: Grafikbibliothek vs. Dokumentengenerator

VectSharp erfordert für jedes Element eine manuelle Vektorzeichnung:

// VectSharp: Handbuch vector drawing for every element
Page page = new Page(595, 842);
Graphics graphics = page.Graphics;
graphics.FillRectangle(50, 50, 200, 100, Colour.FromRgb(0, 0, 255));
graphics.FillText(60, 70, "Invoice", new Font(new FontFamily("Arial"), 20), Colours.White);
// ... continue drawing every single element manually
// VectSharp: Handbuch vector drawing for every element
Page page = new Page(595, 842);
Graphics graphics = page.Graphics;
graphics.FillRectangle(50, 50, 200, 100, Colour.FromRgb(0, 0, 255));
graphics.FillText(60, 70, "Invoice", new Font(new FontFamily("Arial"), 20), Colours.White);
// ... continue drawing every single element manually
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF verwendet HTML, das universelle Dokumentenformat:

// IronPDF: Declarative HTML for document creation
var html = "<h1>Invoice</h1><p>Customer: Acme Corp</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
// IronPDF: Declarative HTML for document creation
var html = "<h1>Invoice</h1><p>Customer: Acme Corp</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDFvs. VectSharp: Funktionsvergleich

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

Feature VectSharp IronPDF
Primäre Verwendung Vektorgrafiken Erstellung des Dokuments
PDF-Ausgabe Ja Ja
HTML-Unterstützung Nein Ja
Lizenzierung LGPL Kommerziell
Open Source Ja Teilweise (kommerzielle Funktionen)
Best für Wissenschaftliche Visualisierungen Allgemeine PDF-Dokumente
Anpassung Beschränkt auf Grafiken Umfangreich, dokumentbezogen
HTML zu PDF Nein Vollständiges Chromium
URL zu PDF Nein Ja
CSS-Unterstützung Nein Vollständig CSS3
JavaScript Nein Vollständiger ES2024
Automatisches Layout Nein Ja
Automatische Seitenumbrüche Nein Ja
Textumrahmung Handbuch Automatisch
PDFs zusammenführen Nein Ja
PDFs aufteilen Nein Ja
Passwortschutz Nein Ja
Digitale Signaturen Nein Ja
Lernkurve Hoch (Koordinaten) Niedrig (HTML/CSS)
Code Verbosity Sehr hoch Niedrig

Schnellstart: VectSharpzuIronPDFMigration

Mit diesen grundlegenden Schritten kann die Migration sofort beginnen.

Schritt 1: Ersetzen von NuGet-Paketen

Entfernen Sie alle VectSharp-Pakete:

# Remove VectSharppackages
dotnet remove package VectSharp
dotnet remove package VectSharp.PDF
# Remove VectSharppackages
dotnet remove package VectSharp
dotnet remove package VectSharp.PDF
SHELL

IronPDF installieren:

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

Schritt 2: Namespaces aktualisieren

Ersetzen Sie die VectSharp-Namensräume durch den IronPdf-Namensraum:

// Before (VectSharp)
using VectSharp;
using VectSharp.PDF;

// After (IronPDF)
using IronPdf;
// Before (VectSharp)
using VectSharp;
using VectSharp.PDF;

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

Schritt 3: Lizenz initialisieren

Hinzufügen der Lizenzinitialisierung beim Start der Anwendung:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Beispiele für die Code-Migration

Konvertierung von HTML in PDF

VectSharp unterstützt keine HTML-zu-PDF-Konvertierung. Dieser grundlegende Unterschied in den Fähigkeiten ist die Grundlage für viele Migrationsentscheidungen.

VectSharp-Ansatz:

// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using VectSharp.SVG;
using System.IO;

class Program
{
    static void Main()
    {
        // VectSharpdoesn't directly support HTML to PDF
        // It requires manual creation of graphics objects
        Document doc = new Document();
        Page page = new Page(595, 842); // A4 size
        Graphics graphics = page.Graphics;

        graphics.FillText(100, 100, "Hello from VectSharp", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));

        doc.Pages.Add(page);
        doc.SaveAsPDF("output.pdf");
    }
}
// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using VectSharp.SVG;
using System.IO;

class Program
{
    static void Main()
    {
        // VectSharpdoesn't directly support HTML to PDF
        // It requires manual creation of graphics objects
        Document doc = new Document();
        Page page = new Page(595, 842); // A4 size
        Graphics graphics = page.Graphics;

        graphics.FillText(100, 100, "Hello from VectSharp", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));

        doc.Pages.Add(page);
        doc.SaveAsPDF("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

VectSharp erfordert die Erstellung eines Dokument-, Seiten- und Grafik-Objekts und dann die manuelle Positionierung von Text mit exakten Koordinaten und Schriftobjekten.IronPDFrendert HTML direkt mit vollständiger CSS-Styling-Unterstützung.

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

Erstellung mehrseitiger Dokumente

Mehrseitige Dokumente zeigen die architektonischen Unterschiede zwischen diesen .NET-PDF-Bibliotheken auf.

VectSharp-Ansatz:

// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using System;

class Program
{
    static void Main()
    {
        Document doc = new Document();

        // Page 1
        Page page1 = new Page(595, 842);
        Graphics g1 = page1.Graphics;
        g1.FillText(50, 50, "Page 1", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));
        g1.FillText(50, 100, "First page content", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 14));
        doc.Pages.Add(page1);

        // Page 2
        Page page2 = new Page(595, 842);
        Graphics g2 = page2.Graphics;
        g2.FillText(50, 50, "Page 2", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));
        g2.FillText(50, 100, "Second page content", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 14));
        doc.Pages.Add(page2);

        doc.SaveAsPDF("multipage.pdf");
    }
}
// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using System;

class Program
{
    static void Main()
    {
        Document doc = new Document();

        // Page 1
        Page page1 = new Page(595, 842);
        Graphics g1 = page1.Graphics;
        g1.FillText(50, 50, "Page 1", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));
        g1.FillText(50, 100, "First page content", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 14));
        doc.Pages.Add(page1);

        // Page 2
        Page page2 = new Page(595, 842);
        Graphics g2 = page2.Graphics;
        g2.FillText(50, 50, "Page 2", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 24));
        g2.FillText(50, 100, "Second page content", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 14));
        doc.Pages.Add(page2);

        doc.SaveAsPDF("multipage.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;

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

        string html = @"
            <h1>Page 1</h1>
            <p>First page content</p>
            <div style='page-break-after: always;'></div>
            <h1>Page 2</h1>
            <p>Second page content</p>
        ";

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

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

        string html = @"
            <h1>Page 1</h1>
            <p>First page content</p>
            <div style='page-break-after: always;'></div>
            <h1>Page 2</h1>
            <p>Second page content</p>
        ";

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

VectSharp erfordert die Erstellung separater Seiten-Objekte, separater Grafik-Kontexte und die manuelle Positionierung jedes Textelements mit Koordinaten und Schriftobjekten für jede Seite.IronPDFverwendet einen einzigen HTML-String mit CSS page-break-after: always, um automatisch mehrseitige Dokumente zu erstellen.

Zeichnen von Formen und Text

Die Grafikfähigkeiten zeigen, wo VectSharpseine Stärken hat - aber auch, wo Webstandards gleichwertige Funktionen mit weniger Code bieten.

VectSharp-Ansatz:

// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using System;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        Page page = new Page(595, 842);
        Graphics graphics = page.Graphics;

        // Draw rectangle
        graphics.FillRectangle(50, 50, 200, 100, Colour.FromRgb(0, 0, 255));

        // Draw circle
        GraphicsPath circle = new GraphicsPath();
        circle.Arc(400, 100, 50, 0, 2 * Math.PI);
        graphics.FillPath(circle, Colour.FromRgb(255, 0, 0));

        // Add text
        graphics.FillText(50, 200, "VectSharp Graphics", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 20));

        doc.Pages.Add(page);
        doc.SaveAsPDF("shapes.pdf");
    }
}
// NuGet: Install-Package VectSharp.PDF
using VectSharp;
using VectSharp.PDF;
using System;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        Page page = new Page(595, 842);
        Graphics graphics = page.Graphics;

        // Draw rectangle
        graphics.FillRectangle(50, 50, 200, 100, Colour.FromRgb(0, 0, 255));

        // Draw circle
        GraphicsPath circle = new GraphicsPath();
        circle.Arc(400, 100, 50, 0, 2 * Math.PI);
        graphics.FillPath(circle, Colour.FromRgb(255, 0, 0));

        // Add text
        graphics.FillText(50, 200, "VectSharp Graphics", 
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 20));

        doc.Pages.Add(page);
        doc.SaveAsPDF("shapes.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Ansatz:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;

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

        string html = @"
            <div style='width: 200px; height: 100px; background-color: blue; margin: 50px;'></div>
            <div style='width: 100px; height: 100px; background-color: red; 
                        border-radius: 50%; margin-left: 350px; margin-top: -50px;'></div>
            <h2 style='margin-left: 50px;'>IronPDF Graphics</h2>
        ";

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

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

        string html = @"
            <div style='width: 200px; height: 100px; background-color: blue; margin: 50px;'></div>
            <div style='width: 100px; height: 100px; background-color: red; 
                        border-radius: 50%; margin-left: 350px; margin-top: -50px;'></div>
            <h2 style='margin-left: 50px;'>IronPDF Graphics</h2>
        ";

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

VectSharp erfordert die Erstellung von GraphicsPath-Objekten, den Aufruf von Arc() mit präzisen mathematischen Parametern und die Verwaltung von Farben durch Colour.FromRgb().IronPDFverwendet bekannte CSS-Eigenschaften: Hintergrundfarbe, border-radius: 50% für Kreise und Standardränder.

VectSharpAPI zuIronPDFMapping Referenz

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

VectSharp IronPDF Notizen
Dokument ChromePdfRenderer Renderer erstellen
Seite Automatisch Aus HTML erstellte Seiten
Grafiken HTML/CSS Deklaratives Markup
graphics.FillRectangle() CSS Hintergrundfarbe auf <div> HTML-Boxen
graphics.StrokeRectangle() CSS border auf <div> Grenzen
graphics.FillText() HTML-Textelemente <p>, <h1>, <span>
graphics.StrokePath() SVG- oder CSS-Rahmen Vektorielle Pfade
GraphicsPath SVG <pfad>-Element Komplexe Formen
Farbe.FromRgb() CSS-Farbwerte rgb(), #hex, genannt
Schrift / Schriftfamilie CSS font-family Unterstützte Webfonts
doc.SaveAsPDF() pdf.SaveAs() In Datei speichern
Manuelle Seitenanpassung RenderingOptions.PaperSize Oder CSS @page

Migrationsstrategien

Strategie 1: Zeichnungscode in HTML/CSSumwandeln

Ersetzen Sie koordinatenbasiertes Zeichnen durch HTML-Elemente:

// VectSharp
graphics.FillRectangle(100, 50, 300, 80, Colour.FromRgb(0, 102, 204));
graphics.FillText(110, 80, "Header", font, Colours.White);

//IronPDFHTML equivalent
<div style="
    position: absolute;
    left: 100px;
    top: 50px;
    width: 300px;
    height: 80px;
    background: rgb(0, 102, 204);
    color: white;
    padding: 10px;
">Header</div>
// VectSharp
graphics.FillRectangle(100, 50, 300, 80, Colour.FromRgb(0, 102, 204));
graphics.FillText(110, 80, "Header", font, Colours.White);

//IronPDFHTML equivalent
<div style="
    position: absolute;
    left: 100px;
    top: 50px;
    width: 300px;
    height: 80px;
    background: rgb(0, 102, 204);
    color: white;
    padding: 10px;
">Header</div>
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Strategie 2: SVG für Vektorgrafiken verwenden

Für komplexe Formen sollten Sie Inline-SVG in Ihrem HTML verwenden:

// VectSharppath
GraphicsPath path = new GraphicsPath();
path.MoveTo(100, 100);
path.LineTo(200, 50);
path.LineTo(300, 100);
path.Close();
graphics.FillPath(path, Colours.Blue);

//IronPDFSVG equivalent
<svg><polygon points="100,100 200,50 300,100" fill="blue"/></svg>
// VectSharppath
GraphicsPath path = new GraphicsPath();
path.MoveTo(100, 100);
path.LineTo(200, 50);
path.LineTo(300, 100);
path.Close();
graphics.FillPath(path, Colours.Blue);

//IronPDFSVG equivalent
<svg><polygon points="100,100 200,50 300,100" fill="blue"/></svg>
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Strategie 3: JavaScript-Diagramm-Bibliotheken verwenden

Für wissenschaftliche Visualisierungen - die Spezialität von VectSharp- kannIronPDFauf leistungsstarke JavaScript-Bibliotheken wie Chart.js, D3.js oder Plotly zurückgreifen:

var html = @"
<script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
<div id='chart'></div>
<script>
    Plotly.newPlot('chart', [{
        x: [1, 2, 3, 4],
        y: [10, 15, 13, 17],
        type: 'scatter'
    }]);
</script>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
var pdf = renderer.RenderHtmlAsPdf(html);
var html = @"
<script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
<div id='chart'></div>
<script>
    Plotly.newPlot('chart', [{
        x: [1, 2, 3, 4],
        y: [10, 15, 13, 17],
        type: 'scatter'
    }]);
</script>";

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

Gängige Migrationsprobleme und Lösungen

Aufgabe 1: Unterschiede im Koordinatensystem

VectSharp verwendet Punkte von links oben mit manueller Positionierung.

Lösung: Verwenden Sie CSS-Positionierung:

.element {
    position: absolute;
    top: 50px;
    left: 100px;
}

Ausgabe 2: Schriftarten-Objekte

VectSharp erstellt programmatisch Font und FontFamily Objekte.

Lösung: Verwenden Sie CSS font-family:

<style>
    body { font-family: Arial, sans-serif; font-size: 12pt; }
</style>
<style>
    body { font-family: Arial, sans-serif; font-size: 12pt; }
</style>
HTML

Ausgabe 3: Farbverarbeitung

VectSharp verwendet Farbe.FromRgb()Methodenaufrufe.

Lösung: Verwenden Sie CSS-Farben:

.header { color: rgb(0, 102, 204); background-color: #f0f0f0; }

Ausgabe 4: Grafikpfade

VectSharp verwendet eine komplexe GraphicsPathAPI mit MoveTo, LineTo, Arc Methoden.

Lösung: Verwenden Sie SVG für Vektorgrafiken:

<svg>
    <path d="M 100 100 L 200 50 L 300 100 Z" fill="blue"/>
</svg>
<svg>
    <path d="M 100 100 L 200 50 L 300 100 Z" fill="blue"/>
</svg>
HTML

VectSharp-Migrations-Checkliste

Vor der Migration anfallende Aufgaben

Überprüfen Sie Ihre Codebasis, um die Verwendung von VectSharpzu identifizieren:

grep -r "using VectSharp" --include="*.cs" .
grep -r "Graphics\|FillRectangle\|FillText" --include="*.cs" .
grep -r "using VectSharp" --include="*.cs" .
grep -r "Graphics\|FillRectangle\|FillText" --include="*.cs" .
SHELL

Dokumentenseitengrößen (die new Page(595, 842)-Muster). Beachten Sie Farbschemata mit Colour.FromRgb(). Identifizieren Sie Schriftartenkonfigurationen. Abbildung komplexer Vektorgrafiken mit GraphicsPathfür die SVG-Konvertierung.

Aufgaben der Code-Aktualisierung

  1. VectSharpNuGet-Pakete entfernen
  2. IronPdf NuGet-Paket installieren
  3. Aktualisieren Sie die Verwendungsanweisungen von VectSharp zu IronPdf
  4. Konvertieren Sie FillRectangle-Aufrufe in CSS-Boxen mit Hintergrundfarbe
  5. Umwandlung von FillText-Aufrufen in HTML-Textelemente mit CSS-Styling
  6. Konvertieren von GraphicsPath-Operationen in SVG <path>-Elemente
  7. Ersetzen Sie die manuelle Seitenverwaltung durch RenderingOptions.PaperSize
  8. Lizenzinitialisierung beim Start hinzufügen

Post-Migrationstests

Überprüfen Sie diese Aspekte nach der Migration:

  • Vergleich der visuellen Ausgabe zwischen VectSharp- und IronPDF-Versionen
  • Überprüfung der Farbübereinstimmung anhand der CSS-Äquivalente der Colour.FromRgb()-Werte
  • Überprüfung der Positionierungsgenauigkeit für Elemente, die aus der koordinatenbasierten Platzierung konvertiert wurden
  • Testen Sie Seitenumbrüche für mehrseitige Dokumente
  • Überprüfen Sie die korrekte Darstellung von Vektorgrafiken über SVG

Die wichtigsten Vorteile der Migration zu IronPDF

Der Wechsel von VectSharpzuIronPDFbietet mehrere Vorteile für die Dokumentenerstellung:

HTML-basierte Inhalte: Webentwickler können ihre vorhandenen HTML- und CSS-Kenntnisse nutzen. Sie müssen keine koordinatenbasierten Zeichen-APIs lernen.

Automatisches Layout: Der Textumbruch, die Paginierung und das Flusslayout erfolgen automatisch. Keine manuelle Berechnung von Elementpositionen.

Moderne CSS-Unterstützung: Vollständiges CSS3, einschließlich Flexbox und Grid-Layouts. Responsive Designs werden direkt in PDF übersetzt.

JavaScript-Ausführung: Interaktive Diagramme mit Chart.js, D3.js oder Plotly werden korrekt dargestellt. Dynamische Inhalte funktionieren wie erwartet.

URL-zu-PDF: Erfassen Sie jede Webseite als PDF - eine Funktion, die mit VectSharpnicht möglich ist.

PDF-Vorgänge: Zusammenführen, Teilen, Wasserzeichen hinzufügen, Passwortschutz und digitale Signaturen sind integrierte Funktionen.

Low Code Verbosity: HTML/CSSist deklarativ und lesbar. Für dasselbe Dokument ist deutlich weniger Code erforderlich als für den imperativen Zeichenansatz von VectSharp.

Aktive Entwicklung: Da die Verbreitung von .NET 10 und C# 14 bis 2026 zunimmt, gewährleisten die regelmäßigen Updates vonIronPDFdie Kompatibilität mit aktuellen und zukünftigen .NET-Versionen.

Abschluss

VectSharp zeichnet sich als wissenschaftliche Visualisierungsbibliothek für die Erstellung präziser Diagramme und technischer Illustrationen aus. Für Entwicklungsteams, deren Anforderungen über Vektorgrafiken hinausgehen und Geschäftsdokumente, Berichte, Rechnungen oder beliebige HTML-basierte Inhalte umfassen, schafft das grafikorientierte Paradigma von VectSharpjedoch unnötige Komplexität.

IronPDF bietet Dokumentenerstellung mit einem Web-Standard-Ansatz. HTML und CSS ersetzen das koordinatenbasierte Zeichnen. Das automatische Layout ersetzt die manuelle Positionierung. JavaScript-Diagramme ersetzen die programmatische Pfadkonstruktion. Der Migrationspfad ist einfach: Ersetzen Sie die NuGet-Pakete, konvertieren Sie den Zeichnungscode in HTML/CSSoder SVG, und nutzen Sie die volle Leistungsfähigkeit moderner Webtechnologien für die PDF-Erzeugung.

Beginnen Sie Ihre Migration noch heute mit einer kostenlosen Testversion von IronPDF und erleben Sie die Einfachheit der HTML-basierten Dokumentenerstellung.

Eine umfassende Anleitung zur Implementierung finden Sie in der IronPDF-Dokumentation und den Tutorials.

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