C
7/10/2026

Come incorporare un visualizzatore di documenti senza plugin in ASP.NET

Una guida passo‑passo per gli ingegneri .NET che devono incorporare il visualizzatore sicuro e senza plugin di Doconut App in progetti ASP.NET Core, MVC o WebForms.

Sì—puoi incorporare un visualizzatore di file online sicuro e senza plugin in qualsiasi applicazione ASP.NET Core, MVC o WebForms in pochi minuti, e Doconut App si occupa di tutto il lavoro pesante.
Le aziende che forniscono contratti, disegni o asset di progettazione hanno bisogno di un visualizzatore che rispetti le politiche di sicurezza aziendali, funzioni su tutti i browser e non richieda mai agli utenti di installare plugin di terze parti. Doconut App offre esattamente questo: un visualizzatore basato sul browser che supporta PDF, Office, CAD e oltre 50 altri formati, con crittografia AES‑256, upload solo via SSL e un’interfaccia completamente personalizzabile. Questo post ti guida attraverso l’intero flusso di lavoro—dalla protezione dell’upload del file al rendering del visualizzatore—così potrai distribuire una soluzione enterprise pronta all’uso senza scrivere un motore di rendering da zero.


1. Perché sicurezza e rendering senza plugin sono importanti per le app web .NET

Le imprese moderne trattano ogni documento come una potenziale perdita di dati. Quando incorpori un visualizzatore che si basa su ActiveX, Flash o un client nativo, erediti tre rischi:

RischioImpatto sulla tua applicazione .NETCome Doconut App lo elimina
Dipendenza da pluginGli utenti devono installare o abilitare un plugin del browser, generando ticket di supporto e problemi di conformità.Doconut funziona interamente in HTML5/Canvas, richiedendo zero plugin.
Trasferimento non crittografatoI file viaggiano su HTTP o sono memorizzati in chiaro, violando GDPR, HIPAA o le policy interne.Tutti gli upload avvengono tramite SSL e sono archiviati con crittografia AES‑256.
Ciclo di vita non controllatoI file possono rimanere sul server, aumentando la superficie di attacco.Doconut elimina automaticamente i file dopo la visualizzazione, garantendo una finestra di conservazione breve.

Poiché il visualizzatore è fornito come componente JavaScript che comunica con il servizio di rendering sicuro di Doconut, mantieni lo stack .NET pulito—nessuna libreria nativa aggiuntiva, nessun binario di terze parti e nessuna verifica di conformità extra.


2. Preparare il tuo progetto .NET – configurazione minima per ASP.NET Core, MVC e WebForms

Indipendentemente dal fatto che tu stia usando ASP.NET Core, MVC 5 o WebForms, i passaggi di preparazione sono identici:

  1. Aggiungi il bundle script di Doconut
    Doconut ospita uno script visualizzatore leggero sul suo CDN. Aggiungi la riga seguente alla tua pagina di layout (ad es., _Layout.cshtml o Site.Master):

    <script src="https://doconut.app/viewer.min.js"></script>
    
  2. Crea un elemento placeholder
    Il visualizzatore inserisce un canvas in qualsiasi <div> tu designi. Esempio per Razor:

    <div id="docViewer" style="width:100%; height:800px;"></div>
    

    Per WebForms, inserisci un <asp:Panel> con runat="server" e assegnagli ID="docViewer".

  3. Riferisci il CSS di Doconut (opzionale)
    Se desideri la barra degli strumenti e il tema predefiniti, includi il file CSS:

    <link rel="stylesheet" href="https://doconut.app/viewer.min.css" />
    

Questo è tutto ciò di cui hai bisogno per gli asset statici. Il resto del lavoro avviene nel codice lato server (upload, crittografia, generazione token) e in un piccolo script di inizializzazione client‑side.


3. Creare un endpoint di upload sicuro – AES‑256, SSL e cancellazione automatica

Il visualizzatore non accede mai ai file direttamente sul tuo file system. Invece, carichi il documento in una posizione di archiviazione temporanea e crittografata che Doconut legge su richiesta. Di seguito trovi una descrizione ad alto livello dei passaggi richiesti per ASP.NET Core; gli stessi concetti valgono per MVC e WebForms.

