CompatibilityOptions

CompatibilityOptions class

يحتوي على خيارات التوافق (أي تفضيلات المستخدم التي تم إدخالها في ملفالتوافق علامة التبويبخيارات الحوار في Microsoft Word).

لمعرفة المزيد، قم بزيارةكشف تنسيق الملف والتحقق من توافق التنسيق مقالة توثيقية.

public class CompatibilityOptions

الخصائص

اسموصف
AdjustLineHeightInTable { get; set; }إضافة درجة خط شبكة المستند إلى الأسطر الموجودة في خلايا الجدول.
AlignTablesRowByRow { get; set; }محاذاة صفوف الجدول بشكل مستقل.
AllowSpaceOfSameStyleInTable { get; set; }السماح بالتباعد السياقي للفقرات في الجداول.
ApplyBreakingRules { get; set; }استخدم قواعد كسر الأسطر الإثيوبية والأمهرية القديمة.
AutofitToFirstFixedWidthCell { get; set; }السماح لأعمدة الجدول بتجاوز العرض المفضل للخلايا المكونة.
AutoSpaceLikeWord95 { get; set; }محاكاة تباعد الأحرف بالعرض الكامل لـ Word 95.
BalanceSingleByteDoubleByteWidth { get; set; }موازنة الأحرف المفردة والبايت المزدوج.
CachedColBalance { get; set; }استخدم معلومات الفقرة المخزنة مؤقتًا لموازنة الأعمدة.
ConvMailMergeEsc { get; set; }التعامل مع محدد اقتباس الشرطة المائلة العكسية كعلامتي اقتباس.
DisableOpenTypeFontFormattingFeatures { get; set; }يحدد تعطيل ميزات تنسيق الخط OpenType.
DisplayHangulFixedWidth { get; set; }استخدم دائمًا العرض الثابت لأحرف الهانغول.
DoNotAutofitConstrainedTables { get; set; }لا تقم باحتواء الجداول تلقائيًا لتلائم الكائنات الملتفة.
DoNotBreakConstrainedForcedTable { get; set; }لا تقم بفصل صفوف الجدول حول الجداول العائمة.
DoNotBreakWrappedTables { get; set; }عدم السماح للجداول العائمة بالتقاطع بين الصفحات.
DoNotExpandShiftReturn { get; set; }لا تقم بتبرير الأسطر التي تنتهي بفاصل أسطر ناعم.
DoNotLeaveBackslashAlone { get; set; }تحويل الشرطة المائلة العكسية إلى علامة الين عند الإدخال.
DoNotSnapToGridInCell { get; set; }عدم الانطباق على شبكة المستند في خلايا الجدول التي تحتوي على كائنات.
DoNotSuppressIndentation { get; set; }لا تتجاهل الكائنات العائمة عند حساب المسافة البادئة للفقرة.
DoNotSuppressParagraphBorders { get; set; }لا تقم بقمع حدود الفقرة الموجودة بجوار الإطارات.
DoNotUseEastAsianBreakRules { get; set; }لا تقم بضغط الأحرف القابلة للضغط عند استخدام شبكة المستندات.
DoNotUseHTMLParagraphAutoSpacing { get; set; }استخدم تباعد الفقرات الثابت لإعداد HTML التلقائي.
DoNotUseIndentAsNumberingTabStop { get; set; }تجاهل المسافة البادئة المعلقة عند إنشاء علامة الجدولة بعد الترقيم.
DoNotVertAlignCellWithSp { get; set; }لا تقم بمحاذاة الخلايا التي تحتوي على كائنات عائمة رأسيًا.
DoNotVertAlignInTxbx { get; set; }تجاهل المحاذاة العمودية في مربعات النص.
DoNotWrapTextWithPunct { get; set; }عدم السماح بعلامات الترقيم المعلقة مع شبكة الأحرف.
FootnoteLayoutLikeWW8 { get; set; }محاكاة موضع الحاشية السفلية في Word 6.x/95/97.
ForgetLastTabAlignment { get; set; }تجاهل عرض علامة التبويب الأخيرة عند محاذاة الفقرة إذا لم تكن محاذية لليسار.
GrowAutofit { get; set; }السماح للجداول بالاحتواء التلقائي في هوامش الصفحة.
LayoutRawTableWidth { get; set; }تجاهل المسافة قبل الجدول عند تحديد ما إذا كان يجب أن يلتف الجدول حول كائن عائم.
LayoutTableRowsApart { get; set; }السماح لصفوف الجدول بالتفاف الكائنات المضمنة بشكل مستقل.
LineWrapLikeWord6 { get; set; }محاكاة التفاف سطر Word 6.0 لنص شرق آسيا.
MWSmallCaps { get; set; }محاكاة Word 5.x لتنسيق Macintosh Small Caps.
NoColumnBalance { get; set; }لا تقم بموازنة أعمدة النص داخل القسم.
NoExtraLineSpacing { get; set; }لا تقم بتوسيط المحتوى على الخطوط ذات الارتفاع الدقيق للخط.
NoLeading { get; set; }عدم إضافة مسافة بين أسطر النص.
NoSpaceRaiseLower { get; set; }لا تقم بزيادة ارتفاع السطر للنص المرتفع/المنخفض.
NoTabHangInd { get; set; }لا تقم بإنشاء علامة جدولة مخصصة للمسافة البادئة المعلقة.
OverrideTableStyleFontSizeAndJustification { get; set; }يحدد كيفية تقييم التسلسل الهرمي لأنماط المستند.
PrintBodyTextBeforeHeader { get; set; }طباعة النص الأساسي قبل محتويات الرأس/التذييل.
PrintColBlack { get; set; }طباعة الألوان بالأبيض والأسود دون ثبات اللون.
SelectFldWithFirstOrLastChar { get; set; }حدد الحقل عند تحديد الحرف الأول أو الأخير.
ShapeLayoutLikeWW8 { get; set; }محاكاة التفاف النص في Word 97 حول الكائنات العائمة.
ShowBreaksInFrames { get; set; }عرض فواصل الصفحات/الأعمدة الموجودة في الإطارات.
SpaceForUL { get; set; }أضف مسافة إضافية أسفل الخط الأساسي للنص الشرق آسيوي المسطر.
SpacingInWholePoints { get; set; }فقط قم بتوسيع/تكثيف النص بالنقاط الكاملة.
SplitPgBreakAndParaMark { get; set; }قم دائمًا بنقل علامة الفقرة إلى الصفحة بعد فاصل الصفحة.
SubFontBySize { get; set; }زيادة أولوية حجم الخط أثناء استبدال الخط.
SuppressBottomSpacing { get; set; }تجاهل ارتفاع السطر المحدد للسطر الأخير في الصفحة.
SuppressSpacingAtTopOfPage { get; set; }تجاهل الحد الأدنى لارتفاع السطر للسطر الأول في الصفحة.
SuppressSpBfAfterPgBrk { get; set; }لا تستخدم المسافة قبل السطر الأول بعد فاصل الصفحات.
SuppressTopSpacing { get; set; }تجاهل الحد الأدنى وارتفاع السطر الدقيق للسطر الأول في الصفحة.
SuppressTopSpacingWP { get; set; }محاكاة تباعد الأسطر في WordPerfect 5.x.
SwapBordersFacingPgs { get; set; }تبديل حدود الفقرة على الصفحات ذات الأرقام الفردية.
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; }يحدد التبديل من الداخل والخارج للمسافات البادئة للمرآة والموضع النسبي.
TransparentMetafiles { get; set; }يحدد عدم إفراغ المنطقة الموجودة خلف صور ملف التعريف.
TruncateFontHeightsLikeWP6 { get; set; }محاكاة حساب ارتفاع الخط في WordPerfect 6.x.
UICompat97To2003 { get; set; }صحيح لتعطيل وظيفة واجهة المستخدم غير المتوافقة مع Word97-2003. القيمة الافتراضية هيخطأ شنيع .
UlTrailSpace { get; set; }تسطير جميع المسافات الزائدة.
UnderlineTabInNumList { get; set; }وضع خط تحت الحرف التالي للترقيم.
UseAltKinsokuLineBreakRules { get; set; }استخدم مجموعة بديلة من قواعد كسر الأسطر في شرق آسيا.
UseAnsiKerningPairs { get; set; }استخدم أزواج تقنين ANSI من الخطوط.
UseFELayout { get; set; }لا تتجاوز كود تخطيط البرنامج النصي المعقد/شرق آسيا.
UseNormalStyleForList { get; set; }لا تطبق نمط فقرة القائمة تلقائيًا على نص نقطي/مرقم.
UsePrinterMetrics { get; set; }استخدم مقاييس الطابعة لعرض المستندات.
UseSingleBorderforContiguousCells { get; set; }استخدم قواعد مبسطة لتعارض حدود الجدول.
UseWord2002TableStyleRules { get; set; }محاكاة قواعد نمط جدول Word 2002.
UseWord2010TableStyleRules { get; set; }يحدد استخدام قواعد نمط جدول Word2010.
UseWord97LineBreakRules { get; set; }محاكاة كسر الأسطر في Word 97 شرق آسيا.
WPJustification { get; set; }محاكاة تبرير الفقرة WordPerfect 6.x.
WPSpaceWidth { get; set; }يحدد ما إذا كان سيتم تعيين عرض المسافة كما هو الحال في WordPerfect 5.x.
WrapTrailSpaces { get; set; }مسافات زائدة لالتفاف الخط.

