Aggiungere la visualizzazione di documenti a un'applicazione aziendale richiede più che inserire un PDF in un iframe. I file Office, i disegni CAD, le email e le immagini necessitano di capacità di rendering diverse, mentre l'applicazione deve comunque controllare autenticazione, archiviazione, autorizzazione e conservazione.
Doconut è un SDK .NET per visualizzatore di documenti progettato per incorporare il rendering e l'interazione dei documenti nelle applicazioni web. Invece di presentare una ricetta di codice sorgente non verificata, questa guida spiega le decisioni di integrazione che il tuo team dovrebbe prendere e identifica i componenti .NET standard che comunemente circondano l'SDK.

Perché un visualizzatore incorporato è diverso dal download di un file
Un endpoint di download trasferisce il file originale e lascia l'esperienza di visualizzazione a software esterno alla tua applicazione. Un visualizzatore incorporato mantiene l'utente all'interno del tuo prodotto e può fornire un punto coerente per navigazione, ricerca, revisione e altre funzionalità abilitate.
Costruire da sé lo strato di rendering è difficile perché ogni formato ha le proprie regole:
- I file PDF possono contenere caratteri incorporati, annotazioni, moduli e set di pagine molto grandi.
- I file Word, Excel e PowerPoint richiedono una gestione attenta del layout e dei caratteri.
- I disegni CAD necessitano di una scala accurata, di livelli e di uno zoom dettagliato.
- I formati di email e immagine introducono allegati, metadati, colore e problemi di risoluzione.
Un SDK dedicato consente al team di sviluppo di concentrarsi sul controllo degli accessi, sui flussi di lavoro e sull'esperienza utente invece di mantenere un renderer separato per ogni formato supportato.
Passo 1: Confermare i formati e le funzionalità richieste
Inizia con un inventario reale dei file che i tuoi utenti aprono. Separa i formati essenziali da quelli occasionali e registra campioni rappresentativi per i test.
Il tuo elenco di controllo potrebbe includere:
- Documenti PDF e XPS
- Documenti di elaborazione testi
- Fogli di calcolo
- Presentazioni
- Disegni CAD
- File email
- Formati immagine comuni
Quindi identifica le funzionalità che contano per ogni flusso di lavoro. Visualizzazione, ricerca testuale, annotazioni, stampa e conversione sono capacità diverse e possono richiedere componenti o licenze Doconut differenti.
Rivedi l'ambito attuale del prodotto nella verificata pagina Doconut Viewer prima di impegnarti su un formato o una funzionalità. Le capacità del prodotto possono cambiare, quindi i tuoi test di accettazione dovrebbero rimanere l'autorità finale per i documenti che i clienti usano realmente.
Passo 2: Scegliere dove i documenti entrano nell'applicazione
Un'applicazione ASP.NET può ricevere documenti da diverse fonti controllate:
- Un upload gestito come un
IFormFiledi ASP.NET Core - Una posizione di file protetta
- Un database o un repository di gestione documenti
- Uno storage di oggetti accessibile dal server
- Un servizio interno che restituisce uno
Stream
Il flusso di visualizzazione dovrebbe utilizzare un riferimento al documento autorizzato dal server. Non inserire credenziali di archiviazione, percorsi di file non limitati o URL pubblici permanenti nel markup lato client.
Se gli utenti caricano file, convalidali prima del rendering. Controlla dimensione del file, estensione, firma del file e eventuali restrizioni specifiche del business. Memorizza l'identificatore generato dal server anziché fidarti del nome file originale come percorso.
Passo 3: Definire Autenticazione e Autorizzazione
L'applicazione — non l'interfaccia del visualizzatore — dovrebbe decidere chi è autorizzato ad aprire un documento.
In ASP.NET Core, i meccanismi standard come il middleware di autenticazione, l'attributo [Authorize], le policy, i claim e l'autorizzazione basata sulle risorse possono proteggere l'endpoint che avvia una sessione di visualizzazione. La decisione di autorizzazione dovrebbe includere sia l'utente corrente sia il documento richiesto.
Un flusso di richiesta sicuro appare così:
- L'utente richiede un documento usando un identificatore a livello di applicazione.
- Il server autentica l'utente.
- Il server verifica che l'utente possa accedere a quel documento specifico.
- Il server risolve la posizione di archiviazione protetta.
- Il visualizzatore riceve solo le informazioni necessarie per quella sessione autorizzata.
Non dare mai per scontato che nascondere un pulsante della barra degli strumenti sia un controllo di autorizzazione. I controlli di accesso lato server rimangono necessari anche quando i controlli di download o stampa non sono mostrati.
Passo 4: Aggiungere Doconut tramite le sue Risorse di Integrazione Ufficiali
Usa il pacchetto corrente e le istruzioni di configurazione fornite da Doconut. La verificata pagina di download Doconut fornisce l'accesso alle risorse di integrazione NuGet, alla documentazione, agli esempi e alle demo.
La configurazione esatta può dipendere da:
- Il tipo di applicazione ASP.NET o .NET
- Il prodotto Doconut selezionato e i plugin
- La versione di Doconut
- La tua licenza
- I formati di documento e le funzionalità che abiliti
- La configurazione del tuo server Windows
Segui la documentazione che corrisponde alla versione installata. Evita di copiare snippet di inizializzazione da post di blog non correlati perché spazi dei nomi, percorsi di configurazione, percorsi di asset e API possono cambiare tra versioni.
Passo 5: Creare un Confine di Visualizzazione Dedicato
Mantieni la visualizzazione dei documenti dietro a un piccolo servizio applicativo invece di chiamare le funzionalità SDK in tutti i controller e componenti UI.
Quel servizio può essere responsabile di:
- Risolvere un identificatore di documento autorizzato
- Aprire il documento come
Streamcontrollato quando opportuno - Fornire la configurazione di visualizzazione richiesta
- Rilasciare le risorse di file e stream
- Tradurre i fallimenti tecnici in errori applicativi sicuri
- Registrare metriche operative senza loggare il contenuto dei documenti
Questo confine semplifica gli aggiornamenti e riduce il rischio di esporre dettagli di archiviazione al livello di presentazione. Fornisce inoltre ai test un punto chiaro dove sostituire un'implementazione sicura.
Passo 6: Progettare la Pagina del Visualizzatore
Il visualizzatore dovrebbe avere spazio sufficiente per essere utile. Una scheda stretta circondata da controlli non correlati rende difficile ispezionare fogli di calcolo grandi e disegni CAD.
Pianifica la pagina attorno a:
- Un’altezza stabile del visualizzatore
- Stati chiari di caricamento, vuoto ed errore
- Un titolo conciso del documento
- Controlli circostanti accessibili da tastiera
- Un layout che non nasconda i controlli importanti del visualizzatore
- Un modo esplicito per tornare al flusso di lavoro genitore
Testa con nomi file lunghi, conteggi di pagine elevati, fogli di calcolo ampi, disegni dettagliati e documenti che non riescono a renderizzarsi. Lo stato di errore non deve rivelare percorsi del server, tracce di eccezione o URL di archiviazione.
Passo 7: Gestire File e Dati Temporanei
Definisci una politica di conservazione prima del rilascio. Considera separatamente il file originale, i dati di rendering temporanei, le cache, le esportazioni, le annotazioni e i log.
Misure di protezione utili includono:
- Una directory temporanea dedicata con permessi ristretti
- Nomi unici generati dal server
- Pulizia dopo sessioni completate e fallite
- Un processo pianificato per i file temporanei abbandonati
- Quote di archiviazione e monitoraggio
- Crittografia a riposo dove richiesto dalla tua politica di sicurezza
Rendi la pulizia osservabile. Se l'eliminazione fallisce silenziosamente, i file temporanei possono accumularsi diventando sia un problema operativo sia di sicurezza.
Passo 8: Configurare le Misure di Sicurezza in Produzione
Il rendering dei documenti può consumare CPU, memoria e spazio disco temporaneo. Proteggi l'applicazione con limiti espliciti:
- Dimensione massima di upload
- Numero massimo di lavori di rendering concorrenti
- Timeout di richiesta e di elaborazione
- Quote di coda quando il rendering è eseguito in modo asincrono
- Quote di storage temporaneo
- Health check e monitoraggio strutturato degli errori
Per carichi di lavoro grandi o imprevedibili, isola il rendering dai processi dell'applicazione sensibili alla latenza. Misura con documenti simili a quelli dei clienti anziché affidarti solo a piccoli file di test.
Passo 9: Testare l'Intero Flusso di Lavoro
Un test di integrazione riuscito dovrebbe coprire più del “la prima pagina è apparsa”.
Testa:
- Ogni formato di file richiesto
- File piccoli, grandi, multipagina e danneggiati
- Documenti con caratteri non comuni
- File protetti da password quando il tuo flusso supporta questa funzionalità
- Utenti autorizzati e non autorizzati
- Sessioni di visualizzazione concorrenti
- Riavvii dell'applicazione e richieste interrotte
- Pulizia dopo successi e fallimenti
- Funzionalità del visualizzatore incluse nella configurazione del prodotto selezionato
Mantieni una collezione versionata di documenti di test sanitizzati. Rieseguili quando aggiorni Doconut, .NET, Windows Server, l'infrastruttura di storage o le dipendenze correlate.
Checklist di Sicurezza
Prima del rilascio, verifica che:
- Ogni richiesta di visualizzazione richieda l'autenticazione dove opportuno.
- L'autorizzazione sia controllata per il documento specifico.
- L'input controllato dall'utente non possa diventare un percorso di file server non limitato.
- Le credenziali di storage non raggiungano mai il client.
- I limiti di upload e la validazione siano abilitati.
- I file temporanei abbiano accesso ristretto e una politica di pulizia testata.
- I log escludano contenuti dei documenti, segreti e URL sensibili.
- I messaggi di errore mostrati agli utenti siano sanitizzati.
- I controlli dell'SDK possano supportare il tuo flusso di lavoro, ma non possono impedire ogni forma di cattura una volta che l'informazione è visibile a un utente autorizzato. Usali insieme ai controlli di accesso e a una politica di protezione delle informazioni adeguata.
Dove si Inserisce Doconut
Doconut fornisce la capacità di visualizzazione dei documenti all'interno dell'applicazione .NET, mentre la tua applicazione rimane responsabile di identità, autorizzazione, archiviazione dei file, conservazione, audit e del flusso di lavoro circostante.
Questa divisione di responsabilità offre ai team .NET un percorso pratico per supportare documenti aziendali senza costruire più motori di rendering da zero. Mantiene inoltre i dettagli di integrazione specifici del prodotto legati alla documentazione ufficiale per la versione che distribuisci.
Esplora il SDK .NET per visualizzatore di documenti Doconut, quindi utilizza le risorse ufficiali di download e documentazione per valutarlo con i tuoi documenti.
Conclusione
Un visualizzatore di documenti incorporato affidabile parte da requisiti di formato chiari e da un flusso di documento sicuro lato server. Convalida gli input, autorizza ogni richiesta di documento, isola l'accesso all'SDK dietro un servizio applicativo, pianifica la pulizia dei file temporanei e testa con file realistici.
Con queste basi, Doconut può fornire lo strato di visualizzazione per la tua applicazione web .NET basata su Windows, mentre il tuo team mantiene il controllo dell'architettura dell'applicazione e del ciclo di vita dei documenti.