← Accueil
Comparaison honnête

Pourquoi Majorsilence.Pdf ?

Les bibliothèques PDF pour .NET ne manquent pas. Voici un regard lucide sur la place qu'occupe Majorsilence.Pdf, ses points forts, et les cas où vous devriez plutôt vous tourner vers autre chose.


Comparaison des bibliothèques

Le tableau ci-dessous couvre les bibliothèques PDF .NET les plus couramment utilisées. Toutes les informations reposent sur la documentation publique disponible mi-2026.

Bibliothèque Licence Dépendances Taille du package Modèle d'API Support .NET
Majorsilence.Pdf MIT / Apache / BSD Zéro ~75 KB Canvas / fluide NS2.0, .NET 8 & 10
iText 7 AGPL ou commerciale Plusieurs références NuGet ~6 Mo Arbre document/élément .NET Standard 2.0+
QuestPDF Communautaire / commerciale SkiaSharp (natif) ~10 Mo (natif inclus) Moteur de mise en page fluide .NET 6+
PdfSharp MIT Aucune (pour le cœur) ~400 Ko Dessin de style GDI .NET 6+ (v0.1.x NS2.0)
Syncfusion PDF Commerciale / communautaire Suite Syncfusion ~4 Mo Arbre document/élément .NET Standard 2.0+
Puppeteer / wkhtmltopdf MIT (Puppeteer) Binaire natif requis 50–150 Mo (navigateur) Rendu HTML → PDF Toute plateforme (via CLI/pont)

Le palier « Communautaire » de QuestPDF est gratuit pour les organisations dont le chiffre d'affaires annuel est inférieur à 1 M$ USD ; au-delà, une licence payante est requise. iText 7 exige une licence commerciale pour les logiciels à code source fermé. Syncfusion propose une licence communautaire gratuite pour les développeurs indépendants et les petites équipes.


Quand choisir Majorsilence.Pdf

Bon choix
  • Zéro dépendance au runtime est une exigence stricte — conteneurs, AWS Lambda, compilation AOT, ou audits de sécurité rigoureux
  • Vous avez besoin d'une licence MIT, Apache-2.0 ou BSD-3-Clause, sans complication AGPL
  • Vous voulez une base de code petite et auditable, sans binaires natifs à gérer
  • Votre modèle mental est le dessin par coordonnées de canevas — placer du texte en (x, y), tracer des lignes, intégrer des images
  • Vous créez des factures, rapports, certificats, reçus ou exports de données dont vous contrôlez la mise en page
  • La compatibilité trim ou la compilation AOT compte (démarrages à froid serverless, .NET embarqué)
  • Vous voulez déployer sur Windows, Linux et macOS sans vous soucier de bibliothèques natives de rendu de polices
Moins adapté
  • Vous devez lire, modifier ou fusionner des PDF existants complexes avec annotations, AcroForms ou XFA
  • Une certification de conformité PDF/A ou PDF/UA est exigée par un organisme réglementaire
  • Vous préférez un modèle de mise en page fluide (paragraphes qui s'enroulent automatiquement, tableaux qui se paginent) plutôt que des coordonnées explicites
  • Vous avez besoin d'un rendu de qualité production de l'arabe façonné ou d'un rendu de texte BiDi complexe
  • Votre contenu réside déjà dans des modèles HTML/CSS et un rendu navigateur au pixel près est essentiel
  • Vous avez besoin de signatures numériques horodatées avancées (PKCS#12 avec TSA) ou de validation à long terme (PAdES LTV)

Quand se tourner vers autre chose

Voici des recommandations honnêtes. Choisissez l'outil adapté à vos contraintes.

iText 7
Si vous avez besoin de l'ensemble de fonctionnalités PDF le plus complet disponible en .NET — manipulation d'AcroForms, signatures numériques PAdES/LTV, création PDF/A et PDF/UA, rédaction, ou lecture et modification de PDF existants complexes — et que vous pouvez utiliser la licence AGPL ou en acheter une commerciale.
QuestPDF
Si vous préférez raisonner en termes de lignes, colonnes et contenu qui s'écoule (un moteur de mise en page plutôt qu'un canevas de dessin), et que votre chiffre d'affaires est en dessous du seuil du palier communautaire. Le modèle de document fluide de QuestPDF excelle pour les documents riches et denses en contenu où la pagination automatique compte plus que le placement au pixel près.
PdfSharp
Si vous voulez une autre bibliothèque MIT sans dépendance, avec une API de dessin de style GDI, et que vous ciblez .NET 6+. PdfSharp est une alternative solide, avec une communauté plus large et une histoire plus longue. Les deux bibliothèques ont des forces similaires ; évaluez le style d'API pour voir lequel convient le mieux à votre équipe.
Puppeteer / Playwright / wkhtmltopdf
Si le contenu de votre document est déjà rédigé en HTML + CSS — par exemple une facture basée sur un modèle rendu par une vue Razor — et que vous avez besoin d'un rendu au pixel près par un moteur de navigateur (polices web, CSS grid, images d'arrière-plan). Le compromis est une grosse dépendance à un binaire natif et des temps de génération plus lents.
Syncfusion / DevExpress / Telerik
Si vous êtes déjà sous licence pour l'une de ces suites de composants et que vous voulez un fournisseur unique pour tous vos besoins d'interface utilisateur et de génération de documents. Les bibliothèques PDF fournies dans ces suites sont complètes et bien prises en charge au sein de leurs écosystèmes.

Philosophie de conception

La plupart des bibliothèques PDF sont nées à une époque où .NET signifiait Windows, où NuGet était jeune, et où « zéro dépendance » n'était pas un objectif de conception. Elles ont accumulé des fonctionnalités, du code natif et une complexité de licence au fil du temps.

Majorsilence.Pdf part de contraintes différentes :

Éprouvé en production. Majorsilence.Pdf est le moteur de rendu PDF qui propulse Majorsilence Reporting. Ce n'est pas un projet secondaire — c'est la bibliothèque qui s'exécute lorsque Reporting génère de vrais documents.

Rendre le fastidieux simple.

Générer un PDF — une facture, un certificat, un export de données — devrait prendre une poignée de lignes, pas une page de code répétitif. La surface de la bibliothèque est volontairement réduite : un document, des pages, un canevas. Vous placez des éléments. Vous enregistrez. C'est terminé.

Zéro doit vouloir dire zéro.

Pas « zéro au runtime si vous installez le pack de plateforme » ni « zéro sauf si vous utilisez des polices ». Un seul dotnet add package et rien d'autre. Aucun arbre transitif à auditer, aucun binaire natif à inclure dans votre image de conteneur, aucun risque AGPL à examiner avec le service juridique.

Code entièrement managé.

Toute la bibliothèque est en IL. Elle se trime proprement, se compile en avance de phase (AOT), et fonctionne de la même façon sur Windows, Linux, macOS, ARM et x64 — sans sélection conditionnelle d'assets natifs ni détection de fonctionnalités au runtime.

Triple licence. Choisissez celle qui convient à votre projet parmi MIT, Apache-2.0 ou BSD-3-Clause. Il n'y a pas de palier AGPL, pas de séparation communautaire/commerciale, et pas de seuil de revenu qui change vos obligations.