Będziesz mieć samodzielnie hostowaną, błyskawicznie szybką przeglądarkę dokumentów działającą w Twojej aplikacji .NET
Po zakończeniu tego przewodnika będziesz mógł otwierać pliki PDF, Office, rysunki CAD i dziesiątki innych formatów bezpośrednio w przeglądarce, z czasem ładowania poniżej sekundy, bez zewnętrznych wywołań SaaS i pełną kontrolą nad bezpieczeństwem.
Wymagania wstępne
| Czego potrzebujesz | Dlaczego jest to ważne |
|---|---|
| .NET 6 lub nowszy (SDK celuje w .NET 6+) | Gwarantuje kompatybilność z SDK Online Document Viewer |
| Serwer Windows lub Linux, na którym możesz uruchomić swoją aplikację (on‑premise lub prywatna chmura) | Samodzielny hosting wymaga, aby przeglądarka działała w Twojej własnej infrastrukturze |
| Dostęp do kanału NuGet Online Document Viewer (https://doconut.com) | SDK jest dystrybuowany jako pakiet NuGet |
| Podstawowa znajomość ASP.NET Core i JavaScript po stronie klienta | Udostępnisz punkt końcowy zwracający podpisany URL, a następnie uruchomisz przeglądarkę z przeglądarki |
| Lokalizacja przechowywania plików źródłowych (system plików, storage blob itp.) | Przeglądarka renderuje pliki z lokalnej lub sieciowej ścieżki; źródło musi być dostępne dla procesu serwera |
Brak któregokolwiek z tych elementów spowoduje zatrzymanie budowania przed uruchomieniem pierwszej linii kodu.
Zainstaluj SDK Online Document Viewer
Otwórz rozwiązanie w Visual Studio lub wybranym IDE i dodaj oficjalne SDK za pomocą menedżera NuGet:
dotnet add package Doconut.NET8
Pakiet zawiera silnik renderujący, konwertery formatów oraz lekką warstwę HTTP, która serwuje wygenerowane strony. Ponieważ SDK jest kompilowane do Twojej aplikacji, w czasie działania nie jest kontaktowane żadne zewnętrzne usługi.
Po przywróceniu pakietu zarejestruj usługi SDK w Program.cs (lub Startup.cs dla starszych szablonów). Rejestracja wstrzykuje pipeline renderujący do kontenera DI ASP.NET Core, udostępniając go Twoim kontrolerom.
Skonfiguruj pipeline renderujący dla wymaganych formatów
Przeglądarka obsługuje ponad 50 formatów od razu, w tym:
- PDF, DOC, DOCX, ODT, RTF
- XLS, XLSX, CSV, ODS
- PPT, PPTX, ODP
- DWG, DXF, DGN (CAD)
- PSD, SVG, TIFF, WEBP, ICO
- EML, MSG, EPUB, MOBI, MPP, VSD
Gdy przychodzi żądanie, SDK określa typ pliku i wybiera odpowiedni konwerter. Dla najlepszej wydajności włącz wbudowaną warstwę buforowania, która przechowuje renderowaną stronę w pamięci przez czas trwania żądania; to ona zapewnia doświadczenie „Błyskawicznie szybkie – natychmiastowe renderowanie dokumentu z zoptymalizowaną wydajnością i ładowaniem poniżej sekundy”.
W kontrolerze wywołaj metodę renderującą SDK (np. RenderAsync) i przekaż absolutną ścieżkę do pliku źródłowego. Metoda zwraca fragment HTML zawierający przeglądarkę opartą na elemencie canvas. Ponieważ renderowanie odbywa się na serwerze, klient otrzymuje jedynie gotowy do wyświetlenia markup, co eliminuje ciężkie przetwarzanie po stronie klienta.
Zabezpiecz przeglądarkę przy użyciu URL-i opartych na tokenach i opcjonalnych ograniczeń
Suwerenność danych i zgodność z RODO są powszechnymi kwestiami przy wdrożeniach on‑premise. SDK integruje się z systemem uwierzytelniania ASP.NET Core, umożliwiając generowanie podpisanego tokenu, który przyznaje jednorazowy dostęp do konkretnego dokumentu.
Typowy przebieg:
- Front‑end pyta Twoje API o token podglądu, podając identyfikator dokumentu.
- Twoje API weryfikuje uprawnienia użytkownika, tworzy token w stylu JWT, który koduje ścieżkę pliku i znacznik czasu wygaśnięcia, i zwraca token.
- Front‑end dołącza token do URL przeglądarki (np.
/viewer?token=…). SDK weryfikuje token przy każdym żądaniu i odrzuca wszelkie zmodyfikowane lub wygasłe tokeny.
Jeśli musisz uniemożliwić użytkownikom pobieranie lub drukowanie dokumentu, skonfiguruj opcje renderowania udostępnione przez SDK, aby wyłączyć te akcje. Warstwa JavaScript przeglądarki wtedy ukryje przycisk pobierania, wyłączy skrót drukowania i zablokuje menu kontekstowe po kliknięciu prawym przyciskiem.
Zweryfikuj, że wszystko działa
- Przejdź do strony, która hostuje przeglądarkę.
- Dokument powinien pojawić się w ciągu sekundy, z paskami przewijania, kontrolkami zoom i polem wyszukiwania.
- Jeśli skonfigurowałeś przeglądarkę tak, aby wyłączyć pobieranie, przycisk „Download” powinien być ukryty.
- Kliknięcie prawym przyciskiem myszy na dokumencie nie powinno otwierać menu kontekstowego przeglądarki, gdy to ograniczenie jest włączone.
- Po wygaśnięciu tokenu (domyślnie po 5 minutach) odświeżenie strony powinno zwrócić błąd „401 Unauthorized”, potwierdzając, że weryfikacja tokenu jest aktywna.
Jeśli którykolwiek z tych testów nie powiedzie się, wróć do odpowiedniego kroku: brak rejestracji SDK, nieprawidłowe generowanie tokenu lub pominięte flagi bezpieczeństwa.
