
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.

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.
| Testdokument | Vad som ska inspekteras i förhandsgranskningen |
|---|---|
| Kontrakt med sidhuvuden och sidfötter | Upprepat innehåll, sidnummer och placering av signatursida |
| Förslag som använder ett företagsfont | Typsnittsersättning, radbrytning och rubrikbredder |
| Rapport med breda eller nästlade tabeller | Kolumnbredder, raddelning och text som klipps vid sidgränser |
| Dokument som blandar stående och liggande sektioner | Siddimensioner och övergången mellan sektioner |
| Bildtung manual | Bildplacering, 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.