Wierność układu
Stronicowanie, nagłówki i stopki, kolumny, tabele oraz osadzone obrazy są układane tak, jak w Wordzie, ponieważ wynik to obraz strony, a nie przybliżenie HTML.
Interop Office na serwerze www to decyzja, której zespoły żałują w przewidywalnym tempie: wymaga licencji desktopowej, wycieka procesy, blokuje się przy współbieżności, a Microsoft od lat odradza takie działanie. Doconut renderuje DOC, DOCX, RTF i ODT natywnie — bez Office, bez COM, bez porzuconego WINWORD.EXE o 4 nad ranem.
Problem
Automatyzacja Office została zaprojektowana dla komputera stacjonarnego z zalogowanym użytkownikiem, a nie dla usługi obsługującej dwadzieścia równoczesnych żądań. Pod obciążeniem blokuje się, pojawiają się okna dialogowe, których nikt nie może zamknąć, a procesy przetrwają swoje żądania, aż serwer wyczerpie pamięć.
Historia licencjonowania nie jest lepsza: serwer renderujący dokumenty dla wielu użytkowników potrzebuje licencji desktopowych, na które nigdy nie był przeznaczony.
Natywne renderowanie omija to wszystko. Doconut otwiera plik, układa go i wytwarza obrazy stron w tym samym procesie. Nie ma drugiej aplikacji do instalacji, nadzoru ani licencjonowania.
Możliwości
Stronicowanie, nagłówki i stopki, kolumny, tabele oraz osadzone obrazy są układane tak, jak w Wordzie, ponieważ wynik to obraz strony, a nie przybliżenie HTML.
.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott i .xml otwierają się tym samym wywołaniem.
Renderowanie używa czcionek zainstalowanych na twoim serwerze, więc wygląd dokumentu jest właściwością twojej implementacji, a nie maszyny, z której korzysta czytelnik.
Obraz strony nie zawiera zmian śledzonych, usuniętego tekstu, komentarzy ani metadanych autora. Wysyłanie obrazów zamiast DOCX znacząco zmniejsza wycieki informacji.
Dzięki wtyczce AdvancedSearch, wyszukiwanie działa na tekście dokumentu, a nie na jego obrazie.
Dzięki wtyczce Converter, DocumentConverter.ConvertAsync() tworzy PDF lub inne formaty w tym samym procesie — przydatne, gdy wymóg to archiwizacja, a nie podgląd.
Integracja
Uwaga: .xml jest obsługiwany przez renderer Word i WordConfig. Nie jest to uniwersalna przeglądarka XML — jest tam, ponieważ własny format XML Worda trafia do tego potoku.
Obsługiwane rozszerzenia
// 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");Szczegóły
Nie. Renderowanie jest natywne. Nie ma instalacji Office, nie ma zestawu interop i nie ma procesu automatyzacji do nadzorowania.
Stronicowanie i układ są odtwarzane po stronie serwera, więc wynik jest bardzo zbliżony, pod warunkiem że czcionki, do których odwołuje się dokument, są zainstalowane na hoście renderującym. Brakujące czcionki są podstawiane, a podstawienie powoduje zmianę układu.
Renderowana strona pokazuje dokument tak, jak jest ułożony, a nie metadane wersji. Jeśli już, to jest to funkcja — recenzenci często przesyłają pliki DOCX zawierające usunięty tekst, który uważali za zniknięty.
Excel
Renderowanie po stronie serwera plików XLS/XLSX/ODS/CSV z zachowanym formatowaniem i pominiętymi ukrytymi arkuszami.
ExcelRenderowanie PDF po stronie serwera na obrazy stron — użytkownik czyta dokument, nigdy nie otrzymując pliku.
PDFTymczasowa licencja wymaga kilku minut na zamówienie i działa w pełni na Twoim komputerze. Najważniejsze pliki to te, które już psują Twój obecny podgląd.