Przeglądarka DOCX w ASP.NET Core: Podgląd plików Word
← Back to Blog••5 min read

Przeglądarka DOCX w ASP.NET Core: Podgląd plików Word

Aby podglądnąć dokument Word wewnątrz aplikacji ASP.NET Core, użyj SDK przeglądarki DOCX, które renderuje plik na serwerze i wyświetla jego strony w przeglądarce. Doconut zapewnia ten przepływ pracy bez wymogu posiadania Microsoft Word na serwerze. Twoi użytkownicy mogą czytać umowę, propozycję lub raport w aplikacji zamiast otwierać osobny program desktopowy.

Raport w kolorze kości słoniowej z tabelami i wykresami wystaje z granatowego folderu w przejrzystą szklaną ramkę podglądu
Raport w kolorze kości słoniowej z tabelami i wykresami wystaje z granatowego folderu w przejrzystą szklaną ramkę podglądu

Praktyczne pytanie brzmi, co się stanie, gdy zamienisz plik demonstracyjny na własne dokumenty. Umowa może zawierać niestandardowe czcionki, powtarzające się nagłówki, szerokie tabele i strony z podpisami. Ten przewodnik pokazuje krok otwierania dokumentu dla aplikacji .NET 8 oraz kontrole, które pomogą ocenić wynik.

Otwórz plik DOCX z C#

Rozpocznij od szybkiego startu Doconut .NET 8, aby skonfigurować usługi, sesję ASP.NET, middleware dokumentów, zasoby przeglądarki i widżet przeglądarki. Poniższy punkt końcowy rozszerza tę skonfigurowaną aplikację; nie jest to pełna, samodzielna aplikacja.

Umieść nieszkodliwy dokument testowy w App_Data/Sample.docx pod katalogiem głównym aplikacji. Dodaj ten punkt końcowy przed 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 });
});

Zachowaj dyrektywę using razem z innymi importami na początku Program.cs. Stała ścieżka ułatwia odtworzenie przykładu i zapobiega przyjmowaniu dowolnej ścieżki serwera od przeglądarki.

Dokumentacja referencji API przeglądarki opisuje przeciążenie OpenDocumentAsync przyjmujące ścieżkę do pliku. Otwiera plik i zwraca token sesji dokumentu. Na stronie, gdzie szybki start już zainicjował objViewer, otwórz podgląd za 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);
}

Wywołaj tę funkcję z akcji podglądu na swojej stronie i wyświetl wszelkie błędy za pomocą istniejącego interfejsu błędów aplikacji. Zachowaj żądanie w tym samym pochodzeniu aplikacji co przeglądarka w tym przykładzie.

Zachowaj dostęp do dokumentu pod kontrolą aplikacji

W portalu klienta zamień stały przykład na rekord dokumentu wybrany przez aplikację. Sprawdź, czy bieżący użytkownik może przeglądać ten rekord przed ustaleniem jego lokalizacji przechowywania i otwarciem. Nazwa pliku otrzymana z przeglądarki nie jest decyzją autoryzacyjną.

Przechowuj chronione oryginały poza publicznym katalogiem www. Folder App_Data w przykładzie jest konwencją przechowywania, a nie mechanizmem kontroli dostępu: nie udostępniaj go poprzez mapowanie plików statycznych. Zachowaj uwierzytelnianie i uprawnienia do dokumentów w aplikacji hosta.

Przeglądarka otrzymuje token podglądu dla sesji dokumentu. Traktuj ten token jako poświadczenie, a nie stały adres URL dokumentu. Szybki start opisuje także zamykanie dokumentu, gdy czytelnik opuszcza stronę lub otwiera inny plik.

Testuj układ Worda przy użyciu reprezentatywnych plików

Pusty plik DOCX niewiele mówi o dokumentach używanych przez Twoich klientów. Stwórz mały zestaw oceny z rzeczywistych szablonów, które aplikacja musi wyświetlać, usuwając wrażliwe informacje.

Dokument testowyCo sprawdzić w podglądzie
Umowa z nagłówkami i stopkamiPowtarzalna treść, numery stron i położenie strony z podpisem
Propozycja używająca firmowej czcionkiZastępowanie czcionek, łamanie linii i szerokości nagłówków
Raport z szerokimi lub zagnieżdżonymi tabelamiSzerokości kolumn, podział wierszy i przycięty tekst na granicach stron
Dokument łączący sekcje pionowe i poziomeWymiary stron i przejście między sekcjami
Podręcznik z dużą ilością obrazówUmiejscowienie obrazów, podpisy i czytelność przy przybliżeniu

Porównaj wyrenderowany wynik z zatwierdzonym dokumentem źródłowym. Zdecyduj, które różnice mają znaczenie dla Twojego przepływu pracy przed podjęciem decyzji o integracji.

Doconut udostępnia specyficzne dla Worda ustawienia renderowania poprzez WordConfig. Referencja konfiguracji formatów zawiera FontFolders dla dodatkowych katalogów czcionek, ustawienia rozmiaru papieru oraz AutoFitAllTables do dopasowywania tabel. Zmieniaj je świadomie: dopasowanie tabeli do dostępnej szerokości może również zmienić układ, który chcesz zachować.

Powtórz kontrole na hoście wdrożeniowym. Podgląd używający czcionki zainstalowanej na maszynie dewelopera może wyglądać inaczej, gdy ta czcionka nie jest dostępna na serwerze. Używaj czcionek, które Twoja organizacja ma prawo wdrażać.

Wybierz osobno podgląd, edycję i konwersję

Podgląd DOCX rozwiązuje krok czytania. Nie zamienia Twojej aplikacji w środowisko edycji Worda.

  • Czytanie: użyj przeglądarki, gdy ktoś musi przejrzeć istniejący dokument w ramach sprawy, zamówienia lub rekordu klienta.
  • Edycja: jeśli użytkownicy muszą przepisać akapity i zapisać zaktualizowany DOCX, ocen osobno przepływ pracy edycji. Podgląd pliku nie jest dowodem na wsparcie edycji Worda.
  • Konwersja: jeśli wymagana jest możliwość pobrania pliku w innym formacie, oceń ten proces eksportu osobno od wyświetlania stron.

Przegląd przeglądarki Word dla .NET opisuje ścieżkę podglądu rodziny Word firmy Doconut. Użyj go, aby sprawdzić dopasowanie produktu, a następnie użyj własnych plików, aby ocenić zachowanie renderowania istotne dla Twojej aplikacji.

Oceń przeglądarkę najpierw na najtrudniejszym dokumencie

Zacznij od dokumentu, który już generuje zgłoszenia wsparcia: długą umowę, raport z wieloma tabelami lub szablon z nietypowymi czcionkami. Sprawdź podgląd, przejdź kilka stron, otwórz go ponownie w nowej sesji i zweryfikuj, że otaczająca aplikacja wymusza właściwe uprawnienia do dokumentu.

Pobierz Doconut i uruchom przykład .NET 8 z tym plikiem. Udane ocenienie powinno wykazać, że użytkownicy mogą czytać dokumenty, które faktycznie otrzymują, z układem zatwierdzonym przez Twój zespół i integracją, którą Twoja aplikacja może utrzymać.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#Przeglądarka DOCX#Dokumenty Word#Podgląd dokumentu