Flusso di lavoro lato server

  1. Accetta il file caricato – Usa lo standard IFormFile (o HttpPostedFile in WebForms) per ricevere il documento dal client.
  2. Crittografa il file con AES‑256 – Prima di persistere lo stream, crittografilo usando una libreria collaudata come System.Security.Cryptography.Aes. Salva il blob crittografato in una posizione sicura (ad es., Azure Blob Storage con crittografia lato server attiva, o un bucket S3 con SSE‑AES256).
  3. Genera un URL firmato a breve durata – Crea un URL valido per pochi minuti (ad es., 5 minuti). L’URL deve essere HTTPS e includere un token crittografico che Doconut può validare. La maggior parte dei provider cloud offre una funzionalità di “pre‑signed URL” che soddisfa questa esigenza.
  4. Restituisci l’URL firmato al client – Invia una risposta JSON contenente l’URL. Il client lo passerà al visualizzatore Doconut.
  5. Programma l’autocancellazione – Dopo la scadenza dell’URL firmato, un job in background (Hangfire, Azure Functions, ecc.) rimuove il blob crittografato, garantendo che il file non rimanga sul server.

Equivalenti MVC / WebForms

  • MVC – Inserisci la stessa logica in un’azione di controller regolare e restituisci JsonResult.
  • WebForms – Implementa un handler .ashx o un metodo di pagina che segua gli stessi passaggi: ricevi Request.Files[0], crittografa, genera un URL pre‑firmato e scrivi la risposta JSON.

L’unica differenza è la sintassi di routing; il flusso di sicurezza rimane identico.


4. Renderizzare il visualizzatore Doconut – dall’URL al canvas nel browser

Una volta che il client riceve l’URL firmato, il visualizzatore può essere avviato con una singola chiamata JavaScript. L’Sdk di Doconut gestisce automaticamente lo streaming, il rendering e le interazioni UI.

<script>
    // Supponiamo che `response.viewerUrl` contenga l'URL firmato restituito dall'endpoint di upload
    function launchViewer(viewerUrl) {
        // Inizializza il visualizzatore Doconut. L'oggetto globale fornito dallo script è `DoconutViewer`.
        DoconutViewer.init({
            containerId: "docViewer",   // Il <div> che abbiamo inserito prima
            fileUrl: viewerUrl,          // URL HTTPS firmato al file crittografato
            toolbar: true,               // Mostra la barra degli strumenti integrata
            theme: "light"              // Tema visivo opzionale
        });
    }

    // Esempio: dopo un upload riuscito
    fetch("/api/document/upload", {
        method: "POST",
        body: myFormData,
        credentials: "include"
    })
    .then(r => r.json())
    .then(data => launchViewer(data.viewerUrl));
</script>

Perché funziona con ogni variante .NET

  • ASP.NET Core Razor – Lo script vive nella stessa view che ospita il form di upload, quindi il flusso è fluido.
  • MVC – Usa @section Scripts per iniettare lo stesso snippet; il controller restituisce JSON che $.ajax di MVC può consumare.
  • WebForms – Registra lo script con ClientScript.RegisterStartupScript dopo il completamento dell’upload, poi chiama launchViewer nello stesso modo.

Poiché Doconut trasmette il documento direttamente dall’URL firmato, il server non tocca più il file dopo la fase di upload. Il visualizzatore rende PDF, file Word, disegni CAD e tutti gli altri formati elencati nelle specifiche di prodotto—senza alcuna conversione server‑side aggiuntiva.


5. Personalizzare il visualizzatore per allinearlo al tuo brand – perfeziona il visualizzatore di file online

Le aziende spesso hanno bisogno che il visualizzatore assomigli a una parte nativa del loro portale. L’interfaccia completamente personalizzabile di Doconut App ti consente di:

PersonalizzazioneCome applicarla in .NET
Layout della barra degli strumentiImposta toolbar: false e costruisci i tuoi pulsanti che chiamano le API JavaScript del visualizzatore (es., zoomIn(), print()).
Schema di coloriImposta theme: "dark" o fornisci un file CSS personalizzato che sovrascrive le classi predefinite.
Lingua e accessibilitàDoconut rispetta l’attributo lang sul contenitore; puoi anche iniettare etichette ARIA tramite l’opzione accessibility.
Hook di eventiCallback come onPageChange, onError e onDownload ti permettono di registrare metriche di utilizzo nel tuo pipeline di telemetria esistente.

