
Переглядач DOCX в ASP.NET Core: Попередній перегляд Word файлів
Щоб переглянути документ Word всередині застосунку ASP.NET Core, використайте SDK переглядача DOCX, який рендерить файл на сервері та відображає його сторінки у браузері. Doconut забезпечує цей робочий процес без необхідності встановлення Microsoft Word на сервері. Ваші користувачі можуть читати контракт, пропозицію або звіт у вашому застосунку замість відкриття окремої настільної програми.

Корисне питання — що станеться, коли ви заміните демонстраційний файл своїми документами. У контракті можуть бути власні шрифти, повторювані заголовки, широкі таблиці та сторінки з підписами. Цей посібник показує крок відкриття документа для застосунку .NET 8 та перевірки, які допоможуть оцінити результат.
Відкрити файл DOCX з C#
Почніть з Швидкого старту Doconut .NET 8, щоб налаштувати сервіси, сесію ASP.NET, проміжне ПЗ для документів, ресурси переглядача та віджет браузера. Наведений нижче кінцевий пункт розширює цю налаштовану програму; це не повноцінний автономний застосунок.
Розмістіть не конфіденційний тестовий документ у App_Data/Sample.docx під кореневим каталогом вмісту застосунку. Додайте цей кінцевий пункт перед 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 });
});
Залиште директиву using разом з іншими імпортами у верхній частині Program.cs. Фіксований шлях спрощує відтворення прикладу та запобігає прийому довільного шляху сервера з браузера.
Документація API переглядача описує перевантаження OpenDocumentAsync з параметром file-path. Воно відкриває файл і повертає токен сесії документа. На сторінці, де швидкий старт вже ініціалізував objViewer, відкрийте попередній перегляд за допомогою:
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);
}
Викличте цю функцію з дії попереднього перегляду вашої сторінки та відображайте будь-які помилки через існуючий інтерфейс помилок застосунку. У цьому прикладі залишайте запит на тому ж походженні застосунку, що й переглядач.
Керування доступом до документів під контролем застосунку
У порталі клієнта замініть фіксований зразок записом документа, обраним вашим застосунком. Перевірте, чи має поточний користувач право переглядати цей запис, перед тим як визначити його місце зберігання та відкрити його. Ім'я файлу, отримане з браузера, не є рішенням про авторизацію.
Зберігайте захищені оригінали поза публічним веб-коренем. Папка App_Data у прикладі є конвенцією зберігання, а не функцією контролю доступу: не відкривайте її через статичне відображення файлів. Зберігайте автентифікацію та дозволи на документи у хост-застосунку.
Браузер отримує токен перегляду для сесії документа. Ставтеся до цього токену як до облікових даних, а не як до постійного URL документа. Швидкий старт також охоплює закриття документа, коли читач залишає його або відкриває інший файл.
Тестування розмітки Word за допомогою представницьких файлів
Порожній DOCX мало що розповідає про документи, які використовують ваші клієнти. Створіть невеликий набір оцінки з реальних шаблонів, які ваш застосунок має відображати, видаливши конфіденційну інформацію.
| Тестовий документ | Що перевіряти у попередньому перегляді |
|---|---|
| Контракт з колонтитулами | Повторюваний вміст, номери сторінок та розташування сторінки підпису |
| Пропозиція з корпоративним шрифтом | Заміна шрифту, перенесення рядків та ширина заголовків |
| Звіт з широкими або вкладеними таблицями | Ширина колонок, розбиття рядків та обрізаний текст на межах сторінок |
| Документ, що поєднує портретні та альбомні розділи | Розміри сторінки та перехід між розділами |
| Посібник з великою кількістю зображень | Розташування зображень, підписи та читабельність при збільшенні |
Порівняйте отриманий результат з затвердженим вихідним документом. Визначте, які відмінності важливі для вашого робочого процесу, перш ніж впроваджувати інтеграцію.
Doconut надає специфічні для Word налаштування рендерингу через WordConfig. Довідник конфігурації форматів включає FontFolders для додаткових каталогів шрифтів, налаштування розмірів паперу та AutoFitAllTables для підгонки таблиць. Змінюйте їх свідомо: підгонка таблиці під доступну ширину може також змінити макет, який ви намагаєтеся зберегти.
Повторіть перевірки на хості розгортання. Попередній перегляд, який використовує шрифт, встановлений на машині розробника, може виглядати інакше, коли цей шрифт відсутній на сервері. Використовуйте шрифти, які ваша організація має право розгортати.
Вибір перегляду, редагування та конвертації окремо
Попередній перегляд DOCX вирішує етап читання. Він не перетворює ваш застосунок у середовище створення документів Word.
- Читання: використовуйте переглядач, коли хтось потребує переглянути існуючий документ у справі, замовленні або записі клієнта.
- Редагування: якщо користувачі повинні переписувати абзаци та зберігати оновлений DOCX, оцініть процес редагування окремо. Попередній перегляд файлу не є доказом підтримки редагування Word.
- Конвертація: якщо вимога — це завантажуваний файл в іншому форматі, оцініть процес експорту окремо від відображення сторінок.
Огляд переглядача Word для .NET описує шлях перегляду сімейства Word від Doconut. Використайте його, щоб перевірити відповідність продукту, а потім використайте власні файли для оцінки поведінки рендерингу, що важлива для вашого застосунку.
Оцініть переглядач спочатку на найскладнішому документі
Почніть з документа, який вже викликає запити в підтримку: довгий контракт, звіт з великою кількістю таблиць або шаблон з незвичайними шрифтами. Перевірте попередній перегляд, перегляньте кілька сторінок, відкрийте його знову у новій сесії та переконайтеся, що оточуючий застосунок забезпечує правильні дозволи на документ.
Завантажити Doconut і запустіть приклад .NET 8 з цим файлом. Успішна оцінка повинна продемонструвати, що користувачі можуть читати документи, які вони фактично отримують, з макетом, який ваша команда переглянула, та інтеграцією, яку ваш застосунок може підтримувати.