Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de VectSharp à IronPDF en C#

Migrer de VectSharpàIronPDF: Un guide complet du développeur C

VectSharp s'est imposé comme une bibliothèque de graphiques vectoriels performante dans l'écosystème .NET, particulièrement appréciée pour la visualisation scientifique et les illustrations techniques. Cependant, lorsque les équipes de développement doivent générer des documents commerciaux, des rapports, des factures ou tout autre contenu HTML, le paradigme graphique de VectSharpcrée d'importantes frictions. La bibliothèque est conçue pour les scientifiques qui créent des figures et des graphiques, et non pour les développeurs qui produisent des documents.

Ce guide fournit un chemin de migration complet de VectSharpà IronPDF, avec des instructions étape par étape, des comparaisons de code et des exemples pratiques pour les développeurs .NET professionnels qui évaluent cette transition.

Pourquoi migrer de VectSharp

VectSharp est une bibliothèque de visualisation scientifique et de graphiques vectoriels conçue pour créer des diagrammes, des graphiques et des illustrations techniques. Il ne s'agit pas d'un outil de génération de documents, mais d'une bibliothèque de dessins qui produit des fichiers PDF. Les principales raisons pour lesquelles les équipes de développement envisagent la migration sont les suivantes

Scientifique uniquement : VectSharpest conçu pour la visualisation de données et le traçage, et non pour des documents commerciaux tels que des factures, des rapports ou des certificats.

Pas de support HTML : VectSharpne peut pas convertir HTML ou CSS en PDF. Chaque élément doit être dessiné manuellement à l'aide de commandes graphiques vectorielles.

<API basée sur les coordonnées : chaque élément doit être positionné avec des coordonnées X,Y exactes. Il n'y a pas de mise en page automatique, de flux ou d'habillage de texte.

<Pas de style CSS : Tous les styles sont programmés par le biais d'appels de méthodes. Les développeurs web ne peuvent pas tirer parti de leurs connaissances en matière de CSS.

<Pas de JavaScript : VectSharpne peut pas rendre un contenu web dynamique, des graphiques interactifs ou des visualisations basées sur JavaScript.

Pas de mise en page du texte : L'habillage automatique du texte, la pagination et la mise en page ne sont pas disponibles. Les développeurs doivent calculer manuellement la position du texte et les sauts de page.

<Paradigme graphique d'abord : la bibliothèque est conçue pour les diagrammes, et non pour les rapports ou les factures. La génération de documents nécessite un travail manuel important.

Le problème central : bibliothèque graphique ou générateur de documents

VectSharp nécessite un dessin vectoriel manuel pour chaque élément :

// VectSharp: Manuel 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: Manuel 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 utilise HTML, le format de document universel :

// 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: Comparaison des fonctionnalités

La compréhension des différences architecturales aide les décideurs techniques à évaluer l'investissement dans la migration :

Fonction VectSharp IronPDF
Utilisation principale Graphiques vectoriels Création de documents
Sortie PDF Oui Oui
Support HTML Non Oui
Licence LGPL Commercial
Open Source Oui Partiellement (fonctions commerciales)
Parfait pour Visualisations scientifiques Documents PDF généraux
Personnalisation Limité aux graphiques Documentations approfondies
HTML à PDF Non Chromium complet
URL vers PDF Non Oui
Support CSS Non CSS3 complet
JavaScript Non ES2024 complet
Mise en page automatique Non Oui
Sauts de page automatiques Non Oui
Enveloppe de texte Manuel Automatique
Fusionner des PDF Non Oui
Diviser les PDF Non Oui
Protection des mots de passe Non Oui
Signatures numériques Non Oui
Courbe d'apprentissage Haut (coordonnées) Faible (HTML/CSS)
Verbosité du code Très élevé Faible

Démarrage rapide : Migration de VectSharpvers IronPDF

La migration peut commencer immédiatement grâce à ces étapes fondamentales.

Étape 1 : Remplacer les paquets NuGet

Supprimez tous les paquets VectSharp:

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

InstallezIronPDF:

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

Étape 2 : Mise à jour des espaces de noms

Remplacer les espaces de noms VectSharppar l'espace de noms IronPdf :

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

