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
- 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
- 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.
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 :
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.