
Visionneuse DOCX dans ASP.NET Core : prévisualisation des fichiers Word
Pour prévisualiser un document Word à l'intérieur d'une application ASP.NET Core, utilisez un SDK de visionneuse DOCX qui rend le fichier sur le serveur et affiche ses pages dans le navigateur. Doconut fournit ce flux de travail sans nécessiter Microsoft Word sur le serveur. Vos utilisateurs peuvent lire un contrat, une proposition ou un rapport dans votre application au lieu d'ouvrir un programme de bureau séparé.

La question utile est de savoir ce qui se passe lorsque vous remplacez le fichier de démonstration par vos propres documents. Un contrat peut contenir des polices personnalisées, des en‑têtes répétées, de larges tableaux et des pages de signature. Ce guide montre l'étape d'ouverture du document pour une application .NET 8 et les vérifications qui vous aident à évaluer le résultat.
Ouvrir un fichier DOCX depuis C#
Commencez avec le Doconut .NET 8 démarrage rapide pour configurer les services, la session ASP.NET, le middleware de documents, les ressources du visualiseur et le composant du navigateur. Le point de terminaison suivant prolonge cette application configurée ; il ne s'agit pas d'une application autonome complète.
Placez un document de test non sensible à App_Data/Sample.docx sous la racine de contenu de l'application. Ajoutez ce point de terminaison avant app.Run() :
using Doconut;
app.MapPost("/api/preview-word", async (
Viewer viewer,
IWebHostEnvironment environment) =>
{
var filePath = Path.Combine(
environment.ContentRootPath, "App_Data", "Sample.docx");
if (!File.Exists(filePath))
return Results.NotFound();
var token = await viewer.OpenDocumentAsync(filePath);
return Results.Ok(new { token });
});
Conservez la directive using avec les autres importations en haut de Program.cs. Le chemin fixe rend l'exemple facile à reproduire et évite d'accepter un chemin serveur arbitraire provenant du navigateur.
La Référence de l'API Viewer décrit la surcharge du chemin de fichier de OpenDocumentAsync. Elle ouvre le fichier et renvoie un jeton de session de document. Sur la page où le démarrage rapide a déjà initialisé objViewer, ouvrez la prévisualisation avec :
async function previewWordDocument() {
const response = await fetch('/api/preview-word', {
method: 'POST'
});
if (!response.ok) {
throw new Error('The Word preview could not be opened.');
}
const { token } = await response.json();
objViewer.View(token);
}
Appelez cette fonction depuis l'action de prévisualisation de votre page et affichez toute erreur via l'interface d'erreur existante de l'application. Conservez la requête sur la même origine d'application que le visualiseur dans cet exemple.
Conserver l'accès aux documents sous le contrôle de l'application
Dans un portail client, remplacez l'échantillon fixe par un enregistrement de document sélectionné par votre application. Vérifiez que l'utilisateur actuel peut consulter cet enregistrement avant de déterminer son emplacement de stockage et de l'ouvrir. Un nom de fichier reçu du navigateur n'est pas une décision d'autorisation.
Stockez les originaux protégés en dehors de la racine web publique. Le dossier App_Data de l'exemple est une convention de stockage, pas une fonctionnalité de contrôle d'accès : ne l'exposez pas via un mappage de fichiers statiques. Conservez l'authentification et les permissions de documents dans l'application hôte.
Le navigateur reçoit un jeton de visualisation pour la session du document. Traitez ce jeton comme un identifiant plutôt que comme une URL permanente du document. Le démarrage rapide couvre également la fermeture d'un document lorsque le lecteur quitte ou ouvre un autre fichier.
Tester la mise en page Word avec des fichiers représentatifs
Un DOCX vide ne prouve rien sur les documents que vos clients utilisent. Constituez un petit jeu d'évaluation à partir des modèles réels que votre application doit afficher, en retirant les informations sensibles.
| Document de test | Ce qu'il faut inspecter dans la prévisualisation |
|---|---|
| Contrat avec en‑têtes et pieds de page | Contenu répété, numéros de page et placement de la page de signature |
| Proposition utilisant une police d'entreprise | Substitution de police, retour à la ligne et largeurs des titres |
| Rapport avec des tableaux larges ou imbriqués | Largeurs de colonnes, division des lignes et texte tronqué aux limites de page |
| Document mêlant des sections portrait et paysage | Dimensions de page et transition entre les sections |
| Manuel riche en images | Placement des images, légendes et lisibilité lors du zoom |
Comparez le résultat rendu avec le document source approuvé. Décidez quelles différences sont importantes pour votre flux de travail avant de vous engager dans l'intégration.
Doconut expose les paramètres de rendu spécifiques à Word via WordConfig. La référence de configuration de format comprend FontFolders pour des répertoires de polices supplémentaires, les réglages de taille de papier et AutoFitAllTables pour l'ajustement des tableaux. Modifiez ces paramètres de façon délibérée : faire tenir un tableau dans la largeur disponible peut également modifier la mise en page que vous essayez de préserver.
Répétez les vérifications sur l'hôte de déploiement. Une prévisualisation qui utilise une police installée sur la machine d'un développeur peut apparaître différemment lorsque cette police est absente du serveur. Utilisez des polices que votre organisation est autorisée à déployer.
Choisir la visualisation, l'édition et la conversion séparément
Une prévisualisation DOCX résout l'étape de lecture. Elle ne transforme pas votre application en un environnement d'édition Word.
- Lecture : utilisez le visualiseur lorsqu'une personne doit inspecter un document existant dans un dossier, une commande ou un enregistrement client.
- Édition : si les utilisateurs doivent réécrire des paragraphes et enregistrer un DOCX mis à jour, évaluez un flux de travail d'édition séparément. La prévisualisation d'un fichier n'est pas une preuve de prise en charge de l'édition Word.
- Conversion : si le besoin est d'obtenir un fichier téléchargeable dans un autre format, évaluez ce flux d'exportation séparément de l'affichage des pages.
L'aperçu du visualiseur Word pour .NET décrit le chemin de visualisation de la famille Word de Doconut. Utilisez-le pour vérifier l'adéquation du produit, puis utilisez vos propres fichiers pour évaluer le comportement de rendu qui compte pour votre application.
Évaluer le visualiseur avec votre document le plus difficile d'abord
Commencez avec un document qui génère déjà des demandes de support : un long contrat, un rapport très tabulaire ou un modèle avec des polices inhabituelles. Vérifiez la prévisualisation, parcourez plusieurs pages, rouvrez‑la dans une nouvelle session et assurez‑vous que l'application environnante applique les bonnes permissions de document.
Télécharger Doconut et exécutez l'exemple .NET 8 avec ce fichier. Une évaluation réussie doit démontrer que les utilisateurs peuvent lire les documents qu'ils reçoivent réellement, avec une mise en page que votre équipe a validée et une intégration que votre application peut maintenir.