Étape 3 : initialisation de la licence

Ajouter l'initialisation de la licence au démarrage de l'application :

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

Exemples de migration de code

Conversion de HTML en PDF

VectSharp ne prend pas en charge la conversion HTML-PDF. Cette différence de capacité fondamentale est à l'origine de nombreuses décisions de migration.

Approche VectSharp:

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

Approche IronPDF:

// 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 nécessite la création d'un objet Document, Pageet Graphics, puis le positionnement manuel du texte avec des coordonnées exactes et des objets de police.IronPDFrend le HTML directement avec une prise en charge complète du style CSS.

Pour les scénarios avancés de conversion de HTML en PDF, voir le guide de conversion de HTML en PDF.

Création de documents multi-pages

Les documents de plusieurs pages révèlent les différences architecturales entre ces bibliothèques PDF .NET.

Approche VectSharp:

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

Approche IronPDF:

// 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 nécessite la création d'objets Pagedistincts, de contextes Graphiquesdistincts et le positionnement manuel de chaque élément de texte à l'aide de coordonnées et d'objets de police pour chaque page.IronPDFutilise une seule chaîne HTML avec CSS page-break-after : always pour créer automatiquement des documents de plusieurs pages.

Dessiner des formes et du texte

Les capacités graphiques montrent où VectSharpexcelle, mais aussi où les standards du web offrent des fonctionnalités équivalentes avec moins de code.

Approche VectSharp:

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

Approche IronPDF:

// 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 nécessite la création d'objets GraphicsPath, l'appel à Arc() avec des paramètres mathématiques précis, et la gestion des couleurs par Colour.FromRgb().IronPDFutilise des propriétés CSS familières : background-color, border-radius : 50% pour les cercles, et marges standard.

Référence de mappage de l'API VectSharpvers IronPDF

Cette cartographie accélère la migration en indiquant les équivalents directs des API :

VectSharp IronPDF Notes
Document ChromePdfRenderer Créer un moteur de rendu
Page Automatique Pages créées à partir de HTML
Graphiques HTML/CSS Balisage déclaratif
graphics.FillRectangle() CSS background-color sur <div> Boîtes HTML
graphics.StrokeRectangle() CSS border sur <div> Frontières
graphics.FillText() Éléments de texte HTML <p>, <h1>, <span>
graphics.StrokePath() Bordures SVG ou CSS Chemins vectoriels
Trajectoire graphique Élément SVG <chemin> Formes complexes
Color.FromRgb() Valeurs des couleurs CSS rgb(), #hex, named
Font / FontFamily CSS font-family Polices Web prises en charge
doc.SaveAsPDF() pdf.SaveAs() Enregistrer dans un fichier
Dimensionnement manuel des pages RenderingOptions.PaperSize Ou CSS @page

Stratégies de migration

Stratégie 1 : Convertir le code de dessin en HTML/CSS

Remplacer les dessins basés sur les coordonnées par des éléments HTML :

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

Stratégie 2 : Utiliser SVG pour les graphiques vectoriels

Pour les formes complexes, utilisez SVG en ligne dans votre HTML :

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

Stratégie 3 : utiliser des bibliothèques de graphiques JavaScript

Pour les visualisations scientifiques, spécialité de VectSharp,IronPDFpeut s'appuyer sur de puissantes bibliothèques JavaScript telles que Chart.js, D3.js ou Plotly :

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

Problèmes de migration courants et solutions

Enjeu 1 : Différences entre les systèmes de coordonnées

<VectSharp utilise des points à partir de l'origine en haut à gauche avec un positionnement manuel.

Solution: Utiliser le positionnement CSS :

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

Nouveau numéro 2 : Font Objects

VectSharp crée des objets Font et FontFamily de manière programmatique.

Solution: Utiliser 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

Numéro 3 : Traitement des couleurs

VectSharp utilise les appels de méthode Colour.FromRgb().

Solution: Utiliser les couleurs CSS :

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

Numéro 4 : Chemins graphiques

<VectSharp utilise l'API complexe Trajectoire graphiqueavec les méthodes MoveTo, LineTo, Arc.

