كيفية العمل مع إعدادات المستند في .NET
يوضح هذا الدليل كيفية العمل مع إعدادات المستند على مستوى التطبيق في Aspose.Words FOSS لـ .NET: مفاتيح التوافق القديمة، تفضيلات التجزئة، تكوين دمج البريد المخزن، خيارات العرض، وحماية الكتابة. Aspose.Words FOSS لـ .NET متاح عبر NuGet أو عن طريق بناءه من المصدر.
دليل خطوة بخطوة
الخطوة 1: الحصول على المكتبة
استنسخ المستودع وقم بالبناء Aspose.Words.sln في تكوين الإصدار، ثم أضف إشارة مشروع إلى Aspose.Words.csproj من مشروعك الخاص .NET، كما هو موضح في دليل التثبيت. أضف using Aspose.Words; and using Aspose.Words.Settings; في أعلى أي ملف يقرأ أو يكتب إعدادات المستند.
الخطوة 2: ضبط خيارات التوافق القديمة
Document.CompatibilityOptions (مثيل CompatibilityOptions) يحتوي على العشرات من المفاتيح المنطقية التي تعيد إنتاج سلوكيات تخطيط وتباعد Word القديمة — على سبيل المثال GrowAutofit، UseWord2010TableStyleRules، AdjustLineHeightInTable، AlignTablesRowByRow، NoExtraLineSpacing، SuppressSpacingAtTopOfPage، وSpacingInWholePoints. اضبط الخصائص الفردية التي تحتاجها مباشرة؛ OptimizeFor(MsWordVersion) موجود في الصنف لكنه يطلق NotImplementedException في هذا البناء، لذا لا توجد اختصار يطبق ملف تعريف إصدار كامل مرة واحدة.
الخطوة 3: تكوين تفضيلات التجزئة
Document.HyphenationOptions (مثيل HyphenationOptions) يخزن تفضيلات التجزئة في Word للوثيقة: AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps، وHyphenationZone. هذه الخصائص تنقل الطلب في الملف المحفوظ؛ لأن هذه النسخة لا تحتوي على محرك تخطيط الصفحات، يتم حساب فواصل التجزئة نفسها بواسطة Word عند فتحه وتجزئته للملف، وليس بواسطة Aspose.Words FOSS.
الخطوة 4: قراءة وكتابة إعدادات دمج البريد
Document.MailMergeSettings (مثيل MailMergeSettings) يخزن إعدادات دمج البريد المسجلة في المستند — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord، وViewMergedData — بالإضافة إلى Clear() وClone(). بالنسبة لمصدر بيانات خارجي متصل عبر آلية Office Data Source Object في Word، يقوم MailMergeSettings.Odso بالكشف عن مثيل Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames)، حيث تصف مجموعات FieldMapDatas وRecipientDatas تخطيط الحقول وقائمة المستلمين. قراءة وكتابة هذه الإعدادات المخزنة متاحة في هذه النسخة مفتوحة المصدر؛ تشغيل الدمج نفسه مقابل مصدر بيانات حي هو أمر منفصل خارج نطاق هذه الصفحة.
الخطوة 5: تكوين إعدادات عرض المستند
Document.ViewOptions (مثيل ViewOptions) يتحكم في طريقة عرض Word للملف بمجرد فتحه: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries، وFormsDesign. هذه الخصائص هي تفضيلات مخزنة تؤثر فقط على عرض Word للمستند — ولا علاقة لها بكيفية معالجة Aspose.Words FOSS له.
الخطوة 6: تطبيق الحماية من الكتابة
Document.WriteProtection (مثيل WriteProtection) يكشف عن IsWriteProtected وReadOnlyRecommended، مع SetPassword() لإنشاء كلمة مرور حماية وValidatePassword() للتحقق من كلمة مرور مرشحة مقابلها. استدعِ SetPassword() قبل ضبط IsWriteProtected = true، واستخدم ValidatePassword() بدلاً من تخزين أو مقارنة سلسلة كلمة المرور الخام بنفسك.
المشكلات الشائعة والحلول
CompatibilityOptions.OptimizeFor() throws NotImplementedException. هذه الطريقة غير مُنفذة في هذا البناء. اضبط الخصائص الفردية CompatibilityOptions الخصائص المنطقية التي تحتاجها مباشرةً بدلاً من ذلك.
Changing ViewOptions.ZoomPercent ليس له أي تأثير مرئي على الإخراج المُولد. ViewOptions هو تفضيل عرض مخزن تقرأه Word، وليس شيئًا يطبقه Aspose.Words FOSS نفسه أثناء المعالجة. لا حاجة لإصلاح — هذا متوقع.
WriteProtection.ValidatePassword() يرجع بشكل غير متوقع false. SetPassword() لم يتم استدعاؤه أبدًا، أو تم تعيين كلمة مرور مختلفة. استدعِ SetPassword() أولاً لتحديد كلمة المرور المحمية قبل التحقق.
تم حفظ إعداد دمج البريد ولكن عملية الدمج لا تُنفّذ. MailMergeSettings and Odso تخزين إعدادات الدمج فقط؛ إصدار المصدر المفتوح هذا لا ينفذ عملية الدمج نفسها. اقرأ الإعداد المخزن وقم بتشغيل منطق تعبئة الحقول الخاص بك بناءً عليه.
الأسئلة المتكررة
هل يعمل CompatibilityOptions.OptimizeFor()؟
لا — ينتج NotImplementedException في هذا الإصدار. عيّن خصائص CompatibilityOptions الفردية التي تحتاجها مباشرةً.
كيف أحمي مستندًا بكلمة مرور ضد التعديلات؟
استدعِ WriteProtection.SetPassword() على Document.WriteProtection، ثم عيّن IsWriteProtected لتمكين الحماية.
هل HyphenationOptions وViewOptions يغيّران مظهر المستند عندما يقوم Aspose.Words FOSS بمعالجته؟
لا. كلاهما تفضيلات مخزّنة يطبقها Word نفسه عند فتحه وعرضه للملف؛ هذا الإصدار لا يحتوي على محرك تخطيط صفحات للتعامل معها مباشرةً.
أين يمكنني العثور على إعدادات مصدر بيانات الدمج البريدي لمصدر بيانات خارجي؟
MailMergeSettings.Odso — مجموعاته FieldMapDatas وRecipientDatas تصف تخطيط الأعمدة وحالة تضمين المستلمين.
ما الفرق بين Document.CompatibilityOptions وDocument.ViewOptions؟
CompatibilityOptions المفاتيح تُعيد إنتاج تخطيط Word القديم وخصائص التباعد؛ ViewOptions يتحكم في طريقة عرض واجهة Word للملف (التكبير، علامات التنسيق). ولا يُحسب أي منهما بواسطة Aspose.Words FOSS نفسه.