IRONSOFTWAREHOME
VIDÉOS

Comment convertir un fichier HTML ZIP en PDF en C# | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

VectSharp (par Giorgio Bianchini, arklumpus/VectSharp) est une bibliothèque graphique vectorielle légère multiplateforme pour .NET Standard 2.0, souvent utilisée pour la visualisation scientifique et les illustrations techniques. Lorsque les équipes de développement ont besoin de générer des documents commerciaux, des rapports, des factures ou des contenus basés sur HTML, le paradigme orienté graphique de VectSharpcrée des frictions. Il est conçu pour les figures et les graphiques, pas pour générer 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 graphiques vectoriels conçue pour créer des diagrammes, graphiques et illustrations techniques, avec des couches de sortie modulaires incluant VectSharp.PDF, VectSharp.SVG, et VectSharp.Raster. Elle n'est pas conçue pour la génération de documents—c'est une bibliothèque de dessin dont le package VectSharp.PDF ajoute une méthode d'extension SaveAsPDF sur Document. Les principales raisons pour lesquelles les équipes de développement envisagent la migration sont les suivantes

Usage scientifique uniquement : VectSharpest conçu pour la visualisation et la représentation graphique de données, et non pour les documents commerciaux tels que les factures, les rapports ou les certificats.

Prise en charge HTML inexistante : VectSharpne peut pas convertir le HTML ou le 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 : tout le style est implémenté par programmation via des appels de méthodes. Les développeurs web ne peuvent pas tirer parti de leurs connaissances en matière de CSS.

JavaScript non pris en charge : VectSharpne peut pas afficher le contenu Web dynamique, les graphiques interactifs ni les visualisations basées sur JavaScript.

Aucune mise en page de texte : le retour à la ligne automatique, la pagination et la mise en page fluide ne sont pas disponibles. Les développeurs doivent calculer manuellement la position du texte et les sauts de page.

Approche centrée sur le graphique : cette 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(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 20),
    Colours.White);
// ... continue drawing every single element manually
C#

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

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

FonctionVectSharpIronPDF
Utilisation principaleGraphiques vectorielsCréation de documents
Sortie PDFOuiOui
Support HTMLNonOui
LicenceLGPL-3.0 seulementCommercial
Open SourceOuiPartiellement (fonctions commerciales)
Parfait pourVisualisations scientifiquesDocuments PDF généraux
PersonnalisationLimité aux graphiquesDocumentations approfondies
HTML à PDFNonChromium complet
URL vers PDFNonOui
Support CSSNonCSS3 complet
JavaScriptNonES2024 complet
Mise en page automatiqueNonOui
Sauts de page automatiquesNonOui
Enveloppe de texteManuelAutomatique
Fusionner des PDFNonOui
Diviser les PDFNonOui
Protection des mots de passeNonOui
Signatures numériquesNonOui
Courbe d'apprentissageHaut (coordonnées)Faible (HTML/CSS)
Verbosité du codeTrè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 (PDF first, then core)
dotnet remove package VectSharp.PDF
dotnet remove package VectSharp
SHELL

Installez 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 nom IronPDF :

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

// After (IronPDF)
using IronPdf;

Étape 3 : initialisation de la licence

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

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

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),
            Colours.Black);
        
        doc.Pages.Add(page);
        doc.SaveAsPDF("output.pdf");
    }
}
C#

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");
    }
}

VectSharp nécessite la création d'un objet Document, Page, et Graphics, puis le positionnement manuel du texte avec des coordonnées exactes et des objets de police.IronPDF rend 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();
        
        FontFamily helvetica =
            FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica);
        Font titleFont = new Font(helvetica, 24);
        Font bodyFont = new Font(helvetica, 14);

        // Page 1
        Page page1 = new Page(595, 842);
        Graphics g1 = page1.Graphics;
        g1.FillText(50, 50, "Page 1", titleFont, Colours.Black);
        g1.FillText(50, 100, "First page content", bodyFont, Colours.Black);
        doc.Pages.Add(page1);
        
        // Page 2
        Page page2 = new Page(595, 842);
        Graphics g2 = page2.Graphics;
        g2.FillText(50, 50, "Page 2", titleFont, Colours.Black);
        g2.FillText(50, 100, "Second page content", bodyFont, Colours.Black);
        doc.Pages.Add(page2);
        
        doc.SaveAsPDF("multipage.pdf");
    }
}
C#

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");
    }
}

