Layout-Treue
Paginierung, Kopf- und Fußzeilen, Spalten, Tabellen und eingebettete Bilder werden so angeordnet, wie Word es tun würde, weil die Ausgabe ein Seitenbild und keine HTML-Annäherung ist.
Office-Interop auf einem Webserver ist eine Entscheidung, die Teams in vorhersehbarem Tempo bereuen: Es benötigt eine Desktop-Lizenz, es lässt Prozesse lecken, es gerät bei Parallelität in Deadlocks, und Microsoft sagt seit Jahren, man solle es nicht tun. Doconut rendert DOC, DOCX, RTF und ODT nativ — kein Office, kein COM, kein verwaistes WINWORD.EXE um 4 Uhr morgens.
Das Problem
Office-Automatisierung wurde für einen Desktop mit angemeldetem Benutzer entwickelt, nicht für einen Dienst, der zwanzig gleichzeitige Anfragen verarbeitet. Unter Last gerät sie in Deadlocks, Dialoge erscheinen, die niemand schließen kann, und Prozesse überleben ihre Anfragen, bis die Box keinen Speicher mehr hat.
Die Lizenzsituation ist nicht besser: Ein Server, der Dokumente für viele Benutzer rendert, benötigt Desktop-Lizenzen, die er nie haben sollte.
Natives Rendering umgeht das alles. Doconut öffnet die Datei, legt sie layoutet und erzeugt Seitenbilder im Prozess. Es gibt keine zweite Anwendung, die installiert, überwacht oder lizenziert werden muss.
Funktionen
Paginierung, Kopf- und Fußzeilen, Spalten, Tabellen und eingebettete Bilder werden so angeordnet, wie Word es tun würde, weil die Ausgabe ein Seitenbild und keine HTML-Annäherung ist.
.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott und .xml werden alle über denselben Aufruf geöffnet.
Das Rendering verwendet Schriftarten, die auf Ihrem Server installiert sind, sodass das Aussehen des Dokuments eine Eigenschaft Ihrer Bereitstellung ist und nicht von dem jeweiligen Rechner, den der Leser verwendet.
Ein Seitenbild enthält keine nachverfolgten Änderungen, gelöschten Text, Kommentare oder Autor-Metadaten. Das Senden von Bildern anstelle des DOCX reduziert das, was ausläuft, erheblich.
Mit dem AdvancedSearch-Plugin funktioniert die Suche im Text des Dokuments, nicht in einem Bild davon.
Mit dem Converter-Plugin erzeugt DocumentConverter.ConvertAsync() PDF oder andere Ziele im selben Prozess — nützlich, wenn das Ziel Archivierung statt Ansicht ist.
Integration
Beachten Sie, dass .xml vom Word-Renderer und WordConfig verarbeitet wird. Es ist kein universeller XML-Viewer — er ist dort, weil das eigene XML-Format von Word in diese Pipeline gelangt.
Unterstützte Erweiterungen
// Identical to every other format — the family is detected from the document
string token = await viewer.OpenDocumentAsync("wwwroot/files/Agreement.docx");
// With the Converter plugin, when the requirement is a PDF for the archive
await DocumentConverter.ConvertAsync(
"wwwroot/files/Agreement.docx",
"wwwroot/archive/Agreement.pdf");Details
Nein. Das Rendering ist nativ. Es gibt keine Office-Installation, keine Interop-Assembly und keinen zu überwachenden Automatisierungsprozess.
Paginierung und Layout werden serverseitig reproduziert, sodass das Ergebnis eng übereinstimmt, vorausgesetzt, die im Dokument referenzierten Schriftarten sind auf dem Render-Host installiert. Fehlende Schriftarten werden substituiert, und die Substitution ist das, was ein Layout verschiebt.
Die gerenderte Seite zeigt das Dokument wie angeordnet, nicht die Revisions-Metadaten dahinter. Wenn überhaupt, ist das ein Feature — Gutachter leiten routinemäßig DOCX-Dateien weiter, die gelöschten Text enthalten, von dem sie dachten, er sei weg.
Excel
Serverseitiges Rendern von XLS/XLSX/ODS/CSV mit erhaltenem Format und ausgeblendeten Blättern im Hintergrund.
ExcelServerseitiges PDF-Rendering zu Seitenbildern – der Benutzer liest das Dokument, ohne jemals die Datei zu erhalten.
PDFEine temporäre Lizenz lässt sich in wenigen Minuten anfordern und läuft vollständig auf Ihrem eigenen Rechner. Die wichtigen Dateien sind bereits die, die Ihren aktuellen Viewer zum Absturz bringen.