Dokumente in reinem C# konvertieren

HTML, Markdown, Word, Excel und PowerPoint nach PDF und DOCX, in Ihrer eigenen .NET-App. Kein Office, kein Headless-Browser, keine nativen Dateien.

MIT-Lizenz. .NET 8 und .NET 10. Linux, macOS, Windows und arm64.

Wählen Sie eine Konvertierung: Zeilen sind die Datei, die Sie haben, Spalten die Datei, die Sie wollen

Von ↓   Nach →

12 Konvertierungen. Ein gestreiftes Feld hat keinen Konverter.
CSVCSVDOCXDOCXHTMLHTMLMarkdownMDPDFPDF
DOC✓
DOCX✓✓✓
HTML✓✓
Markdown✓✓
PPTX✓
XLSX✓✓✓
HTML nach 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);

Mehr über HTML nach PDF

Downloads auf NuGet
32.674
Konvertierungen
12
native Dateien im Build
0
neueste Version
0.61.0

Version 0.61.0, 32.674 Downloads auf NuGet, Stand 2026-11-14.

In drei Schritten startklar

Kein Server zu installieren, nichts zu registrieren.

  1. Das Paket hinzufügendotnet add package Ank.DocToolkitDas Kernpaket; für Dependency Injection in ASP.NET Core fügen Sie Ank.DocToolkit.Extensions.DependencyInjection hinzu. NuGet
  2. Einen Konverter aufrufenawait HtmlToPdfConverter.ConvertAsync(html)Jeder Konverter ist eine statische Klasse.
  3. Die Bytes abholenFile.WriteAllBytes("output.pdf", pdf)Das PDF kommt als byte[] zurück, zum Speichern, Streamen oder Anhängen.

Alles, was es kann, und eine Anleitung zu jedem Punkt

Jedes Feld öffnet die Seite, die zeigt, wie es geht.

DocToolkit und die anderen Wege der Konvertierung

Was jeder Ansatz auf Ihrem Server braucht, bevor er ein Dokument konvertieren kann.

Braucht auf dem ServerDocToolkitHeadless-BrowserOffice-Installation
Eine Browser-Binärdatei Nein Ja, auf den Server heruntergeladen Nein
Office installiert und lizenziert Nein Nein Ja, unter Windows
Native Dateien Keine Die nativen Bibliotheken des Browsers Die eigenen Programmdateien von Office

Die Build-Ausgabe von DocToolkit enthielt 0 native Dateien, gemessen am 2026-08-09, mit dem Paket in einer leeren net8.0-Konsolen-App.

Nichts verlässt Ihren Server

Standardmäßig öffnet keine Konvertierung einen Socket: Stylesheets werden nie abgerufen, und Remote-Bilder sind das einzige Opt-in. 40 Air-Gap-Tests prüfen das.

So funktioniert die Offline-Konvertierung
  • 0 Sockets standardmäßig
  • 40 Air-Gap-Tests
  • 1 Opt-in: Remote-Bilder

Fragen

Braucht es Office oder einen Browser?

Nein. DocToolkit ist reiner verwalteter Code: kein Browser, weder headless noch sonst, keine Word-Installation, kein LibreOffice und kein Office-Interop. HTML nach PDF läuft über ein Word-Dokument, das die Bibliothek selbst erstellt.

Läuft es unter Linux, macOS, arm64 und in Docker?

Ja. Die vollständige Testsuite läuft in der CI unter Linux, Windows, macOS und arm64. In Docker genügt ein einfaches .NET-Runtime-Image wie mcr.microsoft.com/dotnet/runtime:8.0, ohne etwas zu installieren; verwenden Sie runtime, nicht runtime-deps.

Welche .NET-Versionen unterstützt es?

Es zielt auf net8.0 und net10.0, die beiden LTS-Versionen. Eine net9.0-App verwendet den net8.0-Build. Einen netstandard2.0-Build gibt es nicht.

Unter welcher Lizenz steht es?

MIT. Seine 38 Abhängigkeiten sind 35 unter MIT, 2 unter Apache-2.0 und OfficeIMO.Core unter MIT, Apache-2.0 und BSD-3-Clause zugleich: keine Umsatzschwellen und keine Gebühren pro Arbeitsplatz.

Macht es Netzwerkaufrufe?

Standardmäßig nicht: Keine Konvertierung öffnet einen Socket, Stylesheets werden nicht abgerufen und Remote-Bilder werden verworfen. 40 Air-Gap-Tests prüfen das. Remote-Bilder sind das einzige Opt-in, pro Aufruf oder über DocToolkitOptions, mit einer Allow-List für Hosts und einer Sperre für Loopback- und private Adressen.

Was kann es nicht?

Es konvertiert die 12 Paare im Raster oben, dazu eine alte .ppt-Datei direkt nach PDF, und sonst nichts. Nichts konvertiert ein PDF in ein anderes Format (es liest PDF-Text und bearbeitet Seiten), nichts liest CSV, und eine alte .xls-Datei wird mit dem Hinweis abgelehnt, sie als .xlsx zu speichern. HTML nach PDF wendet weder Flexbox noch Grid noch Floats an.

Wie installiere ich es?

Führen Sie dotnet add package Ank.DocToolkit aus. Alles darin ist eine statische Klasse, daher gibt es nichts zu registrieren. Für Dependency Injection in ASP.NET Core fügen Sie zusätzlich Ank.DocToolkit.Extensions.DependencyInjection hinzu.