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 la visualizzazione 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 individua 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 esterni alla tua applicazione. Un visualizzatore incorporato mantiene l'utente all'interno del tuo prodotto e può fornire un luogo 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 considerazioni 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 di immagine comuni
Quindi identifica le funzionalità che contano per ciascun 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 del visualizzatore Doconut 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 storage, percorsi di file non limitati o URL pubblici permanenti nel markup lato client.
Se gli utenti caricano file, convalidali prima del rendering. Verifica dimensione del file, estensione, firma del file e eventuali restrizioni specifiche del business. Memorizza l'identificatore generato dal server anziché fidarti del nome originale del file 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, meccanismi standard come il middleware di autenticazione, l'attributo [Authorize], le policy, i claim e l'autorizzazione basata su 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 storage protetta.
- Il visualizzatore riceve solo le informazioni necessarie per quella sessione autorizzata.
Non dare 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 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 e i plugin selezionati
- 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 al rilascio installato. Evita di copiare snippet di inizializzazione da blog non correlati perché spazi dei nomi, configurazioni, percorsi delle risorse e API possono cambiare tra versioni.
Passo 5: Creare un confine dedicato alla visualizzazione
Mantieni la visualizzazione dei documenti dietro 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 uno
Streamcontrollato quando opportuno - Fornire la configurazione di visualizzazione necessaria
- Rilasciare le risorse di file e stream
- Tradurre i fallimenti tecnici in errori di applicazione sicuri
- Registrare metriche operative senza loggare il contenuto dei documenti
Questo confine semplifica gli aggiornamenti e riduce il rischio di esporre dettagli di storage 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 di caricamento, vuoto ed errore chiari
- Un titolo conciso del documento
- Controlli circostanti accessibili da tastiera
- Un layout che non nasconda controlli importanti del visualizzatore
- Un modo esplicito per tornare al flusso di lavoro principale
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 divulgare percorsi del server, tracce di eccezione o URL di storage.
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 sicurezza utili includono:
- Una directory temporanea dedicata con permessi ristretti
- Nomi unici generati dal server
- Pulizia dopo sessioni completate e fallite
- Un processo pianificato per file temporanei abbandonati
- Quote di storage e monitoraggio
- Crittografia a riposo dove richiesto dalla tua politica di sicurezza
Rendi la pulizia osservabile. Se la cancellazione fallisce silenziosamente, i file temporanei possono accumularsi diventando sia un problema operativo sia di sicurezza.
Passo 8: Configurare le salvaguardie di 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
- Limiti di coda quando il rendering è eseguito in modo asincrono
- Quote di storage temporaneo
- Controlli di salute e monitoraggio strutturato degli errori
Per carichi di lavoro grandi o imprevedibili, isola il rendering dai processi sensibili alla latenza dell'applicazione. 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 poco 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.
- Limiti di upload e convalida 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 prevenire ogni forma di cattura una volta che le informazioni sono visibili a un utente autorizzato. Usali insieme a controlli di accesso e a una politica di protezione delle informazioni adeguata.
Dove si colloca Doconut
Doconut fornisce la capacità di visualizzare documenti all'interno dell'applicazione .NET, mentre la tua applicazione rimane responsabile di identità, autorizzazione, archiviazione, 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 la visualizzazione di documenti Doconut, poi 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.