Prohlížeč DOCX v ASP.NET Core: Náhled souborů Word
← Back to Blog••5 min read

Prohlížeč DOCX v ASP.NET Core: Náhled souborů Word

Chcete‑li zobrazit soubor Word uvnitř aplikace ASP.NET Core, použijte SDK prohlížeče DOCX, které vykreslí soubor na serveru a zobrazí jeho stránky v prohlížeči. Doconut poskytuje tento postup bez nutnosti mít na serveru nainstalovaný Microsoft Word. Uživatelé tak mohou číst smlouvu, nabídku nebo zprávu přímo v aplikaci místo spouštění samostatného desktopového programu.

Zpráva na slonovinovém pozadí s tabulkami a grafy vyčnívá z námořnické složky do čirého skleněného rámu prohlížení
Zpráva na slonovinovém pozadí s tabulkami a grafy vyčnívá z námořnické složky do čirého skleněného rámu prohlížení

Užitečná otázka je, co se stane, když nahradíte ukázkový soubor svými vlastními dokumenty. Smlouva může obsahovat vlastní písma, opakující se hlavičky, široké tabulky a stránky s podpisy. Tento průvodce ukazuje krok otevření dokumentu pro aplikaci .NET 8 a kontroly, které vám pomohou výsledek vyhodnotit.

Otevřete soubor DOCX z C#

Začněte s Rychlým startem Doconut .NET 8, abyste nakonfigurovali služby, ASP.NET sezení, middleware pro dokumenty, zdroje prohlížeče a widget prohlížeče v prohlížeči. Následující koncový bod rozšiřuje tuto nakonfigurovanou aplikaci; není to kompletní samostatná aplikace.

Umístěte necitlivý testovací dokument do App_Data/Sample.docx pod kořenovým adresářem obsahu aplikace. Přidejte tento koncový bod před voláním 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 });
});

Uchovejte direktivu using spolu s ostatními importy v horní části souboru Program.cs. Pevná cesta usnadňuje reprodukci příkladu a zabraňuje přijímání libovolné cesty ze serveru od prohlížeče.

Reference API prohlížeče popisuje přetížení OpenDocumentAsync přijímající cestu k souboru. Metoda soubor otevře a vrátí token relace dokumentu. Na stránce, kde rychlý start již inicializoval objViewer, otevřete náhled pomocí:

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

Tuto funkci zavolejte z akce náhledu na vaší stránce a zobrazte případnou chybu pomocí stávajícího UI pro chyby aplikace. Požadavek ponechte na stejném původu aplikace jako prohlížeč v tomto příkladu.

Udržujte přístup k dokumentům pod kontrolou aplikace

V zákaznickém portálu nahraďte pevný ukázkový soubor záznamem dokumentu vybraným vaší aplikací. Ověřte, že aktuální uživatel má oprávnění k zobrazení tohoto záznamu, než zjistíte jeho úložiště a otevřete jej. Název souboru přijatý od prohlížeče není rozhodnutím o autorizaci.

Ukládejte chráněné originály mimo veřejný kořen webu. Složka App_Data v příkladu slouží jen jako konvence úložiště, ne jako mechanismus řízení přístupu: neexponujte ji pomocí mapování statických souborů. Autentizaci a oprávnění k dokumentům řešte v hostitelské aplikaci.

Prohlížeč získá token prohlížení pro relaci dokumentu. Zacházejte s tímto tokenem jako s přihlašovacími údaji, nikoli jako s trvalou URL dokumentu. Rychlý start také popisuje uzavření dokumentu, když čtenář odejde nebo otevře jiný soubor.

Otestujte rozvržení Wordu pomocí reprezentativních souborů

Prázdný DOCX má málo co říci o dokumentech, které vaši zákazníci používají. Sestavte malou sadu pro hodnocení z reálných šablon, které vaše aplikace musí zobrazovat, a odstraňte citlivé informace.

Testovací dokumentCo kontrolovat v náhledu
Smlouva s hlavičkami a patičkamiOpakovaný obsah, čísla stránek a umístění stránky s podpisem
Návrh používající firemní písmoNáhrada písma, zalamování řádků a šířky nadpisů
Zpráva s širokými nebo vnořenými tabulkamiŠířky sloupců, rozdělení řádků a oříznutý text na okrajích stránky
Dokument kombinující sekce na výšku a na šířkuRozměry stránky a přechod mezi sekcemi
Manuál s mnoha obrázkyUmístění obrázků, popisky a čitelnost při přiblížení

Porovnejte vykreslený výsledek s odsouhlaseným zdrojovým dokumentem. Rozhodněte, které rozdíly jsou pro váš pracovní postup podstatné, než se zavážete k integraci.

Doconut zpřístupňuje nastavení renderování specifická pro Word přes WordConfig. Reference konfigurace formátu zahrnuje FontFolders pro další adresáře písem, nastavení velikosti papíru a AutoFitAllTables pro přizpůsobení tabulek. Tyto volby měňte úmyslně: nastavení, aby tabulka zaplnila dostupnou šířku, může také změnit rozvržení, které se snažíte zachovat.

Opakujte kontroly na cílovém serveru. Náhled, který používá písmo nainstalované na vývojářském počítači, může vypadat jinak, pokud toto písmo na serveru chybí. Používejte písma, která má vaše organizace povoleno nasadit.

Zvolte prohlížení, úpravy a konverzi samostatně

Náhled DOCX řeší krok čtení. Nepřemění vaši aplikaci na prostředí pro tvorbu dokumentů Word.

  • Čtení: použijte prohlížeč, když někdo potřebuje zkontrolovat existující dokument v rámci případu, objednávky nebo záznamu zákazníka.
  • Úpravy: pokud uživatelé musí přepisovat odstavce a uložit aktualizovaný DOCX, vyhodnoťte workflow úprav odděleně. Náhled souboru není důkazem podpory úprav ve Wordu.
  • Konverze: pokud je požadován soubor ke stažení v jiném formátu, posuďte exportní workflow odděleně od zobrazování stránek.

Přehled Word prohlížeče pro .NET popisuje cestu prohlížení Word‑rodiny od Doconut. Použijte jej k ověření, zda produkt vyhovuje, a poté testujte vlastní soubory, abyste posoudili chování renderování, které je pro vaši aplikaci podstatné.

Vyhodnoťte prohlížeč nejprve s nejnáročnějším dokumentem

Začněte s dokumentem, který již vyvolává požadavky na podporu: dlouhá smlouva, zpráva s mnoha tabulkami nebo šablona s neobvyklými písmy. Zkontrolujte náhled, projděte několik stránek, otevřete jej znovu v nové relaci a ověřte, že okolní aplikace vynucuje správná oprávnění k dokumentu.

Stáhnout Doconut a spusťte ukázku .NET 8 s tímto souborem. Úspěšné hodnocení by mělo ukázat, že uživatelé mohou číst dokumenty, které skutečně obdrží, s rozvržením, které váš tým zkontroloval, a s integrací, kterou vaše aplikace dokáže udržet.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#Prohlížeč DOCX#Dokumenty Word#Náhled dokumentu