Solution: Utilisez SVG pour les graphiques vectoriels :

<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

Liste de contrôle pour la migration vers VectSharp

Tâches préalables à la migration

Auditez votre base de code pour identifier toute utilisation de VectSharp:

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

Taille des pages des documents (modèles new Page(595, 842)). Notez les schémas de couleurs en utilisant Colour.FromRgb(). Identifier les configurations de polices. Cartographier des graphiques vectoriels complexes à l'aide de Trajectoire graphiquepour la conversion SVG.

Tâches de mise à jour du code

  1. Supprimer les paquets NuGet de VectSharp
  2. Installer le paquet NuGet IronPdf
  3. Mise à jour des instructions d'utilisation de VectSharp vers IronPdf
  4. Convertir les appels FillRectangle en boîtes CSS avec background-color
  5. Convertir les appels FillText en éléments de texte HTML avec style CSS
  6. Convertir les opérations Trajectoire graphiqueen éléments SVG <path>
  7. Remplacer la gestion manuelle des pages par RenderingOptions.PaperSize
  8. Ajouter l'initialisation de la licence au démarrage

Test de post-migration

Après la migration, vérifiez ces aspects :

  • Comparer la sortie visuelle entre les versions VectSharpet IronPdf
  • Vérifiez que les couleurs correspondent à l'aide des équivalents CSS des valeurs Colour.FromRgb()
  • Vérifier la précision du positionnement des éléments convertis à partir d'un placement basé sur les coordonnées
  • Test des sauts de page pour les documents de plusieurs pages
  • Vérifier que les graphiques vectoriels s'affichent correctement via SVG

Avantages clés de la migration vers IronPDF

Le passage de VectSharpàIronPDFprésente plusieurs avantages pour la génération de documents :

Contenu basé sur le HTML : Les développeurs web peuvent tirer parti de leurs compétences en HTML et CSS. Pas besoin d'apprendre les API de dessin basé sur les coordonnées.

Mise en page automatique : l'habillage du texte, la pagination et la mise en page des flux se font automatiquement. Pas de calcul manuel de la position des éléments.

Support CSS moderne : CSS3 complet, y compris les mises en page Flexbox et Grid. Les conceptions réactives sont traduites directement en PDF.

Exécution JavaScript : les graphiques interactifs avec Chart.js, D3.js ou Plotly s'affichent correctement. Le contenu dynamique fonctionne comme prévu.

URL-to-PDF : Capturez n'importe quelle page web au format PDF - une fonctionnalité impossible à réaliser avec VectSharp.

Opérations PDF : La fusion, la division, l'ajout de filigranes, la protection par mot de passe et les signatures numériques sont des fonctions intégrées.

Verbosité du code : HTML/CSSest déclaratif et lisible. Le même document nécessite beaucoup moins de code que l'approche de dessin impératif de VectSharp.

Développement actif : Alors que l'adoption de .NET 10 et C# 14 augmente jusqu'en 2026, les mises à jour régulières d'IronPDF garantissent la compatibilité avec les versions .NET actuelles et futures.

Conclusion

VectSharp excelle en tant que bibliothèque de visualisation scientifique pour la création de diagrammes précis et d'illustrations techniques. Cependant, pour les équipes de développement dont les besoins ont dépassé les graphiques vectoriels pour inclure des documents commerciaux, des rapports, des factures ou tout autre contenu basé sur HTML, le paradigme graphique de VectSharpcrée une complexité inutile.

IronPDF assure la génération de documents avec une approche basée sur les standards du web. HTML et CSS remplacent le dessin basé sur les coordonnées. La mise en page automatique remplace le positionnement manuel. Les diagrammes JavaScript remplacent la construction de chemins programmatiques. Le chemin de migration est simple : remplacer les packages NuGet, convertir le code de dessin en HTML/CSSou SVG, et exploiter toute la puissance des technologies web modernes pour la génération de PDF.

Commencez votre migration dès aujourd'hui avec un essai gratuit d'IronPDF et découvrez la simplicité de la génération de documents basée sur HTML.

Pour des conseils de mise en œuvre complets, explorez la documentation IronPDF et les tutoriels.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite