Comment générer un PDF en C# (.NET 5) en utilisant PDFSharp
La vidéo est un guide d'instructions sur comment utiliser la bibliothèque PDFsharp pour générer un fichier PDF en utilisant du code C#. L'orateur commence par présenter PDFsharp comme une bibliothèque compliquée mais efficace pour générer des fichiers PDF. La bibliothèque a des fonctionnalités avancées, et contrairement à beaucoup de ses concurrents, elle est complètement gratuite. L'orateur souligne que malgré sa complexité, PDFsharp est un excellent choix pour générer des fichiers PDF en utilisant C#.
Pour commencer le tutoriel, l'orateur présente un exemple de fichier PDF généré qui se compose de trois lignes de texte. La première ligne de texte n'est pas exactement la première, tandis que la troisième ligne de texte apparaît dans le coin inférieur droit. L'orateur fait remarquer que l'ordre du texte prendra tout son sens une fois le code analysé. Ils expliquent également qu'ils utiliseront .NET 5 pour démontrer comment fonctionne PDFsharp. Pour une vision plus globale de la création de PDF à partir de zéro en C# ,IronPDFpropose une approche alternative simplifiée.
Voici un aperçu rapide des différences entre PDFsharp etIronPDFconcernant les fonctionnalités les plus pertinentes pour les projets PDF .NET :
| Caractéristiques | IronPDF | PDFSharp |
|---|---|---|
| Conversion HTML vers PDF | Yes | Non |
| Signatures numériques | Yes | Non |
| Cryptage | Yes | Non |
| HTML, CSS et JavaScript | Yes | Non |
| Soutien Professional | Yes | Non |
| Licence | Commercial | MIT (Open Source) |
Des explications détaillées et des exemples de code pour chacune de ces différences suivent dans les sections ci-dessous. Les équipes qui comparent les deux bibliothèques peuvent tester les capacités d'IronPDF grâce à un [essai gratuit de 30 jours](trial-license.
Installation et Configuration
Avant d'entrer dans le code, l'orateur souligne que la configuration de l'environnement pour PDFsharp peut être assez difficile. Ils expliquent que trois packages NuGet doivent être installés avant de travailler avec Détails du package NuGet PDFsharp. Le premier package est PDFsharp lui-même, qui peut générer un avertissement indiquant qu'il pourrait ne pas correspondre avec .NET en raison de sa version plus ancienne. Les deux autres paquets sont System.Drawing.Common et System.Text.Encoding.CodePages.

L'orateur souligne que tous les trois packages doivent être installés avant de travailler avec PDFsharp ; sinon, le code générera une erreur. Ils expliquent que le paquet System.Text.Encoding.CodePages est particulièrement important car il fournit le support d'encodage nécessaire à la génération de fichiers PDF. L'orateur note également que l'échec de l'installation correcte des packages pourrait être difficile à résoudre. Les équipes souhaitant éviter complètement cette configuration multi-packages peuvent suivre le guide de migration de PDFsharp vers IronPDF pour une transition étape par étape.
Installation des Bibliothèques Associées
Pour quePDFSharpfonctionne correctement, l'orateur explique qu'un fournisseur doit être enregistré pour System.Text.Encoding. Le fournisseur provient du paquet System.Text.Encoding.CodePages, et l'orateur souligne l'importance d'enregistrer le paquet pour s'assurer que PDFsharp fonctionne correctement. Ils expliquent que ne pas enregistrer le fournisseur entraînera une erreur, ce qui peut être difficile à résoudre.
Création d'un Fichier PDF
Ensuite, l'orateur présente une application console simple qui utilise PDFsharp pour générer un fichier PDF. Il explique qu'avant d'utiliser la bibliothèque, les déclarations using pour PDFsharp Drawing et PDFsharp PDF doivent être déclarées. L'orateur présente ensuite le code pour générer le fichier PDF, qui implique la création d'un nouveau document, l'ajout d'une nouvelle page et le dessin du texte sur la page.
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf
Namespace PdfSharpExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new PDF document
Dim document As New PdfDocument()
' Add a new page
Dim page As PdfPage = document.AddPage()
' Prepare to draw on the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Define a font
Dim font As New XFont("Verdana", 20, XFontStyle.Bold)
' Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
Const filename As String = "HelloWorld.pdf"
document.Save(filename)
End Sub
End Class
End Namespace
L'orateur souligne que le code de génération du fichier PDF peut être ajusté pour inclure des fonctionnalités plus complexes, telles que l'ajout d'images (voir comment convertir des images en PDF avec IronPDF), de tableaux et de graphiques. Ils expliquent également que PDFsharp propose diverses fonctionnalités pour travailler avec les polices, y compris l'intégration des polices dans le fichier PDF.

L'orateur explique l'importance de configurer correctement l'environnement en installant les paquets NuGet nécessaires et en enregistrant un fournisseur pour System.Text.Encoding. Ils présentent également une application console simple qui utilise PDFsharp pour générer un fichier PDF et démontre comment le code peut être ajusté pour inclure des fonctionnalités plus complexes. La vidéo est une excellente ressource pour quiconque s'intéresse à la génération de fichiers PDF en utilisant C# et PDFsharp.
Création de Listes et d'Éléments Plus Complexes
Dans la deuxième partie de la vidéo, l'orateur commence par introduire un exemple plus complexe de création d'un document PDF. Il souligne qu'il est inutile d'avoir un document PDF vide et procède à expliquer comment créer une nouvelle page en utilisant la bibliothèque PDFSharp. Il note que le processus est similaire à la création de choses dans des add-ins Excel ou PowerPoint, et qu'une fois la page créée, elle fonctionne avec une référence qui ne nécessite pas l'appel d'une autre méthode.

L'orateur présente ensuite la variable XGraphics, qui fournit des méthodes pour dessiner des éléments tels que du texte, des lignes et des images - une fonctionnalité qu'IronPDF gère via son API d'estampillage de texte et d'image sans nécessiter de calculs manuels de coordonnées. La variable XFont est également introduite comme moyen de configurer une police à utiliser dans le document PDF. L'orateur note que la police peut être générée ailleurs, mais qu'il est utile de la configurer globalement s'il y a une disposition plus complexe.
L'orateur aborde ensuite la méthode DrawString, qui permet d'écrire du texte dans le fichier PDF. Il note que la partie complexe de la méthode consiste à déterminer où le texte sera dessiné et explique les différents paramètres impliqués, tels que la police, la couleur et les limites de l'endroit où le texte peut s'aligner. Il explique également l'utilisation de la variable XBrushes pour définir la couleur du texte.
Explication de DrawString et d'autres méthodes
L'orateur présente ensuite plusieurs exemples d'utilisation de la méthode DrawString avec différents paramètres, tels que l'alignement du texte au centre, l'alignement en bas à gauche et la spécification des coordonnées exactes où le texte sera placé. Il note que la dernière option est la plus personnalisable et offre une grande flexibilité.

