Budete mít samostatně hostovaný, bleskově rychlý prohlížeč dokumentů běžící ve vaší .NET aplikaci
Do konce tohoto průvodce budete moci otevírat PDF, soubory Office, CAD výkresy a desítky dalších formátů přímo v prohlížeči, s načítáním pod sekundu, bez externích SaaS volání a s plnou kontrolou nad zabezpečením.
Předpoklady
| Co potřebujete | Proč je to důležité |
|---|---|
| .NET 6 nebo novější (SDK cílí na .NET 6+) | Zaručuje kompatibilitu s Online Document Viewer SDK |
| Windows nebo Linux server, na kterém můžete spustit svou aplikaci (lokálně nebo v soukromém cloudu) | Samostatné hostování vyžaduje, aby prohlížeč běžel ve vaší vlastní infrastruktuře |
| Přístup k NuGet kanálu Online Document Viewer (https://doconut.com) | SDK je distribuováno jako NuGet balíček |
| Základní znalost ASP.NET Core a front‑end JavaScriptu | Vystavíte endpoint, který vrátí podepsanou URL a poté spustíte prohlížeč z prohlížeče |
| Úložiště pro zdrojové soubory (souborový systém, blob storage, atd.) | Prohlížeč renderuje soubory z lokální nebo síťové cesty; zdroj musí být přístupný procesu serveru |
Chybějící jakákoli z těchto položek způsobí, že sestavení se zastaví ještě před spuštěním první řádky kódu.
Nainstalujte SDK Online Document Viewer
Otevřete své řešení ve Visual Studiu nebo ve svém preferovaném IDE a přidejte oficiální SDK pomocí správce NuGet:
dotnet add package Doconut.NET8
Balíček obsahuje renderovací engine, konvertory formátů a tenkou HTTP vrstvu, která slouží vygenerované stránky. Protože je SDK zkompilováno do vaší aplikace, během běhu není kontaktována žádná externí služba.
Po obnovení balíčku zaregistrujte služby SDK v Program.cs (nebo Startup.cs pro starší šablony). Registrace vloží renderovací pipeline do DI kontejneru ASP.NET Core, čímž ji zpřístupní vašim kontrolerům.
Nakonfigurujte renderovací pipeline pro požadované formáty
Prohlížeč podporuje více než 50 formátů ihned po instalaci, včetně:
- 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
Když přijde požadavek, SDK určí typ souboru a vybere vhodný konvertor. Pro nejlepší výkon povolte vestavěnou vrstvu cache, která ukládá renderovanou stránku do paměti po dobu požadavku; to je to, co poskytuje zážitek „Bleskově rychlé – okamžité renderování dokumentu s optimalizovaným výkonem a načítáním pod sekundu“.
Ve vašem kontroleru zavolejte renderovací metodu SDK (např. RenderAsync) a předáte absolutní cestu ke zdrojovému souboru. Metoda vrátí HTML fragment, který obsahuje prohlížeč založený na canvasu. Protože renderování probíhá na serveru, klient obdrží pouze připravený markup, což eliminuje těžké zpracování na straně klienta.
Zabezpečte prohlížeč pomocí token‑založených URL a volitelných omezení
Suverenita dat a soulad s GDPR jsou běžné obavy u lokálních nasazení. SDK se integruje s autentizačním systémem ASP.NET Core, což vám umožní generovat podepsaný token, který poskytuje jednorázový přístup ke konkrétnímu dokumentu.
Typický průběh:
- Front‑end požádá vaše API o token pro náhled a předá identifikátor dokumentu.
- Vaše API ověří oprávnění uživatele, vytvoří token ve stylu JWT, který kóduje cestu k souboru a čas expirace, a token vrátí.
- Front‑end připojí token k URL prohlížeče (např.
/viewer?token=…). SDK token při každém požadavku ověří a odmítne jakýkoli pozměněný nebo prošlý token.
Pokud potřebujete zabránit uživatelům ve stahování nebo tisku dokumentu, nakonfigurujte renderovací možnosti poskytované SDK tak, aby tyto akce zakázaly. JavaScriptová vrstva prohlížeče pak skryje tlačítko pro stažení, potlačí zkratku pro tisk a zablokuje kontextové menu pravým tlačítkem.
Ověřte, že vše funguje
- Přejděte na stránku, která hostuje prohlížeč.
- Dokument by se měl objevit během jedné sekundy, s posuvníky, ovládáním zoomu a vyhledávacím polem.
- Pokud jste nakonfigurovali prohlížeč tak, aby zakázal stahování, tlačítko „Stáhnout“ by mělo být skryté.
- Kliknutí pravým tlačítkem na dokument by nemělo otevřít kontextové menu prohlížeče, pokud je toto omezení povoleno.
- Po expiraci tokenu (výchozí je 5 minut) by obnovení stránky mělo vrátit chybu „401 Neautorizováno“, což potvrzuje, že validace tokenu je aktivní.
Pokud některá z těchto kontrol selže, vraťte se k příslušnému kroku: chybějící registrace SDK, nesprávná generace tokenu nebo vynechané bezpečnostní příznaky.