طُرق

اسموصف
OptimizeFor(MsWordVersion)يسمح بتحسين محتويات المستند بالإضافة إلى سلوك Aspose.Words الافتراضي لإصدارات معينة من MS Word.

أمثلة

يوضح كيفية محاذاة محتويات النص في مربع النص عموديًا.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertShape(ShapeType.TextBox, 200, 200);

// قم بتعيين خاصية "VerticalAnchor" على "TextBoxAnchor.Top" إلى
// قم بمحاذاة النص الموجود في مربع النص هذا مع الجانب العلوي من الشكل.
// قم بتعيين خاصية "VerticalAnchor" على "TextBoxAnchor.Middle" إلى
// قم بمحاذاة النص الموجود في مربع النص هذا إلى منتصف الشكل.
// قم بتعيين خاصية "VerticalAnchor" على "TextBoxAnchor.Bottom" إلى
// قم بمحاذاة النص الموجود في مربع النص هذا إلى أسفل الشكل.
shape.TextBox.VerticalAnchor = verticalAnchor;

builder.MoveTo(shape.FirstParagraph);
builder.Write("Hello world!");

// المحاذاة الرأسية للنص داخل مربعات النص متاحة بدءًا من Microsoft Word 2007 وما بعده.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");

يوضح كيفية تعيين مواصفات توافق OOXML للمستند المحفوظ للالتزام به.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// إذا قمنا بتكوين خيارات التوافق لتتوافق مع Microsoft Word 2003،
// إدراج صورة سيحدد شكلها باستخدام VML.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2003);
builder.InsertImage(ImageDir + "Transparent background logo.png");

