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.
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)
{
    IList<string> enabledOptions = new List<string>();
    IList<string> disabledOptions = new List<string>();
    AddOptionName(options.AdjustLineHeightInTable, "AdjustLineHeightInTable", enabledOptions, disabledOptions);
    AddOptionName(options.AlignTablesRowByRow, "AlignTablesRowByRow", enabledOptions, disabledOptions);
    AddOptionName(options.AllowSpaceOfSameStyleInTable, "AllowSpaceOfSameStyleInTable", enabledOptions, disabledOptions);
    AddOptionName(options.ApplyBreakingRules, "ApplyBreakingRules", enabledOptions, disabledOptions);
    AddOptionName(options.AutoSpaceLikeWord95, "AutoSpaceLikeWord95", enabledOptions, disabledOptions);
    AddOptionName(options.AutofitToFirstFixedWidthCell, "AutofitToFirstFixedWidthCell", enabledOptions, disabledOptions);
    AddOptionName(options.BalanceSingleByteDoubleByteWidth, "BalanceSingleByteDoubleByteWidth", enabledOptions, disabledOptions);
    AddOptionName(options.CachedColBalance, "CachedColBalance", enabledOptions, disabledOptions);
    AddOptionName(options.ConvMailMergeEsc, "ConvMailMergeEsc", enabledOptions, disabledOptions);
    AddOptionName(options.DisableOpenTypeFontFormattingFeatures, "DisableOpenTypeFontFormattingFeatures", enabledOptions, disabledOptions);
    AddOptionName(options.DisplayHangulFixedWidth, "DisplayHangulFixedWidth", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotAutofitConstrainedTables, "DoNotAutofitConstrainedTables", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotBreakConstrainedForcedTable, "DoNotBreakConstrainedForcedTable", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotBreakWrappedTables, "DoNotBreakWrappedTables", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotExpandShiftReturn, "DoNotExpandShiftReturn", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotLeaveBackslashAlone, "DoNotLeaveBackslashAlone", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSnapToGridInCell, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSuppressIndentation, "DoNotSnapToGridInCell", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotSuppressParagraphBorders, "DoNotSuppressParagraphBorders", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseEastAsianBreakRules, "DoNotUseEastAsianBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseHTMLParagraphAutoSpacing, "DoNotUseHTMLParagraphAutoSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotUseIndentAsNumberingTabStop, "DoNotUseIndentAsNumberingTabStop", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotVertAlignCellWithSp, "DoNotVertAlignCellWithSp", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotVertAlignInTxbx, "DoNotVertAlignInTxbx", enabledOptions, disabledOptions);
    AddOptionName(options.DoNotWrapTextWithPunct, "DoNotWrapTextWithPunct", enabledOptions, disabledOptions);
    AddOptionName(options.FootnoteLayoutLikeWW8, "FootnoteLayoutLikeWW8", enabledOptions, disabledOptions);
    AddOptionName(options.ForgetLastTabAlignment, "ForgetLastTabAlignment", enabledOptions, disabledOptions);
    AddOptionName(options.GrowAutofit, "GrowAutofit", enabledOptions, disabledOptions);
    AddOptionName(options.LayoutRawTableWidth, "LayoutRawTableWidth", enabledOptions, disabledOptions);
    AddOptionName(options.LayoutTableRowsApart, "LayoutTableRowsApart", enabledOptions, disabledOptions);
    AddOptionName(options.LineWrapLikeWord6, "LineWrapLikeWord6", enabledOptions, disabledOptions);
    AddOptionName(options.MWSmallCaps, "MWSmallCaps", enabledOptions, disabledOptions);
    AddOptionName(options.NoColumnBalance, "NoColumnBalance", enabledOptions, disabledOptions);
    AddOptionName(options.NoExtraLineSpacing, "NoExtraLineSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.NoLeading, "NoLeading", enabledOptions, disabledOptions);
    AddOptionName(options.NoSpaceRaiseLower, "NoSpaceRaiseLower", enabledOptions, disabledOptions);
    AddOptionName(options.NoTabHangInd, "NoTabHangInd", enabledOptions, disabledOptions);
    AddOptionName(options.OverrideTableStyleFontSizeAndJustification, "OverrideTableStyleFontSizeAndJustification", enabledOptions, disabledOptions);
    AddOptionName(options.PrintBodyTextBeforeHeader, "PrintBodyTextBeforeHeader", enabledOptions, disabledOptions);
    AddOptionName(options.PrintColBlack, "PrintColBlack", enabledOptions, disabledOptions);
    AddOptionName(options.SelectFldWithFirstOrLastChar, "SelectFldWithFirstOrLastChar", enabledOptions, disabledOptions);
    AddOptionName(options.ShapeLayoutLikeWW8, "ShapeLayoutLikeWW8", enabledOptions, disabledOptions);
    AddOptionName(options.ShowBreaksInFrames, "ShowBreaksInFrames", enabledOptions, disabledOptions);
    AddOptionName(options.SpaceForUL, "SpaceForUL", enabledOptions, disabledOptions);
    AddOptionName(options.SpacingInWholePoints, "SpacingInWholePoints", enabledOptions, disabledOptions);
    AddOptionName(options.SplitPgBreakAndParaMark, "SplitPgBreakAndParaMark", enabledOptions, disabledOptions);
    AddOptionName(options.SubFontBySize, "SubFontBySize", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressBottomSpacing, "SuppressBottomSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressSpBfAfterPgBrk, "SuppressSpBfAfterPgBrk", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressSpacingAtTopOfPage, "SuppressSpacingAtTopOfPage", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressTopSpacing, "SuppressTopSpacing", enabledOptions, disabledOptions);
    AddOptionName(options.SuppressTopSpacingWP, "SuppressTopSpacingWP", enabledOptions, disabledOptions);
    AddOptionName(options.SwapBordersFacingPgs, "SwapBordersFacingPgs", enabledOptions, disabledOptions);
    AddOptionName(options.SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning, "SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning", enabledOptions, disabledOptions);
    AddOptionName(options.TransparentMetafiles, "TransparentMetafiles", enabledOptions, disabledOptions);
    AddOptionName(options.TruncateFontHeightsLikeWP6, "TruncateFontHeightsLikeWP6", enabledOptions, disabledOptions);
    AddOptionName(options.UICompat97To2003, "UICompat97To2003", enabledOptions, disabledOptions);
    AddOptionName(options.UlTrailSpace, "UlTrailSpace", enabledOptions, disabledOptions);
    AddOptionName(options.UnderlineTabInNumList, "UnderlineTabInNumList", enabledOptions, disabledOptions);
    AddOptionName(options.UseAltKinsokuLineBreakRules, "UseAltKinsokuLineBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseAnsiKerningPairs, "UseAnsiKerningPairs", enabledOptions, disabledOptions);
    AddOptionName(options.UseFELayout, "UseFELayout", enabledOptions, disabledOptions);
    AddOptionName(options.UseNormalStyleForList, "UseNormalStyleForList", enabledOptions, disabledOptions);
    AddOptionName(options.UsePrinterMetrics, "UsePrinterMetrics", enabledOptions, disabledOptions);
    AddOptionName(options.UseSingleBorderforContiguousCells, "UseSingleBorderforContiguousCells", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord2002TableStyleRules, "UseWord2002TableStyleRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord2010TableStyleRules, "UseWord2010TableStyleRules", enabledOptions, disabledOptions);
    AddOptionName(options.UseWord97LineBreakRules, "UseWord97LineBreakRules", enabledOptions, disabledOptions);
    AddOptionName(options.WPJustification, "WPJustification", enabledOptions, disabledOptions);
    AddOptionName(options.WPSpaceWidth, "WPSpaceWidth", enabledOptions, disabledOptions);
    AddOptionName(options.WrapTrailSpaces, "WrapTrailSpaces", enabledOptions, disabledOptions);
    Console.WriteLine("\tEnabled options:");
    foreach (string optionName in enabledOptions)
        Console.WriteLine($"\t\t{optionName}");
    Console.WriteLine("\tDisabled options:");
    foreach (string optionName in disabledOptions)
        Console.WriteLine($"\t\t{optionName}");
}

private static void AddOptionName(Boolean option, String optionName, IList<string> enabledOptions, IList<string> disabledOptions)
{
    if (option)
        enabledOptions.Add(optionName);
    else
        disabledOptions.Add(optionName);
}

أنظر أيضا