Convertir des documents en C# pur

HTML, Markdown, Word, Excel et PowerPoint vers PDF et DOCX, dans votre propre application .NET. Sans Office, sans navigateur headless, sans fichiers natifs.

Licence MIT. .NET 8 et .NET 10. Linux, macOS, Windows et arm64.

Choisissez une conversion : les lignes sont le fichier que vous avez, les colonnes celui que vous voulez

De ↓   Vers →

12 conversions. Une case hachurée n'a pas de convertisseur.
CSVCSVDOCXDOCXHTMLHTMLMarkdownMDPDFPDF
DOC✓
DOCX✓✓✓
HTML✓✓
Markdown✓✓
PPTX✓
XLSX✓✓✓
HTML vers PDF
using DocToolkit;

string html = "<h1>Invoice 2026-114</h1><p>Due on receipt</p>";
byte[] pdf = await HtmlToPdfConverter.ConvertAsync(html);
File.WriteAllBytes("output.pdf", pdf);

En savoir plus sur la conversion HTML vers PDF

téléchargements sur NuGet
32 674
conversions
12
fichiers natifs dans le build
0
dernière version
0.61.0

Version 0.61.0, 32 674 téléchargements sur NuGet, au 2026-11-14.

Opérationnel en trois étapes

Aucun serveur à installer, aucune inscription.

  1. Ajouter le paquetdotnet add package Ank.DocToolkitLe paquet principal ; pour l'injection de dépendances d'ASP.NET Core, ajoutez Ank.DocToolkit.Extensions.DependencyInjection. NuGet
  2. Appeler un convertisseurawait HtmlToPdfConverter.ConvertAsync(html)Chaque convertisseur est une classe statique.
  3. Récupérer les octetsFile.WriteAllBytes("output.pdf", pdf)Le PDF revient sous forme de byte[], à enregistrer, à diffuser en flux ou à joindre.

Tout ce qu'il fait, et un guide pour chaque chose

Chaque case ouvre la page qui montre comment faire.

DocToolkit et les autres façons de convertir

Ce dont chaque approche a besoin sur votre serveur avant de pouvoir convertir un document.

Requis sur le serveurDocToolkitNavigateur headlessInstallation d'Office
Un binaire de navigateur Non Oui, téléchargé sur le serveur Non
Office installé et sous licence Non Non Oui, sous Windows
Fichiers natifs Aucun Les bibliothèques natives du navigateur Les fichiers programme d'Office

La sortie de build de DocToolkit contenait 0 fichier natif lors de la mesure du 2026-08-09, avec le paquet ajouté à une application console net8.0 vide.

Rien ne quitte votre serveur

Par défaut, aucune conversion n'ouvre de socket : les feuilles de style ne sont jamais récupérées, et les images distantes sont la seule option à activer. 40 tests air-gap le vérifient.

Comment fonctionne la conversion hors ligne
  • 0 sockets par défaut
  • 40 tests air-gap
  • 1 option à activer : images distantes

Questions fréquentes

Faut-il Office ou un navigateur ?

Non. DocToolkit est du code managé pur : aucun navigateur, headless ou non, aucune installation de Word, pas de LibreOffice et pas d'interop Office. Le HTML vers PDF passe par un document Word que la bibliothèque construit elle-même.

Fonctionne-t-il sous Linux, macOS, arm64 et dans Docker ?

Oui. La suite de tests complète tourne en CI sous Linux, Windows, macOS et arm64. Dans Docker, une image .NET runtime ordinaire suffit, comme mcr.microsoft.com/dotnet/runtime:8.0, sans rien à installer ; utilisez runtime, pas runtime-deps.

Quelles versions de .NET prend-il en charge ?

Il cible net8.0 et net10.0, les deux versions LTS. Une application net9.0 utilise le build net8.0. Il n'existe pas de build netstandard2.0.

Sous quelle licence est-il distribué ?

MIT. Ses 38 dépendances sont 35 sous MIT, 2 sous Apache-2.0, et OfficeIMO.Core sous MIT, Apache-2.0 et BSD-3-Clause à la fois : ni seuil de chiffre d'affaires, ni frais par poste.

Fait-il des appels réseau ?

Pas par défaut : aucune conversion n'ouvre de socket, les feuilles de style ne sont pas récupérées et les images distantes sont écartées. 40 tests air-gap le vérifient. Les images distantes sont la seule option à activer, appel par appel ou via DocToolkitOptions, avec une liste d'hôtes autorisés et un blocage des adresses loopback et privées.

Que ne sait-il pas faire ?

Il convertit les 12 paires de la grille ci-dessus, plus un ancien fichier .ppt directement en PDF, et aucune autre. Rien ne convertit un PDF vers un autre format (il lit le texte d'un PDF et en modifie les pages), rien ne lit le CSV, et un ancien fichier .xls est refusé avec un message invitant à l'enregistrer en .xlsx. Le HTML vers PDF n'applique ni flexbox, ni grid, ni floats.

Comment l'installer ?

Exécutez dotnet add package Ank.DocToolkit. Tout ce qu'il contient est une classe statique, il n'y a donc rien à enregistrer. Pour l'injection de dépendances dans ASP.NET Core, ajoutez aussi Ank.DocToolkit.Extensions.DependencyInjection.