Assert.AreEqual(ShapeMarkupLanguage.Vml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

// لا يدعم معيار OOXML "ISO/IEC 29500:2008" أشكال VML.
// إذا قمنا بتعيين خاصية "الامتثال" لكائن SaveOptions على "OoxmlCompliance.Iso29500_2008_Strict"،
 // أي مستند نحفظه أثناء تمرير هذا الكائن يجب أن يتبع هذا المعيار.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

doc.Save(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx", saveOptions);

// يحدد مستندنا المحفوظ الشكل باستخدام DML للالتزام بمعيار OOXML "ISO/IEC 29500:2008".
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

Assert.AreEqual(ShapeMarkupLanguage.Dml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

يوضح كيفية تحسين المستند لإصدارات مختلفة من Microsoft Word.

public void OptimizeFor()
{
    Document doc = new Document();

    // يحتوي هذا الكائن على قائمة واسعة من العلامات الفريدة لكل مستند
    // التي تتيح لنا تسهيل التوافق مع الإصدارات القديمة من Microsoft Word.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // اطبع الإعدادات الافتراضية لمستند فارغ.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // يمكننا الوصول إلى هذه الإعدادات في Microsoft Word عبر "ملف" -> "الخيارات" -> "متقدم" -> "خيارات التوافق لـ...".
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // يمكننا استخدام طريقة OptimizeFor لضمان التوافق الأمثل مع إصدار معين من Microsoft Word.
    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
    Console.WriteLine("\nOptimized for Word 2010:");
    PrintCompatibilityOptions(options);

    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000);
    Console.WriteLine("\nOptimized for Word 2000:");
    PrintCompatibilityOptions(options);
}

/// <summary>
/// يجمع كل العلامات الموجودة في كائن خيارات توافق المستند حسب الحالة، ثم يطبع كل مجموعة.
/// </summary>
private static void PrintCompatibilityOptions(CompatibilityOptions options)
{
    for (int i = 1; i >= 0; i--)
    {
        Console.WriteLine(Convert.ToBoolean(i) ? "\tEnabled options:" : "\tDisabled options:");
        SortedSet<string> optionNames = new SortedSet<string>();

        foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(options))
        {
            if (descriptor.PropertyType == Type.GetType("System.Boolean") && i == Convert.ToInt32(descriptor.GetValue(options)))
            {
                optionNames.Add(descriptor.Name);
            }
        }

        foreach (string s in optionNames)
        {
            Console.WriteLine($"\t\t{s}");
        }
    }
}

أنظر أيضا