DOCX nach PDF in C# konvertieren
DocxToPdfConverter rendert ein Word-Dokument mit einem einzigen Aufruf als PDF, ohne Word, ohne LibreOffice und ohne Office-Interop. Es ist durchgehend verwalteter Code und läuft daher in einem Linux-Container und auf arm64 genauso wie auf einem Windows-Desktop.
using DocToolkit;
byte[] docx = File.ReadAllBytes("input.docx");
byte[] pdf = DocxToPdfConverter.Convert(docx);
File.WriteAllBytes("output.pdf", pdf);Was es braucht
- Keinen Browser, weder headless noch sonst.
- Keine Office-Installation und kein LibreOffice.
- Keine nativen Dateien: nur verwalteten Code.
- Kein Netzwerk zur Laufzeit, außer Sie verlangen es.
Gut zu wissen
- Synchron:
Convertnimmt die.docx-Datei alsbyte[]entgegen und gibt das PDF alsbyte[]zurück;ConvertFile(inputPath, outputPath)arbeitet von Pfad zu Pfad. - Ein verschlüsseltes DOCX wird mit einer
DocumentConversionExceptionabgelehnt; entfernen Sie zuerst das Passwort mitDocxEditor.Unprotect. - Nicht-lateinischer Text hängt von den Schriftarten ab, die der Host-Rechner hat. Übergeben Sie genügend Schriftarten in einem
PdfFontOptionsanConvert(docx, fonts): Diese ersetzen die Ersatzschriften des Hosts, statt sie zu ergänzen, daher sind zu wenige schlechter als keine. - Remote-Bilder im Dokument werden nicht abgerufen: Die Konvertierung gelingt ohne sie.