DOCX-visare i ASP.NET Core: Förhandsgranska Word-filer
← Back to Blog••5 min read

DOCX-visare i ASP.NET Core: Förhandsgranska Word-filer

För att förhandsgranska ett Word-dokument i en ASP.NET Core-applikation, använd ett DOCX-visare SDK som renderar filen på servern och visar dess sidor i webbläsaren. Doconut tillhandahåller detta arbetsflöde utan att kräva Microsoft Word på servern. Dina användare kan läsa ett kontrakt, ett förslag eller en rapport i din applikation istället för att öppna ett separat skrivbordsprogram.

En elfenbensfärgad rapport med tabeller och diagram som sträcker sig från en marinblå mapp in i en klar glasram för visning
En elfenbensfärgad rapport med tabeller och diagram som sträcker sig från en marinblå mapp in i en klar glasram för visning

Den relevanta frågan är vad som händer när du ersätter demofilén med dina egna dokument. Ett kontrakt kan innehålla anpassade typsnitt, återkommande sidhuvuden, breda tabeller och signatursidor. Denna guide visar steget för att öppna dokumentet i en .NET 8-applikation och de kontroller som hjälper dig att utvärdera resultatet.

Öppna en DOCX-fil från C#

Starta med Doconut .NET 8 snabbstart för att konfigurera tjänsterna, ASP.NET-sessionen, dokument‑mellanprogramvaran, visarr resurser och webbläsarwidgeten. Följande endpoint utökar den konfigurerade applikationen; den är inte en komplett fristående applikation.

Placera ett icke‑känsligt testdokument i App_Data/Sample.docx under applikationens innehållsrot. Lägg till denna endpoint före 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 });
});

Behåll using‑direktivet tillsammans med de andra importerna högst upp i Program.cs. Den fasta sökvägen gör exemplet enkelt att reproducera och förhindrar att en godtycklig serversökväg accepteras från webbläsaren.

Viewer API-referensen dokumenterar fil‑sökvägs‑överladdningen av OpenDocumentAsync. Den öppnar filen och returnerar en dokument‑sessions‑token. På sidan där snabbstarten redan har initierat objViewer, öppna förhandsgranskningen med:

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);
}

Kalla på denna funktion från sidans förhandsgranskningsåtgärd och visa eventuella fel via applikationens befintliga fel‑UI. Behåll begäran på samma applikations‑origin som visaren i detta exempel.

Behåll dokumentåtkomst under applikationskontroll

I en kundportal, ersätt det fasta provet med ett dokumentpost som valts av din applikation. Kontrollera att den aktuella användaren får visa det posten innan du löser dess lagringsplats och öppnar den. Ett filnamn som mottas från webbläsaren är inte ett auktoriseringsbeslut.

Förvara skyddade original utanför den offentliga webbrot. Exempelns App_Data‑mapp är en lagringskonvention, inte en åtkomstkontrollfunktion: exponera den inte via en statisk‑fil‑mappning. Behåll autentisering och dokumentbehörigheter i värdapplikationen.

Webbläsaren får en visningstoken för dokument‑sessionen. Behandla den token som en autentiseringsuppgift snarare än en permanent dokument‑URL. Snabbstarten täcker också hur man stänger ett dokument när läsaren lämnar eller öppnar en annan fil.

Testa Word‑layout med representativa filer

En tom DOCX visar lite om de dokument dina kunder använder. Bygg en liten utvärderingsuppsättning från de faktiska mallarna som din applikation behöver visa, med känslig information borttagen.

TestdokumentVad som ska inspekteras i förhandsgranskningen
Kontrakt med sidhuvuden och sidfötterUpprepat innehåll, sidnummer och placering av signatursida
Förslag som använder ett företagsfontTypsnittsersättning, radbrytning och rubrikbredder
Rapport med breda eller nästlade tabellerKolumnbredder, raddelning och text som klipps vid sidgränser
Dokument som blandar stående och liggande sektionerSiddimensioner och övergången mellan sektioner
Bildtung manualBildplacering, bildtexter och läsbarhet vid zoomning

Jämför det renderade resultatet med det godkända källdokumentet. Bestäm vilka skillnader som är viktiga för ditt arbetsflöde innan du förbinder dig till integrationen.

Doconut exponerar Word‑specifika renderingsinställningar via WordConfig. Formatkonfigurationsreferensen innehåller FontFolders för ytterligare typsnittskataloger, pappersstorleksinställningar och AutoFitAllTables för tabellanpassning. Ändra dessa medvetet: att få en tabell att passa den tillgängliga bredden kan också förändra layouten du försöker bevara.

Upprepa kontrollerna på driftsättningsvärden. En förhandsgranskning som använder ett typsnitt installerat på en utvecklares maskin kan se annorlunda ut när det typsnittet saknas på servern. Använd typsnitt som din organisation har tillåtelse att distribuera.

Välj visning, redigering och konvertering separat

En DOCX‑förhandsgranskning löser lässteg. Den förvandlar inte din applikation till en Word‑författarmiljö.

  • Läsning: använd visaren när någon behöver inspektera ett befintligt dokument i ett ärende, en beställning eller ett kundregister.
  • Redigering: om användare måste skriva om stycken och spara en uppdaterad DOCX, utvärdera ett redigeringsarbetsflöde separat. Att förhandsgranska en fil är inte ett bevis på stöd för Word‑redigering.
  • Konvertering: om kravet är en nedladdningsbar fil i ett annat format, bedöm det exportarbetsflödet separat från att visa sidor.

Word‑visaren för .NET‑översikt beskriver Doconut:s Word‑familjens visningsväg. Använd den för att kontrollera produktens passform, och använd sedan dina egna filer för att bedöma renderingsbeteendet som är viktigt för din applikation.

Utvärdera visaren med ditt svåraste dokument först

Börja med ett dokument som redan ger supportärenden: ett långt kontrakt, en tabell‑tung rapport eller en mall med ovanliga typsnitt. Kontrollera förhandsgranskningen, navigera flera sidor, öppna den igen i en ny session och verifiera att den omgivande applikationen upprätthåller korrekta dokumentbehörigheter.

Ladda ner Doconut och kör .NET 8‑exemplet med den filen. En lyckad utvärdering bör visa att användare kan läsa de dokument de faktiskt får, med en layout som ditt team har granskat och en integration som din applikation kan underhålla.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#DOCX-visare#Word-dokument#Dokumentförhandsgranskning