VectSharp nécessite la création d'objets Page séparés, de contextes Graphics séparés, et le positionnement manuel de chaque élément de texte avec des coordonnées et des objets de police pour chaque page.IronPDF utilise une seule chaîne HTML avec page-break-after: always CSS pour créer des documents multi-pages automatiquement.

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 - FillText requires a colour parameter
        graphics.FillText(50, 200, "VectSharp Graphics",
            new Font(FontFamily.ResolveFontFamily(FontFamily.StandardFontFamilies.Helvetica), 20),
            Colours.Black);
        
        doc.Pages.Add(page);
        doc.SaveAsPDF("shapes.pdf");
    }
}
C#

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");
    }
}

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

VectSharpIronPDF
DocumentChromePdfRenderer
PageAutomatique
GraphicsHTML/CSS
graphics.FillRectangle()CSS background-color sur <div>
graphics.StrokeRectangle()CSS border sur <div>
graphics.FillText()Éléments de texte HTML
graphics.StrokePath()Bordures SVG ou CSS
GraphicsPathSVG élément <path>
Colour.FromRgb()Valeurs des couleurs CSS
Font / FontFamilyCSS font-family
doc.SaveAsPDF()pdf.SaveAs()
Dimensionnement manuel des pagesRenderingOptions.PaperSize

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);

//IronPDF HTML equivalent
<div style="
    position: absolute;
    left: 100px;
    top: 50px;
    width: 300px;
    height: 80px;
    background: rgb(0, 102, 204);
    color: white;
    padding: 10px;
">Header</div>

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);

//IronPDF SVG equivalent
<svg><polygon points="100,100 200,50 300,100" fill="blue"/></svg>

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

Pour les visualisations scientifiques, spécialité de VectSharp,IronPDF peut 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);

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;
}
Text

Nouveau numéro 2 : Font Objects

VectSharp crée des objets Font et FontFamily par programmation.

Solution: Utiliser CSS font-family :

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

Numéro 3 : Traitement des couleurs

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

Solution: Utiliser les couleurs CSS :

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

Numéro 4 : Chemins graphiques

VectSharp utilise une API complexe GraphicsPath avec 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>
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" .
SHELL

Tailles de page du document (les motifs new Page(595, 842)). Notez les schémas de couleurs utilisant Colour.FromRgb(). Identifier les configurations de polices. Mappez des graphiques vectoriels complexes en utilisant GraphicsPath pour la conversion SVG.

Tâches de mise à jour du code

  1. Supprimer les paquets NuGet de VectSharp
  2. Installez le package NuGet IronPDF
  3. Mettez à jour les instructions using de VectSharp à IronPdf
  4. Convertissez les appels FillRectangle en boîtes CSS avec background-color
  5. Convertissez les appels FillText en éléments de texte HTML avec du style CSS
  6. Convertissez les opérations GraphicsPath en éléments SVG <path>
  7. Remplacez 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 en utilisant les é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à IronPDF présente plusieurs avantages pour la génération de documents :

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

Mise en page automatique : le retour à la ligne, la pagination et la mise en page sont automatiques. Pas de calcul manuel de la position des éléments.

Prise en charge complète des CSS modernes : CSS3, 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.

Conversion d'URL en PDF : Capturez n'importe quelle page Web au format PDF — une fonctionnalité impossible avec VectSharp.

Opérations PDF : Fusionner, diviser, ajouter des filigranes, protéger par mot de passe et signer des documents numériques sont des fonctionnalités intégrées.

Verbosité du code réduite : 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 : les mises à jour régulières d'IronPDF garantissent la compatibilité avec les versions actuelles et futures de .NET.

Veuillez noter: VectSharp est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou sponsorisé par VectSharp. Tous les noms de produits, logos, et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.
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 et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise