Fedeltà del layout
Paginazione, intestazioni e piè di pagina, colonne, tabelle e immagini incorporate sono impaginate come farebbe Word, perché l'output è un'immagine di pagina anziché un'approssimazione HTML.
L'interoperabilità Office su un server web è una decisione di cui i team si pentono a un ritmo prevedibile: richiede una licenza desktop, provoca perdite di processi, genera deadlock sotto concorrenza, e Microsoft ha detto per anni di non farlo. Doconut rende DOC, DOCX, RTF e ODT in modo nativo — nessun Office, nessun COM, nessun WINWORD.EXE orfano alle 4 del mattino.
Il problema
L'automazione Office è stata progettata per un desktop con un utente connesso, non per un servizio che gestisce venti richieste concorrenti. Sotto carico genera deadlock, appaiono finestre di dialogo che nessuno può chiudere e i processi sopravvivono alle loro richieste finché il server esaurisce la memoria.
La questione delle licenze non è migliore: un server che rende documenti per molti utenti necessita di licenze desktop che non era mai destinato a richiedere.
Il rendering nativo aggira tutto ciò. Doconut apre il file, lo impagina e produce immagini di pagina in-processo. Non c'è una seconda applicazione da installare, supervisionare o licenziare.
Funzionalità
Paginazione, intestazioni e piè di pagina, colonne, tabelle e immagini incorporate sono impaginate come farebbe Word, perché l'output è un'immagine di pagina anziché un'approssimazione HTML.
.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott e .xml si aprono tutti tramite la stessa chiamata.
Il rendering utilizza i font installati sul tuo server, quindi l'aspetto del documento è una proprietà della tua distribuzione piuttosto che della macchina che il lettore sta usando.
Un'immagine di pagina non contiene modifiche tracciate, testo cancellato, commenti o metadati dell'autore. Inviare immagini invece del DOCX è una riduzione significativa di ciò che trapela.
Con il plugin AdvancedSearch, la ricerca avviene sul testo del documento, non su un'immagine di esso.
Con il plugin Converter, DocumentConverter.ConvertAsync() produce PDF o altri formati nello stesso processo — utile quando il requisito è l'archiviazione piuttosto che la visualizzazione.
Integrazione
Nota che .xml è gestito dal renderer Word e da WordConfig. Non è un visualizzatore XML generico — è presente perché il formato XML di Word finisce in quella pipeline.
Estensioni supportate
// 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");Dettagli
No. Il rendering è nativo. Non c'è installazione di Office, nessun assembly di interop e nessun processo di automazione da supervisionare.
La paginazione e il layout sono riprodotti lato server, quindi il risultato corrisponde da vicino a condizione che i font a cui il documento fa riferimento siano installati sull'host di rendering. I font mancanti vengono sostituiti, e la sostituzione è ciò che modifica il layout.
La pagina renderizzata mostra il documento così come impaginato, non i metadati di revisione dietro di esso. Se vogliamo, è una funzionalità — i revisori inoltrano regolarmente file DOCX contenenti testo cancellato che pensavano fosse sparito.
Excel
Rendering lato server di XLS/XLSX/ODS/CSV con formattazione preservata e fogli nascosti lasciati indietro.
ExcelRendering PDF lato server in immagini di pagina — l'utente legge il documento senza mai ricevere il file.
PDFUna licenza temporanea richiede pochi minuti per essere richiesta e funziona interamente sul tuo computer. I file che contano sono quelli che già interrompono il tuo visualizzatore corrente.