Samouczek krok po kroku: Programiści osadzający bezpieczny, wolny od wtyczek podgląd dokumentów w aplikacjach ASP.NET Core, MVC lub WebForms
24.07.2026

Samouczek krok po kroku: Programiści osadzający bezpieczny, wolny od wtyczek podgląd dokumentów w aplikacjach ASP.NET Core, MVC lub WebForms

Jak osadzić SDK Doconut Viewer w ASP.NET Core, MVC lub WebForms: 75 formatów plików, konwersja DOC do PDF oraz skąd naprawdę pochodzi bezpieczeństwo.

Wielu programistów zaczyna od poszukiwania bibliotek komponentów UI, gdy potrzebują wyświetlać dokumenty w aplikacji internetowej. Doconut Viewer to SDK .NET umożliwiające dodanie przeglądania w przeglądarce bez wtyczek do projektów ASP.NET Core, MVC lub klasycznych WebForms. Bezpieczeństwo nadal zależy od pełnej architektury aplikacji: uwierzytelniania, autoryzacji, transportu, przechowywania, walidacji, czyszczenia, aktualizacji i monitorowania.

Bezpieczna przeglądarka dokumentów ASP.NET chroniona przez warstwowe kontrole aplikacji
Bezpieczna przeglądarka dokumentów ASP.NET chroniona przez warstwowe kontrole aplikacji

1. Zainstaluj SDK Doconut App i przygotuj swój projekt .NET do obsługi wielu formatów plików

1.1 Dodaj obsługiwany pakiet

Użyj aktualnego pakietu oraz instrukcji instalacji ze strony oficjalnej strona pobierania Doconut. Zanotuj wybraną wersję i zweryfikuj, że obsługuje docelowy runtime .NET.

1.2 Zweryfikuj odwołanie do pakietu

Po instalacji potwierdź odwołanie do pakietu oraz rozpoznaną wersję w pliku projektu. Utrzymywanie wersji w sposób jawny pomaga uczynić kompilacje i wdrożenia powtarzalnymi.

1.3 Włącz HTTPS

Udostępniaj aplikację przez HTTPS, aby przesyłane dokumenty nie podróżowały w postaci niezaszyfrowanej w Twojej sieci. Dla aplikacji hostowanej w Kestrel dodaj konfigurację punktu końcowego w appsettings.json:

 {
   "Kestrel": {
     "Endpoints": {
       "Https": {
         "Url": "
       }
     }
   }
 }

Jeśli hostujesz na IIS, przypisz certyfikat HTTPS do witryny. Po włączeniu HTTPS plik przemieszcza się przez bezpieczny kanał w drodze do Twojego własnego serwera, gdzie SDK go renderuje.

Skąd pochodzi bezpieczeństwo. SDK działa wewnątrz Twojej aplikacji, na Twojej infrastrukturze: nie wykonuje żadnych połączeń z serwerami Doconut, więc dokumenty nigdy nie opuszczają Twojej sieci. To cecha, wokół której warto projektować. Nie jest to certyfikat zgodności — SDK nie posiada własnych atestacji ISO 27001, SOC 2 ani HIPAA i nie może ich przyznać Twojej aplikacji. To, co robi, to utrzymanie pliku w granicach, które już kontrolujesz i audytujesz.


2. Skonfiguruj bezpieczne przesyłanie plików i przechowywanie dla zarządzania dokumentami

To jest część, która należy do Ciebie, a nie do SDK, i warto to jasno powiedzieć: bezpieczeństwo transportu, szyfrowanie w spoczynku, retencja i czyszczenie to decyzje podejmowane przez Twoją aplikację. SDK renderuje dokumenty; nie jest warstwą przechowywania i nie szyfruje Twojego dysku.

2.1 Zarejestruj usługi

W Startup.cs (lub Program.cs w nowoczesnym .NET) zarejestruj usługi Doconut w kontenerze wstrzykiwania zależności zgodnie z dokumentacją wersji, którą zainstalowałeś. Tam, gdzie SDK potrzebuje folderu roboczego do tymczasowego renderowania, wskaż miejsce, które kontrolujesz, i potraktuj czyszczenie tego folderu jako swoją odpowiedzialność — zaplanowane zadanie lub cykl życia zarządzany przez aplikację, a nie domyślną praktykę.

