عارض DOCX في ASP.NET Core: معاينة ملفات Word
← Back to Blog••5 min read

عارض DOCX في ASP.NET Core: معاينة ملفات Word

لمعاينة مستند Word داخل تطبيق ASP.NET Core، استخدم مجموعة تطوير عارض 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. يفتح الملف ويعيد رمز جلسة المستند. في الصفحة التي قام الدليل السريع بتهيئة 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 باستخدام ذلك الملف. يجب أن تُظهر تقييم ناجح أن المستخدمين يمكنهم قراءة المستندات التي يتلقونها فعليًا، مع تخطيط راجعته فريقك وتكامل يمكن لتطبيقك صيانته.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#عارض DOCX#مستندات Word#معاينة المستند