Visionneuse DOCX dans ASP.NET Core : prévisualisation des fichiers Word
← Back to Blog••6 min read

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é.

Un rapport ivoire avec des tableaux et des graphiques s'étend d'un dossier marine dans un cadre de visualisation en verre clair
Un rapport ivoire avec des tableaux et des graphiques s'étend d'un dossier marine dans un cadre de visualisation en verre clair

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 testCe qu'il faut inspecter dans la prévisualisation
Contrat avec en‑têtes et pieds de pageContenu répété, numéros de page et placement de la page de signature
Proposition utilisant une police d'entrepriseSubstitution de police, retour à la ligne et largeurs des titres
Rapport avec des tableaux larges ou imbriquésLargeurs de colonnes, division des lignes et texte tronqué aux limites de page
Document mêlant des sections portrait et paysageDimensions de page et transition entre les sections
Manuel riche en imagesPlacement 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.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#Visionneuse DOCX#Documents Word#Aperçu de document