2.2 Utwórz punkt końcowy przesyłania

Zaimplementuj akcję kontrolera, która odbiera przesłany plik, zapisuje go w dowolnym magazynie używanym już przez Twoją aplikację i zwraca krótki jednorazowy token. Token jest tym, czego użyje przeglądarka po stronie klienta, aby pobrać i wyrenderować dokument. Pamiętaj, że przechowywanie leży po Twojej stronie: przekazujesz SDK bajty lub ścieżkę w momencie renderowania, a ono zwraca Ci strony.

2.3 Zabezpiecz punkt końcowy

Ponieważ punkt końcowy przesyłania obsługuje wrażliwe dane, zabezpiecz go przy użyciu uwierzytelniania i autoryzacji opartej na rolach (na przykład, tylko użytkownicy z rolą DocumentViewer mogą przesyłać). Waliduj rozszerzenie i rozmiar po stronie serwera oraz w przeglądarce i traktuj przesłane bajty jako niepewne dane wejściowe.

Nie pomijaj tego zakładając, że SDK to obejmuje. Szyfrowanie w spoczynku, zarządzanie kluczami i czyszczenie osieroconych plików to zadania Twojej aplikacji. Jeśli potrzebujesz dokumentów zaszyfrowanych na dysku, użyj już zaufanych mechanizmów platformy — przeglądarka nie jest miejscem, w którym to powinno się odbywać.

3. Osadzenie komponentu przeglądarki w ASP.NET Core, MVC lub WebForms

Po przygotowaniu backendu, zainicjalizuj przeglądarkę, używając zasobów i API udokumentowanych dla zainstalowanej wersji Doconut.

3.1 Dodaj pakiet JavaScript

W swoim wspólnym układzie (layout), dołącz tylko zasoby przeglądarki opisane w dokumentacji pasującej do zainstalowanego SDK. Nie zakładaj stałych nazw pakietów ani lokalizacji w różnych wersjach.

3.2 Utwórz widok Razor dla Core/MVC

Dodaj widok (np. Views/Document/View.cshtml), który zawiera pole wyboru pliku, element kontenera dla przeglądarki oraz mały skrypt, który przesyła wybrany plik, otrzymuje bezpieczny token i inicjalizuje widget Doconut Viewer.

Skrypt powinien:

  1. Pobierz wybrany plik z elementu <input type="file">.
  2. Wyślij plik do punktu końcowego uploadu używając fetch lub XMLHttpRequest.
  3. Gdy otrzymasz autoryzowaną odpowiedź, zainicjalizuj przeglądarkę przy użyciu obsługiwanego API dla zainstalowanej wersji.

3.3 Odpowiednik dla WebForms

W stronie WebForms (np. DocumentViewer.aspx), umieść kontrolkę asp:FileUpload, przycisk uruchamiający przesyłanie oraz element <div>, który będzie hostował przeglądarkę. W kodzie zaplecza wywołaj usługę Doconut, aby przechować przesłany plik, uzyskać token i zarejestrować skrypt startowy, który wywołuje funkcję JavaScript (initViewer(token)) tworzącą instancję przeglądarki.

Powód, dla którego warto to zrobić w ten sposób: jedna ścieżka renderowania obsługująca trzy modele UI .NET, bez żadnego oprogramowania instalowanego na komputerze końcowego użytkownika.


4. Dostosowanie przeglądarki do zarządzania dokumentami

Przeglądarka renderuje się wewnątrz kontenera na Twojej własnej stronie, więc otaczająca aplikacja jest już Twoja. Poza tym, pobieraj nazwy opcji i wartości domyślne z dokumentacji dla zainstalowanej wersji, a nie z żadnego tutorialu, w tym tego — interfejs konfiguracyjny zmienia się pomiędzy wydaniami i sztywno zakodowana nazwa opcji jest najprawdopodobniej tym, co przestanie działać po aktualizacji.

Kwestie warte rozważenia z góry:

4.1 Jakie kontrolki otrzyma użytkownik

Zdecyduj, czy Twoi użytkownicy powinni mieć możliwość pobrania oryginalnego pliku, czy tylko przeglądania wyrenderowanych stron. Kontrolowane drukowanie jest częścią przeglądarki, a nie oddzielnym zakupem, więc zasady drukowania to kwestia konfiguracji, a nie licencjonowania.