L'orateur explique comment créer un tableau en utilisant des graphiques dans le langage de programmation C#. Ils expliquent comment insérer des images, des chaînes de caractères et des lignes, ainsi que comment dessiner des arcs et des codes-barres à l'aide de la fonction graphique — des tâchesIronPDFsimplifie grâce à ses options de rendu pour les marges, les en-têtes et le DPI . Ils expliquent également l'importance de l'essai et de l'erreur lors du travail avec les coordonnées et comment tracer des lignes pour séparer les lignes.
L'orateur discute également de l'en-tête du tableau et de la nécessité d'un point de départ pour les valeurs et la ligne. Ils expliquent comment ajuster la position y et ajouter des lignes d'enregistrements, et comment passer à une autre page lorsque le tableau dépasse un certain nombre d'enregistrements. Enfin, ils mentionnent l'importance de réinitialiser les valeurs pour chaque page.
Quelle bibliothèque devriez-vous choisir ?
En conclusion, l'orateur souligne l'importance de se familiariser avec les compléments Microsoft Office lors du travail avecPDFSharpet propose son propre cours sur le sujet. Il note également que la bibliothèque est très polyvalente et peut être utilisée pour créer une large gamme de documents PDF, allant de simples documents texte à des documents plus complexes avec des images, des graphiques et des mises en page personnalisées.
Qu'est-ce qu'IronPDF?
IronPDF est une bibliothèque PDF C# permettant de créer, d'éditer et de manipuler des documents PDF . Il est livré sous la forme d'un seul paquet NuGet - Install-Package IronPdf - et s'intègre aux applications .NET sans nécessiter d'installation de dépendances supplémentaires.
PDFsharp offre un contrôle de dessin de bas niveau robuste et est distribué sous une licence MIT permissive — deux atouts indéniables qui en ont fait un élément incontournable de nombreux projets .NET . Les frictions entre les équipes surviennent souvent lorsque les exigences dépassent le simple rendu basé sur les coordonnées pour inclure des domaines tels que la conversion HTML vers PDF, les signatures numériques ou le chiffrement des documents.IronPDFest une bibliothèque commerciale qui traite ces scénarios comme des opérations de premier ordre, avec un support Professional et une interface API conçue autour des flux de travail courants de génération de documents, notamment le rendu HTML, CSS et JavaScript .
Caractéristiques
| Fonctionnalités | IronPDF | PDFSharp |
|---|---|---|
| Convertir HTML en PDF | Oui | Non |
| Support professionnel | Oui | Non |
| Support HTML, CSS, et JavaScript | Oui | Non |
| Signatures numériques | Oui | Non |
| Cryptage | Oui | Non |
L'une des principales caractéristiques d'IronPDFest sa capacité à convertir du HTML en IronPDF , ce qui simplifie la création de documents PDF à partir de pages web. La conversion HTML vers PDF ne fait pas partie du périmètre actuel de PDFsharp — il fonctionne au niveau du dessin des coordonnées — les équipes ayant besoin de cette fonctionnalité ajoutent généralement une bibliothèque de rendu distincte ou évaluent le moteur Chromium intégré d'IronPDF.
IronPDF prend également en charge les signatures numériques et le chiffrement PDF avec protection par mot de passe , ce qui est essentiel pour les documents sensibles nécessitant une manipulation sécurisée. PDFsharp n'est pas conçu pour répondre à ces scénarios de sécurité, c'est pourquoi les équipes ayant des exigences en matière de conformité ou de protection des documents considèrent souvent cela comme un point d'inflexion naturel pour évaluer IronPDF.
IronPDF offre un ensemble de fonctionnalités plus étendu et une assistance plus complète que PDFsharp, couvrant le rendu HTML, le chiffrement et les signatures numériques dans un seul package NuGet . Il s'agit toutefois d'un produit commercial ; les équipes dont les exigences correspondent au modèle de dessin par coordonnées de PDFsharp — et qui n'ont pas besoin de conversion HTML ni de fonctionnalités de sécurité intégrées — pourraient préférer l'approche open source sous licence MIT de PDFsharp.
Au-delà du coût de la licence, le coût total du projet comprend les heures de développement consacrées à l'assemblage de bibliothèques de rendu distinctes, à la gestion des mises en page basées sur les coordonnées pour les documents complexes et au dépannage de la configuration multi-packages requise par PDFsharp. Pour les équipes évaluant les coûts sur un cycle de vie de projet pluriannuel, ces coûts d'intégration et de maintenance éclipsent fréquemment la différence entre les licences open source et commerciales.
Prêt à découvrir commentIronPDFs'intègre à votre flux de travail ? [Téléchargez une version d'évaluation gratuite de 30 jours (licence d'évaluation pour tester toutes les fonctionnalités couvertes par cette comparaison).
Questions Fréquemment Posées
Comment puis-je générer un fichier PDF en utilisant PDFsharp en C#?
Pour générer un PDF en utilisant PDFsharp, vous devez créer un nouveau document PDF, y ajouter une page et utiliser l'objet XGraphics pour dessiner du texte ou des graphiques. Assurez-vous d'inclure les instructions using pour les espaces de noms PdfSharp.Drawing et PdfSharp.Pdf.
Quels sont les packages NuGet essentiels requis pour PDFsharp?
Pour travailler efficacement avec PDFsharp, vous devez installer les packages NuGet suivants : PDFsharp, System.Drawing.Common et System.Text.Encoding.CodePages. Ces packages sont cruciaux pour le support d'encodage et la génération correcte de PDF.
Comment IronPDF se compare-t-il avec PDFsharp pour la génération de PDF en C#?
IronPDF est une bibliothèque commerciale qui offre des fonctionnalités avancées comme la conversion HTML en PDF, les signatures numériques et le cryptage, qui ne sont pas disponibles dans PDFsharp. Elle offre également une meilleure documentation et un support professionnel, la rendant plus conviviale pour les tâches complexes.
Quelles sont les limitations de l'utilisation de PDFsharp pour la génération de PDF?
PDFsharp ne prend pas en charge HTML, CSS ou JavaScript, ce qui limite ses cas d'utilisation. Il nécessite une bonne compréhension de la configuration de l'encodage et des add-ins Microsoft Office pour les documents complexes, ce qui peut le rendre moins intuitif par rapport à IronPDF.
Pourquoi le package System.Text.Encoding.CodePages est-il important pour PDFsharp?
Le package System.Text.Encoding.CodePages fournit le support d'encodage nécessaire lors de la génération de fichiers PDF avec PDFsharp. Sans une installation et un enregistrement corrects de ce package, vous pourriez rencontrer des erreurs liées à l'encodage.
Puis-je convertir HTML en PDF en utilisant une bibliothèque C# gratuite?
Non, PDFsharp ne prend pas en charge la conversion HTML en PDF. Pour une telle fonctionnalité, vous auriez besoin d'une bibliothèque commerciale comme IronPDF, qui offre cette fonctionnalité ainsi que d'autres capacités avancées.
Comment puis-je résoudre les erreurs courantes dans PDFsharp?
Les erreurs courantes dans PDFsharp surviennent souvent à cause d'une configuration incorrecte des packages NuGet ou des problèmes d'encodage. Assurez-vous que tous les packages requis, y compris System.Text.Encoding.CodePages, sont installés et enregistrés correctement pour résoudre ces problèmes.
Quelles fonctionnalités avancées sont disponibles dans IronPDF pour les développeurs C#?
IronPDF offre des fonctionnalités avancées telles que la conversion HTML en PDF, les signatures numériques, le cryptage, et la capacité à gérer CSS et JavaScript. Elle offre également une intégration avec les applications .NET et un support professionnel, la rendant un outil puissant pour les développeurs.
Comment puis-je personnaliser la disposition du texte dans un PDF en utilisant PDFsharp?
En utilisant PDFsharp, vous pouvez personnaliser la disposition du texte dans un PDF en utilisant la méthode DrawString de la classe XGraphics. Cela vous permet de définir des propriétés comme la police, la couleur et l'alignement du texte dans des limites spécifiées.
PDFsharp convient-il pour créer des documents PDF complexes en C#?
PDFsharp peut créer des documents PDF complexes, mais il nécessite une compréhension solide de l'encodage et des add-ins Microsoft Office. IronPDF peut être une meilleure option pour les tâches complexes en raison de son API plus intuitive et de ses fonctionnalités supplémentaires.