Tutte queste opzioni vengono configurate nello stesso oggetto JavaScript mostrato nella sezione precedente. Poiché il visualizzatore vive interamente sul client, non c’è carico server aggiuntivo—il tuo backend .NET rimane concentrato su autenticazione, crittografia e logica di business.


6. Prestazioni e scalabilità – mantieni l’esperienza fluida

Incorporare un visualizzatore in un portale ad alto traffico solleva due preoccupazioni pratiche: tempo di caricamento e rendering concorrente. Doconut App affronta entrambi fin da subito, ma puoi rafforzare l’ambiente con alcuni accorgimenti specifici per .NET.

ProblemaVantaggio integrato di DoconutSuggerimento aggiuntivo per .NET
Download inizialeLo script del visualizzatore è di circa 150 KB, gzippato.Abilita compressione dei file statici (app.UseResponseCompression()) e caching (Cache‑Control: public, max‑age=31536000).
Streaming del fileDoconut trasmette solo le pagine necessarie, usando richieste HTTP range.Archivia i blob crittografati in una CDN regionale (Azure Front Door, Amazon CloudFront) per ridurre la latenza.
Utenti concorrentiIl rendering avviene sul client; il server serve il file crittografato una sola volta per visualizzazione.Limita il endpoint di upload con IApplicationRateLimiter per proteggere da picchi improvvisi.
Impronta di memoriaNessuna libreria PDF server‑side, quindi il processo ASP.NET resta leggero.Esegui il servizio di upload in un microservizio separato se già utilizzi una coda di job di background pesante.

Seguendo queste linee guida, potrai supportare migliaia di visualizzatori simultanei senza dover scalare il tier .NET oltre quello già in uso.


Riepilogo dei punti chiave

  • Doconut App fornisce un visualizzatore sicuro, senza plugin, al 100 % che funziona con ASP.NET Core, MVC e WebForms.
  • Gli upload sono solo SSL, archiviati con crittografia AES‑256 e cancellati automaticamente dopo la scadenza dell’URL firmato.
  • L’integrazione richiede solo uno script CDN, un <div> placeholder e un piccolo endpoint server‑side che restituisce un URL firmato.
  • Il visualizzatore supporta PDF, Office, CAD e oltre 50 formati immagine—nessuna conversione server‑side necessaria.
  • L’interfaccia può essere totalmente personalizzata per rispecchiare il brand aziendale, e il visualizzatore offre strumenti di zoom, misurazione e gestione dei layer per i file CAD.
  • Le prestazioni sono gestite sul client; gli sviluppatori .NET devono solo assicurarsi di comprimere i file statici e, opzionalmente, utilizzare una CDN per la cache.
  • L’intero flusso—dall’upload sicuro al rendering nel browser—si integra perfettamente nei pipeline di autenticazione e autorizzazione .NET esistenti.

Domande frequenti

D1: Devo installare pacchetti NuGet per usare Doconut?
R: No. Il visualizzatore è fornito come bundle JavaScript client‑side dal CDN di Doconut. Il tuo server ha bisogno solo del middleware ASP.NET Core standard per upload e crittografia, che probabilmente hai già.

D2: Come fa Doconut a garantire che il file venga eliminato dopo la visualizzazione?
R: Doconut genera un URL firmato a breve durata che scade dopo un periodo configurabile (tipicamente cinque minuti). Dopo la scadenza, tu (o un job di pulizia in background) elimini il blob crittografato, assicurando che il documento non venga conservato più a lungo del necessario, soddisfacendo le politiche di conservazione dati restrittive.

D3: Posso stampare o esportare il documento dal visualizzatore?
R: Sì. La barra degli strumenti predefinita di Doconut include opzioni di stampa ed esportazione che preservano la qualità e il layout originali del file sorgente.


Pronto a incorporare un visualizzatore di documenti sicuro e senza plugin nella tua applicazione .NET? Inizia subito con Doconut App e offri PDF, Office, CAD e decine di altri formati in modo sicuro e istantaneo.