4.2 Które wtyczki naprawdę potrzebujesz

Cztery z nich są licencjonowane oddzielnie, a lista jest na tyle krótka, że warto ją zapamiętać: Annotation, Converter, DICOM i Search. Konwersja — DOC do PDF i inne — to wtyczka Converter. Wyszukiwanie tekstu to wtyczka Search. Jeśli nie potrzebujesz żadnej z nich, nie kupuj żadnej.

4.3 Lokalizacja

Jeśli Twoja aplikacja jest wielojęzyczna, sprawdź, jakie ciągi interfejsu przeglądarki oferuje zainstalowana wersja, zanim zaczniesz projektować wokół nich.

Dlaczego to ważne: przeglądarka powinna wyglądać jak część Twojego produktu. Nie powinna natomiast cicho obiecywać użytkownikom funkcji, które nie są zawarte w zakupionej licencji.


5. Testowanie integracji we wszystkich obsługiwanych formatach

Przed uruchomieniem produkcyjnym, przeprowadź szybki test poprawności dla każdego typu pliku, który spodziewasz się, że użytkownicy będą przeglądać. Korzystając z przeglądarki Doconut App, otwórz przykładowy plik każdego formatu i zweryfikuj, że renderowanie, nawigacja i wszelkie specjalistyczne narzędzia działają zgodnie z opisem.

FormatScenariusz testowyOczekiwany wynik
PDFDuży, wielostronicowy raport z osadzonymi obrazamiPłynne przewijanie, zoom i dokładne odwzorowanie kolorów
DOCXDokument Word z tabelami i przypisamiWszystkie teksty, tabele i przypisy widoczne; brak przesunięć układu
XLSXArkusz kalkulacyjny z wykresamiWykresy renderują się jako grafika wektorowa; przy powiększeniu zachowują ostrość
PPTXPrezentacja ze slajdami z animowanymi budowamiKażda budowa na slajdzie renderuje się ułożona w jednej klatce — to jest oczekiwane, a nie błąd
DWGRysunek techniczny z warstwami i odwołaniami zewnętrznymiPrzełączanie warstw, pomiar odległości i powierzchni działa; odwołania zewnętrzne i czcionki SHX są nieobecne, ponieważ nigdy nie były w pliku
PSDPlik Photoshop z warstwamiZapisany kompozyt renderuje się, ukryte warstwy pozostają ukryte; kolory zachowują ostrość przy powiększeniu
SVGGrafika wektorowa z gradientamiGradienty renderują się płynnie; przy powiększeniu zachowują ostrość
TIFFSkan wysokiej rozdzielczościObraz ładuje się szybko; przy powiększeniu ujawnia szczegóły

Testuj rzeczywistymi plikami użytkowników, a nie czystymi przykładami. Formatami, które zaskakują ludzi, są te, których dziwactwa leżą w samym formacie — DWG odwołujący się do czterech innych rysunków, arkusz kalkulacyjny, którego zapisane wartości nigdy nie zostały przeliczone, prezentacja, w której czcionki nie zostały osadzone. Darmowa przeglądarka pod adresem Doconut.app korzysta z tego samego silnika, więc jest szybkim sposobem, aby zobaczyć, jak konkretny trudny plik zostanie wyświetlony przed napisaniem jakiegokolwiek kodu.

Conclusion

Umieszczenie przeglądarki dokumentów bez wtyczek sprowadza się do czterech rzeczy: zainstalowania SDK, zabezpieczenia własnej ścieżki przesyłania, renderowania w kontenerze na stronie oraz skonfigurowania jedynie tego, co dokumentuje zainstalowana wersja. Wkład przeglądarki w bezpieczeństwo jest wąski i rzeczywisty — działa na Twoich serwerach i nie wysyła nic na zewnątrz. Wszystko pozostałe na tej liście należy do Twojej aplikacji i żadne SDK nie może tego przejąć za Ciebie.

Gotowy, aby to ocenić? Zacznij od oficjalna strona pobierania i dokumentacji Doconut, a następnie przetestuj SDK w ramach tej samej oceny bezpieczeństwa stosowanej do reszty Twojej aplikacji ASP.NET działającej na Windows.